9 ms·
Carmack is a huge fan of Racket. He was going to use it as the scripting language for VR until the Oculus execs made him use JavaScript instead (boooooo) https
by jimbob45 7y ago
Carmack is a huge fan of Racket. He was going to use it as the scripting language for VR until the Oculus execs made him use JavaScript instead (boooooo)
https://twitter.com/id_aa_carmack/status/807797812700348416 https://twitter.com/id_aa_carmack/status/807797812700348416
- 6thaccount2 7y agoI think I heard that even his wife didn't want him to teach their son Racket and wanted him to learn Java. Not sure if true.
- yantrams 7y agoI believe you're referring to this thread. https://groups.google.com/forum/?hl=en#!topic/racket-users/yjRuIxypUQc https://groups.google.com/forum/?hl=en#!topic/racket-users/y...
- 6thaccount2 7y agoThat's the one, thanks!
- AlexeyBrin 7y agoGiven the Racket2 possible massive syntax changes it seems that using JavaScript was a better choice for a commercial project. That being said I very much prefer Racket to JavaScript for personal/hobby projects.
- aswanson 7y agoYeah. But Racket seems so much cooler.
- AlexeyBrin 7y agoRacket really is a nice language, we'll see if/how the situation changes once the Racket2 situation is clarified.
- wtetzner 7y agoI think it would have been fine based on https://groups.google.com/forum/m/#!msg/racket-users/HiC7z3A5O-k/XPR2wbSJCQAJ https://groups.google.com/forum/m/#!msg/racket-users/HiC7z3A... > No matter how Racket evolves, the community is committed > to preserving what we have achieved: today's `#lang racket` > programs will run in the future, and today's > `#lang racket` modules can be used in future Racket programs.
- deleted 7y ago[deleted]
- JoelMcCracken 7y agoVery much an overreaction. The whole point of Racket is to support multiple syntaxes. The idea that a future Racket would NOT support the current syntax seems absurd. But really there are lots of other, better reasons to use JS over Racket for a major commercial project, which may or may not be actually a good call, but a new proposed syntax is not one of them.
- traderjane 7y agoBut where will the culture of Racket go? How will the educational texts, documentation, and general conversations go?
- dmix 7y agoThey could do an Elixir style fork instead? Although a pure syntax change isn’t as significant as what Elixir changed.
- JoelMcCracken 7y agoWhy does the same conversation not come up when discussing typed racket? Is the introduction of a static type system really less culture-shaking than surface syntax?
- sdegutis 7y agoLast week I tried writing a new Love2d mode for Emacs in Emacs Lisp, but it was on Windows so my muscle memory for Paredit wasn't helpful. Editing s-expressions is a nightmare without some kind of automatic help. Last night I wrote the same plugin for VS Code which used JavaScript, and naturally it was effortless. It got me thinking about how s-expressions are inherently hostile to non-customized setups, whereas JavaScript just uses arrow keys. A former employer was led by huge Clojure fans, who requested that the backend be Clojure, and highly encouraged me to use ClojureScript and something like Reagent for the front-end, which I recently noticed that they finished after my departure. But the more I think about it, the more I can't think of a single feature of ClojureScript that's inherently better than JavaScript, whereas s-expressions are inherently hostile and also have no real-world benefits. JavaScript has destructuring, closures, a flexible module system, object/array spread, basically every syntactical feature Clojure has, but without the s-expressions. The commonly touted benefit of s-expressions is homoiconicity (code is data), which lets the developer customize the language via macros without needing to wait on the compiler/interpreter authors. But we have this exact same benefit in JavaScript with compilers like Babel. Maybe it's pushed onto another layer of development, but it's in no way less legitimate or useful. The slight benefit you get by being able to do this transformation at runtime is negated by the inconvenience of s-expressions. (Although at first glance, it seems like we could use a better Babel API that lets us transform our code more conveniently. But I think they're working on that?) The main other benefit I commonly see from people using Clojure or ClojureScript is live development. I saw technomancy made some blog posts about how he used Fennel (a Lisp that compiles to Lua) to do live-coding stuff in Love2d. I was impressed, until I realized that none of these features were specific to Lisp. So I borrowed the same underlying concept he utilized, and started to make a really cool Love2d live development thing just like he had, but in pure Lua. Now I have the ability to press Cmd-E in VS Code while editing some Lua file, and if I have any code selected, it'll be sent to the live Lovd2d game that's running, to be eval'd, and if there's no selection, the whole current file will be sent. It's the coolest setup ever, almost identical to the awesome setup I had with CIDER + Clojure + Emacs, but without Emacs or s-expressions.
- nudpiedo 7y agoThe UI of an S-Expeession and a compiler transformation parse time transformation is just out of any comparison. Most of projects wouldn’t even consider writing a loader for a compiler or using a syntax parser. Yet to add which method is more prone to errors.
- nudpiedo 7y agoAny evidence about any oculus exec (CEO? CFO? GTO?) trying to change the most famous CTO of the company switch an implementation detail. (The comment about the wife spoiling him to use java seemed more credible)
- sheenobu 7y agoProof might be this twitter thread, exec could have been implied, because who else can boss the CTO around? https://mobile.twitter.com/ID_AA_Carmack/status/807797812700348416 https://mobile.twitter.com/ID_AA_Carmack/status/807797812700...
- layoutIfNeeded 7y agoAh, again! The first version of JS could have been a Lisp variant but the paper-pushers at Netscape had to ruin it. This was the original sin to which all the suffering of web development can be traced back.
- deleted 7y ago[deleted]
- yogthos 7y agoGood news is that we'll be able to do VR with ClojureScript though.