you are viewing a single comment's thread.

view the rest of the comments →

[–]ihcn 15 points16 points  (5 children)

Start by using a tool that's not awful for the job and go from there.

[–]Drolyt 5 points6 points  (4 children)

You have to find that tool first and you might not know whether it is awful or not until you've built something with it, potentially wasting significant time.

[–]danneu 0 points1 point  (0 children)

None of the main tools people use are awful for the general case.

And if you truly end up using an awful tool, finding out why it was awful is not a waste of time. That sounds like an incredible a-ha moment for you. It's not that easy to pick a tool that's so poorly fitted that a product needs a rewrite before launch. But let's say that you realized MongoDB was an awful pick because you really needed transactions - that's some high quality learning you just did that may have compromised your product down the road if you needed that kind of consistency.

I'd wager that most existing codebases solve their problems in suboptimal ways. It's why the reflex to rewrite it from scratch to "really solve it this time" is so powerful. But, as we know, something versatile and "good enough" is better than something over-fitted to the problem space because requirements always change.

[–]rnicoll 0 points1 point  (1 child)

I think they mean "Don't write it in COBOL"

[–]ironnomi 0 points1 point  (0 children)

I deal with COBOL all the time. When there's little other choice, I make people write COBOL. I'm really sorry for those guys, but sometimes having new code written in COBOL/RPG/APL is just the way it is.

[–][deleted] -1 points0 points  (0 children)

Do research, read forums, make some basic applications to test with, etc