An opposite trend I've been noticing is that big languages steal ideas from some smaller language and absorb its community: for example a lot of R ideas have been pulled into Python libraries, resulting in a migration from R to the more capable Python. R's syntax is nicer for statistical computing, but having access to the larger Python ecosystem with slightly worse syntax turns out to be more valuable in the long run.
> Why did someone create Gleam and how is it being used in production today?
I'm an outsider to this community, so I'd trust someone with inside information over myself, but my outside impression is that Gleam was invented to push Erlang's potential for extremely high reliability even farther. Gleam's strong type system lets you create software that rarely fails, and on top of Erlang/OTP's "let it fail" philosophy you have battle-tested patterns for recovering from failures when they do happen. The use case is for networking software which requires high levels of security, scalability, and fault-tolerance, such as cryptocurrencies and end-to-end encrypted messaging systems (it's used by WhatsApp and I think the NEAR cryptocurrency though I can't find a reference for the latter claim).
> I have a hard time imagining going to a team or customer and saying “
- c#
- go
- java
- python
- javascript
ARE wrong ... for this project.
---
So, what people don't get is that you need somebody crazy enough to make `go, python, java` when C, Cobol and other existed.
You see the major success, but not the attempts in the middle.
For people like us that do languages, not just for fun, we are trying to be the NEXT on that list!. And if somehow one of this languages break it the barrier is because, for certain, they are better than most, at least at certain niche.
---
> But I just wonder about the real world uses and actual stories behind new and lease known languages
A little secret: Creating a new language is the ONLY way to make a paradigm work at scale. You can't do OOP in C, not practically. A new language is the next step after make a framework, and you can see it as the only way to make the idiom of a large scale framework to truly shine without the baggage.
So, in my case (https://tablam.org), I have used +20 programming languages (including SQL dialects that inflate the number!), for real, for work, for pay. None is close to solve the needs of build business apps, and the one that was close (FoxPro) die too long ago. None is relational, none is good for data manipulation, none allow me to encode the business checks, flows or invariants, or make data reports, etc.
"None" here is too strong of a word, right? All that other languages I have used have shipped code! So they "works!", but none allow me to truly embrace the relational paradigm, aka: deal with data.
But a lot of companies are institutionally committed to the jvm, and/or have deep expertise within it, and a lot of those have smaller teams or individuals with more freedom to experiment with their tools.
And now clojure has settled into a comfortable niche as the language you use when you should be using java but just don't wanna.
This is one path to making it easier for devs to justify using a new language. And I mean, typescript was in this situation more or less at one point. So sure erlang isn't as popular as java or javascript, but it is a runtime that some places are committed to and have expertise in. I could see gleam latching onto that, maybe.
I can only speak for myself, and I am not involved in the creation of Gleam. But I have to say, an ML style language on top of the Erlang VM (BEAM) is a very enticing combination to me.
I'm also not using it in production at ${dayJob}, so take that for what it's worth. Maybe some day I'll get the opportunity.
So much so it became something of a meme to say "just re-write it in Go" for a while.