This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # asami (10)
- # babashka (11)
- # beginners (24)
- # braveandtrue (1)
- # cider (4)
- # cljs-dev (4)
- # clojure (88)
- # clojure-europe (19)
- # clojurescript (6)
- # code-reviews (7)
- # conjure (2)
- # core-async (2)
- # css (3)
- # cursive (11)
- # expound (81)
- # fulcro (2)
- # hoplon (1)
- # off-topic (42)
- # pathom (1)
- # re-frame (5)
- # shadow-cljs (17)
- # spacemacs (25)
- # testing (6)
- # tools-deps (3)
- # xtdb (12)
Are there any new programming languages that caught your attention for being innovative in making programming simpler? Clojure was a significant mental shift for me personally, and really brought me back the joy of programming. But Clojure is mostly done, are there any new ideas lately? (Plz no Rust, that’s not simpler by any measure, in my opinion. Better performance and correctness — maybe)
not new (it's become more popular recently) and it's not turing complete, but datalog is interesting
@UTXR46DS6 As an alternative to Rust, I've heard that Zig is the "simple" equivalent (where Go = easy, garbage collected and Rust is performant, but quite complex)
zig is a simpler c (more internally consistent, no preprocessor, instead you use the full language at compile time)
@U04V15CAJ from what I’ve seen, Zig is very low-level (does not even have any built-in or “official” way to do polymorphism). So I agree that the language is simple, but it hardly makes programming simpler, in my opinion (like Clojure’s fearless concurrency, persistent data structures, package management, plain data philosophy did)
it does have built in polymorphism, a function can take a type as its first argument
I am doing Rust right now, but I feel like I'm jumping through lots of hoops to get stuff done
the language is still pre-1.0, but I think the final design is going in good directions
while there's no gc out of the box, ArrayList, HashMap, etc. are polymorphic and take an "allocator" as an argument, that allocator could be a gc
Ok, but as for high level programming languages that compete with Clojure in "simplicity", not sure if I know any good competitors
to the original question, i think Typescript could fit that bill. a new language, innovative. some dimensions it could be simpler, some not
the old programming languages ml and scheme are very simple (and big influences on clojure)
I tried some golang during the Christmas break. As a language it's quite limited, but I got something working relatively more quickly than say Rust. It may become a guilty pleasure. For years I've ignored it because it's kind of an anti-FP language.
E.g. I serialized results from sqlite to JSON dynamically without writing a ton of typed boilerplate
@U051SS2EU > it does have built in polymorphism, a function can take a type as its first argument I might be mistaken, but that does not work like run-time polymorphism (same way C++ virtual functions or Java interfaces work), does it? To do polymorphism, your types have to contain the “hand-coded” vtable — at least it’s what I understood from skimming.
I'm thinking of things like ArrayList where it has a constructur taking a type as an argument, returning the concrete type
that's a form of polymorphism (but not runtime polymorphism unless you make a vtable, it's true)
but eg. ml also lacks straightforward runtime polymorphism, and I consider it a cromulent high level language
I was developing in Elm for a few years and there are many ways in which it’s simple, but also many of its “simple” features are more “easy” in the simple vs easy sense. It uses a deeply coupled web framework, for instance, that uses an FFI that’s only available to the compiler authors. This framework is well-designed, but highly coupled.
I also follow shakti (aka k9), it’s not easy at all (and “unconventional”), but damn it’s fast and elegant. And ungooglable.
just thought of two more, TLA+ and http://boom.cs.berkeley.edu/ . not general purpose, but they have interesting ideas behind them.
I did not see pony mentioned before in this thread. It takes 'safety' some steps further than rust does, https://www.ponylang.io/. Might not be easy initially, but if you want a correct highly concurrent application it might make it a lot easier. With Clojure this is also already a lot better than Java.
It’s like “what if everything is a Datomic database and we just write reactive queries on everything”
Eve has been funded on KickStarter in the early 201x, the author, Chris Granger, was quite active in the Clojure community before that. In 2015 or so I spoke in person with him on a conference and he was then still implementing Eve in Rust (for performance). I'm surprised it's now all in typescript
Aha: > In the pursuit of our goal to make programming more accessible, we’ve built over 30 versions of Eve since we started about two years ago.
Well, I guess if the language does the job and is open, really performant implementations will follow inevitably, like V8 for JS.
before eve, there was light table. he’s still trying to make programming more accessible, https://twitter.com/ibdknox. if you find that interesting, I would also recommend bret victor if you haven’t seen his talks, http://worrydream.com