On Thursday, 18 May 2017 at 00:58:31 UTC, Steven Schveighoffer wrote:
On 5/17/17 8:27 PM, H. S. Teoh via Digitalmars-d wrote:
On Wed, May 17, 2017 at 04:16:59PM -0700, Walter Bright via Digitalmars-d wrote:
On 5/17/2017 1:46 PM, H. S. Teoh via Digitalmars-d wrote:
[...]

It may not be the developers that initiate this change. It'll be the managers and the customers who force the issue - as those are the
people who'll pay the bill for the problems.

That may or may not force a shift to a different language. In fact, the odds are heavily stacked against a language change. Most management are concerned (and in many cases, rightly so) about the cost of rewriting decades-old "proven" software as opposed to merely plugging the holes in the existing software. As long as they have enough coders plugging away at the bugs, they're likely to be inclined to say "good enough".

What will cause a shift is a continuous business loss.

If business A and B are competing in the same space, and business A has a larger market share, but experiences a customer data breach. Business B consumes many of A's customers, takes over the market, and it turns out that the reason B wasn't affected was that they used a memory-safe language.

The business cases like this will continue to pile up until it will be considered ignorant to use a non-memory safe language. It will be even more obvious when companies like B are much smaller and less funded than companies like A, but can still overtake them because of the advantage.

At least, this is the only way I can see C ever "dying". And of course by dying, I mean that it just won't be selected for large startup projects. It will always live on in low level libraries, and large existing projects (e.g. Linux).

I wonder how much something like D in betterC mode can take over some of these tasks?

If you get it to compile for and run the code on an AVR, Cortex R0 or other 16 bit µC, then it would have a chance to replace C. As it stands, C is the only general "high-level" language that can be used for some classes of cpu's. D requires afaict at least a 32 bit system with virtual memory, which is already a steep requirement for embedded stuff.
C will remain relevant in everything below that.

Reply via email to