digitalmars.D - Where will D be in 2015 in the programming language ecosphere?
- Justin Johansson (3/3) Jun 19 2010 Me thinks this both a polite question and a question due of realistic
- Walter Bright (2/6) Jun 19 2010 It will be the dominant programming language of choice.
- Mike James (3/9) Jun 19 2010 I detect a hint of bias ;-)
- Justin Johansson (5/12) Jun 19 2010 Wow, thanks, that's a real affirmative answer :-)
- dsimcha (26/29) Jun 19 2010 My brutally honest but not overly pessimistic view is that D will become...
- Nick Sabalausky (13/32) Jun 19 2010 I think that sounds like a fairly reasonable analysis.
- Walter Bright (3/5) Jun 19 2010 I think you're selling Bjarne short. He's well aware of the issues with ...
- Nick Sabalausky (4/9) Jun 19 2010 Hmm, I had been hearing some things that seemed to indicate the contrary...
- BCS (11/18) Jun 19 2010 Maybe someone should make a DMD-EE ("embedded edition") with a truly min...
- Walter Bright (4/23) Jun 20 2010 There's not a whole lot of point to do this, other than checking a box, ...
- BCS (6/32) Jun 20 2010 It would lower the barrier to entry. While not to important once someone...
- Nick Sabalausky (13/33) Jun 20 2010 Exactly. D is enormously better than C for many such things, but C/C++ h...
- bearophile (4/9) Jun 20 2010 A Dlite (please, not named D--) can be fun :-)
- Nick Sabalausky (9/12) Jun 19 2010 More or less what dsimcha said, but with the additional footnote that
- Rory McGuire (12/15) Jun 21 2010 Not sure, but what I do think is:
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: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?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
== 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 articleI think that sounds like a fairly reasonable analysis.Me 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.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:Hmm, I had been hearing some things that seemed to indicate the contrary. But I guess I wouldn't really know either way.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
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,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).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.
Jun 20 2010
Hello Walter,BCS wrote: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><Hello dsimcha,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).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.
Jun 20 2010
"BCS" <none anon.com> wrote in message news:a6268ff154f88ccde5b99a63396 news.digitalmars.com...Hello Walter,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.BCS wrote: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.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
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