View Single Post
  #21   Report Post  
Posted to rec.crafts.metalworking
DoN. Nichols[_2_] DoN. Nichols[_2_] is offline
external usenet poster
 
Posts: 2,584
Default Beginning programming question

On 2011-03-03, Ed Huntress wrote:
I know, I should ask this somewhere else, but I don't trust somewhere
else...

My son is an economics researcher for a think tank, and he uses statistics
programs -- SAS, SPSS, and SDATA -- all day long. He took it upon himself to
learn scripting for all three, an he's become pretty facile at writing
scripts in their dedicated scripting languages. Now he wants to learn
something about programming.

He has no interest in becoming a programmer, but he'd like to know something
that may be useful in his work (he had a math minor, and he's now going for
a Masters in applied mathematics). I used to dabble in C and Assembly, so
he's asked me what he should learn. I have no clue.

Some people he works with have recommended Python. I know nothing about it.
I suggested C, but I made the mistake to telling him it's like Latin for a
language major, and he hated Latin.


It is more like a missing link between assembly language and a
high-level language.

Things like C++ have too many layers of abstraction, and result
in massively bloated programs, so I tend to avoid that.

He's not going to be doing anything that
relates to the Web. His interest is mostly in things that will help him deal
with data.


Given his intended use, I think that C (for all that I use it a
lot) is not the best choice. Among old languages, FORTRAN has massive
math libraries which could help.

Or for something somewhat newer and *very* math focused, APL is
a likely choice -- though it does use a weird characterset to represent
all the math operations.

It is infamous for being a write-only language. You can do
amazing things in a one line program, and weeks later not be able to
figure out how you did it -- but the program still works.

I've not taken the time to learn it, however -- I'm not that
strong in math.

If he were interested in artificial intelligence, the best
language is probably lisp -- or at least used to be.

Pascal is a good language to start with, actually, because it
makes it very difficult to write poorly-structured programs. However,
most implementations of it also make it rather difficult to make complex
programs which deal with strings a lot. (I wrote a membership database
program in it when I was learning it, and when I ported the basics of
that program to C, it was *much* easier.

BTW -- with linux systems, you can usually get gcc (GNU C Compiler)
which also includes A couple of versions of FORTRAN and possibly
even ADA (A language written for the DOD patterned after Pascal,
but designed for writing serious application programs, not for
teaching as Pascal was.)

However what you *don't* get with that Fortran is the ton of
math libs -- which are usually sold to mainframe users at
serious prices. You'll get a reasonable subset, but nothing
like the massive collection which is out there in the mainframe
world.

Enjoy,
DoN.

--
Remove oil spill source from e-mail
Email: | Voice (all times): (703) 938-4564
(too) near Washington D.C. | http://www.d-and-d.com/dnichols/DoN.html
--- Black Holes are where God is dividing by zero ---