Favorite Programming Langauges
After practicing in several different programming languages in the past month (Ruby, Python, C#, C, C++, Rust, Elixir, Erlang). I have formed opinion on what I personally look for in a programming language.
Simplicity in syntax of the language
To me, Erlang and C have the best syntax in terms of simplicity and beauty of the language.
There are not many syntax rules to remember and despite the small surface area of concepts you are still able to accomplish a lot.
Being able to solve problems in a reasonble amount of time.
During practicing coding problems in various languages. I noticed that the language can get in the way in several ways. For example, in C although the language is simple in terms of surface area, the lack of a powerful standard library hinders the ability for one to solve problems quickly. To solve a given problem one needs to build their own solutions to get anything done.
This has pros and cons. The pro: you will need to understand every aspect of everything you do. The cons, you will spend a lot of time in solving the problem.
To me a powerful standard library is desirable in my ideal programming language (of course you need to understand what the computer is doing behind the scenes, but that is a separate from programming language syntax itself).
This is the reason why I’ve transitioned from practicing programming problems in C to C++. C++ from 500 feet view contradicts my bulletpoint for 1. But C++ is a language where you need to opt-in into the complexity (*still there are a lot of quirks still), but having an amazing standard library transcends the quirks and helps you solve problems much faster.
The standard library it provides does not compromise on performance, and still gives developer a low-level perspective in solving problems.
Subjective feeling
It is a subjective bulletpoint, but there is a certain feeling when writing C++ that makes it natural. There is just the right amount of typing that helps you think. But also there is a lot of great programmers who have programmed in C++ and makes it feel like a cool language. That being said, I am not an expert or experienced C++ programmer, I’ve just looking at the lagnauge from a intermediate programmer.
Why C++ and Erlang?
C++ as my programming language of choice for most coding problems(despite of its massive surface area) for several reasons:
- C++ is a language that can have simplicity (only use features that you want to use)
- great standard library
- lower-level programming this problem executes directly on machine rather than having a runtime. this leads to better runtime performance
- C++ has a great history, lots of famous programmers have written in this langauge and there is something special being able to write in C++
- C++ is a language that you can apply to many different industries
I have also chosen Erlang a secondary language for the following reasons:
- Erlang is simple syntactically
- OTP aside, as a language Erlang heavily leans on pattern matching and breaking down the problem atomically.
- Erlang is declarative, you solve problems by given a state, figuring out the transform the data declaratively.
- The surface of the langauge is small.