Andrei's list of barriers to D adoption

Chris via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 7 06:48:45 PDT 2016


On Monday, 6 June 2016 at 19:44:12 UTC, Satoshi wrote:

> When I told of D to my boss he had a couple of reasons why not 
> to use D for development of our products.
>
> * Backward compatibility with existing code.

It's never a good idea to introduce a new language, not matter 
which, into a long standing project. If your new code 
builds/depends on old code then stick to the language the project 
is written in. Introducing a new language would be more for new 
(ideally independent) projects. So this is _not_ an argument 
against D, but about switching languages midway in general.

> * D is much more complex than C++

D is not easy, but I'd say it's at least more structured than C++ 
(less dead weight).

> * Not enough tutorials and solved problems in D on stack 
> overflow (LOL)
> * We have problem to recruit a good C++ not a good D 
> programmer. (1/100 is good)

Again, this is not about the language, but about finding 
exceptionally good people. Then again, maybe someone who's really 
into D might be very good, because s/he does it out of genuine 
interest in programming, not just as a job.

> * My boss does not have free time to learn new things...

Well, I think this is one of the _real_ reasons people don't 
adopt D. Too much work to learn a new language (any language not 
just D).

> * Using GC is strictly prohibited in realtime apps. And D does 
> not have an compiler supported ARC
> * D without GC or ARC is not powerful as it can be.

Examples?

> * More and more people are dumber, we must write our programs 
> for later re-usage by any junior what we must employ. C++ is in 
> this way much more easier than D, cuz you know what every line 
> of your program do. Employ C++ junior programmer and let him to 
> learn D and then work on our projects is not a good (and 
> cost-effective) idea.

This kind of thinking is very common and is one of the reasons IT 
is still stuck with outdated languages. It's this terrible 
must-work-out-of-the box thinking, meaning that the new employee 
has to be able to contribute code from day one, if not, s/he'll 
not be hired. It's a vicious circle you can't get out of. A has 
to know B, and we use B, because A knows B. In this way, no 
progress will ever be made.

Why not invest a little time in educating employees? If s/he 
understands C++, D is not that hard to pick up. A little 
investment pays off in the future.

> * Not everyone is interested in programming, sometimes people 
> are doing it just for money.

Well, with these people things will never progress. But we 
shouldn't make our future dependent on the complacent and 
disinterested. They never innovate.

Sorry, but most reasons given by your boss are very general and 
could be applied to any new technology. It has nothing to do with 
D.


More information about the Digitalmars-d mailing list