[Ocaml-biz] IDEs

Brian Hurt bhurt at spnz.org
Fri Sep 10 10:20:45 PDT 2004


On Thu, 9 Sep 2004, Brandon J. Van Every wrote:

> I must say, getting Visual Studio users to move to any of Emacs, XEmacs,
> or Vim is an awfully hard sell.  I've downloaded all of 'em, dinked with
> all of 'em, and am *still* dragging my feet about it.  I've spent years
> building up my VS skills.  Now I am asked to switch, just so I can use
> OCaml?

Now you know *exactly* how I feel when asked to switch.  Congratulations- 
we've just created another hurdle for people trying to adopt Ocaml, they 
have to learn a new editor/build environment to do so.  I know I for one 
wouldn't have bothered if that was the case.

> 
> The problem is, all 3 of these editors have a "UNIX mastery" culture
> attached to them.  You want to do anything, you're going to have to dig
> down into the docs and learn a lot of keystrokes.  The Vim documentation
> is rather explicit about the philosophy.  "Vim is not here to hold your
> hand, it is a tool to be mastered" or some such.  Well, for all this
> 'mastery' crap, I say no thanks!

Culture shift.

The goal is to minimize the amount of time to get the work done, right?  
That's the definition of a good user interface- it minimizes the amount of 
time doing work, so it's efficient.  The total amount of time to use a 
program can be approximated by the formula:

time_to_learn + (num_times_used * avg_time_per_use)

right?  Where time_to_learn is the amount of time it takes to learn how to 
use the program, num_times_used is the number of times the program will be 
used, and avg_time_per_use is the average amount of time per use.

If the number of times the program is used is minimal, the total amount of 
time the program takes is dominated by time_to_learn variable.  The 
program should make it easy to figure things out- and spending time 
reading books on the program is lost time.

If, however, num_times_used is large, even large time_to_learn values can 
be offset, even by small decreases in avg_time_per_use.  I will, over 
the next 30+ years, probably edit a million or more files with vi.  If I 
can decrease the average amount of time per file edited by just 1 second, 
that's a million seconds, or 277 hours, of time I've saved over the time 
period. Now, all of a sudden, spending the 40 hours or so at learning vi 
sudden makes a lot of sense.

Of course, this requires me to actually be able to "bring my editor along" 
when I switch languages, switch operating systems, switch problems.  It 
requires the stuff I'm learning about vi now to still be valid and 
relevent in 30 years.  With vi, these things are almost certainly true.  
With visual studio, I have no such gaurentees.

> The vast majority of Visual Studio users feel exactly the same way I do,
> only much moreso, and they lack the Linux background I actually have.

Ditto emacs and vi users.

> Call me a Windows crybaby if you like.  It's exactly like if you'd been
> using Emacs and Makefiles for years and years and years, and you were
> forced to switch to Visual Studio.  Most programmers *hate* the tools
> they don't know already.  It's a bunch of tedious unproductive headache
> just to get to square one again, when you were already productive
> before.

Actually, visual studio is what caused me to switch from emacs to vi.  Way 
back when, I used to be a wordstar/borland IDE user, and was so used to 
the old wordstar keybindings.  When I started messing around with linux 
(kernel version 0.12- and no, I didn't put the decimal point in the wrong 
place), emacs was the natural switch.  Just learn new control keys.

But then I got thrown into an environment where my choice was vi or vs, no 
emacs.  After arguing with vs for a month or two, I sat down and learned 
vi.  And have never look back.

It's not just that the tool is unfamiliar.  It's that, as an editor, 
visual studio is inferior.

That being said, I don't think you should have to ditch visual studio to 
pick up Ocaml.  We'll lose too many developers that way- even if (IMHO) 
switching to another editor would be better for them.

-- 
"Usenet is like a herd of performing elephants with diarrhea -- massive,
difficult to redirect, awe-inspiring, entertaining, and a source of
mind-boggling amounts of excrement when you least expect it."
                                - Gene Spafford 
Brian




More information about the Ocaml-biz mailing list