The romance of programming

Hello and welcome to February. Valentine’s day is right around the corner, love is in the air and I have intentionally picked a misleading article title. However misleading it may be, it is not entirely irrelevant; the term ‘Romance Language’ refers to all of the languages derived from a Vulgar Latin spoken by the Romans. These languages include French, Spanish, Italian and many more. History lesson aside, why do I bring this up?

Well it circles back to the various programming languages you may run into as a software developer. All programming languages share more similarities than differences, so jumping from one to another isn’t difficult. Computers are amazing when it comes to repetition so each one has an implementation of loops, each handles data and variables pretty much the same and finally you can apply the same logic in all of them almost the same way. If you can learn the high level concepts of programming, each new language is just syntax to learn, not new concepts.

Aim To Be Language Agnostic

You may have heard about language agnosticism before, probably to describe a problem or algorithm that can be solved in any language. It actually applies to all problems because every programming language essentially does the same thing, just in a different style. A developer can also be language agnostic and use the language best suited for a specific problem instead of bending over backwards making their preferred language do the given task.

Think of it this way, you’d want to use the right tool for the job; you can use a wrench to hammer in a nail but you obviously wouldn’t want to. Essentially each language is a different tool in your arsenal with it’s own set of benefits. If we were to get into specifics, low level languages like Go, C or Java can interact with memory and hardware directly, while higher level languages are built for speed. And of course sometimes you don’t really have a choice, JavaScript is the only one that is understood in a web browser.

I also think that becoming language agnostic is the way of the future. It honestly hurts me a little to hear phrases like “how would I do that Python-ically” or “I only know JavaScript, I can’t read Java”. Because once you know the logic behind the problem you should be able to translate it into any language.

Become A Better Programmer

Get started DigitalCrafts Responses To respond to this story, get the free Medium app. Open in app There are currently no responses for this story. Be the first to respond. The Romance of Programming Kelvin Mai Kelvin Mai Feb 12, 2018 · 4 min read Image for post Hello and welcome to February. Valentine’s day is right around the corner, love is in the air and I have intentionally picked a misleading article title. However misleading it may be, it is not entirely irrelevant; the term ‘Romance Language’ refers to all of the languages derived from a Vulgar Latin spoken by the Romans. These languages include French, Spanish, Italian and many more. History lesson aside, why do I bring this up? Well it circles back to the various programming languages you may run into as a software developer. All programming languages share more similarities than differences, so jumping from one to another isn’t difficult. Computers are amazing when it comes to repetition so each one has an implementation of loops, each handles data and variables pretty much the same and finally you can apply the same logic in all of them almost the same way. If you can learn the high level concepts of programming, each new language is just syntax to learn, not new concepts. Aim To Be Language Agnostic Image for post You may have heard about language agnosticism before, probably to describe a problem or algorithm that can be solved in any language. It actually applies to all problems because every programming language essentially does the same thing, just in a different style. A developer can also be language agnostic and use the language best suited for a specific problem instead of bending over backwards making their preferred language do the given task. Think of it this way, you’d want to use the right tool for the job; you can use a wrench to hammer in a nail but you obviously wouldn’t want to. Essentially each language is a different tool in your arsenal with it’s own set of benefits. If we were to get into specifics, low level languages like Go, C or Java can interact with memory and hardware directly, while higher level languages are built for speed. And of course sometimes you don’t really have a choice, JavaScript is the only one that is understood in a web browser. I also think that becoming language agnostic is the way of the future. It honestly hurts me a little to hear phrases like “how would I do that Python-ically” or “I only know JavaScript, I can’t read Java”. Because once you know the logic behind the problem you should be able to translate it into any language. Become A Better Programmer I’ve said earlier that you can apply the same logic to your entire library of languages. This doesn’t mean there isn’t any new concepts to learn. Among them are design patterns. Each language encourages a certain kind of design pattern. If you remember to your first few scripts, every line of code was packed into a single file. Object oriented design will teach you to separate things out so the code is both more maintainable and reusable. DRY code incentivizes shorter and more concise files. And finally functional programming, a concept that I am personally interested in at the moment, encourages immutability so that whatever you write is less likely to break in the long run.

All of these concepts can be combined in whatever project you work on regardless of the technologies involved. Just incorporating those three design patterns into your code will make it concise, reusable, and error-free. And learning any new coding paradigms will only make it better.

Finding The One

I personally think the third or fourth language is the sweet spot where it becomes easy to pick up another. The first one will be the hardest because the concepts are still new and you’ll still be discovering how to think like a computer. The second will be easier but there will be a lot of resistance as you will constantly think “well in my previous language this would be easier”. But as you continue you would soon discover it’s not so different after all and learning the next will just be a fun hobby.

Hopefully that sheds some light on language agnosticism, ease the intimidation of picking up a new one and inspires you to do so.

Comments

Popular posts from this blog

Top 10 programming language should learn in 2021.

dgdgf fd gf