Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
In my experience, people believe that programming languages are a solved space, and we should stick with what we have.
It's unfortunate; because languages are very polarized today. I think there's a lot of room for languages that are safe, fast, and most importantly, *easy.* Today's languages are generally two out of three.
Luckily, a lot of languages are exploring that space!
* Vale is blending generational references with regions, to have memory-safe single ownership without garbage collection or a borrow checker. [0]
* Cone is adding a borrow checker on top of GC, RC, single ownership, and even custom user allocators. [1]
* Lobster found a way to add borrow-checker-like static analysis to reference counting. [2]
* HVM is using borrowing and cloning under the hood to make pure functional programming ridiculously fast. [3]
* Ante is using lifetime inference and algebraic effects to make programs faster and more flexible. [4]
* D is adding a borrow checker!
[0] https://verdagon.dev/blog/zero-cost-refs-regions
[1] https://cone.jondgoodwin.com/
[2] https://www.strlen.com/lobster/
[3] https://github.com/Kindelia/HVM
[4] https://antelang.org/
> higher level paradigms, DSLs or a language that provides such capabilities out of the box for these reasons
Based on exactly this arguments that we created HerbsJS [1], a domain-first library to build microservices. While the essential complexity can't be removed [2], we should put effort to remove the accidental complexity as much as possible.
BTW, great to see this kind of discussion here and congratulations to the team responsible for Cell Lang.
[1] https://herbsjs.org/