Quoting "Peter St. John" <[EMAIL PROTECTED]>, on Tue 20 Nov 2007 11:30:57 AM PST:

Nathan,
I'm sure you'll get lots of very experienced responses but if I may:
1. Book. K&RC is the best book ever, on any subject.
2. Demographics. It looked to me that engineers were typically
learning and using C (C++, C with Classes, sometimes Java) more than
Fortran. I would have expected similar among physicists, but I
understand that a lot of Fortan is still extant and vital. Also there
is some convergence, ultimately it won't matter much.


But for solving a problem (as opposed to learning to get a job programming) what about something like Matlab? It's procedural, there are compilers (sort of), and it automatically does stuff with matrices in sensible ways.

I would certainly eschew any of the fads for "Engineering with Excel" which make my teeth grind when I hear about it. Every time one of my colleagues creates this incredibly elaborate spreadsheet to calculate receiver performance (gain distribution, intermodulation, etc.) I have to wonder how many hours were spent working around the idiosyncracies of Excel (just to get the plot to look right, if nothing else), when they could have spent that time learning a "real" tool to do the job.


3. Pedagogy. When computational efficiency is important, the
distinctions bettween sending data, and sending references to data, is
real important. I think it can be made vivid, early; what's the
difference between my handing you a card with the shipping address of
the warehouse that has the gravel you need for your construction
business, and handing you one thousand wheelbarrows full of gravel?
Either way can be right in the circumstances, but the difference is
obviously very relevant and should be taught even if you use a
language that hides the distinctions.


I like that example.

4. You might let them choose, but that might make more sense with
graduate students, than undergrads, and you may not like grading
papers in multiple languages. So you might ask about departmental
guidelines, what languages they will be exprected to learn anyway. I'd
advocate presenting some of the shorter but fundamental algorithms in
two languages, if you have time, but time is scarce and it's a physics
course, not a programming course.

No, no... force a bizarre abstraction of no possible commercial value. Make them do it in MIXAL. Programming as *Art*, not engineering or science. What do you think this is, some sort of trade school? <grin>

5. Choose C because there is no real choice, but I don't have time to
explain that in the margin of my email :-)
no time because you're working out a concise proof regarding the sums of integer powers of integers, perhaps?

Peter


_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to