*shrug* - I think we're getting to the point where we really need better tools (read languages) for our programming. Ada, for example, has subtypes so we can do the following:
type Integer is range -2**31..2**31-1;or with the new Ada 2012 standard, we can write:
subtype Natural is Integer range 0..Integer'Last;
subtype Positive is Natural range Natural'Succ(Natural'First)..Natural'Last;
-- A prime number is one that is not evenly divisible by any number between 2 and half the given number.
subtype Prime is positive
with dynamic_predicate => (for all X in 2..(prime/2) => prime mod X /= 0);
Then there's interesting (and very different) languages like LISP, FORTH, Prolog, and Ada — which seem to be overlooked in the SW industry because they aren't C-like and the companies want cookie-cutter replacement-employees (meaning they don't want to train them, meaning they want "the most general" programmers out there, meaning they don't pick the best language for the job).
You're absolutely right... I was just yanking your chain, reminded of the old "OS wars." I had the opportunity to play with Smalltalk some years ago, and the entire thought process in programming was different.
Mark