[Beowulf] Scientific computing's future: Can any coding language top a 1950s behemoth ?
Prentice Bisbal
prentice.bisbal at rutgers.edu
Sat May 17 08:48:01 PDT 2014
On 05/13/2014 07:48 PM, Ellis H. Wilson III wrote:
> On 05/13/2014 01:57 PM, Peter St. John wrote:
>> But I'd ask (extending the analogy) if I build an addition to my
>> parents' house, should I use pex or copper? Should I use copper because
>> the old part of the house uses copper?
>
> Me 5 years ago: "Well, obviously, you'll want to run multiple lines
> of pex to take advantage of the manifold system in the basement and
> the main features pex brings, but this house is so crusty and old the
> walls are too thin to actually contain the requisite number of pipes.
> Therefore the only choice is to burn down the entire house, remove the
> foundation so it can be replaced with an insulated variety, regrade
> the entire yard so storm water runoff is better managed and reroute
> the driveway to save one one-millionth of an ounce of gas every time
> you park."
>
> I would do about half of those things, decide in fact the plot
> actually owned was not sufficiently sized/proportioned/whatever, douse
> everything in gasoline, light it up, and live on the streets to
> maintain my idealism.
>
> Me today: "Pex sounds cute. Maybe next life."
>
> This is a major failure of the CS educational system in my honest
> opinion. I NEVER received a project in undergrad or grad where they
> gave me a large (i.e., 50k lines or more) body of code (ideally it
> should be in multiple languages and hook into numerous libraries) and
> told "there is a bug in this area of the code, write the perfect patch
> for it and submit" or "feature X needs to be added to this code,
> inspect only the necessary components in the code to implement it,
> measure your time spent, and report." Instead, in the BEST case I was
> given 100-2000 lines of code, which I could easily refactor in as many
> heinous ways as I so chose, and I was graded not on pragmatic
> capabilities in real code-bases but on my ability to write hyper-OOP
> java crud that would never be used in any real fashion because it was
> so terribly slow and verbose as a result of the hyper-OOP mindset.
>
> That being said, I would counter my own deeply ingrained cynicism at
> this point by stating that I still reserve some fraction of my former
> idealism and try to clean up code as I work on it. Far too many who
> have been working in these huge code-bases in the past are totally
> comfortable with leaving large chunks of commented code around,
> leaving poorly documented routines poorly documented, and working
> around old interfaces in nasty ways instead of spending a little time
> to rethink cleaner but minimally impacting ways of reimplementing them.
>
> Wrapping this back into the original issue (next-gen HPC languages), I
> think the core issue is non-programmers programming. <begin
> generalization> They don't really want to program. They're doing it
> as a means to an end. They'd be more than happy to write equations in
> lieu of routines, as the article alludes to. <end generalization>
> Therefore, maybe, instead of continuing to attempt to create the
> "perfect language" that fits their needs, maybe the better solution is
> to teach them the tenets of proper programming so they can grasp the
> process and instruct them on ways to write very clean and elegant
> design documents. Sure, in some cases that may take as long just to
> get the design doc done as it would for them to just code it, but in
> the long run if said code gets wrapped into a larger project (or grows
> into one) it will result in far less maintenance and complexity than
> having 10 physicists and 10 CS folks both playing with the code
> simultaneously.
>
> Just my 2c though -- though the cynicism is great in this one, I still
> admit I have comparably limited experience in real environments where
> these things are at play.
>
Cyncism? As someone who's been an HPC system admin a while now, your
generalizations pretty much hit the nail on the head. You are wise
beyond your years.
--
Prentice
--
Prentice
More information about the Beowulf
mailing list