From: "Uri Guttman" <u...@stemsystems.com>
   Date: Mon, 19 Jul 2010 17:01:09 -0400

   gack, this thread is annoying. so here are some high level philosophical
   questions to think about regarding languages.

Great idea; let's have a *new* annoying thread!

   first off, why are there so many languages? and by many, i mean
   thousands and more. how many of you have invented a language (even a
   mini-lang)?

I'm sure it's for the same reason there are so many religions:  Some
wannabe prophet gets an idea for a new twist on an obscure facet of
doctrine, finds a few followers, and they're off to the races.

   This is only half tongue-in-cheek; there is a strong role for
personal preference, and for the "faith of our fathers" effect.  See
Paul Graham's classic "Beating the Averages" essay [1] for an enjoyable
(and highly relevant) discussion of language choice.

   no one seems to have mentioned turing compatibility. this means
   something deep in all the langs mentioned. discuss.

"Turing compatibility"?  No one seems to have mentioned "Y2K compliance"
either, but I doubt that signifies anything deep . . .

   what about all those langs that were meant to conquer computing
   civilization? PL/I, COBOL, ALGOL and even the dreaded ADA. c actually
   conquered more than all of them. do you consider c a high level
   language?

Remember that C came out of a fad for "systems programming languages"
that were closer to the machine than the HLLs of the day, but
block-structured and otherwise reasonably portable (at a time when even
HLLs were indifferently portable).  It was (and still is) assembler on
steroids.

   should you learn assembler? is there work in it (yes)? what would
   assembler teach you when using a high level lang?

Miles Bader sometimes uses the following quote in his .sig:

        People who are more than casually interested in computers should
        have at least some idea of what the underlying hardware is like.
        Otherwise the programs they write will be pretty weird.  --
        Donald Knuth

I think that is good advice.  But I'm not sure how much time or money I
would advise anyone to devote to the project.  (I almost picked up an
x86 assembler book a few weeks back, until I saw that they wanted $118
for it.)

   what does it mean when you like or dislike a lang? in a non-technical
   way why did you make that decision?

This should be the subject of an essay of its own, if not a thesis.
Instead, I will plug the gap with a soundbite:

        Learning a good computer language should do the same for me that
        reading a good science fiction novel does:  Expand my mind.

The obvious corollary is that I don't ever want to learn yet another
language that re-introduces (for example) closures.

   have any of you ever read an ANSI standard for a language? or tried to
   implement parts of a standard like that? hell, reading ANSI standards is
   a major skill in its own right!

FWIW, the Common Lisp community refers frequently to the Common Lisp
Hyperspec [2] in discussions, this being an HTML-ized version of the
ANSI standard.  So spec-reading skills are common for CL hackers, which
takes away some of the mystique.  Of course, Common Lisp is unusual in
being a language for which people typically want their code to run on
multiple implementations from assorted vendors, and need to study the
spec to know what behaviors are portable.

   And I can tell you from experience that (aside from being huge) it's
not all that hard to implement, especially given the number of quality
free implementations from which to steal.  ;-}

   I've also looked at the C# language and runtime specs.  IANAL of
course, but even after publishing these, I believe that Microsoft can
still claim that C# internals are a trade secret.

   are languages for people or computers?

Yes, of course.  ;-}

                                        -- Bob

[1]  http://www.paulgraham.com/avg.html

[2]  http://www.lispworks.com/documentation/HyperSpec/Front/

_______________________________________________
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to