The two tools I've found so far that come close to this are TiddlyWiki (notetaking) and Vim/Emacs (same text editor niche). TiddlyWiki loses some points on hackability because it's web technology and fairly sandboxed. Vim/Emacs are only for text, obviously. I think what these tools have in common is that they all have a strong core idea (Vim: modal, TiddlyWiki: a quine of tiddlers, Emacs: elisp) that provides insane feature breadth at relatively low cost to learnability.
Other software is usually on a spectrum of low feature count (most tools in the UNIX philosophy) to low understandability (IDEs, most other text editors, all OSes). Then a few rare ones are extremely powerful, but so old and poorly designed that I don't think they make the cut (e.g. Bash in my opinion).
Are there other tools similar to Vim, that maybe even cover other application areas? Doesn't have to be terminal-based. I'd love to hear your opinions!
I don't know if I missed something in your post, but this couldn't be further from the truth. It's cliche to refer to emacs as it's own OS, and it is not uncommon for users to do all of their computing inside of emacs - web browsing, email, note taking, documentation, writing, version control, terminal, ide, window manager, remote admin, etc. Based on your criteria emacs seems like a perfect fit, I encourage you take take a deeper look at emacs if you're interested.
https://www.youtube.com/watch?v=dP1xVpMPn8M (excellent overview of the editor by Russ Cox)
And acme's predecessor sam: http://sam.cat-v.org
You'll need plan9port to run acme on Linux, though. But the core ideas are very simple and powerful (sam: everything is a huge string; acme: everything is a clickable file) and thus hopefully long-lasting.
I would also mention edbrowse, a line-oriented web browser initially for blind people. Maybe this is too far on the fringe, though. It does have a lot of depth (excellent scripting capabilities); it's an amazing project actually: http://edbrowse.org/
Not just macros, but deeper automation of anything in a Windows UI, with a great depth of community scripts and knowledge.
It's a PDF viewer with many powerfull features ( for example you can preview references even when the document doesn't have links) and vim-like keybinds. Although it is a little too soon to determine if it will be future proof.
Both programs are configured by writing code, which compiles to a binary that you then use. Xmonad and xmonad-contrib are maybe more accurately described as haskell libraries that make writing your own window manager trivial. Highly recommend if you enjoy configuration, you can do some really cool stuff with it.
I try to write better programs, although of course, if it is any good or not, is a matter of your opinion.
I wrote a ZZT editor which is has some similarities with vim (it has a modal interface similar to vim, using various key commands for many operations (even can use hjkl for cursor movement, and numeric prefixes, like vim does), and also you can enter SQL codes to perform queries and batch operations, and can use SQL codes to customize keybindings too). You can also use external text editors to edit ZZT-OOP text (later might also be adding option to allow a built-in text editor too, with syntax highlighting and auto-completion).
I had written other programs too, and there are probably many that I had not written, too. However, many newer programs are not designed well like that and instead include only a few options that are nearly worthless. I try to oppose that and write a better one.
An even more robust and powerful application plus framework is arguably an RDBMS system. Even if you limit yourself to the intended usage model, the commercial products like MSSQL and Oracle meet many of your criteria. Of course, the open source ones like PostgreSQL, MariaDB, and SQLite take this even further. They have pretty extensive internal interfaces you can also extend, if you are not content with the planned extensibility of SQL, stored procedures, etc.
But, are you limiting yourself to standalone applications? Many frameworks are very modular and meet many of your criteria for software, but are intended to be consumed by developers and so may not have as much standalone function. Consider web app frameworks, conventional thick GUI frameworks, and more focused tooling like parser generators.
And of course developers may be blind to them, but the operating systems and compilers we use are also rather elaborate and extensible frameworks. I think things like GCC and the Linux kernel demonstrably meet these criteria today, as they did when I was starting my career ~25 years ago.
WeeChat: https://weechat.org/
for example check the reddit and look at peoples setups. all wildly different
- powerful
- understandable
- hackable
- extensible
- reliable
- future-proof (few breaking updates) <-- can't promise anything but you can open an XLS from 1995 in Excel 2021.
- feature-rich
I would say this counts because the language itself is programmable. The lisp I use can be tailored to exactly how I want to write code, just like my vim setup.
Anyone who's been using CL for the past couple of decades basically has their own dialect on their hands, given all the tools they've built around the standard ones.
I'm not saying this is the best way to collaborate with code that others need to muck with, just as I wouldn't expect anyone to be able to do anything of use in my vim setup. It's for you.
ableton, is sort-of-there but it could be less verbose
PHP as a scripting tool , has everything fast
Secondlife/opensimulator as gaming platform. Unfortunately too much legacy stuff and not enough innovation, but more open and hackable than others
- Syncthing - OBS - VLC Personally I also think: - Licecap - TouchDesigner - Stylish
- vifm
- ranger
- i3
- sway
- tmux
- zathura
- tig