Hacker News new | past | comments | ask | show | jobs | submit login

Research software typically have a very small user base and can quickly become out-of-date, so there's no great incentives for current software packages to upgrade. But I'm talking about the developer community of scientific Python, not the user community. The developer community includes such things as numpy, scipy, matplotlib, etc. are pretty much Python 3 compatible. This makes it easy for new scientific projects to jump on board with Python 3.



Yeah, a lot of research software in academia is written by grad students with no formal CS education who're just interested in completing their dissertation and graduating. After they've graduated and left, the codebase just languishes until the next grad student comes along, who spends a couple months trying to figure out all the spaghetti code and ridiculous hacks used by the previous student to complete their thesis in the fastest time possible. After this process repeats itself 3 or 4 times, the codebase is pretty much useless and has to be thrown out.


> a lot of research software in academia is written by grad students with no formal CS education

Are you sure? Because that sounds like an complete oxymoron. You probably may have meant something else. Would you like to clarify on why grad students lack formal CS education?


Yes, I'm sure. I'm referring to scientific software - that is, software written in fields such as biology, chemistry, physics, and (non-computer) engineering. There are many grad students and professors in these areas who write software for their research that have no formal background in CS.


OK - I think I'm surprised to know that those fields do write software more than anything. Thanks for the clarification.


I wouldn't say they write software more than anything. I would say that there's a steadily increasing amount of time and energy invested into writing software, and very poor coding practices are used because of their lack of a formal grounding in CS and their short-term focus on obtaining the results necessary to publish their next paper and/or obtain their graduate degree.


That's like a classic scientist - software engineer argument. The scientist says he wants to prototype with quick dirty code while the software engineer wants to write great refactored code.


Yes, in those fields we literally "do write software more than anything" [else we do]. That is, most of what we're doing is writing software. So the fact that there's no formal training is a huge waste.


A member of my family is a post-doc here at Stanford doing cutting-edge genetic research on cancer in one of the brand new bazillion-dollar buildings that just opened. I write code for everything; I'll probably be writing code to brush my teeth for me someday, so I've offered to teach him to program. He doesn't show much interest. He says that there is only one member of his research team who can code--the PI--and he only knows Perl ("which is what they used in his bioinformatics program"). But, "He doesn't really write code anymore."

I don't know why I'm always surprised to hear this. You'd think I'd learn. I recently asked him if his research didn't require a lot of gene sequencing and analysis of the sequences and if that wasn't pretty computationally demanding. "Oh, yeah, sure it is. That's why we outsource it."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: