March 24, 2018

JavaScript On The Front & Back End - Having The Veil Lifted

By: Ben Farnham

As of late, I have really been focusing on learning JavaScript to the point of being able to create any idea I have. It is taking some serious time and dedication but during these long learning sessions, I have come to discover something...

JavaScript, and every other programming language for that matter, is fundamentally primitive. Yes, you heard me right. Programming languages, while they do have their complexities, seem to be rather basic in how the work. Now, this is not me saying that programming is not powerful, in fact I would say it is quite the opposite. But what I am trying to say here is that the actual design of programming languages is rather simple. 

Before I dig too deep, please understand that this is purely observational and I do understand that I don't have the full 'know how' of creating programming / development languages. So, am I a master at this? Nope, but I just want to ramble about what I have discovered on my journey.

So what makes it basic?

Maybe it is just my romanticism of the actual idea of programming and development but whenever I actually thought about how programs and even video games were made, I always imagined there was more then just the initial 'if' statements I learned in my JavaScripts Basics course. Though there are many intricacies that build upon collision points, it is still fundamentally an 'if' statement to check if one value has collided with another. 

Again, I understand that the actual pieces that lead up to the if statement are EXTREMELY complex and they are trying replicate organic physics or organic movement but I was just blown away to discover there wasn't so much more to the actual programming side of things. That the fundamentals I was taught can actually help me create solutions for even bigger problems and ideas. The only pieces I was missing were the actual small steps that lead up to the 'grand result'. The minutia.

Maybe this is just me and my perception of programming but the more I dug into it, the more I noticed that once you understand a few things which I will list real quick:

  • Variables
  • Functions
  • Loops
  • Objects / Arrays
  • Value Types (strings, numbers, booleans etc.)

and you understand how they interact, then understand the entire language. Sheesh... saying this out loud makes me feel like I am crazy but hey, I am still going to share this.

The document (front end), is just one massive object and the methods you can pass are just a piece of that object. When adding new methods (developing the JavaScript language) to the front end, the language developers are simply creating new functions and assigning them to new keys created within the giant document object. Now I know this isn't the exact process but it help me deconstruct the idea of language development.

But what really blew me away with all of this is how 'advanced' we feel our civilization is with all of this technology when in reality, it really is just a face. An illusion, if you will, of complex algorithms that are reserved only for the 'elite developers'.

I keep hearing how coding is too hard and how only geniuses are able to code yet with this discovery of how simple the foundation of programming is, then why is it reserved for the 'brainiacs'? Well, it isn't closed off to everyone but the geniuses as I am by no means a genius yet I am able to find how rudimentary the foundation is to most programming languages. But is that a bad thing? No. In fact with this idea in mind, I feel more individuals should be able to take these powerful languages and dream up something bigger because, the best, most powerful things in life do tend to be simple.

Benjamin - Teacher At Pure Presence Creative
Post Author

Benjamin (Creative Dork)

I am true nerd to the core, believer in quality design, Horde player, and an all around creative dork. I create films, photos, websites, and music and honestly believe that the saying 'Jack of all trades, master of none' is an excuse. I do what I want really.