Differences between revisions 19 and 20
Revision 19 as of 2003-09-20 07:26:17
Size: 9333
Editor: h24-70-69-26
Comment:
Revision 20 as of 2003-11-17 22:42:45
Size: 9610
Editor: webcacheH09b
Comment:
Deletions are marked like this. Additions are marked like this.
Line 90: Line 90:


---

I too must support Emacs. It is a great text editor with some tremendous capabilities. I am biased I suppose in that I also love Perl (can you say that round here?) and you need more than macros and a few logic-exceptions to parse, indent and syntax-colour perl ;)

EMACS and vi used to be the most popular families of text editors. There are several implementations of each.

The user interface of EMACS is mostly modeless. The user interface of vi traditionally has a command mode and an insert mode. Each character has a different meaning depending on which mode vi is in. Commands in EMACS are traditionally given by modifier keys like Ctrl, Alt and so on.

In earlier times EMACS became famous for its size and memory consumption (EMACS = Eight Megabytes And Constantly Swapping ;) ). With today's computers this is no longer a problem.

Good Python language support is available for both editors, and modern implementations such as GnuEmacs and ViImproved are extensible in Python.

Which editor suits your personal needs better is a matter of taste. Since both are OpenSource, free and mature, try both and choose one. :)

It should be noted that one can have the BestOfBothWorlds by running ViperMode in EMACS. Simply run meta-x "viper-mode", and blammo, you get vi keybindings. EMACS is a wonderful operating sytem. Now it has a decent editor... :)


Discussion:

Emacs has evolved into an application framework. I see many simple applications turning into application frameworks: Emacs, Netbeans, Mozilla! When I see this happen I think those project must have really lacked strategic management...

Software makers need to realize the importance of management and strategic management. If you are going to make software that you want to see being used and improving after 5+ years, you need to sit down and read about strategic management, set a vision for your project, a mission, objectives and goals. Else you will start by building a text editor and end up with one of the worst application frameworks available. Emacs is just another software project that lacked a clear good and sound vision and mission. And that is why I think we should all use Vim, because Vim knows what it is (mission), and what it wants to be (vision).

  • Emacs was pretty much always intended to be an applications framework. Its macro language is a full-featured programming language (Lisp), so you can build anything with it. It's also far more customizable than vi and clones, and has features that make it a full-fledged IDE. You can extend it with Lisp and now with Python (see pymacs).


Emacs is just another software project that lacked a clear good and sound vision and mission and that is why I think we should all use Vim, because Vim knows what it is (mission), and what it wants to be (vision)

You seem to make a number of different points: you claim that a vision/mission is needed for a software project to be used and improved after 5+ years. Python doesn't have a real mission/vision. It's still in use, after 12 years. According to you Emacs doesn't have a mission either. It's still being used and improved after ca. 25 years.

I'm not sure if Emacs is one of the worst application frameworks available, I've never developed any substantial programs, but I like it for (extensive) customization. Why do you claim Emacs is a bad application framework?


Python doesn't have a real mission/vision

Then it should. Maybe that would help the developers understand more where Python wants to go, what it wants to be. Visions, missions and goals should not be too rigid; they can change over time and from time to time.

Remember this famous quote: "Plans are nothing; Planning is everything." -Dwight D. Eisenhower

The motive behind having a Vision and Mission, is to provide a basis for the planning of the projects and a basis to decide on goals and objectives. The vision is sometimes viewed as the project/organization dream and the mission is the project purpose or reason to exist, objectives and goals are more specific and more short term.

Planning for a project is serious issues. Don't think "hey, after 12 years without a mission we are still here! so why do we need one?" Yes, lucky we are! others are not.

Ask "12 years from now, where would we want to be?" and make that your mission.

I think Guido Van Rossum always has a vision and a mission, but he never explicitly said it, like when he says he wants python to be used in education, or to be the best programming languages for education. This implies his vision, and according to python, explicit is better then implicit! So why not make a vision statement?

All those statements should not be taken lightly they can be used to construct a vision and a mission and most developers interested in improving python should have em in mind! And I think most of them already do, they just don't know what to call it! I see lots of programming problems being solved are technical issues, when all they need is few lessons from the management schools. And many projects fail.

You could be right, a good product sells itself! You won't be the only one who believes so. A few planning statements definitely won't slow the progress of any project.

As for Emacs, maybe I used the wrong word to describe it, I should have used application platform! Have you seen any application that uses Emacs, ERC for example? What advantages does it have?! Nothing. Apps done for Gnome/Kde look better, feel better, and it's easier to switch between apps on Gnome/KDE.

I read somewhere a really nice comment on Emacs vs Vim: most ppl who uses Emacs don't use the shortcuts or the overwhelming features. In vim you would use and learn most of it features, probably because they're easier to reach for. zz is my friend! :set linebreak, :set nu... I won't even try to look how those can be done in Emacs, they are too easy to do in Vim. I can open x-chat, k-mail, Vim, Eclipse...all in Kde and switch between em using Alt-Tab. I don't need them in my text editor.

Where is Emacs after 25 years? Well, it definitly doesn't look like 25 worth of work! Is it because it didn't have a Vision and a Mission? No... because I bet RMS had something in mind he never explictly said, and not one was able to discuss that with him, because no one can read your mind!

So I am not saying a Vision or a Mission as an end, but a mean to a better end! I hope my vision is clearer this time.


I find a statement of vision very helpful. I imagine that I can feel the difference between a project with a single, direct, explicit, forceful vision and one that rather evolved over time, with individual components shaped by people with different visions. Vision-based software seems like forceful prose: self-consistent, cleanly structured, and without needless duplication of parts. It seems to have been built by a single person. [http://www.perforce.com/ Perforce] is software with a vision. Emacs clearly evolved. Python is somewhere in-between.

Python is intended to be a powerful, dynamic, easy-to-use, real-world programming language. That's the team's vision for it since at least 1994 or so, possibly earlier. And it is explicit.

There's also a "near-sighted vision" for the design of Python's individual features, within the larger far-sighted vision of being a programming language. Type import this sometime.

(By the way: I use Emacs, not vi, mainly because I learned Emacs first.)


Hello, may i interrupt you two?

"I read somewhere a really nice comment on Emacs vs Vim: most ppl who uses Emacs don't use the shortcuts or the overwhelming features."

The same can be said of Vi, though it is a pretty powerful and featureful app, most people tend to use just a few navigation and edition commands. That's because a) most people don't have the time/desire to learn all the features; b) if the standard basic commands get the job done, that's it for most people. Why do you think many people on M$ Windoze are used to build complex webpages with just the poor cut-and-paste commands from the very featureless Notepad - even though much powerfull editors are available for the platform to increase productivity, such as GNU Emacs itself?

Anyway, Emacs is my favorite software of all time by a large margin. I think the fact that it is actually a Lisp VM says very clearly its main goal: to be a platform in itself. But you're wrong to guess it doesn't have a mission or vision, when it clearly has one: it's still pretty focused on being a tool for text editing. All activity going on inside Emacs involves text editing one way or another, be it programming, making apointments in a calendar, answering email or even chatting with a virtual psycologist.

As for myself, being a lover of the software and spending most of my computing time on it, i'm a pretty heavy user of many of its advanced modes, key-combos and even learned a good deal of ELisp to better customize it. I can tell i wouldn't be half as productive or happy without Emacs.


The one real advantage I've ever found of one over the other is that vi is on every Unix system, almost regardless of how minimalist or old the install. Then again, that's really just a reason to be familiar with it, not to make it your primary editor. Unless, of course, like me, you learned on such a minimal system that you couldn't afford the space of Emacs.

---

I too must support Emacs. It is a great text editor with some tremendous capabilities. I am biased I suppose in that I also love Perl (can you say that round here?) and you need more than macros and a few logic-exceptions to parse, indent and syntax-colour perl ;)

EmacsVsVi (last edited 2013-04-20 11:12:02 by Neurosearcher)

Unable to edit the page? See the FrontPage for instructions.