remix logo

Hacker Remix

The Siren Song of Little Languages

50 points by Qem 1 week ago | 25 comments

red_admiral 7 days ago

My take is that, for productive work, language is much less important than everything around it. I need at the very least some kind of package management and dependency resolution system. Sometimes I want to read a CSV file, turn some of the content into JSON and serve it over HTTP. In an environment with sensible libraries, that's just a case of glueing stuff together. The problem is not little languages, it's little ecosystems.

poulpy123 7 days ago

There was 3 reasons for python success : it's easiness, it's price and the most important the number of libraries

lblume 7 days ago

What do you mean by "price"? The language and its interpreter are free, but so are most languages from its time, so what are you referring to exactly?

red_admiral 7 days ago

That's the point of the joke. If it had cost money, it would never have become as popular.

poulpy123 6 days ago

yeah I mean the price of 0$/€/any currency. And not all languages were free, especially one of the main place where python encountered first the success that made it so big was in the universities and in research, were software like matlab, mathematica, IDL or maple were (very expensive) kings before.

recursivedoubts 1 week ago

> The problem seems to be languages with a small, well written specification.

that’s why I’m making my language as big and poorly specified as possible:

https://hyperscript.org

emmanueloga_ 7 days ago

I think it is a problem of incentives: programming languages with small, elegant specs are often created by academics, and academia and the software industry have fundamentally incompatible incentives.

Vampiero 7 days ago

People in academia know enough computer science to appreciate that everything can be reduced down to unification and function application (+ side effects) and they advocate for expressiveness in the same sense that a manager on a team of people working with an industrial language advocates for simple and readable code (because he wants to streamline the onboarding process, and because he's constantly hiring juniors instead of seniors).

Common patterns in functional languages are considered "too clever" in most workplaces. Because they leave new hires dumbfounded and no one has got the time to explain them how to do their job. It's not that they're too "clever" but rather that the average coworker is too "dumb". But that's not a jab at anyone in particular, it's a consequence of our work culture -- and "clever" and "dumb" are not statements about intelligence, but about experience and team composition.

Basically the incentives are actually opposite to each other. It takes a long time to wrap your head around languages like Haskell because you actually have to know some theory, you can't just wing it. Javascript however...

On one side of the spectrum there's imperative languages and on the other end there's declarative ones. So this dichotomy creates friction and inertia.

adamc 7 days ago

Here's a different take: Languages like Haskell aren't solving the problems companies actually experience (for the most part). High on that list of real problems is "how do I get effective work out of these <relatively inexpert> programmers?" And often the domain that the programmers are being asked to work in strongly constrains viable languages as well. (Web browsers and JavaScript would be an example.)

I love Lisps, but for most companies, it's not the right investment. People don't leave school knowing lisp, its flexibility can be a downside with inexperienced developers, and it doesn't have the kind of ecosystem something like JavaScript or Python or Java or even C++ have. Nor can you easily hire contractors to help you on a project or to help clean up a mess.

Businesses like solutions that can be planned for, that are easy to hire for, that one can get help with if things go badly.

discreteevent 7 days ago

When I started programming most of the world that I encountered seemed to be written in C++. I don't think Haskell and C++ are hugely different in terms of how long it takes to become proficient in them. The programmers I come across nowadays don't seem to be much different in terms of their ability from those C++ programmers. I think that if Haskell hasn't succeeded then the idea that workers are too dumb (or don't have the time) is not the cause. There are many smart people in industry who know about Haskell but do not find it attractive.

pyrale 7 days ago

The author seems to miss that many people don't write their lisp (or their game, or their code-golfing one-liner, or their befunge program) for it to be used, they write it because they enjoy writing a lisp.

As for those who believe their language of choice can actually become mainstream, it's a long, soul-crushing and miserable road.

eternityforest 7 days ago

It's so easy to get wrapped up building tools and frameworks and protocols and never do anything with them, or do anything else with your life, so I think it's important to have reasonable expectations.

Understanding what kind of things people will build with you language would probably help, so you don't waste time trying to please people who will not use your language anyway.