in reply to Re^4: TMTOWTDI... and most of them are wrong
in thread TMTOWTDI... and most of them are wrong

In general, I feel like the whole "languages for smart people" thing is often hauled out as an excuse for writing obfuscated code that would fail your test 2. Most of us are less smart than we like to think when it comes to programming, and even smart people are often smart in different ways.

I agree in principle with each of your points. Yet, no-one is going out and saying "General Relativity needs to go away because not enough people are mentally capable of understanding it." That's kinda how I see what you're saying. Just because something is complex and hard doesn't mean that it wasn't done correctly.

Of course, we now enter the shifty realm of "How do you know when something is done correctly". My two rules are general purpose ones that maximize for both shareholder value and programmer productivity. (For the record, that's what Paul Graham maximized for with his business.) Other rules might maximize for programmer replacibility or who knows what else. The point is that different languages will meet the needs of different rules.

Here's an example - I can see no need to ever have to use Java in my professional life. However, my professional life (as far as I can see) is a very specialized world that Java doesn't fit into. I can very easily conceive of a world where Java is the absolute right call. Different rules, different tools.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re^5: TMTOWTDI... and most of them are wrong

Replies are listed 'Best First'.
Re^6: TMTOWTDI... and most of them are wrong
by perrin (Chancellor) on Jul 01, 2005 at 17:46 UTC
    I don't think science and programming have much in common. Science is about discovering fundamental things about nature while programming is about describing how to accomplish some task in a way that both your co-workers and your computer can understand.