On Mon, Jul 19, 2010 at 2:01 PM, Uri Guttman <[email protected]> wrote:
>
> gack, this thread is annoying. so here are some high level philosophical
> questions to think about regarding languages.
>
> 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)?

What is a language?  Seriously, what is the difference between some
configuration parameters and a new language?  What if the config file
format is just a data structure in an existing language that has
semantics attached?  (For instance Rake.)  At what point does existing
language + library turn into a new language?  (Before answering, read
_On Lisp_ and consider how large Lisp programs routinely create
mini-languages within Lisp.  Also consider the origins of C++.)

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

It is very hard to come up with a useful language that is not Turing
complete.  Can you loop and have if statements?  Congratulations,
you're Turing complete!

For a long time my favorite example of a deliberately non-Turing
complete language was SQL.  It was not Turing complete because that
made it possible to comprehensively analyze how queries would execute
so they could be optimized.  Unfortunately the latest versions of the
SQL standard have added enough features to become Turing complete.
(However most people don't use those features most of the time, so the
optimizer is usually going to be able to work well.)

> 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?

PL/I in many ways was the Perl of the mainframe world. :-)

COBOL was meant to conquer the business world.  To the best of my
knowledge it still processes more financial transactions than any
other language.

Don't knock ALGOL.  It was meant to be a base from which ideas could
be developed, and C is in the ALGOL family.  ALGOL-68 introduced the
idea of lexical closures, though I think that Pascal actually
implemented them first.

ADA I don't know enough about to find anything good to say.

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

It teaches you what the CPU actually does.  Whether that is worthwhile
depends entirely on your interests.

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

I dislike languages that make me type too much (Java), make it too
hard to find my obvious bugs (JavaScript), or whose implementations
are too buggy (VB).

> 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!

Read, yes.  Tried to implement, no.

> are languages for people or computers?

Most are for people first, computers second.

Machine language is for computers first, people second.

Some newer ones (eg Java and C#) are for tools (IDEs, etc) first,
people second, and computers third.

> enuff for now. let's see what you all have to say before i drop my $.02
> back in.
>
> uri
>
> --
> Uri Guttman  ------  [email protected]  --------  http://www.sysarch.com --
> -----  Perl Code Review , Architecture, Development, Training, Support ------
> ---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------
>
> _______________________________________________
> Boston-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/boston-pm
>

_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to