Le 08/02/2017 à 19:27, Ilya Yaroshenko a écrit :
I can answer for the product on which I am working (Home Design 3D),
others are video games made with Unity which is imposed by the editor.
On Home Design 3D the development teams have the choice of technologies
to use, but we have to convince our boss. There is an history, any
developer on previous teams knows the D language, we are now 2 on 6 that
having few basics.
1. Why your company uses D?
a. D is the best
b. We like D
c. I like D and my company allowed me to use D
d. My head like D
e. Because marketing reasons
f. Because my company can be more efficient with D for some tasks then
with any other system language
We don't use D.
2. Does your company uses C/C++, Java, Scala, Go, Rust?
C++11, other languages as Java or objective-C can be used for OS
specifics (Android and iOS).
3. If yes, what the reasons to do not use D instead?
There is a lot of obstacles to migrate to D or at least using it
partially in our product or for tools.
Here is the list sorted by difficulties:
1. The team isn't enough familiar with the D language
2. It seems too hard to use it with our actual C++ dependencies
(QtQuick, boost geometry, and a lot of other C/C++ libraries)
3. We don't have enough feedback on how it can be used on all our
targeted platforms (Android, iOS, Windows x86 and x64, MacOS)
4. Due to some differences with the c++ major refactoring will be
necessary after a translation to have the same performances (GC will
impact a lot the resources management)
5. The quality of the possible integration with a complete production
ecosystem is unknown.
IDE : Debugging, refactoring
Platforms : Compatibility with Stores (and there tools such as crash
6. D isn't as mature as C++, so there is fewer articles on internet that
can help on particular subjects. And no body will give code examples in
D, so even for test we would have to port it. This will globally impact
2. Have you use one of the following Mir projects in production:
e. https://github.com/libmir/dcv - D Computer Vision Library
3. If Yes, can Mir community use your company's logo in a section "Used
by" or similar.
4. Have you use one of the following Tamedia projects in your production:
5. What D misses to be commercially successful languages?
I think that it start with a bigger adoption, but it can be addressed
directly, so it have to easy to take into. IMO documentation IDE
friendly-ness,... will help newbie to start.
After tools necessary to have stable and effective products are
critical, debugger (code and memory), profiler,... On this point to IMO
the ergonomic is important (not every developer want to use command line
and a lot would prefer UI).
I also think that it depends who is the target, because Java developers
will be certainly more reticent to come to D if tools don't have good UI
than C/C++ developers that works mostly under linux.
Personally I develop only under Windows and having a great integration
between D tools with UI is one of the most important thing. I want an
IDE that is ready for use after installation, with dub integrated, unit
tests UI, compilers and debuggers configured and ready for cross
6. Why many topnotch system projects use C programming language nowadays?
IMO the fact that C is one of the first language helps a lot, languages
that came after few or any are system languages.
I find that C/C++ didn't evolve a lot for many years and it start to
come better with C++11, 14 and 17. Maybe D have put some pressure.
I don't know a lot of languages but I think that D have the potential to
be a much better system language than C++, and it should be else nobody
will migrate if the win isn't enough.
All my current D project are finished. Probably I will use other
languages for production this year, Java/Go/whatever. Mir libraries are
amazing and good quality. If you use them this would be a good
motivation for us to improve the docs and provide regular updates. Plus,
it can be enchanted during the GSoC 2017.