Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Please don't do that! Programming is just not there yet.

All attempts to establish best "engineering practices" in programming have so far been resulting in incredibly messy and inefficient technologies. UML, Corba, Object Oriented programming -- just to mention a few.

Also, whatever comes from an academic institution, as a rule, doesn't pass the reality check until it get stress-tested by the industry. Professors who don't build real-life software systems, can't tech engineering by definition -- they should stick mainly to theory.

Until programming matures, CS algorithms and data structures should remain our nails and wood.



Agreed 100%. Algorithms and data structures provide a better guarantee of correctness than any design pattern ever will.

But that's not only what SE about. It's also about taking all the various algos, data structures and design patterns in a system, and pulling them together on time, on spec and on budget. SE is a discipline of process, not of theory or algorithmic correctness.

But you're right in that most SE 'best practices', as they teach them in school, are sorely lacking.


> But that's not only what SE about. It's also about taking all the various algos, data structures and design patterns in a system, and pulling them together on time, on spec and on budget.

Unfortunately, no-one has yet worked out how to do that reliably and repeatably, which is why "software engineering" isn't.

Then again, "computer science" isn't either.

If we're going to have a sensible discussion about splitting theoretical/mathematical courses from practical/applied ones, perhaps we should start by completely removing the misleading terms CS and SE from the debate.




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

Search: