Making Smart Computer Language Choices

Many readers have asked over the years why I spent time learning the computer languages that I have. Some languages were learned as part of the requirement for getting my computer science degree and a few were learned as part of getting a job. However, most languages were learned as a means to communicate better with the computer. A computer speaks only one language—machine code, which is nearly impossible for humans to learn. My first coding experiences started with machine code and then progressed to languages such as Macro Assembler (MASM). As technology has improved and my needs have changed, I’ve learned other languages, which is why I wrote “6 Ways to Determine a New Programming Language is a Turkey.”

Some of the languages I’ve learned over the years really were turkeys. The language is probably acceptable, but I didn’t get anything for my efforts. The language wasn’t right for me—it didn’t help me to communicate better with the computer. You’ll likely find that you experience the same problem if you spend enough time writing code. The more time you spend writing applications, the more languages you eventually learn.

I rarely get into arguments with other people who feel the language they like best is superior to all others. I realized a long time ago that the language really is superior from their perspective. If I were in their precise situation and writing exactly the same kinds of application they’re writing, I’d probably come to the same conclusion. That’s why the choice of language is both personal and imprecise. My article helps you make an informed choice based on the criteria that I use most often to select a new language. An informed choice will reduce the mistakes you make when selecting a language.

The point at which some developers make a mistake is in thinking that the computer pays any attention at all to the language they choose. The computer couldn’t care less. All the computer knows is machine code. The language you choose is for your benefit, not the computer’s benefit. The moment you start thinking that a language does anything at all for the computer, the chances of choosing a turkey increase greatly.

There are some mechanics of computer languages that you do need to consider. For example, you need to know that the language you choose will translate into machine code your computer understands. You also need to know that the more comfortable you make things for yourself, the less efficient the code becomes. That’s not really a problem in today’s environment of high-powered computers, but that reality did affect my decisions early in my career. At the time, MASM provided the most efficient means possible to communicate with a computer without resorting to machine code. Even so, MASM was difficult to work with and I welcomed the introduction of C as a means of making things easier on myself.

Of course, this all leads into the question of which language you feel works best for your needs today. Some developers know just one language well—others, like myself, have an entire toolbox full of languages to use to meet specific needs. Where do you fall into the list? As I continue to write books, I’d like to hear about languages and techniques for using those languages that interest you most. Let me know your thoughts on computer languages at John@JohnMuellerBooks.com.

 

Author: John

John Mueller is a freelance author and technical editor. He has writing in his blood, having produced 99 books and over 600 articles to date. The topics range from networking to artificial intelligence and from database management to heads-down programming. Some of his current books include a Web security book, discussions of how to manage big data using data science, a Windows command -line reference, and a book that shows how to build your own custom PC. His technical editing skills have helped over more than 67 authors refine the content of their manuscripts. John has provided technical editing services to both Data Based Advisor and Coast Compute magazines. He has also contributed articles to magazines such as Software Quality Connection, DevSource, InformIT, SQL Server Professional, Visual C++ Developer, Hard Core Visual Basic, asp.netPRO, Software Test and Performance, and Visual Basic Developer. Be sure to read John’s blog at http://blog.johnmuellerbooks.com/. When John isn’t working at the computer, you can find him outside in the garden, cutting wood, or generally enjoying nature. John also likes making wine and knitting. When not occupied with anything else, he makes glycerin soap and candles, which comes in handy for gift baskets. You can reach John on the Internet at John@JohnMuellerBooks.com. John is also setting up a website at http://www.johnmuellerbooks.com/. Feel free to take a look and make suggestions on how he can improve it.