4 ms·
Well, it probably starts with a stable secure cross-platform language and ecosystem. Things like this are best explained by a very grey neckbeard who's been th
by AtlasBarfed 5y ago
Well, it probably starts with a stable secure cross-platform language and ecosystem.
Things like this are best explained by a very grey neckbeard who's been through a lot.
Author is not particularly old, author programs in python (something that has broken compatibility once)... "stick to the standard library" is about at ground level an opinion on this subject that a typical HN probably thought of as they clicked the link.
1) need a stable, mature, secure language
Stable eliminates Rust, Python, Perl. Go hasn't been around long enough.
Secure eliminates C, C++, probably D and most compiled languages
No dependencies: yikes there goes Java because of the JVM dependency.
Assembly isn't portable.
...Seriously, are we left with Ada? Secure, strict, mature, reasonably portable. And virtually unknown outside of government/military.
2) UIs age, but CLIs really don't
So make it a CLI, and use unix philosophy
3) OS churn
Hopefully with the practical cessation of gigahertz scaling, the industry will settle down. Then again, the ARM hordes are approaching to wipe out all the x86 stability in desktops and servers.
Perhaps the best thing for this in the industry has been Windows subsystem for Linux. If we could get an OSX subsystem for Linux, that would be a real boon.
Even Linux on it's umpteenth release is still changing quite a lot, and NIH reinvention like Wayland and Systemd and toss-it-all-out Gnome 3. Well, it kind of keeps us employed.
I'd adhere to assuming a unix-ish os, like maybe POSIX.
So: Ada, CLI/text, POSIX compatibility. That's not limiting at all, is it?
Sigh.
- jhgb 5y ago> 1) need a stable, mature, secure language > Stable eliminates Rust, Python, Perl. Go hasn't been around long enough. > Secure eliminates C, C++, probably D and most compiled languages > No dependencies: yikes there goes Java because of the JVM dependency. Common Lisp, then?
- AtlasBarfed 5y agoAlmost, but Java has a VM. Yes you can technically compile Java to an executable but it's not done much. CL has a VM too, does it not?
- jhgb 5y agoCL supports whatever implementation technique you want: hardware Lisp Machines with compiling into LAP, native compilers with a small runtime, bytecode compilers - with OR without JITting native code, or simple AST interpreters. Some implementations even support multiple techniques at once (such as CMUCL which supports native compilation, bytecode compilation and interpretation, and direct interpretation). The standard doesn't prescribe implementation techniques.