Hacker News new | past | comments | ask | show | jobs | submit login

The dynamic/compiled distinction needs to go away. Combine a simple syntax with very rapid compilation with LLVM, Type Inference, and very advanced emulator-based debugging, and there would be no need to have anything like Smalltalk/Perl/Python/Ruby any more. Instead of dynamic Duck Typing, you'd have Go's version, with auto-magic help from type inference. The emulator-based debugger could subsume many of the capabilities granted by a VM and enable the freewheeling runtime monkey-patching that can be leveraged for the same jaw-dropping ingenious debugging available in many current dynamic langs. This last component would be the hardest to implement.

(Cue the Haskell guys so they can point out how they're most of the way there already.)




The dynamic/compiled distinction needs to go away

dynamic / compiled are orthogonal.

CL is dynamic and gets compiled as you enter in the REPL.


Pretty much the same with Smalltalk, but people still make this distinction in their minds. That's part of my point. The distinction no longer even has so much basis in the actual organization of code and runtimes!


Dynamic/compiled should be orthogonal, but rarely have been in practice. Witness PHP, Perl, Ruby, Lua, Python.


It's time for it to be so in practice. The technology is way ahead of our cultural expectations.


Can you expand on this a bit?


You mean expand on the emulator-based debugger?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: