[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programming Languages, "to C or not to C, that is the Q."

On Sat, Jan 22, 2005 at 04:55:02PM -0500, Scotty Fitzgerald wrote:
> Hi, All,
> I was raised on Basic, (PDP 11/70 RSTS/E, TRS-80, Vic-20, Gw-basic)
> Then did Pascal in College.  Now that I don't have to spend all
> my time on the computer getting updates from microsoft, I think
> I will try my hand at a little traditional programming.
> So, I see like a billion languages available.  I have a few
> questions, but would any general opinions on "language to 
> learn" you may have.  Please don't feel I am not interested
> if you have thoughts don't directly relate to what I write below.
> (end, plea for verbosity.)
> I notice two basic interpreters under woody.  Why no compiler?!

Woody is Debian. Debian is open software only. Debian is all
volunteer. I don't know what there is no Basis compiler but either
there is no open free Basic compiler, or no one has volunteered 
to be the Debian maintainer of a Debian packaging of that compiler.
Or maybe it does exist and neither you or I know about it.

> I also notice that many of the "Wirth Bondage and Dominance" 
> languages (pascal, modula, oberon) have a program that "converts
> to C" and then I guess you would compile the c program.  Why 
> is this?  I am guessing it has to do with porting (like, take 
> your C output and you can compile it for mac or windows or something._
> Any other reasons?  
>         How readable are these "whatever to C" program's
>         output?!  Can you see the subroutines in there, know
>         what they are in relation to what you wrote in, say,
>         pascal, and maybe tweak it in C?  (I am waiting for
>         my library to ILL a book for me, "C as a second lang.
>         for Pascal users.  Catchy title, huh?!
> C does interest me, though for some reason object oriented 
> does not sound appealing ot me.  However, I hear of it as 
> something that is not a true HLL.  I hear it is more like 
> a "universal assembler" of sorts.  I love being able to do
> structured programming and I think I am better off with a true
> HLL, am I wrong?!
> I heard a quote that Algol is better than many of it's successors.
> Is it still alive?  I hear it is just a little younger than
> LISP.  Are these languages truly still alive?!  What about forth?!
> Let me know what your thoughts are, as I would love to hear them!

I am a physicist, not a computer scientist.  This colors my attitude
about the place of computers in the larger scheme of things. 
Programming languages serve several purposes. Which language you choose
depends on the relative importance to you of these several purposes.
In very broad terms, a programming language allows you to gain control
over your computer, and also over your understanding of the problem
that you are trying to solve with the use of a computer. Some
languages offer better features for quick changes, or rapid development,
or systematic upgrades to the computer program. Also, for business,
the company likes to choose a language that a lot of people who are
skilled programmers can use; sort of a popularity criterion. And,
in colleges and universities there is a tendency to use a language
where a program that is a homework assignment is easy to grade quickly.

Having said all this, I might ask what you kind of programs you intend
to write once you have learned how to program. But even if you gave a
very specific and narrow answer there would still be several reasonable
choises. My impression is that most professional programmers are skilled
in several languages, even in several types of languages. Each language
has its place. Each has its own history and traditions. There is very
little chance that there will ever be a single language that replaces
all others.

For what it's worth, I do all my heavy duty programming in C++, not
because of it OO, but because of the Standard Template Library. Of
course I use some OO where it's convenient, but usually it doesn't
help much for the stuff I do. 

Concerning programs that convert language X into language Y, these
don't indicate much about the relative importance or easy of use of
X and Y. It just indicates that the people who like X and the people
who like Y talk to each other. (Some of them anyway.)

Paul E Condon pecondon@mesanetworks.net

Reply to: