The Secret Behind Programming Languages

The Secret Behind Programming Languages

Developer Secrets

If you want to know the secrets behind programming languages, you’ll have to look a little closer at it than simply glancing at a developer’s screen in passing. From a distance, the dark backgrounds, ominous text, and techno music tends to give off an allure of mystique and danger. This is not by accident. It is a defense mechanism to maintain the desired distance from passing extroverts.


Key Takeaways

  • Developers don’t code in ones and zeros
  • Modern programming languages are very readable
  • Different programming languages suit different needs

What We’ll Talk About


Programming Languages and Human Evolution

Programming Languages - Developer Secrets

Computers have a lot more in common with us than you might think. In-fact, much about computers is modeled after humans, including Programming Languages.

Humans are born with basic instincts and with little more capability than eating, pooping, sleeping and crying. It is only when we begin to communicate that we get connected to the vast knowledge of humanity. This however, does not happen overnight.

Before a child utters his first words he has found a primal language that few understand, apart from his parents. It is through this primal language that a parent teaches a child their first words which eventually build up into a more commonly understood language.

Where Does Language Come From?

Sumerian cuneiform script and Sumerian language
Sumerian cuneiform script and Sumerian language

Even before the first known language, humans were communicating by sounds, signs and gestures. This may seem primitive but, just like a child evolving his communication, these small building blocks became Sumerian, Germanic, Latin and English.

As societies and cultures diverged, their languages evolved to support the change.

A society which heavily favored arts might end up with a more poetic language than one who favored industry. Programming languages evolve for the same reasons.

Programming languages evolved from basic ones and zeros to simpler advanced languages that allowed us to more easily communicate complex instructions to a computer and all of this done through a chain of translation from more modern languages to the first and native language of computers, binary (ones and zeros). In technical terms, we name these languages according to how far they are from binary. Terms like 5th Generation or 1st Generation give us an idea of how far evolved the Programming language is; 1st Generation being the equivalent of Sumerian.


Programming Language Code

Programmer Sitting At Char Coding_500px Wide

In order to divulge the secrets behind programming languages, we must first pull back the curtain and offer a glimpse at actual code.

Fear not. You are in a safe space and this code can not hurt you.

Bellow, I’ve provided samples of code in different languages. See if you can understand what each program is trying to accomplish.

Java Script Programming Language

Java Script is the most popular programming language for developing Front-Ends, like this pretty website you are on viewing.

Try to understand what this code is meant to do.

Java Script Programing Languages Example

PHP Programming Language

PHP is one of the most common languages for web development but unlike Java Script which develops for the Front-End PHP is used to develop the Back-End.

If you’re unfamiliar with the concepts of front and back, just imagine that a website is like restaurant. The Back-End is the kitchen and the Front-End is your waiter. That risotto is an old family recipe that only the chef knows. If we started cooking it in-front of you, it wouldn’t be much of a secret so to protect that secret, the waiter takes your order and the chef prepares it in the back.

For an even better explanation, have a look at this my article on Full-Stack, Front-End, Back-End & All The Other Ends.

PHP Programing Languages Example

Did you catch the similarities in the two programming languages and did you figure out what the code is meant to do?

It’s the same program but in two different programming languages and those little differences are called Syntax.

In our examples, these two languages both come from the same parent so they are similar. But what if their commonality was not found in the parent but in the great, great grand parent? In that case, we would expect them to be more like Mandarin and English.

Both these languages are considered modern programming languages but what makes them modern?

Languages that evolved to serve new programming needs, either replaced older languages or sat on top of them. Most programming languages, like human language, are based on a hierarchy. Higher languages (often, considered modern), translate code into lower languages and this translation continues all the way down until we reach binary.

In a higher language, I may be able to express joy with a simple 😊 emoji. Whereas, in a lower language, I would find myself working harder to convey the same thing. Emoji’s are an evolution of language (though I suppose, one could argue whether it was a step in the right direction).

Programming Language Generations

Here’s a list of the programming language generations available today and the problems they are trying to solve.

GenerationAdvancement
1st GenInstruct computers using numbers
2nd GenAbility to use very exact words to form instructions
3rd GenLays the ground work for handing data better and building friendlier Operating Systems
4th GenMuch of the complexity of the machine has fallen away and the internet booms as a result
5th GenThese are called Natural Languages and very closely represents human speech
6th GenAt this level, the computer is writing all the code and we’re making little effort to speak its language at all. This is the peak of AI

Choosing the Right Programming Languages

Programing Language Bubble

Lets have a close look at some of the most common programming languages still in use today. We’ll talk about how difficult they are to write, how rare they are, and what their strengths are.

This guide is meant to provide you enough information to enter a debate on what language(s) are best suited to deliver your next business challenge. This will by no means offer you a definitive answer but it should get the conversation going.

Programming LanguageBenefitOutput SpeedFinding Developers
JavaScript & jQueryLoads of already built-in functionality make this a no-brainier for front-end developmentSuper FastSuper Easy
JavaUses lots of hardware resources when used for large tasks but decent pick for Android AppsFastEasy
KotlinIf you have to use Java, this is a more performant, manageable, and scalable variant. A good Swiss Army Knife for most of your back-end and Android necessitiesFastSo, So
SwiftIf you want a native iOS App, this is a necessityMediumSo, so
C# (C, Sharp)Built on top of old tech but still commonly used for Web development though I think their are many better options for anything this can doFastSo, So
PHPHas been around since 1995 and is still powerful and super easy to get your back-end launched in no time and even parts of your front-endSuper Fast Super Easy
PythonPython is a light, fast, easy, manageable, scalable and fantastic for back-end needs and a powerhouse for AI (Artificial Intelligence)Super FastSuper Easy
PerlGreat for something called Regular Expressions. If you haven’t heard this term, leave this behindFastEasy
C and C++If you need ultimate back-end performance, this is the oldest and most utilized way to get itSlowest Challenging
GoA successful attempt to get the speed of C without the programming difficulty. Its still not easy but its super fast. (Equal to Rust)MediumChallenging
RustAn successful attempt to get the speed of C without the programming difficulty. Its still not easy but its super fast. (Equal to Go)MediumChallenging
MatlabUsed for science and math stuffMediumChallenging

Here are a few more things you might find useful;

  • Many programming languages have libraries. These are building blocks you can use instead of coding each function.
  • JavaScript is the most versitile front-end language because so many evolved languages are built on top of it. One common one is JQuery. This is simply a set of JavaScript tools that makes development far faster. You might also hear about React or React Native, These are JavaScript based languages that are beneficial for cross-platform development (Mobile, Web).
  • When it comes to Mobile Development, you have 3 basic choice. 1) Native; which means, its custom built for iOS or Android, but not both. 2) Hybrid; which uses programming languages that allow you to code one application that gets translated into iOS and Android native code by a special program. 3) Webview; where you simply tweak your website to work properly on mobile
  • Each of these 3 have pros and cons, and choosing the wrong one can be costly. Unfortunately, I have not yet written on extensively on this subject but I have delivered award winning Mobile Application so if you need some guidance, reach out to me via LinkedIn and mention this article.
  • Database have their own languages but SQL is the term you’ll hear most. It does not describe the database system itself but rather the syntax for getting stuff into and out of it

Remember, the goal here is not to explain every detail about programming languages but to give you enough information to spark a conversation.


The Secrets Behind Programming Languages

Abstract Art_Blue Painting

Those dark and ominous screens you see when you walk by a programmer’s desk are setup according to the standard for looking the part of a typical movie hacker. But, if you get close enough, you’ll find that the code is actually pretty legible. Very few programmers know much about those ones and zeros that have become so anchored in the definition of a typical programmer.

Writing a great program is like writing a novel. Like anything creative, it does take talent. Programming languages are tools, like English is a tool. We use them to express ourselves to each other and to computers. The best programmers are just great story tellers. It isn’t sufficient that language can be learned. It is required that one can express themselves intently and correctly, in that language.

Instructing a computer to do something, isn’t always as it seems. Sometimes what we think is difficult is simple to develop and what we think as simple is difficult. If I ask you to pick a number between 1 and 10 certainly, this is trivial. But, teaching a machine with no concept of self-thought (yet), to pick a random number is extremely difficult. Keep this in mind when your developer gives you an estimation or timeline and don’t be afraid to ask questions.


If you found this article helpful, checkout the rest of my Technology Explained series.

For those of you who want to geek out a bit more, enjoy the next section where you can see more code samples and guess what they do.


Guess What The Code Does

Python Programming Language
Python Programing Languages Example
Rust Programming Language
Rust Programing Languages Example
C Programming Language
C Programing Languages Example
Assembly Programming Language
Assembly Programing Languages Example
Binary Programming Language
Binary Programing Languages Example

Did you find this perspective helpful? I’d love to hear from you. Reach out to me on LinkedIn and mention this article.