5 ms·
Also I don't quite get his desire to "live in" some giant all-in-one software package. I think it should be obvious now that Unix philosophy of many little spec
by tx 18y ago
Also I don't quite get his desire to "live in" some giant all-in-one software package. I think it should be obvious now that Unix philosophy of many little specialized tools proved to be more flexible than uber-environments.
I am not sure if anybody here remembers, but back in the early 90 people believed that "future belongs to integrated environments", that's right - to IDEs and not just for programming. And now he's talking same thing again.
For those working for a web-services company (or living in SV these days) it may be natural to think that "everything is in the browser".
But is it? I still can hear PG's voice from Startup School in my ears: "Stop using the Internet please, my presentation won't open!"
- maw 18y agoThe concept of living in emacs makes more sense when you think of it as an operating environment in its own right, and not just another application. You can think of emacs as a framework (that happens to be awesome for manipulating text by hand, and at least adequate at doing it in an automated manner) upon which a wide variety of tools, or, if you will, apps, have been built. The tools vary considerably in size and in how well they integrate with each other. Often the tools can be swapped in and out according to your preferences or needs: different in implementation but quite similar in spirit to the do one thing and do it well aspect of the Unix philosophy.
- astine 18y agoI've found that the specialized tools philosophy to be effective when building a, well a toolkit. Toolkits, if done well, are extensible and interoperable in ways that no 'integrated' system can be. However, There is a certain class of problem that doesn't really lend itself to the toolkit approach. This is the interface problem. Vim is an awesome text editor, it is streamlined in a way most editors could only dream of. It's a very good text editor. Python is a very good language. One of it's nice features is that it comes with a REPL, so I can program in it interactively. Using a third program Screen, I run both side-by-side and pipe content between them. This is the toolkit at work, and it works very well. However, there is a slight problem here. Each of these programs has a different interface design. Each has a separate key-binding scheme and different schemes collide. You have to learn three different interfaces and learn them well, to do this effectively. It would be nice if there was a program, similar to screen, that would stand between you and the editor and interpretor and allow you rebind and customize your keys and view ports so that they don't collide and are consistent. This program is emacs. It is the universal interface, a more flexible bash than bash, and people stay in it all day, not because they don't use toolkits, but because they prefer to use it to interface with toolkits rather than bash or some ill-conceived X monstrosity. Emacs doesn't replace cvs/git, ls, grep, awk, gdb, gcc, python, rbi, cron... It mostly just provides a very powerful scriptable interface to all of them.
- msg 18y agoThere's specific stuff in the article about this. Emacs is much more discoverable than your average IDE. It is much easier to write plugins. You don't have to bow to the gods to get a working, documented interface (see the Stevey post just before when he tries to implement focus-follows-mouse in an OS X accessibility API which is basically undocumented and, fatally, doesn't work as advertised in its comments). Here's another way to think about it: cobbling together myriad programs at the terminal and getting them to talk is an ad hoc, informally-specified, bug-ridden, slow implementation of half of GNU Emacs. Like it or not, you're going to work in some kind of environment, so it might as well give you awesoma powah in every window you open.
- jules 18y ago> Also I don't quite get his desire to "live in" some giant all-in-one software package. I think it should be obvious now that Unix philosophy of many little specialized tools proved to be more flexible than uber-environments. Emacs isn't one giant software package. It's a lot of small, specialized tools (functions) working together. It's one executable in your operating system, but that doesn't mean that it can't be modular inside.