In what niche does your favorite programming language surpass all competition?
And why? What makes them special? How do they make the job so much easier than everything else?
Some examples include but aren't limited to (not necessarily my opinion):
- Web Programming: Python(Django), Ruby/Rails
- REST Api's: Haskell(Servant), Python
- Machine Learning: Python
- Embedded Software: C, Rust
- Domain-specific languages: Haskell, Ruby, Racket, Lisp
- Data Science: Scala (spark), Python, R, Julia
- Game Programming: C# (Unity), C++
26 comments
[ 0.22 ms ] story [ 58.5 ms ] threadServerside web programming: Python, due to how useful Django's batteries-included approach is. And, its model representation of database tables, with auto-migrations.
For certain sets of problems, it makes it trivial. I remember cranking out a report in a few hours that took a Java team 2 weeks to re-implement.
I'm not sure it is that clear a win: for go, if you want to be able to reproduce a binary in future, you would still need to keep track of exact versions of all your build-time dependencies such as the compiler toolchain & all library dependencies, and version control or archive backup copies of these. You still may need to figure out exactly what version of each component you're running if serious security vulnerabilities are found in some component.
I agree it is much simpler and easier to ship a single statically linked self-contained go binary than a python app, but both languages arguably require a similar amount of effort to having a reproducible process to build and deploy.
Coming from R, working in Python Pandas world, I am constantly googling, and checking the results of each command to make sure no errors and consistent output.
Nothing comes close to efficient tree matching or list processing, esp with its macros.
I should have mentioned Prolog also, because this is even better for compilers. You state the rules, and the system comes up with the optimal transformation by itself. Trees are natural as in Lisp. But unfortunately Prolog is not popular enough, and you rarely see an open source Prolog compiler. Ocaml took that niche, but prolog would be far better.
It's available on every possible flavour of hosting (including shared hosting which makes it very accessible to many users). To setup an app can be as simple as copying PHP script files to a folder on the server. No other language can beat PHP for ease of server deployment.