Linked by snydeq on Sun 11th Dec 2011 01:35 UTC
General Development Fatal Exception's Neil McAllister writes in favor of new programming languages given the difficulty of upgrading existing, popular languages. 'Whenever a new programming language is announced, a certain segment of the developer population always rolls its eyes and groans that we have quite enough to choose from already,' McAllister writes. 'But once a language reaches a certain tipping point of popularity, overhauling it to include support for new features, paradigms, and patterns is easier said than done.' PHP 6, Perl 6, Python 3, ECMAScript 4 -- 'the lesson from all of these examples is clear: Programming languages move slowly, and the more popular a language is, the slower it moves. It is far, far easier to create a new language from whole cloth than it is to convince the existing user base of a popular language to accept radical changes.'
Thread beginning with comment 499937
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: "Better" vs. Better
by Neolander on Mon 12th Dec 2011 17:52 UTC in reply to "RE[3]: "Better" vs. Better"
Neolander
Member since:
2010-03-08

I believe that "Do it right the first time" should become some kind of mantra for computer science.

Good code ages well and is easy to fix. It doesn't require rewrites.

The thing is, it takes a lot of mental discipline to actively apply this philosophy every day, including the worst ones, where you're lacking sleep and must ship something that is currently barely finished in one week.

Edited 2011-12-12 17:53 UTC

Reply Parent Score: 1

RE[5]: "Better" vs. Better
by dnebdal on Mon 12th Dec 2011 17:56 in reply to "RE[4]: "Better" vs. Better"
dnebdal Member since:
2008-08-27

I believe that "Do it right the first time" should become some kind of mantra for computer science.

Good code ages well and is easy to fix. It doesn't require rewrites.

The thing is, it takes a lot of mental discipline to actively apply this philosophy every day, including the worst ones, where you're lacking sleep and must ship something that is currently barely finished in one week.


The largest problem with this is the way good enough is sometimes best - a working but horribly coded project now has some benefits over a well-coded one later.

Reply Parent Score: 1

RE[6]: "Better" vs. Better
by lucas_maximus on Mon 12th Dec 2011 19:16 in reply to "RE[5]: "Better" vs. Better"
lucas_maximus Member since:
2009-08-18

I have written last minute hacks that have stood the test of time. Something working is a lot more convincing than vapourware that does work.

Edited 2011-12-12 19:19 UTC

Reply Parent Score: 2

RE[5]: "Better" vs. Better
by lucas_maximus on Mon 12th Dec 2011 19:22 in reply to "RE[4]: "Better" vs. Better"
lucas_maximus Member since:
2009-08-18

I believe that "Do it right the first time" should become some kind of mantra for computer science.


Oh comon, this is ridiculous. You can do sensible things the first time, but doing it "right" first time is a completely different matter.

I wrote a C# library the other day, a nice bit of OO programming. Very clean and encapsulated, today I found out a way to make it even cleaner ... While my first attempt was sensible ... tomorrow it will be perfect.

Reply Parent Score: 2

RE[6]: "Better" vs. Better
by Neolander on Tue 13th Dec 2011 06:15 in reply to "RE[5]: "Better" vs. Better"
Neolander Member since:
2010-03-08

It's not about writing perfectly clean code the first time you put your hands on a keyboard, it's about shipping perfectly clean code in the end ;)

Of course, if you have lots of time, you can experiment with low quality code before writing the real thing, and the more time you have the larger-scale these experiments can go (things like GSoC projects come to mind). However, everything that is released has fallen into a vicious circle that makes it much harder to fix unless it is very well coded to begin with.

TL;DR : Hackish cost is fast to write and a powerful research and testing tool, it should just not make its way to the final product IMHO.

Edited 2011-12-13 06:19 UTC

Reply Parent Score: 1