2 ms·
"Their project was 17,211 raw lines, 15k source lines, and 637kb" So a couple of students cranked out 15K lines of code, in basically a subset of their study t
by sonnyblarney 7y ago
"Their project was 17,211 raw lines, 15k source lines, and 637kb"
So a couple of students cranked out 15K lines of code, in basically a subset of their study time, for a single class?
I don't doubt they did it, what I doubt is the quality of what they wrote. Because it's 'just a project' it doesn't have to be fully debugged ...
But that is a vast amount of code to hand-write over a short period of time.
At that level, I think it's basically just 'code like the wind' with not much consideration for whether it works, architecture etc. etc. - which in a way might put the conclusions of the 'mini study' at odds.
At 15K LOC dashed out very quickly ... these are not products, they're comparing 'rapidly written out lines of code', which is something else entirely from working code.
Also, given that everyone is in Uni, and likely may not have been exposed to proper idiomatic code for the language ... this presents another issue. Ideally we'd want to compare reasonably idiomatic code for one language, to another.
Kudos to the author for this, but we should be aware of some caveats.
- trishume 7y agoNote that project is the outlier for how much code it contained. That team did have the most trouble getting things done on time and fixing all the bugs, so they passed the least tests, as one would expect given how much code their design choices required them to write. I think the causality goes from their design to the line count, not from the line count to worse design, they had to write lots of code to implement their more abstract design choices. I looked at their code and didn't see any obvious deficiencies in anything other than the design. Also note that UWaterloo's CS and SE programs are different than other universities. Everyone on all teams had at least two years of full time work experience at 6 internships. The people I talked to were also programming enthusiasts who read online a lot. The only teams that may not have written the most idiomatic code are the person who used Python alone, and the Haskell team because I've heard idiomatic high-end Haskell involves an insane amount of knowledge of abstractions like lens, way more than all the other languages. This compilers class is also well known for requiring lots of work, so students often arrange their schedules to have a low load from other classes while taking it, which is possible since the CS program requirements have a lot of flexibility.
- shaklee3 7y agoTwo years of work experience isn't going to make them experts in a language, especially during an internship. Languages like c++ would be a minimum of 5 years of professional programming to be competent I've found.
- sonnyblarney 7y agoMy office was across the street from UW for years, and I've hired handfulls of you as interns and full timers. You're great. But - '6 internships' is not quite enough to do this comprehensively, as exhibited by someone blasting out 15K LOC (I'm still reeling at that). I've worked on a number of projects in C++ and I'm pretty sure that I'm not very good at it, even with many years of experience in other languages, for example. The authors deserve a lot of credit, but I don't think much can be concluded from this ... it's just not the right situation. FYI - this kind of comparison is very difficult to do even for the most experienced.