News for hackers. Stuff that matters.
Re:Why not program right? by Joeri on Friday July 06, 2018 @06:37PM (#17475653)
The truth is somewhere in the middle. What I’ve noticed over the years is that if you allow yourself to get in the habit of writing quick and dirty code you learn the wrong habits and gradually lose the ability to write correct code for complex problems. So I do favor the correctness approach.

But ... code has to be maintainable, meaning it should be simple to the person that maintains it next. Typically that means no cleverness and no obscure languages or frameworks. Choosing eiffel only makes sense if you know the next maintainer will be proficient at eiffel.

Re:Why not program right? by jacquesm on Friday July 06, 2018 @06:57PM (#17475745)
There is no need to resort to tools such as Eiffel to take some very good lessons about what the article is trying to say. Time has moved on since then, Eiffel has had its day, but just like Smalltalk and other obscure languages there is some underlying truth that is well worth studying.
Re:Why not program right? by TeMPOraL on Friday July 06, 2018 @06:59PM (#17475761)
> Choosing eiffel only makes sense if you know the next maintainer will be proficient at eiffel.

Choosing Eiffel makes the next maintainer proficient in Eiffel by definition, because that will be the job requirement for the maintainer position. Unless the people responsible for hiring cheap out, that is.

What you're advocating here is optimizing solutions strongly towards being maintainable by cheap, interchangeable workforce. It's a valid goal - presumably one the management would like - but sometimes (often) it's not worth the extra cost in complexity, both early and later on.

(Tangentially: programming is a profession. It should be entirely expected of people to be able to learn new things on the job.)

Re:Why not program right? by mamon on Saturday July 07, 2018 @07:05AM (#17478007)
There's another issue here: many companies, when finding themselves in need of a proficient Eiffel programmer will just take one of their good programmers in other languages and ask: Would you like to learn Eiffel? And programmers usually enjoy learning new things, so someone will say yes.

I personally did that few times in my career: accepting job with technology I barely knew at the time, because I thought it would be fun to learn it.

You can imagine how that usually works out: software written by someone who was learning the programming language on the job.

Re:Why not program right? by tchaffee on Saturday July 07, 2018 @01:19PM (#17479425)
> What I’ve noticed over the years is that if you allow yourself to get in the habit of writing quick and dirty code you learn the wrong habits and gradually lose the ability to write correct code for complex problems

As the original commenter who started this thread, I'd like to make it clear that I agree with you and I don't write quick and dirty code. Or at least very rarely. Even for stuff that has a very short shelf life, I write code that usually has very few bugs and that I'm usually proud of because of exactly what you said: I've done it so often it's a habit now.

I've always strived to write the best quality code possible within the constraints. Sometimes those constraints were even my own lack of knowledge. But after three decades of doing this I'm starting to think I'm actually getting to be pretty good at it. ;-)

So I wasn't suggesting to just write bad code in my original comment. Just to have a broader view of where quality goals sit within the many competing stakeholder requirements. A programmer who doesn't let perfect be the enemy of good is a better programmer.