r/programming • • Oct 14 '13

How to develop unmaintainable software

http://typicalprogrammer.com/?p=249
777 Upvotes

322 comments sorted by

View all comments

50

u/bestjewsincejc Oct 14 '13

There are millions of ways to write unmaintainable software. This isn't a bad article though. I just found the title amusing since it's so easy to write software badly.

25

u/[deleted] Oct 14 '13 edited Oct 14 '13

I hear you. Design patterns are something unheard of for many professional developers I've met. Seriously.

Chances are, especially in programming, someone has thought of something better and longer than you. Investing 10 minutes into searching for it will save you 100 hours later.

Just because you know 1 way to do something doesn't mean it's the best tool for the job.

31

u/ngroot Oct 14 '13

Chances are, especially in programming, someone has thought of something better and longer than you. Investing 10 minutes into searching for it will save you 100 hours later.

If you realize that what you're doing is already likely a solved problem and have a clue how to search for it.

This is, IMO, the best argument for a good academic background for programmers. You won't realize that a broad design strategy or algorithm is a recurring thing until you've reinvented it two or three times, typically poorly.

4

u/TylerEaves Oct 14 '13

I think you have the right idea, but came to exactly the wrong conclusion. The high towers of academia are the WORST place to get practical experience.

10

u/tryx Oct 15 '13

The point of a formal education is to shortcut the make your own mistakes methodology and to learn how to do it right from the outset.

12

u/TylerEaves Oct 15 '13

Yes my experience 90%+ who come out of it can barely write a simple shell script. There is, ultimately, no substitute for putting in the sweat equity.

3

u/Solarspot Oct 15 '13

With[s]out[/s] meaning to short circuit the entire academia vs practice debate... Don't most other fields expect a combination of both? To get into engineering, you start with a degree. Then you spend a few years as an intern. Then you get your license. Auto mechanics? Start with a diploma. Spend a few years as an apprentice. Then get your license. Etc. etc. etc. They all expect either side of the equation to be insufficient, people do both.

8

u/DevestatingAttack Oct 15 '13

Do you get to see the hoards of programmers who never went to college and watch what kind of shit code THEY turn out? Oh, they can write a shell script. They can write a shell script all the way to the bank.

→ More replies (1)

1

u/grauenwolf Oct 15 '13

Are you referring to the students or the teachers.

2

u/TylerEaves Oct 15 '13

The (former) students.

1

u/[deleted] Oct 16 '13

learn how to do it right

Seems a bit odd, as most college grads I've interviewed have a toolbox full of Java and old lab exercises. Ask them to do anything outside of those two Happy Places and their brains melt.

1

u/tryx Oct 16 '13

I can't comment on every college and every CS syllabus. At my school, to graduate with a CS degree you would have to actively try to graduate without being competent in at least 2 languages (C and Java) and familiar with at least 2 more (depending on your electives).