Feel free to skip over the obligatory whining about today's bloat.
Back in my day...
I think the first computer I ever used was a Commodore 64. Wikipedia tells me that it had a 1 MHz processor and 64 KB of RAM, all packed into an "obese keyboard" form factor. Despite being 100,000+ times slower (with a similar fraction of memory) compared to a modern computer, it could run a word processor, play games, and print documents.
Later on, I remember installing Linux on a 1.44 MB floppy disk to turn an aging 486 computer into a network router. Even back then, that was impressive!
A few years later, I remember working on a simple arcade game which used OpenGL for graphics... developed partly on a computer that was command line-only! I have fond memories of using GNU Screen and Vim, along with man pages, to write the code. Aside: I remember using CVS, but not fondly.
Contrast with today
Fast-forward to 2023, and I've been contemplating porting my single-instruction programming game to Electron (possibly the heaviest popular app framework of all time), to support Linux (and ideally macOS) builds on Steam.
Is it any surprise I'm craving a bit of simplicity?
So what am I going to do about bloat?
This is probably a terrible idea, but I'd like to set up a minimal development environment. And I really do mean "minimal", i.e.:
- Command line only
- Runs acceptably on a slow computer (possibly a Raspberry Pi 1)
- Minimal disk footprint
- As full-featured as possible, given the previous constraints
Of course, "minimal disk footprint" and "as full-featured as possible" are opposing goals, so this plan isn't well-defined--I'm content to just see where it leads me.
I suspect the following software will play a part:
- Alpine Linux or a minimal Debian installation (or FreeBSD? MINIX 3? I'm open to suggestions)
- Vim (or NeoVim?)
- GNU Screen (or tmux?)
- A terminal mode web browser (Lynx?)
- Maybe a terminal mode RSS reader or Mastodon client, just for fun
The programming language
You may note that I didn't specify any compilers or build tools. That's because I'd like to use this minimal environment to test out some of my future-proof programming language candidates.
I'll admit that it's unreasonable to expect modern programming languages to support development on a Raspberry Pi, but that also means that I'll be unreasonably impressed if a programming language is useful in a ridiculously constrained environment like this.
Feel free to let me know if you have any suggestions or if you've attempted anything similar (or want to!). You can email me at any address at the ".com" address in the address bar.
Wish me luck!