John Carmack, the videogame and VR programming legend, was interviewed on Lex Fridman’s podcast last August (yes, I know, I’m a bit late but a bit busy too…)
In case you have not heard of Lex Fridman, then you are the one who is a bit late… He is a Russian-American (yes, that is still possible) AI researcher at MIT, so you can get an idea of the level we are talking about. And yes, he is a podcaster too, so take the opportunity to pick his brain by listening to him while you can! Now, in case you have not heard of John Carmack, then get out of our blog immediately and get an education! 😊
The thing is that when such a myth as Cormack and a superbly skilled scientist like Fridman talk, we listen. It is the only reasonable thing to do.
As it happens, one of the topics raised during the interview was of course, programming languages. And what did Cormack say? I told you, go and listen to it! 😋… Ok, ok, I get it, you don’t have time to listen to a 5+ hours podcast… but you do have time to watch the latest inane series on Netflix or that “entertaining” reality show that you only watch because there is nothing better on TV, right? Come on! Just think of the kind of person you want to become! 😊
Basically, John believes that the best programming language is C++ (remember, this guy’s first experience with programming was printing his name on a TRS-80 computer, he has seen a lot!), because it is simple and allows for efficient programming.
He also believes that languages such as Lisp and Racket are useful for small projects, but not for large-scale projects that require handover between engineers.
To sum up, he says that programming languages in general have the potential to be creative and efficient and can be used to build complex systems that are intelligent and adaptive.
Regarding what being a good programmer is, John thinks it means providing net value to users over what they could be doing instead and measuring user value by looking at actual users and their reactions. He also states that leaders should have an informed opinion about everything going on but should not micromanage too much. Maybe the latter has something to do with his decision of leaving Mark Zuckerberg’s Meta. Or maybe he just had enough of some big corporations’ BS!
But going back to our topic, is C++ the best programming language? And how do I know? We are recruiters, not engineers! At the end of the day, all I know is what I learn from all the great programmers I interview, but let’s lay down some hard truths about the most popular choices for developers today:
Yes, one of the most popular programming languages is C++. C++ is a high-performance language that is commonly used in systems programming, such as operating systems, drivers, and embedded systems. It is a compiled language, which means that it is translated into machine code that can be directly executed by a computer. This makes it a fast and efficient language, but it can also be more difficult to learn, and debug compared to other languages.
Another popular programming language is Java. Java is an object-oriented language that is commonly used in web development and Android mobile app development. It is known for its portability, as the same Java code can run on any device with a Java Virtual Machine (JVM) installed. Java is also a popular choice for developing enterprise applications due to its scalability and robustness. Java may be an oldie, but it’s still a goodie!
Python is another widely used programming language that is known for its simplicity and ease of use. It is a high-level, interpreted language that is popular in scientific computing, data analysis, and machine learning. Python has a large and active community of users and developers, which means that there are many libraries and resources available for a wide range of tasks.
There are many other programming languages in addition to the ones mentioned above, such as C#, Ruby, and Swift, each with their own unique features and capabilities.
Ultimately, the best programming language for a particular task depends on the specific requirements and goals of the project. For example, if you need to develop a high-performance system, a compiled language like C++ or C may be the best choice. On the other hand, if you are developing a web application or mobile app, a language like Java or Swift may be a better fit.
It is also worth considering the long-term prospects of a language when making your choice. Some programming languages have a large and active community of users and developers, which means that they are more likely to be supported and updated over time. This can be especially important for enterprise applications that need to be maintained for many years.
In conclusion, there is no single best programming language that is suitable for all tasks. The best language for a particular project depends on the specific requirements and goals of the project, as well as the individual preferences and skills of the programmer. It is important to choose a language that is well-suited to the task at hand and that has a strong community of users and developers to ensure its long-term support and development.
And yes, in case you are wondering, I have asked ChatGPT indeed. Who do you think I am, a caveman?
Anyways, if you are reading this because you are a wannabe-programmer and don’t know where to begin, I would suggest starting with Python or Java. They are both popular languages with many resources available online like tutorials and videos that can help guide you along your journey.
Then again, let me tell you that after listening to the whole podcast, I must say the thing I agree the most with John Carmack is his pizza and diet coke menu. Yes, yes, we all like fine dining and have very educated tastes, but come on, eating a Big Mac, Whopper or Five Guys burger with all toppings, or a table-sized pan pizza along with a huge cherry flavored coke is the best fuel for coding. Everybody knows that! (Donations are welcome, fast-food makers!)
Thank you very much for reading us, and have a great, great start to the new year!!