3 ms·
There seem to be blog posts on "why we chose language X" nearly every week on HN and most often X tends to be a language that is not widely used. How do people
by ibgeek 5y ago
There seem to be blog posts on "why we chose language X" nearly every week on HN and most often X tends to be a language that is not widely used.
How do people manage to get any real work done using languages that do not have large and thriving communities that can build and maintain various libraries?
For example, I mainly do applied ML work in bioinformatics. There really are no ecosystems that come close to those of Python and R in terms of their completeness for data science and machine learning libraries and infrastructure. I've looked at other libraries in other languages, hoping to switch, but since there are massive gaps, it's often a choice between building supporting libraries OR actually getting my work done.
I'm truly surprised anyone can build much of anything complex in languages with few libraries.
- finder83 5y agoI feel like if you considered an average developer most people are writing API-like services that talk to a database and a few various APIs, payments, email, notification services, etc. ML is kind of a niche area where Python definitely excels and almost stands alone, but web frameworks are a dime a dozen, and every language pretty much has a postgres or mongo client. "Much of anything complex" probably wouldn't hold true for most developers...I mean, it's all complex given technology, but 99% glue code that can be written in anything. That's generally true for me at least. I have been bitten by lack of libraries for things like Cassandra in the past and switched languages because of it, but that's the exception and not the norm for me, and you really have to choose the right language for some projects. Or have some kind of architecture where you can have different parts in different languages.
- mtreis86 5y agoCommon Lisp has libraries that are 30 years old that still work. The community seems to be (slowly) growing right now. The core language supports some fairly complex functionality out of the box. There are a number of widely used libraries that add to it with things it is missing due to age such as threading, atomics, and crypography.