On 29 April 2016 at 19:49, Mouse <mouse at rodents-montreal.org> wrote:
> True, but
again, *you shouldn't have to*. It means programmer
> effort, brain power, is being wasted on thinking about being safe
> instead of spent on writing better programs.
True, but...
One side effect of this is that it makes a lot of
C programmers
pedants.
...this is also true, and it means the development of a mindset that's
better equipped to catch higher-level mistakes as well as the low-level
mistakes.
My points are:
* not everyone is _able_ to develop that mindset.
* some (many) that cannot, think that they can.
* humans are fallible.
* modern codebases are _vast_ and hugely complex -- to big for any
individual to absorb & comprehend.
It's true that C is easy to use unsafely.
However, (a) it arose as an
OS implementation language, for which some level of unsafeness is
necessary, and (b) to paraphrase a famous remark about Unix, I suspect
it is not possible to eliminate the ability to do stupid things in C
without also eliminating the ability to do some clever things in C.
I think that the key thing is not to offer people alternatives that
make it safer at the cost of removal of the clever stuff. It's to
offer other clever stuff instead. C is famously unreadable, and yet
most modern languages ape its syntax.
Of course, the question is not whether C has flaws.
The question is
why it's still being used despite those flaws. The answer, I suspect,
is what someone said about it being good enough.
"Worse is better."
My value
system doesn't jive with smart phones.
I would have no problem with them if they were documented. But I've
yet to find one that is. I worked on a project writing code for a new
Android phone, once, and even as developers we had to use binary blob
drivers for important pieces. (It also taught me how horrible the
Android build system is.)
Mind you, if/when I find one that _is_ documented....
There _are_ FOSS offerings. The Jolla Sailfish devices, for instance.
--
Liam Proven ? Profile:
http://lproven.livejournal.com/profile
Email: lproven at cix.co.uk ? GMail/G+/Twitter/Flickr/Facebook: lproven
MSN: lproven at
hotmail.com ? Skype/AIM/Yahoo/LinkedIn: liamproven
Cell/Mobiles: +44 7939-087884 (UK) ? +420 702 829 053 (?R)