3 ms·
You might be conflating software graduate students with research developers. I have translated a lot of research code into production code; whether it be sourc
by cjhanks 9y ago
You might be conflating software graduate students with research developers. I have translated a lot of research code into production code; whether it be sourced in Matlab, incomprehensible C, confused C++, or convoluted Numpy.
Okay - so grad students have very little incentive to write readable code... fine, understandable. They are usually lucky if they can write an algorithm which isn't finely tuned to a very narrow dataset. In that sense, most Ph.D papers are outright fabrications lying about capabilities written by authors seeking paychecks. If people were able to investigate the underlying source code, that would be fairly apparent.
That said, why do so many professional research developers also suck as writing comprehensible code? They have fat paychecks, what's the problem now? There absolutely exist research developers who write very high quality software. They may still use very terse nomenclature (due to high cognitive load), but their code can be logically comprehended by those who do not understand the field. There are a lot of reasons (I think) for this; no incentive to improve, poor understanding of their own discipline, no acknowledgment of the problem, expectation that such work is for "engineers".
In reality - a lot of research developers are simply incompetent, but they find a way to regularly convince others they are not.. often through obfuscation. They're stringing together implementations from various publications (which themselves might be total fabricated lies) with relatively little comprehension.
That's okay, a lot of software engineers are incompetent too.
Own it.
- throwawayjava 9y ago> You might be conflating software graduate students with research developers I'm not conflating. The vast majority of research software is written by grad students. > why do so many professional research developers also suck as writing comprehensible code? Because incentives aren't aligned. And it's not even clear they should be aligned. > There absolutely exist research developers who write very high quality software... In reality - a lot of research developers are simply incompetent There absolutely exist software developers who write very high quality software... In reality - a lot of software developers are simply incompetent. > If people were able to investigate the underlying source code, that would be fairly apparent... Own it 1. A huge amount of research software is open-sourced and does work as advertised. 2. You don't get it both ways. Either no open source demands, or no expectation that grad students should "own their work" -- and then making demands that they literally don't own their work.