Ask HN: Most productive programming language for individual use?
I’m seeking the most productive language for my daily use, for small software I need for myself. One criteria: The speed I’m able to get the task at hand done. I keep hearing good things about OCaML, Lisps and Smalltalk, any ideas?
Edit: In clearer words, in which programming language do you feel yourself the most productive discounting factors external to the language? (like platform monopoly, runtime, environment, package ecosystem etc.) Think about the language itself.
25 comments
[ 0.20 ms ] story [ 64.4 ms ] threadWhat kind of tasks do you work on? Recommended programming languages for web development are quite different from embedded programming work. I may prefer Clojure for some tasks, but Rust for other tasks.
The programming language that I am most productive in may not be your preference. Some people prefer Rust for low-level tasks, while others prefer C++ because they have used it for decades.
I do not use a hammer when I need to tighten bolts, but when I need to drive nails I use a hammer. ("Use the right tool for the job at hand.")
Perl is great for this type of work. It is designed for concise text manipulation and it is very easy to be productive with a minimal amount of code:
https://opensource.com/article/22/2/text-based-code-perl
You feel slower in Java? I'm not saying you're wrong. But are you enough faster in another language to enable you to write (and debug!) functions that Java gives you for free? Or, do you not need many of those functions?
Miles ahead.
greets
So... Depends on the task? Every language has good niches, so start by searching pypi, cargo, rubygems or even just github.
So if the problem I have is pulling pieces out of a text file, I reach for Perl. I know it well enough, and it's great at that problem. For most other things, I reach for either C++ or Java, because they're what I know best.
But if part of the goals of the project is "learn a new language", then that changes the logic. Then I'm explicitly looking for a language that I don't know. At that point, I have to go by what others say about the language, because I don't personally know it's strengths and appropriateness to the thing I'm trying to write.
Perl actually had really good pattern matching, and Perl 6 has a lot of crazy new features -- but if you don't know of them or how to use them, it doesn't help.
Choice of language generally has little to do with overall productivity, except you will need time to learn a new language, libraries, idioms, ecosystem. So best to start with the language you have the most expertise and experience with.
The factors you discount can affect overall productivity much more than the programming language.
Your question seems like asking which tires will let you drive fastest, ignoring everything else about the car and the road and your driving skills.