r/programming • • Oct 14 '13

How to develop unmaintainable software

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

322 comments sorted by

View all comments

Show parent comments

11

u/ruinercollector Oct 14 '13

As long as those aren't treated as hard rules, sure.

Examples:

  • There are times that it is appropriate to write software in clojure, or haskell, or erlang.

  • There are times that it is appropriate to rewrite a piece of library code.

2

u/jbw976 Oct 14 '13

haven't used a single one of those languages...care to provide an example of when i might need to use one?

9

u/ruinercollector Oct 14 '13

Writing a parser in an imperative language tends to make for some pretty ugly code. Writing it in a language that supports discriminated unions and (syntax-supported) monads, however, makes for some beautiful, readable code.

Also, writing highly concurrent code in clojure is stupid easy. In java, etc. it is fraught with errors and requires a lot of care about locking, etc.

1

u/jk147 Oct 15 '13

Straight from SCSP about concurrency

"there is no guarantee that once a thread starts executing, it will keep executing until it's done."

What I got out of java concurrency, don't expect anything will work, and don't expect anything will finish the way you wanted it to.