[taos-glug] programming concepts; Perl

  • From: Philip Ansteth <pansteth@xxxxxxxxxxx>
  • To: taos-glug@xxxxxxxxxxxxx
  • Date: Tue, 5 Aug 2003 14:16:10 -0600

There's an online article where Richard Stallman debates briefly Perl
vs. Scheme.   See http://www.linuxcare.com/viewpoints/os-interviews/12-14-99.epl

My little progress report certainly sparked some interesting stuff, although
I probably will postpone studying it.

It's sort of hard to tell how many of the concepts Jon mentions
are covered by SICP.   But, as Jon told me at a recent meeting, and
as many other people say, this book is worth studying.

So, in a way, reading SICP has developed a life of it's own that is
distinct from from learning about Scheme and distinct from the
problem of learning the Gnu-recommended way of developing programs
with Guile and C.

My principle goal, however, is the latter:  understanding the Gnu way
of using Scheme with C.   The idea is that the Taos group might
eventually want to get involved in a Gnu-style development project as a
public service.   (There are also other ideas for future projects for the
Taos group.)

I assume the Gnu people are practical, even Stallman himself.   If
they weren't they couldn't have developed Emacs, GCC, the GIMP, LilyPond,
Gnucash, etc., and distribute and maintain them worldwide.

Still, if tomorrow I got a big contract, I'd probably have to bet on PHP or
JavaScript or Java or C++ or Perl--maybe Python--not Scheme/Lisp and C.

Maybe after some more study of Scheme, however, I'll change my mind.   

The question I have about Scheme is whether the advanced concepts
(first class functions, continuations, lazy evaluation, etc.) end
up being useful in a real development project.   I mean a situation where,
for example, nine months into a six-month project the management decides to
change the specs.   This isn't going to involve textbook examples, but many
thousands of lines of code.  Is C/Scheme going to give you any advantage
over Perl or Java or whatever?

And, even if the advanced concepts would be good to know, is the effort to
make learn them going to be a worthwhile investment?

For example, I am currently clueless about any practical value in something like
"applicative order Y combinator" that is discussed at some length in
"The Little Schemer".

I guess my question is where did the ideas for some of the advanced
concepts come from.   From practical necessity, or from theoretical
considerations?  Academic politics?  Some other reasons?

I'm curious enough now to proceed with SICP whether or not it has
any practical value.

But I don't want to make the mistake of
jumping into a practical project using impractical tools, regardless
of what Stallman and the Gnu group recommend.   




Other related posts: