Hacker News new | ask | show | jobs
by tadfisher 868 days ago
Our modern language runtimes want to be small and portable across platforms, so all the features someone might want in an accessible BASIC-prompt-like environment (drawing to the screen or playing a sound) are delegated to libraries. Libraries make the user engage in dependency management, so they have to create a project, learn Cargo or 'go dep' or npm, find out which packages to install that give them the APIs they need, learn those APIs through varying qualities of documentation, and finally figure out how to import and call those APIs in their program.

The best system for an all-inclusive programming environment like this, that one might feasibly already have on their system, is Emacs; this is because they've accumulated this stuff and made it available on every platform, so you truly can write a couple of lines of Emacs Lisp to draw an image or play a sound without getting into the arcaneries of dependency management. But even with Emacs you need to know the right incantation to get to a REPL or execute code from the *scratch* buffer, and your PC is never going to ship with a bootloader that jumps straight into Emacs.