digitalmars.D - Where will D be in 2015 in the programming language ecosphere?
- Justin Johansson <no spam.com> Jun 19 2010
- Walter Bright <newshound1 digitalmars.com> Jun 19 2010
- "Mike James" <foo bar.com> Jun 19 2010
- Justin Johansson <no spam.com> Jun 19 2010
- dsimcha <dsimcha yahoo.com> Jun 19 2010
- "Nick Sabalausky" <a a.a> Jun 19 2010
- Walter Bright <newshound1 digitalmars.com> Jun 19 2010
- "Nick Sabalausky" <a a.a> Jun 19 2010
- BCS <none anon.com> Jun 19 2010
- Walter Bright <newshound1 digitalmars.com> Jun 20 2010
- BCS <none anon.com> Jun 20 2010
- "Nick Sabalausky" <a a.a> Jun 20 2010
- bearophile <bearophileHUGS lycos.com> Jun 20 2010
- "Nick Sabalausky" <a a.a> Jun 19 2010
- "Rory McGuire" <rmcguire neonova.co.za> Jun 21 2010
Me thinks this both a polite question and a question due of realistic answers. How doth thou respond?
Jun 19 2010
Justin Johansson wrote:Me thinks this both a polite question and a question due of realistic answers. How doth thou respond?
It will be the dominant programming language of choice.
Jun 19 2010
I detect a hint of bias ;-) "Walter Bright" <newshound1 digitalmars.com> wrote in message news:hviuvj$1476$1 digitalmars.com...Justin Johansson wrote:Me thinks this both a polite question and a question due of realistic answers. How doth thou respond?
It will be the dominant programming language of choice.
Jun 19 2010
Walter Bright wrote:Justin Johansson wrote:Me thinks this both a polite question and a question due of realistic answers. How doth thou respond?
It will be the dominant programming language of choice.
Wow, thanks, that's a real affirmative answer :-) Is it likely that it will be D2 (with bugs sorted out) or have moved on to say a D3? In other words, is D2 more-or-less around where people can expect the language to stabilize?
Jun 19 2010
== Quote from Justin Johansson (no spam.com)'s articleMe thinks this both a polite question and a question due of realistic answers. How doth thou respond?
My brutally honest but not overly pessimistic view is that D will become fairly popular in "high-level" systems programming and scientific and game programming, but will fail to make substantial inroads into "low-level" systems programming or most application programming. I define high-level systems programming as anything that's not an application but isn't a kernel, device driver or severely resource-limited embedded system. This can include GUI toolkits, database systems, network infrastructure code, libraries, etc. For the lower-level systems programming case, the requirement for a runtime (even if it's a fairly lightweight one) and the lack of fine control over things like binary size (due to templates, etc.) will limit usefulness. Yes, these problems can be worked around, but doing so requires sticking to so much of a C-like subset that you may as well just use C. At the application level, there are simply too many "good enough" languages that are already entrenched, such as Java, C# and Python. On the other hand, there's really no **good** language to do high level systems programming or performance-critical application programming in. C++ is just too low level. Java and C# aren't much slower than C for similarly written code, but they don't allow direct access to hardware and system-native APIs. They also don't allow you to resort to the kinds of dirty tricks that you could in D to squeeze that last bit of performance out of your code. For example, good luck writing an inner loop in assembler (it's done in Phobos), writing a custom memory allocator (I've done this, to good effect), or reinterpreting floating point numbers as integers and then bit twiddling them to sort them faster using integer instructions (I've actually done this, too, and it gave me a ~20% speedup in some code).
Jun 19 2010
"dsimcha" <dsimcha yahoo.com> wrote in message news:hvjno9$2oq3$1 digitalmars.com...== Quote from Justin Johansson (no spam.com)'s articleMe thinks this both a polite question and a question due of realistic answers. How doth thou respond?
My brutally honest but not overly pessimistic view is that D will become fairly popular in "high-level" systems programming and scientific and game programming, but will fail to make substantial inroads into "low-level" systems programming or most application programming.
I think that sounds like a fairly reasonable analysis.For the lower-level systems programming case, the requirement for a runtime (even if it's a fairly lightweight one) and the lack of fine control over things like binary size (due to templates, etc.) will limit usefulness. Yes, these problems can be worked around, but doing so requires sticking to so much of a C-like subset that you may as well just use C.
(Way) Back when I was a C/C++ programmer, I found D's module system alone to be worth abandoning C/C++. Everything else was icing on the cake. And there are other things that would also be an improvement for these developers: better alternatives to preprocessor macros, underscores in numeric literals, improved const/immutable system. So, while I agree that many of them would need to use a limited C-ish subset of D, I do think it would still be worthwhile for many of them to switch. But of course, as for how many of them will actually agree, I'm not sure. Also, I predict Bjarne Stroustrup will become even more absurdly defensive of C++'s anachronisms and cruft than he already seems to be ;)
Jun 19 2010
Nick Sabalausky wrote:Also, I predict Bjarne Stroustrup will become even more absurdly defensive of C++'s anachronisms and cruft than he already seems to be ;)
I think you're selling Bjarne short. He's well aware of the issues with C++ and from what I know he's been remarkably even handed about them.
Jun 19 2010
"Walter Bright" <newshound1 digitalmars.com> wrote in message news:hvk1vp$cdr$1 digitalmars.com...Nick Sabalausky wrote:Also, I predict Bjarne Stroustrup will become even more absurdly defensive of C++'s anachronisms and cruft than he already seems to be ;)
I think you're selling Bjarne short. He's well aware of the issues with C++ and from what I know he's been remarkably even handed about them.
Hmm, I had been hearing some things that seemed to indicate the contrary. But I guess I wouldn't really know either way.
Jun 19 2010
Hello dsimcha,For the lower-level systems programming case, the requirement for a runtime (even if it's a fairly lightweight one) and the lack of fine control over things like binary size (due to templates, etc.) will limit usefulness. Yes, these problems can be worked around, but doing so requires sticking to so much of a C-like subset that you may as well just use C.
Maybe someone should make a DMD-EE ("embedded edition") with a truly minimal runtime and library along with a compiler patched to support it (e.g. no GC, no AA's, no hidden memory allocations, no new/delete, D-ified versions of the c std lib). The DMD patch shouldn't be to hard, the runtime would mostly amount to dropping stuff and the lib would mostly just copy some stuff from phobos and wrapping, porting or binding (depending on what's more reasonable) stuff from C. I'd offer to do it but I have almost no experience in any of those. -- ... <IXOYE><
Jun 19 2010
BCS wrote:Hello dsimcha,For the lower-level systems programming case, the requirement for a runtime (even if it's a fairly lightweight one) and the lack of fine control over things like binary size (due to templates, etc.) will limit usefulness. Yes, these problems can be worked around, but doing so requires sticking to so much of a C-like subset that you may as well just use C.
Maybe someone should make a DMD-EE ("embedded edition") with a truly minimal runtime and library along with a compiler patched to support it (e.g. no GC, no AA's, no hidden memory allocations, no new/delete, D-ified versions of the c std lib). The DMD patch shouldn't be to hard, the runtime would mostly amount to dropping stuff and the lib would mostly just copy some stuff from phobos and wrapping, porting or binding (depending on what's more reasonable) stuff from C. I'd offer to do it but I have almost no experience in any of those.
There's not a whole lot of point to do this, other than checking a box, because embedded systems developers have no problem doing this themselves (create a custom runtime library).
Jun 20 2010
Hello Walter,BCS wrote:Hello dsimcha,For the lower-level systems programming case, the requirement for a runtime (even if it's a fairly lightweight one) and the lack of fine control over things like binary size (due to templates, etc.) will limit usefulness. Yes, these problems can be worked around, but doing so requires sticking to so much of a C-like subset that you may as well just use C.
minimal runtime and library along with a compiler patched to support it (e.g. no GC, no AA's, no hidden memory allocations, no new/delete, D-ified versions of the c std lib). The DMD patch shouldn't be to hard, the runtime would mostly amount to dropping stuff and the lib would mostly just copy some stuff from phobos and wrapping, porting or binding (depending on what's more reasonable) stuff from C. I'd offer to do it but I have almost no experience in any of those.
box, because embedded systems developers have no problem doing this themselves (create a custom runtime library).
It would lower the barrier to entry. While not to important once someone has chosen D, I would think it would be much more important when they are just considering it. -- ... <IXOYE><
Jun 20 2010
"BCS" <none anon.com> wrote in message news:a6268ff154f88ccde5b99a63396 news.digitalmars.com...Hello Walter,BCS wrote:Maybe someone should make a DMD-EE ("embedded edition") with a truly minimal runtime and library along with a compiler patched to support it (e.g. no GC, no AA's, no hidden memory allocations, no new/delete, D-ified versions of the c std lib). The DMD patch shouldn't be to hard, the runtime would mostly amount to dropping stuff and the lib would mostly just copy some stuff from phobos and wrapping, porting or binding (depending on what's more reasonable) stuff from C. I'd offer to do it but I have almost no experience in any of those.
box, because embedded systems developers have no problem doing this themselves (create a custom runtime library).
It would lower the barrier to entry. While not to important once someone has chosen D, I would think it would be much more important when they are just considering it.
Exactly. D is enormously better than C for many such things, but C/C++ have so much inertia in all the fields C/C++ are used that regardless of how much better D is, barrier to entry and overcoming C/C++'s inertia is still going to be a significant issue for D. We want it to be as easy as possible for potential D users in any field appropriate for D to try it out. Then they can customize it further if they really need to, but the real issue is getting them to decide to use it in the first place, and I'd be very surprised if a lot of them would be willing to do *all* of the necessary adjustments merely to test drive it. Plus, there's embedded homebrew too, and the homebrewers aren't likely to have a lot of time to do the necessary adjustments.
Jun 20 2010
Nick Sabalausky:Then they can customize it further if they really need to, but the real issue is getting them to decide to use it in the first place, and I'd be very surprised if a lot of them would be willing to do *all* of the necessary adjustments merely to test drive it.
A Dlite (please, not named D--) can be fun :-) Bye, bearophile
Jun 20 2010
"Justin Johansson" <no spam.com> wrote in message news:hvif8o$i2$1 digitalmars.com...Me thinks this both a polite question and a question due of realistic answers. How doth thou respond?
More or less what dsimcha said, but with the additional footnote that continued improvements to the D scene combined with "C++: 'Duke Nukem Forever' Edition" (erm, I mean "C++0x"...uh wait, no..."C++1x"...allegedly...hmm, no I think I was right the first time...) will finally start creating a fair amount of disgruntled C++-defectors who will land on the shores of D. Many of them will be people who had been "keeping an eye on D" for a number of years.
Jun 19 2010
On Sat, 19 Jun 2010 15:04:21 +0200, Justin Johansson <no spam.com> wrote:Me thinks this both a polite question and a question due of realistic answers. How doth thou respond?
Not sure, but what I do think is: If D ran on ARM it would be a favorite for mobile devices, often programs are just too slow when done in Java/C# on a phone. People then have to port to C/C++ to get their app running smoothly again. Javascript programmers could very likely pick up D as their compiled language of choice because it allows them to program in a similar way (closures, maps, delegates). PHP programmers could also pick up D, again because it allows them to program in a similar way (mixing functional and OOP, maps, strings, ...). Both javascript and PHP developers are abundant, which is partly why Facebook use PHP so much.
Jun 21 2010









"Mike James" <foo bar.com> 