There are Only Two Perfect Programming Languages
One of the longest running conversations between engineers is the discussion about which programming language is the best, the most perfect. After years of newsgroup threads, millions of conversations, multiple popularity indexes, the ongoing appearance new programming languages, and improvements existing programming languages, there are still only two perfect programming languages. For hardware engineers the perfect programming language is the microcode they build into the silicon. For software engineers it is the assembly language that is executed by the microcode.
The first programming language I learned in college at Cal Poly San Luis Obispo was Fortran (in the fall of 1969). The second programming language I learned was Assembly Language (both the IBM 360 Assembly Language and Data General Nova Assembly Language) in the Winter and Spring of 1970. During the remainder of my college days I wrote programs in PL/I, COBOL, ALGOL, APL, FOCAL, BASIC, LISP, LOGO, FORTH, and Pascal. After graduation, my first full time industry job was creating real time applications using Data General Nova assembly language. After seven years of building a wide range of systems, I moved on to using a combination of assembler and higher level languages.
That said, there are a lot of great programming languages that software developers use to build awesome applications, systems, and services. For many users of a specific programming language (or multiple programming languages), the one they use the most might be perfect for certain purposes. I’ve never met a programmer who hasn’t wished for additional language features to make some aspects of development simpler. There are never ending suggestions for new language features, standards committees collaborating on improvements to programming languages, and academic/industry research and development that moves the language state-of-the-art forward.
For years there has been a discussion about which programming language you should learn first – Python, Java, JavaScript, Pascal, C, etc. In computer science education there has also been discussions about which programming paradigm you should learn first – imperative, procedural, object-oriented, functional, declarative, logic, symbolic, etc. I know that these and other discussions, agreements, disagreements and research will continue for years to come.
To be honest, I am a programming language, compiler and tool chain junkie. There isn’t a programming language that I dislike (okay, maybe there are a few esoteric programming languages that I will explore but most likely never use). I love reading blog posts, newsgroup threads, academic articles, and industry articles that discuss programming languages, language features, the “best” language, etc.
Here are some of the recent articles that got me thinking about writing this blog post:
- The programming language I want by Tomek Wałkuski
- The Working Programmer’s Guide To Language Paradigms by Mike James
- What is the best programming language to learn for backend developers?
- Learn any of these 16 programming languages and you’ll always have a job by Matt Weinberger
- Top 6 Programming Languages for Mobile App Development by Calvin Austins
- If I were to invent a programming language for the 21st century by Oleksandr Kaleniuk
What’s your Perfect Programming Language?
Do you like the programming language that you use for most of your work? Do you have favorite programming language features that you wish were in all languages? Post a comment, I’m sure every developer will have an opinion or three.
David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://devnet.evansdata.org/
Skype: davidi99
Twitter: @davidi99
Scheme is a great language
delphi, my passion
Dear David,
I agreed with you, i love and i will always love Pascal/delphi you can say it is love from the first sight, even i stop coding in delphi since 2010 and i go to Java since then. but i can’t forget my first love Delphi and i can’t forget a Company called Borland which produce the best compilers and IDE’s i ever used.
Thanks
Object Pascal
Hey David, did you realize that one of those links has Apple inventing Delphi? In 1986? 🙂
“Delphi Object Pascal: Originally developed at Apple in 1986 and named because it helped programmers connect to Oracle databases (as in, “The Oracle at Delphi”), Delphi is seeing its star rise once again as an alternative for building smartphone apps.”
😉
Thanks for the note. Will update that text to make sure it is clear that for “Object Pascal” I was talking about work done by Larry Tessler’s group at Apple in collaboration with Nicklaus Wirth. Thanks!
I take Object Pascal and Delphi Raid IDE.
My personal opinion is that Javascript should be the first language taught, since it is probably the most simple and easy to learn, and it can be used immediately on any computer, without the need to install any compiler or runtime or IDE: you can just write the code in Notepad or vi, and then directly see the result on the browser. (Not to mention there are now websites like CodePen where you can code and test directly online). And then it can also be used on the server-side (nodejs) and for mobile apps development.
But of course, this would be just to get you started with programming concepts. After that, you can go on and learn any other more advanced languages.
Javascript seems so easy that it could be taught in primary school, just one year after learning to write. (Of course, there are also other visual programming tools such as Sketch, which can be used to teach programming even at kindergarden, before learning to read and write 🙂 )
Thank you for any other great post. The place else may anybody get
that kind of info in such an ideal approach of writing?
I have a presentation next week, and I am on the search for such info.