6 ms·
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++
- arthur2 6y agoParsers and eDSLs: Haskell
- codygman 6y agoHave you written parsers in any other languages? Can you contrast?
- deleted 6y ago[deleted]
- the__alchemist 6y agoEmbedded software: Rust, due to its easy-to-use tools, and powerful features, without sacrificing low-level functionality or speed. Serverside web programming: Python, due to how useful Django's batteries-included approach is. And, its model representation of database tables, with auto-migrations.
- farseer 6y agoYou mention easy to use tools for Rust. Can you be more specific?
- tmaly 6y agoText processing - Perl, I have used it for 20 years now to do this and it is still one of the best languages for it.
- codygman 6y agoDo you have any personal favorite examples? Maybe a recent from your history?
- tmaly 6y agoIt is how regular expressions are built into the language itself in the same sense of how Go has goroutines. 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.
- cafard 6y agoI would add CPAN to the list of Perl's advantages.
- computerphysics 6y agoCloud backend: goLang (docker friendly, built-in concurrency)
- codygman 6y agoHave you used other languages here? Can you give a code example where Go shines here?
- potta_coffee 6y agoNot the poster you're asking, but in my case, have used Python extensively for cloud-related programming, lots of AWS lambda. Currently in a special kind of hell trying to move our company's lambdas from Python 2 to Python 3. It should be easy but there's an internal Python 2 library that is in everything that is massive and almost impossible to excise without significant effort. Started writing lambdas in Go, you ship your compiled binary and the lambda environment will never care what version you're running. Shipping a binary means I'm no longer worried about my build environment and pip and shipping all my Python junk the right way. Also in other areas, simply transposing some code to Go has had huge performance benefits over Python and concurrency is just so easy to pull off.
- shoo 6y ago> Shipping a binary means I'm no longer worried about my build environment and pip and shipping all my Python junk the right way. 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.
- 6y ago
- nicbou 6y agoFront end web development. It's so ubiquitous I don't need to name it.
- mattmanser 6y agoYes, jQuery is amazing. Err, sorry, I meant Mustache. Err, no, Backbone. Whoops, Angular. Um, React? No, Vue! Crikey, you must mean Svelte!
- eadan 6y agoR + the tidyverse (dplyr, ggplot2 etc.) is easily the most elegant data analysis combo I've used. However, I tend to use Python for this usecase nowadays, primarily to reduce friction when working with others where Python is the lingua franca. Also, RMarkdown is superior to Jupyter notebooks in my opinion.
- codygman 6y agoCan you give an example of something you have to do all the time in Python that's a lot nicer in R?
- akg_67 6y agoPython, Numpy, Pandas is very inconsistent in comparison to R. For example, calculating and adding a column to existing dataframe using df.assign. 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.
- dyingkneepad 6y agoControlling hardware: C.
- rurban 6y agoCompilers: Lisp Nothing comes close to efficient tree matching or list processing, esp with its macros.
- dunefox 6y agoWhich Lisp (or Lisp in general)? Because of homoiconicity?
- rurban 6y agoAny Lisp or Scheme. Because of the cited features. Homoiconicity only helps with 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.
- open-source-ux 6y agoWeb programming has to include PHP. You might might not like the language, but it easily beats other languages when it comes to the sheer volume of CRUD web apps built in the language. 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.
- speedgoose 6y agoModern javascript is pretty good for GUI development.