Theory Of Language Environment Suckage

Some programming language environments help you more than others. What is one way of quantifying what makes one environment suck less than another? At least in terms of measuring feedback, we have:

For each of the development stages (edit time, compile/test time, and run time), an error is progressively more difficult to find. A programming environment should do everything possible to expose the errors earlier.

RonJeffries's Corollary:
And a developer should do everything possible to compensate for the holes in his environment (and those in his head).


Another kind of language environment suckage:

The environment has a very clear and well-defined model for how you should do your work... and it doesn't match your problem domain.


Using this theory to compare languages with StaticTypeSafety to others:

Bringing it to the next level, RonJeffries's corollary to the TheoryOfLanguageEnvironmentSuckage states that "a developer should do everything possible to compensate for the holes in his environment (and those in his head)."

Continuing with the theory, corollary in tow:

However, even if the above is accepted as true, we haven't seen any advantages of dynamically typed languages -- only that they have potential. For that, you must see BenefitsOfDynamicTyping.


Bringing it to the next level, RonJeffries's corollary to the TheoryOfLanguageEnvironmentSuckage states that "a developer should do everything possible to compensate for the holes in his environment (and those in his head)."

Great -- sounds like a terrific argument in favour of using static type safety wherever you learn of a way to apply it.

But what if the types are redundant? What benefit does that then give?

I do hope we are not thinking "redundant == useless" !!

RedundancyIsInertia. In code, inertia isn't good. Therefore, redundancy is useless".


(Much discussion moved to "DoesUnitTestingMakeStaticTypingLessUseful?".)

See OneButtonTesting (but pretend it has relevant contents ;-)


I don't agree with the list of stages (in the beginning of this page). Many BasicLanguage environments written by MicrosoftCorporation catch parse errors in edit time, and continually interrupt you from writing your code.

Nit again. This is run time because BASIC is always running.


In the QuestForThePerfectLanguage, it should be obvious but the environment should not suck. Personally I like being able to just type in a text editor and interpret/compile from CommandLine but if there is an GUI IDE, it should be written in the language itself and serve as an example program


NoSilverBullet


EditText of this page (last edited August 15, 2008) or FindPage with title or text search