Hacker News new | ask | show | jobs
by foobarbazqux 4653 days ago
I'm not sure you can really write production quality code in a Ph.D., because that requires a production environment, which just isn't available in academia, and also because writing such code conflicts with research goals.
2 comments

Sure you can. Plenty of 16 year olds have written say windows managers that thousands of people use -- that's production quality code.

Your second argument is circular -- I'm saying a valid research goal should be to write solid and useful code, and then explain it.

For example, you could write an OS kernel or kernel subsystem to fill some particular part of the design space. A great but rare example is what the authors of Lua have done.

All I mean is that fixing non-essential bugs, making your code pretty, worrying about small performance regressions, writing thorough documentation, polishing the user interface, porting your code to N platforms, dealing with copyrights and patents and trademarks, ensuring good distribution of your code either by selling it or making packages for major distros, and taking care of your users generally doesn't help you to get papers published.

Academia wants new ideas. Production (industry) generally revolves around making a new idea useful to a broad range of people, by which point it's an old idea. You can take something written in academia and put it into production, but if you do that in your Ph.D. it almost certainly isn't helping you to finish.

You're still arguing circularly. I know that what you mention is exactly the reason why academics don't write more code.

I'm saying it would be better for society if the academic culture emphasized the craft of coding, rather than solely "new ideas". The whole point of this article is that the emphasis on "new ideas" incentivizes fraud.

Academic culture changes faster than you think. I expect that the structural changes caused by online courses will have a big effect in the near future.

In my experience, it's already at the point where a focus on trade and craft actually hampers innovation in an academic context, because so much of the funding comes from industry. Most papers today are about safe, incremental improvements rather than bold new ideas, because there's no obvious money in significant breaks from tradition. I think we need to let academia and industry each do their job: academia can produce great, wild ideas and discover fundamental truths, and industry can refine them into something profitable.
Nah. You can write great code inside Racket for a PhD using tooling that's light years ahead of almost any development platform on the planet.