D's tail
Johan
j at j.nl
Wed Aug 11 11:33:42 UTC 2021
On Tuesday, 10 August 2021 at 00:53:29 UTC, Brian Tiffin wrote:
>
> So it's a question. What is a reasonable life expectancy for
> the projects I start in D today?
Very much depends on the type of project. How much do you depend
on new features (likely to change), how much do you depend on
library code, how much do you depend on ABI details, how much are
you working around current language/compiler issues...?
At Weka, thusfar any new compiler means compilation failures. It
is a demanding codebase.
Some reasons for failures: workarounds for compiler bugs, ABI
dependencies, template attribute deduction deltas, dependence on
druntime internals, new compiler bugs, change of language
semantics (sometimes intended, but also often unintended), no way
to disable/enable specific warnings/deprecations, ...
On top of that, performance may change too with compiler version,
so even if the build succeeds that does not mean the program
still functions within the required performance constraints.
Keeping the code compatible with multiple frontends is a large
burden, currently avoided by specifying the compiler version in
the codebase and using that exact compiler on build systems and
developer's machines (i.e. each dev will have multiple compilers
on his machine, automatically downloaded and used by build
system). Updating the compiler to a new version is a lengthy
process. Weka is currently at LDC 1.24 (with Weka modifications).
-Johan
More information about the Digitalmars-d
mailing list