3 ms·
His response was "You could do that and it would probably be enough to earn your PhD, since it'll take you at least three years. But I suspect you'll want to wo
by serf 9y ago
His response was "You could do that and it would probably be enough to earn your PhD, since it'll take you at least three years. But I suspect you'll want to work on something else during that time".
as someone who had contact with that codebase, do you have any insights as to why that is?
Was it the sheer size of the thing? Was it some nuance that Fortran had as an advantage over other languages? was the math just difficult to follow?
Genuine curiousity.
- thicknavyrain 9y agoPretty much just size! There was about 20,000 lines of it, it's legacy code that has been gradually added to since the 1980s, so it would have taken a while to rewrite all the parts to work with each other. Perhaps some day though.
- pbhjpbhj 9y agoWhat's the code do? [physics grad level description would be fine] It must surely be generic equipment management, you're not running experiments in physics that are > 30 years old, surely?
- euyyn 9y agoStarted in the 80s doesn't mean the code is 30 years old, as they keep adding to it and modifying it in Fortran. Plus most of the analysis part is probably just math routines that don't need modification ever after.
- pbhjpbhj 9y agoDoesn't mean it isn't c.37 years old either ... I think we need specifics to progress this conversation usefully.
- walshemj 9y agoOnly 20k I have worked on bigger Fortran systems doing billing systems for a telco oddly enough.
- rxhernandez 9y ago20,000 lines of code really doesn't seem like that much. I probably output that much in about 2-3 months of biomedical research so there has to be more to it than that.
- coldtea 9y ago20,000 lines of code casually churned out in 2-3 months will be a nightmare to a) understand, b) maintain, much less to rewrite...
- cocoablazing 9y agoIt sounds like he’s talking about scripts generated for research, rather than code for components intended to be persistent.
- rxhernandez 9y agoPrecisely this.
- jlg23 9y ago>> legacy code that has been gradually added to since the 1980s > 20,000 lines of code really doesn't seem like that much. It's not "20k lines of code" but "n lines of code that grew organically over decades to 20k lines" - with the help of probably way more than 100 people who all are not trained as developers. I think it's a safe bet to say the current state only has a faint memory of being a consistent code base.
- geezerjay 9y ago> 20,000 lines of code really doesn't seem like that much. Once I spent close to a month hunting down a subtle but nasty bug in a number crunching module which was perhaps around 2k LoC. Writing code is very easy. Verifying and validating number crunching code is very hard and very time consuming.
- shitgoose 9y ago20k of fortran code is a lot. there are no beans/interfaces/adapters/mediators/listeners - just the code that does business.
- diminish 9y agoI have reimplemented all Fortran code of my professor at CERN in C during several undergrad classes during my Physics major. Then I have quited physics and became a developer.
- njharman 9y agoI'm taking (educated) guess, because people involved estimating rewrite where all physicists and not developers. And certainly not developers with 5+ years of experience. Which is minimum I'd trust with archtechting major rewrite.
- ptero 9y agoTo do such a rewrite one needs domain knowledge much more than you need software engineering knowledge. This means you need to get research physicist to contribute major effort into such a rewrite. To get there one needs to make them see a clear benefit of translating a system (that works fine today, thank you), from language A to language B. A Ph.D. student or a young researcher might be more interested if a rewrite lets them run experiments using Amazon / CUDA / whatever for a few thousand dollars instead of spending scarce grant money on dedicated hardware.
- myrandomcomment 9y agoThey are talking about large scale massively parallel code to run on a super computer. Most grad students in physics that need it have have access to a system much faster then Amazon. For example my friends code runs on Cori @ NERSC which is a 622,336 core Cray. http://www.nersc.gov/systems/cori/ http://www.nersc.gov/systems/cori/ I completely agree on the domain knowledge statement. It is 100% required more then the CS degree.