Emacs.NET?

Reading a local LUG mailing list here in Utah, I just came across an interesting thread about Microsoft developing either a text editor or a platform based on Emacs for .NET. The article in full can be found on ZDNet, with Doug Purdy doing the hiring for the team. No details are being divulged, so it's all speculation and rumors at this point. However, if Microsoft is building an editor, IDE or .NET platform on top of Emacs, I'm really interested what the final product will be, and what the licensing will be. Will this be a new language? Lisp.NET perhaps? Will this be an editor for the Visual Studio IDE? Is Windows finally realizing that they need a decent default text editor for their operating system?

Of course, with all the FUD they're throwing about with patent protection and what not, I can't help but ask the question: "Who's the innovator now?" Even further, will Doug Purdy's team contribute back to the Emacs project, or are they just going to leech the code taking advantage of the liberal license and not give a thought about the shoulders they'll be standing on? Call me crazy, but I'm guessing the latter.

{ 11 } Comments

What in the world makes you think that they're going to actually build on emacs anything that could be 'contributed back'? None of the speculation at either of the blogs you linked to even goes that far.

My guess is that it will be a vaguely emacs-like sort of programmable editor framework, probably using some language that already exists in .net.

They haven't said they are going to base anything off of emacs. They are basically going to make an editor that hardcore hackers would like (those who are against using Visual Studio). Thats what I got from it anyways, but its all speculation until they announce something more concrete.

@Levi- Of course none of the speculation mentions any of that. The point being, they're going to use the Emacs codebase one way or another, and as they do best, do what's best for them. I would hope that due to the nature of open source software, especially the code they'll be using, they would help the project. But that's going against history, isn't it?

@sontek- "They haven't said they are going to base anything off of emacs." Then why the "Emacs.NET" name? Surely they are, we just don't know what the final product is going to be, be it a text editor, IDE, platform or new language.

I still fail to understand why you believe that there will be any code borrowed from emacs. If you look at Doug Purdy's blog, he doesn't say the project is named Emacs.Net, he says that he could "roughly describe" it as Emacs.Net.

Emacs already exists on Windows. There would be no point in redoing it. They're going to create something that is analogous to emacs, but not the same.

Well of course they'll be using the emacs codebase. Why would we "describe" a a project "Emacs.NET" if it were not using the Emacs codebase or libraries? That makes no sense to me. What else would they be using? The Firefox libraries? I fail to see how they would "describe" a project after Emacs if they weren't using it. The only thing I see called into question is the final product. And of course it's already been ported to Windows. I don't think the goal of the project is to re-port it, but to build on top of it, making some superior tool.

For another, it's mostly in elisp, the primary virtue of which is that emacs is written in it. It's a rather backwards lisp dialect that I don't think anyone would choose to use if there wasn't so much code already written for emacs in it. Microsoft has exactly NO reason to start using elisp.

Finally, emacs is a rather unique KIND of program. While vi's codebase (as an example) very explicitly describes a certain kind of editor, emacs is basically a programming runtime environment with a bunch of editor primitives built-in, and a bunch of supporting elisp code that defines the sort of editor that emacs is, as well as a zillion other things.

So, Microsoft already has a language runtime that they're supporting, and trying to push further. Their goal is to create an emacs-like system, by which they mean a minimal set of editing/GUI primitives that will support the creation of an emacs-like editor on top of it. Presumably they'll use a saner language than elisp, and have it tie into other Microsoft technologies that they're pushing.

The result will be 100% incompatible with the emacs codebase, but will be emacs-like in spirit. Thus, it may roughly be described as 'emacs.net'.

I'm with Levi here; it makes no sense for them to build off the GNU Emacs codebase. If you look back at the history, the word Emacs does not even describe a single program. It started as a set of TECO macros, and then it was implemented in MockLisp. Not until GNU Emacs was written (1985?) was it even implemented in what we now know as elisp.

It's pretty clear whatever they are building will follow the framework of Emacs in which you have a core functionality based around a certain task (editing) and a language that allows extensions to work seamlessly. Similarly Mozilla could be called the Emacs of web browsing since it provides a core (Gecko rendering and the XUL toolkit) and a language that allows it to be extended in ways that are very different from the original Mozilla. (See Songbird, for example.)

Of course, Elisp is really the most interesting part of GNU Emacs, and while it's a bit backwards compared to Common Lisp or Scheme, it's miles ahead of C#, which is probably what this will be based on. So I expect this to be a step in the right direction for them, but ultimately of little interest to anyone who's not OS-challenged.