[Info-vax] Building for Customers, Revenue

Shark8 OneWingedShark at gmail.com
Tue Sep 16 13:12:03 EDT 2014


On 9/16/2014 8:23 AM, bill at server3.cs.scranton.edu (Bill Gunshannon) wrote:
> In article <gbYRv.159900$p7.152940 at fx26.iad>,
> 	Shark8 <OneWingedShark at gmail.com> writes:
>> On 9/16/2014 5:55 AM, bill at server3.cs.scranton.edu (Bill Gunshannon) wrote:
>>>
>>> And are we supposed to somehow understand that it was the use of C++
>>> that caused this?
>>>
>>> bill
>>
>> I think that the point is that C++ was chosen because it was
>> popular/modern -- yet the programmers still fell into the Y2K trap.
>
> I can't think of any language that cold have prevented that.  :-)

As in designed in a way that will fail, sure.
Though you can have languages that make it a bit obvious that things 
will fail -- Ada, for example, has an excellent date-handling package:

> package Ada.Calendar is
>
>    type Time is private;
>    --  Declarations representing limits of allowed local time values. Note that
>    --  these do NOT constrain the possible stored values of time which may well
>
>    --  permit a larger range of times (this is explicitly allowed in Ada 95).
>    subtype Year_Number  is Integer range 1901 .. 2099;
>    subtype Month_Number is Integer range 1 .. 12;
>
>    subtype Day_Number   is Integer range 1 .. 31;
>
>    subtype Day_Duration is Duration range 0.0 .. 86_400.0;

The point of failure here is obvious: for this implementation no years 
greater than 2099 will be valid.

> I have long been an advocate of the idea that one of the first steps
> in Software Engineering is choosing the right tool for the job.  I
> have never gotten any traction with that and the preference remains
> picking the language du jour no matter how badly suited it is to the
> job.

You and I are in agreement there -- I think one reason it doesn't catch 
on is because the best tool is usually unfamiliar; another is that "good 
enough"/"X *can* [technically] do it"; yet a third is that many 
[general-purpose] languages give little-to-no consideration to 
interfacing with other languages.

That last point is something that VMS minimizes with the Common Language 
Environment... but VMS is not popular/wide-use at the moment; it's this 
CLE along with several other OS-handled notions [integrated/transparent 
DB, indexed files, versioning, etc] which makes it very, very attractive 
to build a integrated programming support environment [IPSE]. While the 
idea of such has been around since the `80s it was dropped in favor of a 
more simplistic view of programming (encouraged, I believe, by the 
prevalence of Unix and C). -- In short, I believe VMS could be made into 
something that developers on other systems would envy.



More information about the Info-vax mailing list