6 ms·
Rhombus is what Racket should have been, back when it was the learning language at MIT, before it became Python. Had it been like this, maybe Python would have
by dexterlagan 1mo ago
Rhombus is what Racket should have been, back when it was the learning language at MIT, before it became Python. Had it been like this, maybe Python would have never gained traction within that community. The world would have been a very different place.
Rhombus' syntax is soooo beautiful. As a Racketeer, it's my dream language.
All the power of Racket... without a Lots of Insipid, Stupid Parenthesis.
Not that I don't like the parens, mind you, but Rhombus looks so much more... 2009. My only regret is that nobody will use Rhombus, except a few enthusiasts, for fun. In an AI age, new programming languages should really be LLM-first, sadly. But it makes me so happy that there are some people who still care about humans coding.
- neilv 1mo agoIIRC, MIT moved away from SICP, and therefore Scheme, because (something like) they saw the field for MIT EECS graduates changing -- from understanding how systems worked in detail, and being able to build from scratch, to assembling systems from off-the-shelf components. And I guess some thought that a currently popular language (first Java, and then Python) was more appealing for that. One of the other objections to SICP, at least outside of MIT, was that it was too hard (especially for high school students). Which is part of why HtDP, and much of Racket supported that and other educational initiatives by Matthias Felleisen, et al. https://htdp.org/ https://htdp.org/ I'm curious: Did MIT use Racket at some point for SICP, rather than MIT Scheme, either officially or grassroots? Jens Axel Soegaard, Mike Sperber, and I made some conveniences for doing SICP with Racket, circa 2009, but I don't recall hearing that Racket was used for SICP at MIT itself, only at various other places. https://www.neilvandyke.org/racket/sicp/ https://www.neilvandyke.org/racket/sicp/
- pjmlp 1mo agoAnd now we are at the point where this is what assembling systems from off-the-shelf components looks like, https://www.workato.com/products/ipaas https://www.workato.com/products/ipaas.
- bmitc 1mo agoThey moved to Python because they wanted to (the used a book that had been written by an MIT professor or two), because students were whining about it, and because of corporate pressure.
- klez 1mo ago> As a Racketeer, it's my dream language. All the power of Racket... Interesting. For me the interesting part of Racket has always been the language itself. What else is there that you like and can use from Rhombus?
- spdegabrielle 1mo ago“Easy to use and uniquely customizable” The customizable aspect being an open-compiler API that is accessible to a wide audience. I love parenthetical syntax but I accept that some people don’t like it and find it hard to work with. I see Rhombus as taking a key innovation in Python - indentation syntax - and giving it an extensibility that is impossible to add to such an established language.
- snikeris 1mo agoWhat properties make a language more LLM-friendly? I've found Claude will readily make use of a REPL when available.
- tancop 1mo agoThe most important ones are fast build/startup times and informative error messages. They can focus on actually debugging your code instead of waiting for the compiler or looking up obscure error codes in the docs (if they have web access, if they don't they will hallucinate). Lisps are great for fast iteration but the syntax is a big problem because it's so sensitive to a single misplaced paren. LLMs like clean syntax with as little noise and unnecessary tokens as possible. They work better with dynamic or inferred types, low verbosity, no repetition like `Foo foo = new Foo();`, clearly delimited blocks, you get the idea. Parts of the language should compose well so the chance that a reasonable edit will cause a syntax error is as low as possible. Popularity was a big deal with early coding models that couldn't go from specific languages to a wider idea of programming. Modern LLMs can generalize a lot better and use Rhombus or Gleam with no major issues, but they still work better in Python or JS with more training examples. Basically the things that make a language LLM friendly are the same ones that make it human friendly, at least if your human is an average developer instead of a FP fanatics or enterprise architect.
- shakow 1mo ago> because it's so sensitive to a single misplaced paren Much more than other languages are sensitive to misplaced braces/indentation?
- neilv 1mo ago> Lisps are great for fast iteration but the syntax is a big problem because it's so sensitive to a single misplaced paren. That's more a problem for humans who have never programmed in a Lisp and are using notepad.exe. (if p (foo) (bar)) if (p) { foo(); } else { bar(); } if p: <indent>foo() else: <indent>bar() > LLMs like clean syntax with as little noise and unnecessary tokens as possible. Isn't that good news for Lisps?
- mark_l_watson 1mo agoI love Racket, and have a ton of Racket code I have written over the years. When I get home from a vacation I will have an AI translate a small sample of my Racket code to Rhombus: easiest way for me to play with the language.
- bmitc 1mo agoThe actual challenger to Python would have been F#, but Microsoft being Microsoft made sure that that wasn't the case.