Version française
Home     About     Download     Resources     Contact us    
Browse thread
What does Jane Street use/want for an IDE? What about you?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Robert Morelli <morelli@f...>
Subject: Re: [Caml-list] What does Jane Street use/want for an IDE? What about you?
Thomas Gazagnaire wrote:
> > What are killer features you dream of?
>  
> Clearly, the ability to click on a function to go to the place where 
> it is defined is the only reason why I switched from emacs to Eclipse 
> ... And I would be very happy to switch to a faster IDE because 
> Eclipse is so slow on big project.

The emacs tags system didn't work for you?

I'm surprised that's the only thing you found useful in Eclipse, 
considering how primitive Emacs is.

Which brings me to my suggestion ...

Part of the reason Emacs is still so limited after nearly 30 years of 
development is that it is largely based on
emacs lisp, a very poorly designed lisp dialect that makes large scale 
development very difficult and
unreliable. Emacs lisp has all of the flaws that make large scale, 
loosely organized, collaborative development
a disaster. It's in fact rather astonishing how little progress Emacs 
has made over the years and I think it's a
great case study in how dramatic an effect poor up front design choices 
can have on long term development.

Unfortunately, most of the foundational "unix-think" technologies I use 
suffer from the same fatal
flaw: very poor programming language design built on top of very poor 
underlying architecture. That's certainly
the case with Emacs (along with bash, TeX, X, and pretty much every 
other unix technology).

What Emacs lisp does wrong is virtually a checklist of bad programming 
language design. On the
other hand, these are all of the things languages like OCaml do right.

So, my dream would be for someone to build a text editor with the same 
basic philosophy as Emacs,
cloning a good bit of its core functionality, but built on a sound 
architecture, and capable of dealing with
the demands of modern complex software systems, like IDEs. Roughly 
speaking, Emacs built on top of
a "real" language like OCaml, and with the capabilities of modern gui 
systems, networks, work flows,
etc. in mind.

It would of course be a total waste of time to start writing the 5000th 
text editor that goes nowhere. But
I think this would be a very worthwhile project if it is built with the 
goal of overcoming the failures of
Emacs through sound technology, appropriate design, and a mind to 
extensibility. The goal of building a
text editor that could serve as an IDE for OCaml would be a very good 
challenge to keep these goals
tested from an early stage.