What makes a programming language good or bad for a particular task?
This is a question that was given to me by a close friend. She is not a software developer by trade (she’s brilliant and could certainly do it if she wanted — she’s a particle physicist, and even though I understand physics to a certain degree, there is no way I could do what she does). This is a great question that a lot of people ask when they are having to decide what language to write something in, usually when starting a completely new project.
The Trade-offs
I’ve been doing this job for a quarter-century. In that time, I’ve worked with a lot of different languages, frameworks, and other various tools. I’ve come to a philosophy that you should use the best tool for the job, no matter what, but sometimes the logistics of doing that in software engineering make it a lot harder. One doesn’t just start writing C/C++ code and expect a beautiful windowed application to show up a few minutes later. Some languages require extensive configuration and additional baseline code and/or frameworks to get to a place where an application can be used by anyone.
This brings up the important point of knowing your trade-offs when choosing a language or framework. Depending on where you are in your project, it may or may not make sense to actually research it to figure out what the…