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.