In all the substantial programming projects I’ve undertaken, what I think of the language itself has never been a consideration.
One of these projects needed to run (client-side) in any web browser, so (at that time) it had to be written in Java.
Another project had to run an a library embedded in software developed by other people and also standalone at the command line. I wrote it in C++ (after an ill-considered first attempt to write it in Perl), mainly because it was a language I knew and performance was an essential requirement, ruling out Java (at that time).
My current employment is developing a tool for biologists to use; they all use Matlab, so it’s written in Matlab, a language for which I even have a file somewhere called “Reasons I hate Matlab”.
If I want to write an app to run on OSX or iOS, the choices are limited to what Apple supports, which as far as I know is Objective C, C++, or (very recently) Swift.
For quick pieces of text processing I use Perl, because that happens to be the language I know that’s most suited to doing that. I’m sure Python would do just as well, but knowing Perl, I don’t need Python, and I don’t care about the Perl/Python wars.
A curious thing is that while I’ve been familiar with functional languages and their mathematical basis for at least 35 years, I’ve never had occasion to write anything but toy programs in any of them.
The question I always ask myself about a whizzy new language is, “Can this be used to write an interactive app for [pick your intended platform] and have it be indistinguishable in look and feel from any app written in whatever the usual language is for that platform?” Unless the answer is yes, I won’t take much interest.
A programming language, properly considered, is a medium for thinking about computation. I might be a better programmer for knowing the functional or the object-oriented ways of thinking about computation, but in the end I have to express my thoughts in a language that is available in the practical context.
Can this be used to write an interactive app for [pick your intended platform] and have it be indistinguishable in look and feel from any app written in whatever the usual language is for that platform?
Now that my platform is the web the answer is “yes” for nearly every language, which is awfully freeing.
In all the substantial programming projects I’ve undertaken, what I think of the language itself has never been a consideration.
One of these projects needed to run (client-side) in any web browser, so (at that time) it had to be written in Java.
Another project had to run an a library embedded in software developed by other people and also standalone at the command line. I wrote it in C++ (after an ill-considered first attempt to write it in Perl), mainly because it was a language I knew and performance was an essential requirement, ruling out Java (at that time).
My current employment is developing a tool for biologists to use; they all use Matlab, so it’s written in Matlab, a language for which I even have a file somewhere called “Reasons I hate Matlab”.
If I want to write an app to run on OSX or iOS, the choices are limited to what Apple supports, which as far as I know is Objective C, C++, or (very recently) Swift.
For quick pieces of text processing I use Perl, because that happens to be the language I know that’s most suited to doing that. I’m sure Python would do just as well, but knowing Perl, I don’t need Python, and I don’t care about the Perl/Python wars.
A curious thing is that while I’ve been familiar with functional languages and their mathematical basis for at least 35 years, I’ve never had occasion to write anything but toy programs in any of them.
The question I always ask myself about a whizzy new language is, “Can this be used to write an interactive app for [pick your intended platform] and have it be indistinguishable in look and feel from any app written in whatever the usual language is for that platform?” Unless the answer is yes, I won’t take much interest.
A programming language, properly considered, is a medium for thinking about computation. I might be a better programmer for knowing the functional or the object-oriented ways of thinking about computation, but in the end I have to express my thoughts in a language that is available in the practical context.
You might enjoy (if that’s the right word) the Abandon MATLAB blog. (Which, in a slight irony, itself appears to have been abandoned.)
Now that my platform is the web the answer is “yes” for nearly every language, which is awfully freeing.