Programing Languages

February 26, 2021   • thoughts programming

Your choice of a programming language shapes so much of who you are as a software developer.

In natural languages, your ability to think depends on knowing specific words capable of expressing that specific thought. Without expressive words, you can’t express yourself. The same is true for programming languages.

A good programming language lets you think in higher abstractions by taking care of the underlying technical complexities. I am not worrying about pointers or managing memory leaks when I am programming in C#.

Choice of programming language also affects productivity and code quality. You are more productive using a familiar language than one which you haven’t used before. It also makes programmers productive and the programs reliable and readable.

You are shaped as a developer by the programming language you use. A Java developer is significantly different from a Ruby developer. Their communities are so different.

Personally, I love C# and the whole Microsoft .Net ecosystem. I really admire the level of thinking and design that’s gone into developing C# as a programming language. I didn’t enjoy programming when I used to work with Java and PHP. This has nothing to do with those languages but reflects my taste and preferences. When I found C# and the whole .NET community, it was like coming home. I enjoyed writing C# from day one.

However, it doesn’t mean that you don’t learn anything from other languages. I have learned so much from Ruby. DHH, the creator of Ruby on Rails, has influenced my thinking as a developer.

If you program ‘in’ a language, you limit your thoughts to expressions that the language directly supports. Instead, program ‘into’ a language. First, decide what programming thoughts you want to express and then determine how to express those thoughts using the programming language you are using.

If you are a new developer just getting into development, don’t stop searching until you find the programming language that fits your brain like a glove. At the same time, don’t put blinders to the good ideas from other languages.