D's tail
Brian Tiffin
btiffin at gnu.org
Tue Aug 10 00:53:29 UTC 2021
Being a COBOL guy (for fun), I have opinions on this, but I'll
try and only let them leak out a ~~little bit~~ lot, as this is
meant as a question, not a judgement.
How long do you expect your D programs to last?
How long do you think the D system should support your source
code?
D is 20+ now, but how long is its tail? Meaning, if you found D
code from 19 years ago, would you expect it to compile today,
with a current compiler? How far back in time should D source
age? The length of the tail.
Is it better to cut off the growing tail for progress, or should
progress allow for long tailed source code and binaries?
To be fair, a 1.0 to 2.0 bump is major enough to warrant lopping
off a tail. (Or is it?)
Being new to D, that seems to put D2 at 12-ish years old. Does
anyone have 12 year old code that would recompile without
touching the sources? Would you expect it to? Or is it ok to
write programs with fixed (with a randomness factor) life
expectancy?
The idea to ask this question came up from reading the
`std.datetime` article, and how it deprecated `std.date`. Would
it be reasonable to freeze code rather than deprecate and remove?
Leave the tail, even though it may be wrinkled and dry at the
ends, rather than lop it off?
On one hand, a long tail means hauling luggage, an ever growing,
possibly useless (to most) pile of baggage. On that hand, a long
tail would mean that D only accumulates, ever growing. On the
other, D becomes a smaller in toto codebase that slides through
time, leaving it's past behind as it pursues perfection.
Leaking bias; I'm amazed that sophisticated Report Writer code
from 1969 (pre structured programming) still compiles in a 2020+1
COBOL compiler. Has that code been superseded by events? Not
really, dollars are still dollars, pennies are still pennies,
page breaks are still page breaks and sums are still sums. The
output format is archaic, but the code is still useful, and
cups-pdf will gladly convert a plain old text file to PDF.
But I also realize that IBM charged customers a high premium to
advertise and maintain that backward compatibility. Maybe only
Computer Business needs those kinds of timelines and guarantees.
Perhaps Computer Science *can* slide, allowing old code to become
worthless without surgery after a reasonably short life span, as
Science evolves faster in general. Lots of life forms leave
behind old shells behind to grow and mature.
So it's a question. What is a reasonable life expectancy for the
projects I start in D today?
Have good, make well.
More information about the Digitalmars-d
mailing list