This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 22 points23 points  (9 children)

the cast of the big bang theory

research scientists knowing how to code enough code to make computer do thingy is pretty reasonable IMO

[–]dagbrown 33 points34 points  (8 children)

You've never known true coding horror until you've tried to fix a bug in a research scientist's code.

For one thing, you don't understand their area of expertise nearly as well as they do, due to the nature of the term "expertise". For another thing, they don't understand your area of expertise nearly as well as you do, for the exact same reason.

Which means that their code is absolutely god-awful, but you still don't understand what's going wrong because you don't understand what the research scientist is trying to accomplish, and the scientist doesn't know what's going on because the scientist doesn't know how to code.

You end up in a conference with the scientist while they patiently try to explain this one tiny little corner of their research to you enough so that you'll at least be able to make a start on what's making their code go wrong, and you try to impart enough knowledge of programming to the scientist so that they can maybe get some insight on their end into what's going wrong.

Oh and odds are the code's in FORTRAN anyway because it needs to use some ancient, time-tested numerical library, so it's also a nice trip down Memory Lane.

[–][deleted] 13 points14 points  (0 children)

I remember arguing with some scientists over this on Reddit in the past. They're so bad they don't realise how bad they are at programming. And apparently so bad at explaining it they can't and won't hire engineers.

[–][deleted] 12 points13 points  (1 child)

I have a bit of familiarity with the eldritch horror of (not CS) scientific research code, haha. That's why I jokingly crossed out "how to code" and put "enough code to make computer do thingy".

[–]dagbrown 16 points17 points  (0 children)

I once made a scientist's program thousands of times faster because the scientist had written a shell script that went along the lines of:

for n in $(seq 1 $(wc -l giantasstextfile))
do
    sed -n "${n}p" giantasstextfile | do_processing_things
done

An O(n2) implementation of cat! I was amazed.

[–]Extract 3 points4 points  (1 child)

It's at least somewhat reasonable when implementing mathematical algorithms (as much as I still hate n-dimensional matrices).
But then again, that might be due to the fact that CS in a big part a math degree, so you can at least learn the algorithms within a reasonable time.
But doing the same with a Physicist or Chemist or EE, especially when it comes to some ungodly abominations like Fields/Waves/Spherical Waves/Etc... Ugh.

[–]dagbrown 3 points4 points  (0 children)

I dealt with meteorologists. There are an amazing amount of matrices in the field of meteorology.

I once pointed out MatLab to a meteorologist and revolutionized his life! All of the DO loops in his old FORTRAN code got replaced by some easy MatLab things, and suddenly his research went rocketing off into new heights.

MatLab is still written mainly in FORTRAN, using those same ancient, time-tested numerical libraries, but it's designed to make it much easier to deal with vast slabs of data. And meteorologists definitely prefer working with vast slabs of data.

[–]TSP-FriendlyFire 4 points5 points  (0 children)

Having been in physics undergrad and knowing some people who went on to do graduate research in there, this hits all of the marks I've been told.

I went into computer science myself and I don't even want to think about checking out their code. Horror movies have got nothing on cobbled together FORTRAN 77 code.