Submission + - The Isolation of Academia and the Private Sector
plopez writes: "The ask Slashdot
recent posting "Ask Slashdot: Successful software from academia" asked a good question but I think also missed a larger issue.
The programming I have seen in Academia has been poor, probably worse than the private sector. OOP seems to be unheard of and is often taught by those who only heard of it a few weeks before they were required to teach the class. Ditto with Design Patterns, UML, unit testing, Agile Development, and the hard lessons from private sector death marches. The Application Developers in Academia are often poorly taught and undisciplines, more so than what I have seen in the private sector.
In addition outside of a few areas such as games, databases, and graphics; learning from Academia often doesn't make it into the mainstream. E.g. algorithm analysis should be a basic given for any working programmer, I know I did it when working as a programmer. But when I tried to explain why a bubble sort was a bad idea I was often met with blank stares. Or why using a DOM XML parser on large data sets instead of a SAX based parser was a bad idea. Or how to hack a SAX parser when needed, which involves tree searches and push-down stacks. Both push-down stacks and tree searches should be Sophomore level programming and in every programmers toolbox, even if only to assess whether a library based on these principles is a reasonable solution. Or self-referential programming, which is often skirting on the edges of AI (and in fact what some Design Patterns may be approaching). Another cool thing coming from Academia but yet seemingly unheard of is time-oriented databases (see Snodgrass who works at the University of Arizona if you are interested, there are some bizarre things that can happen if time is mishandled in databases).
The upshot is that Academia and the rest of the world seem to be isolated from each other. There is a wealth of experience in the private sector that doesn't seem to make it into Academia and vice versa. If I am wrong please correct me. And if you have ideas how to fix the problem please share them."
recent posting "Ask Slashdot: Successful software from academia" asked a good question but I think also missed a larger issue.
The programming I have seen in Academia has been poor, probably worse than the private sector. OOP seems to be unheard of and is often taught by those who only heard of it a few weeks before they were required to teach the class. Ditto with Design Patterns, UML, unit testing, Agile Development, and the hard lessons from private sector death marches. The Application Developers in Academia are often poorly taught and undisciplines, more so than what I have seen in the private sector.
In addition outside of a few areas such as games, databases, and graphics; learning from Academia often doesn't make it into the mainstream. E.g. algorithm analysis should be a basic given for any working programmer, I know I did it when working as a programmer. But when I tried to explain why a bubble sort was a bad idea I was often met with blank stares. Or why using a DOM XML parser on large data sets instead of a SAX based parser was a bad idea. Or how to hack a SAX parser when needed, which involves tree searches and push-down stacks. Both push-down stacks and tree searches should be Sophomore level programming and in every programmers toolbox, even if only to assess whether a library based on these principles is a reasonable solution. Or self-referential programming, which is often skirting on the edges of AI (and in fact what some Design Patterns may be approaching). Another cool thing coming from Academia but yet seemingly unheard of is time-oriented databases (see Snodgrass who works at the University of Arizona if you are interested, there are some bizarre things that can happen if time is mishandled in databases).
The upshot is that Academia and the rest of the world seem to be isolated from each other. There is a wealth of experience in the private sector that doesn't seem to make it into Academia and vice versa. If I am wrong please correct me. And if you have ideas how to fix the problem please share them."