3 ms·
> we have so much better dynamic languages with advanced JIT implementations What are some of these better languages that you're referring to? (The usual dynam
by creata 1y ago
> we have so much better dynamic languages with advanced JIT implementations
What are some of these better languages that you're referring to? (The usual dynamic language JITs I hear people praise are LuaJIT and Chez. And V8. And the JVM?)
- esafak 1y agoI'd suggest F#, Clojure, Elixir, Scala, and TS, if that counts.
- kasajian 1y agoClojure could never really be a thing since it ignores the most important rule: fast startup. Because of this, and for no other reason, Clojure will always be an "also ran". It's not about competency of the people working on it. It's a solvable problem the community doesn't acknowledge exists, unless you press them on it, in which case they think "graal" and "babashka" is a valid response, and you're back to square 1.
- jhbadger 1y agoIf you like Clojure's syntax and stress on immutability but don't like the JVM-induced slow startup, take a look at janet.
- pjmlp 1y agoSmalltalk, Self, whose research lead to Hotspot and V8, Common Lisp. And the usual, in Python everything is dynamic, well it is even more so in an image based live coding environment, where any break into the debugger, with code changes and resume execution can come back to a complete different world. Additionally there are features like Smalltalk become: message, where two objects can change places everywhere they are used in the image, and current execution.
- __s 1y agoEven Ruby has JIT now
- creata 1y agoTrue! But pjmlp was referring specifically to advanced JIT implementations, so I wondered which JITs he was referring to as advanced.
- pjmlp 1y agoIn Ruby's case that would be RubyMotion, TruffleRubby and JRuby. That trace back to Apple's efforts with MacRuby, or Sun's (for a while Netbeans even had Ruby support).
- ysleepy 1y agoIf you go that route, GraalPy is there too, so the argument is not as strong as it seems.
- pjmlp 1y agoYou missed my remark about PyPy feeling abandoned on the corner, well the same applies to GraalPy. The Ruby JITs I mentioned are used in production. While other dynamic language comunities embrace their JITs, in Python world, outside using it as a DSL for GPGPU JITs, it is pretty much let's just keep using CPythion with C and C++ extensions. Adding a JIT to CPython only became a thing after Facebook and Microsoft decided to push for its development.