:: Re: [DNG] C vs ADA : advice sought
Top Page
Delete this message
Reply to this message
Author: marc
Date:  
To: o1bigtenor via Dng
Subject: Re: [DNG] C vs ADA : advice sought
Hello

> if I were to want to choose between learning C (and likely adding C++) and
> learning ADA for programming microcontrollers and embedded systems what - -
> - besides amount of usage would you use to advise me - - - which should I
> learn (and why please (this is at least as important as your choice!!!))?


With apologies to the Beatles[*]:

"When I find myself in times of trouble,
Mother Mary comes to me,
speaking words of wisdom:
Code in C, Code in C"

That has been true for decades and probably will
be true for some decades more.

When you write something in a particular
language it is not only the technical features
of the language you should think about,
but also the ... cultural ones.

If you write something for yourself, a toy
which you will throw away next month, then
any language will do.

If you'd like to contribute to the free
software community then it is wise to
write in a language that many other people
can read, modify and run - and do
so for decades.

We do not value our free software developers
and maintainers enough. Volunteer effort
should not be confused with unlimited time.
This becomes clearer as users increase,
codebases grow and developers pass on.

So, if you'd like to have a healthy free
software community it is best to pick a
language which:

- Has the largest user base
- Which is stable
and which should have
- multiple independent libre implementations
- an infrastructure of manageable complexity

C is the language which meets these criteria
best - no contest.

Consider the circus that is javascript. Yes
it has loads of developers, but the infrastructure
is so large that pretty much everyone other than
google has given up on working on it. Not healthy.

Or perhaps closer to home: The effort wasted on
fiddling useful python 2.7 code to work on new
interpreters. Perhaps python3 is technically
better, but how much useful and battle tested
code did the new hotness obsolete ? How many
man-years did the various distributions allocate
to working out which python symlink goes where
and when ?

As for rust: Best to only look at it after 2030.
Could well be that the magpies have flapped
off to the next shininess. Probably some AI prompting
framework. Ick.

regards

marc

[*] Longer variants of this advice have been
circulating on usenet and mailing lists long
before java was a thing. But try searching
for it and see how much of the good internet
is gone.