4 ms·
This is factually wrong. Vim is emphatically not just a text editor - it is a full-fledged IDE, weighing in at over a million lines of code, with syntax-highlig
by throw10920 5y ago
This is factually wrong. Vim is emphatically not just a text editor - it is a full-fledged IDE, weighing in at over a million lines of code, with syntax-highlighting, HTML rendering, a completion system, complex multi-window and multi-buffer support, a multi-language plugin API, regular expression engine, complex key rebinding system, jump-to-definition functionality (tags system), and its own scripting language and interpreter for such.
A "text editor" in the Unix tradition edits text, nothing more - something like nano or pico, composed with other utilities for things like regexp matching (using grep externally) and shelling out to tmux or the X window manager for multi-window and tabs/split support. It certainly does not contain its own embedded scripting language.
Firefox is also definitely not a "does that one thing and does it well" tool - it's incredibly complex, at over 21 million lines of code, and contains its own cryptography, web rendering engine, PDF reader, developer console with its own IDE, remote development tools, tab system, UI toolkit, JS runtime, JS API implementation, and plugin API. It used to even be able to interact with FTP servers - and all this in a single, monolithic tool.
Firefox is exactly the opposite of the Unix philosophy is almost every way imaginable. Saying that it "does one thing and does it well" is about as true as saying that the Boost C++ libraries or the Windows OS "do one thing and do it well" - it's only true if you define that "one thing" to encapsulate all of the stuff that the tool happens to do, which is not the way that the Unix philosophy uses it.
- lambic 5y agoCounting lines of code is not relevant at all.
- throw10920 5y agoClaiming that "x isn't relevant" is completely meaningless unless you describe how it isn't relevant. Lines of code is a decent heuristic for complexity. An actually-used (so you aren't generating spurious lines of code) 21 Mloc program is more complex than a 21 Kloc one. So, it seems pretty darn relevant to me.