A
Arved Sandstrom
You and me both, actually, although for me it was just the FORTRAN. WhatJim said:»[T]he only 3 editors we know to be used by greatArved Sandstrom said:I agree with all of the above - now. Prior to 2000 I used text editors
hackers are TextMate, vim and emacs. (...)
We haven't met a single great hacker that relied
on an IDE, although we hear they exist.«
http://giraffesoft.ca/blog/2009/03/10/4-core-competencies-of-great-hackers.html
»He declined offers of typing help, and just kept
writing away in pencil. He rewrote parts, copied
things over, erased and rewrote.
Finally André took his neat final pencil copy to a
terminal and typed the whole program in (...)
the VTOC manager worked perfectly from then on.«
http://www.multicians.org/andre.html
I ordered my first computer in 1977, but it was delivered
not before 1978. In the meantime, I learned »my« first
programming language »BASIC« by reading a book and writing
programs on paper, executing them in my mind. So, when the
Pet 2001 finally arrived, I already was able to program it.
I started programming with punch cards, first in Fortran and then
Algol W -- you'd write everything out by hand and then stand in line
for one of the keypunches. It did make you check everything over and
over and over again. Still, I wouldn't recommend doing that now.
that taught me was to be careful when using the keypunch. Yes, it also
taught me to be fairly careful of language errors, but mostly I gained
respect for meticulous typing. In effect the main lesson from using
punched cards was to avoid typos.
I progressed from cards to line editors on basic terminals, then fairly
quickly to vi and emacs on UNIX, then decent programing text editors on
various Macs and PCs, and finally to IDEs (although I'll still use
command line or text editors where they shine, e.g I'll usually do
complicated Subversion on the C.L. outside Eclipse, then refresh the
Eclipse workspace). To be brutally honest, while each step in that
progression did teach me not to be sloppy, I believe I would have
learned that lesson soon enough if starting with an IDE.
To put it another way, I don't think the tools you use teach you to be a
good programmer. Which is sort of an undercurrent I'm sensing here in
parts of this thread. I think mental discipline that you have already is
what carries the day. If you're sloppy when using an IDE you'll be
sloppy when using vim.
I read a story like the one about Andre Bensoussan
(http://www.multicians.org/andre.html) and, no disrespect meant to the
dead, but the part about him writing and erasing and rewriting, when he
actually got to writing code, when terminals and electronic editor
programs were available, is just silly.
I also happen to believe that a lot of these folks who praise text
editors to the skies, and who think that great hackers don't use IDEs,
are making a virtue out of artificial and unnecessary self-imposed
constraints. Unless I take a programming text editor and heavily
customize it, in effect making it an IDE, there are many things I can do
in an IDE that I can't do with the text editor alone. Many of those
things are very useful and time-saving. I could do them on the command
line or with shell scripts, but then I'd be re-inventing the wheel. If I
chose not to do them at all, or wasn't even aware that I could do them,
I hardly think that's praiseworthy. In any case I'd be spending more of
my time in a non-IDE situation to get the job done.
I don't doubt that a lot of very good programmers use text editors
rather than IDEs. More power to them - I'll stick with IDEs where they
suit, because they allow me to get work done faster.
A lot depends on exactly what it is that people are writing. If I was
writing a Linux device driver in C I'd be cool with vim. But these days,
where I have to deal with .NET or J2EE web apps with thousands of source
files, I'd be an imbecile to try and do that with emacs.
AHS