[erlang-questions] Use of makefiles

Joe Armstrong erlang@REDACTED
Sun Mar 2 16:16:45 CET 2008

On a slightly different track - I was thinking the other that one of
the problems we face to today is
 a totally bewildering amount of choice.

When I started program I could choose between FORTRAN and
well ummmm .... FORTRAN - so I chose FORTRAN - for *everything* there
were no scripting languages
and only a line editor (not even full screen) and not even a
hierarchical file system (max ten letters for the file name and
three for the extension)

This meant there was no wasted time in choosing tools - there were no
tools - If you wanted a tool you'd write it
yourself - (so I "invented" email and text formatting languages and
loads of other little tools all for myself).

Now we have a bewildering amount of choice between large numbers of
tools that "almost" solve our problems -
The trouble is that fixing them to do "exactly" what we want (and not
almost) can be almost impossibly difficult.

Take a look at this talk


His thesis is "too much choice ..." ... "equals paralysis" and makes
us less satisfied with the results.

I had no expectation that FORTRAN would be good for everything - it
was not. The secret
to programming bliss is low expectations - all tools are terrible (at
least compared to our
brains) and no tool will radically change this.  Emacs and make are
less bad than many of the
alternatives ...


On Sun, Mar 2, 2008 at 3:41 AM, Steve Vinoski <vinoski@REDACTED> wrote:
> On 2/29/08, Joe Armstrong <erlang@REDACTED> wrote:
>  >  In general I try to use *generic* tools for all programing tasks, for
>  >  me this means that
>  >  make, emacs, bash, and xterm are constants for all projects. The only
>  >  bit that varies is the choice
>  >  of programming language.
>  >
>  >  When I learn a new language all I have to do is learn the language -
>  >  all the other tools say the same -
>  >  in the long term this is far better than learning specific tools for
>  >  each language - it allows me to concentrate
>  >  on the important details (learning the new language) and not get
>  >  bogged down in the details of the support
>  >  system. (This is also why I *hate* visual environments - each one is
>  >  *different*, text tools stay the same
>  >  across machine and time boundaries). I can (and do) run makefiles that
>  >  are 15 years old - the same cannot be said for visual build
>  >  environments.
>  Hi Joe, I agree with you 100%. Give me emacs (with its vast emacs-lisp
>  extensibility), bash (or ksh), and various UNIX command-line tools,
>  which I can combine as I wish using pipes, and keep the visual tools
>  out of my way (and out of my RAM).
>  Here's a very insightful explanation of the differences between those
>  of us who look to languages for productivity, and others who instead
>  look to tools and IDEs for productivity:
>  <http://osteele.com/archives/2004/11/ides>
>  --steve

More information about the erlang-questions mailing list