www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - The Next Big Language

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Discusses a few languages including D: 
http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/

Andrei
Oct 17 2010
next sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
I think it was a rather superficial review of all the languages. Did
he even try any of them out, or did he just took a look at what
wikipedia has to say?

Here's my comment
http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/c12k68w

On 10/17/10, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:
 Discusses a few languages including D:
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/

 Andrei
Oct 17 2010
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/17/2010 01:08 PM, Andrej Mitrovic wrote:
 I think it was a rather superficial review of all the languages. Did
 he even try any of them out, or did he just took a look at what
 wikipedia has to say?

 Here's my comment
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/c12k68w
You've put forth an informative post. Regarding the article itself, it does have value for me because it reflects the perception someone new to the language could acquire in a relatively short time. Andrei
Oct 17 2010
prev sibling parent reply "Yao G." <yao.gomez spam.gmail.com> writes:
On Sun, 17 Oct 2010 13:08:45 -0500, Andrej Mitrovic  =

<andrej.mitrovich gmail.com> wrote:

 I think it was a rather superficial review of all the languages. Did
 he even try any of them out, or did he just took a look at what
 wikipedia has to say?

 Here's my comment
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_langua=
ge_2010_edition/c12k68w
 On 10/17/10, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote=
:
 Discusses a few languages including D:
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_langu=
age_2010_edition/ Whenever I read a comment from that guy that post as eternium there, in = = reddit, I have a sense of d=C3=A9j=C3=A0 vu. The same exact passive-agre= ssive stance = with respect to D, the constant Walter/Andrei bashing, the ivory tower = snark comment, the "people posting in the newsgroup are n00bs, idiots, = fanboys"... Exactly the same comments as *someone* that post here, you = know who. It gets more sad if you look at his comments history and see = that like 80% of what he writes there, is just D bashing. At least he = should post with the same user name in both places :) -- = Yao G.
Oct 17 2010
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/17/2010 05:04 PM, Yao G. wrote:
 On Sun, 17 Oct 2010 13:08:45 -0500, Andrej Mitrovic
 <andrej.mitrovich gmail.com> wrote:

 I think it was a rather superficial review of all the languages. Did
 he even try any of them out, or did he just took a look at what
 wikipedia has to say?

 Here's my comment
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/c12k68w


 On 10/17/10, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:
 Discusses a few languages including D:
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/
Whenever I read a comment from that guy that post as eternium there, in reddit, I have a sense of déjà vu. The same exact passive-agressive stance with respect to D, the constant Walter/Andrei bashing, the ivory tower snark comment, the "people posting in the newsgroup are n00bs, idiots, fanboys"... Exactly the same comments as *someone* that post here, you know who. It gets more sad if you look at his comments history and see that like 80% of what he writes there, is just D bashing. At least he should post with the same user name in both places :)
Well the problem with such allegations is that they sit badly if they aren't true, and are most likely to embitter and entrench the persons involved even more. It would be great to try to find ways to build bridges. I think eternium and ILiekCakes are (or is a) disgruntled D1 and Tango enthusiast(s), and there are more out there. In the best of all worlds we'd reconcile and unite forces. I'm not sure what the best first step would be though. Andrei
Oct 17 2010
prev sibling next sibling parent reply so <so so.do> writes:
Forgive my ignorance but whenever i read a D review on that reddit thing,  
one always brings up this open source complier thing.

My question is how many D like languages came up with an open source  
compiler? Why do people keep using that argument again and again?

On Sun, 17 Oct 2010 18:18:26 +0300, Andrei Alexandrescu  
<SeeWebsiteForEmail erdani.org> wrote:

 Discusses a few languages including D:  
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/

 Andrei
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 18 2010
next sibling parent reply dennis luehring <dl.soluz gmx.net> writes:
 My question is how many D like languages came up with an open source
 compiler? Why do people keep using that argument again and again?
and second how many of these "other" languages got an community driven development processes (aren't there always "these five keyplayers" around?)
Oct 18 2010
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Monday 18 October 2010 01:34:51 dennis luehring wrote:
 My question is how many D like languages came up with an open source
 compiler? Why do people keep using that argument again and again?
and second how many of these "other" languages got an community driven development processes (aren't there always "these five keyplayers" around?)
fact that its main compiler isn't open source and the one that is (Mono) is so far behind the main one that many people totally discount it. Sure, C and C++ have open source compilers, but most people that use them on Windows use Visual Studio (which obviously isn't open source). There _are_ definitely big languages out there with open source compilers, but many of them don't. So, personally, I really don't understand the whole open source complaint either. A compiler is a tool to get things done. Sure, it's nice if it's free, and having it be open source is that much better, but the real question is how well it does its job. If it cost me $1000 to get the closed source compiler for the perfect language which would make my programming life a total breeze, I'd likely pay it (though obviously at $1000, it's not something to rush into). Having an open source implementation really only matters to me insomuch as I might be concerned that the compiler will become unavailable at a later date due to the company going out of business or something similarly catastrophic. I really don't understand the complaints about the lack of an open source compiler for D, but then again, I've always been pro-open source and anti-free software (I think that the FSF is nuts, personally), so that may be why. - Jonathan M Davis
Oct 18 2010
next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
== Quote from Jonathan M Davis (jmdavisProg gmx.com)'s article
 On Monday 18 October 2010 01:34:51 dennis luehring wrote:
 My question is how many D like languages came up with an open source
 compiler? Why do people keep using that argument again and again?
and second how many of these "other" languages got an community driven development processes (aren't there always "these five keyplayers" around?)
fact that its main compiler isn't open source and the one that is (Mono) is so far behind the main one that many people totally discount it. Sure, C and C++ have open source compilers, but most people that use them on Windows use Visual Studio (which obviously isn't open source). There _are_ definitely big languages out there with open source compilers, but many of them don't. So, personally, I really don't understand the whole open source complaint either. A compiler is a tool to get things done. Sure, it's nice if it's free, and having it be open source is that much better, but the real question is how well it does its job.
+1 I always regard that the role of software is to be seamless/invisible to the user. If you don't realise it is there working away, then its doing its job properly.
Oct 18 2010
prev sibling next sibling parent reply Jeff Nowakowski <jeff dilacero.org> writes:
On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

fact
 that its main compiler isn't open source and the one that is (Mono) is so far
 behind the main one that many people totally discount it.
language these days is open source.
 I really don't understand the complaints about the lack of an open source
 compiler for D, but then again, I've always been pro-open source and anti-free
 software (I think that the FSF is nuts, personally), so that may be why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
Oct 18 2010
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Monday 18 October 2010 03:40:23 Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 the fact that its main compiler isn't open source and the one that is
 (Mono) is so far behind the main one that many people totally discount
 it.
language these days is open source.
 I really don't understand the complaints about the lack of an open source
 compiler for D, but then again, I've always been pro-open source and
 anti-free software (I think that the FSF is nuts, personally), so that
 may be why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
I am pro-open source. I think that it's great when a project is opens source, but when it's not, I don't think that it's all that big a deal. Sure, it's better if it is, but if it isn't, that can be fine too. Of bigger concern is the price. A program is going to have to really beat the competition for it to be worth paying for. Open source does mean that it's going to be free, but it can be free without being open source. dmd is only partially open source, and it's completely free. And much as I don't want to pay for a compiler (or any software), a compiler is the type of software that I'm willing to pay for if it's necessary or if it's good enough. Sure, it would be great if dmd were completely open source, but I don't see why the fact that it isn't would be all that big a deal. Other languages - such as People used them in spite of the fact that they were proprietary. And yes, having a big company backing them has got to help, but how many people do you honestly think used Java because Sun made it? Sure, the fact that it was Sun helped, but they chose it because of the feature set, not the company that backed it. I don't think that I've ever met anyone who chose a language based on who created it. They may have looked into it in the first place because of who created it or which company was backing it, but they didn't choose it because of that. I know plenty of people who have chosen _tools_ (like compilers and IDEs) because of who has created them but not anyone who has chosen the language based on that. I definitely think that it would be a plus if D had a fully-compliant, open source compiler, but I don't see its lack as much of a reason not to use the language. The compiler is free and freely available. As long is it does it's job, that seems good enough to me. - Jonathan M Davis
Oct 18 2010
next sibling parent reply Jeff Nowakowski <jeff dilacero.org> writes:
On 10/18/2010 07:52 AM, Jonathan M Davis wrote:
 I definitely think that it would be a plus if D had a fully-compliant, open
 source compiler, but I don't see its lack as much of a reason not to use the
 language. The compiler is free and freely available. As long is it does it's
 job, that seems good enough to me.
The point is that D is competing with many other "next big languages" that *are* open source. Given the acknowledged benefits, D will rightfully be dinged on that account. That doesn't mean it will necessarily be a dealbreaker, but it is a big factor to take into account, especially considering vendor lock-in. Having all your code stuck in a proprietary language isn't a positive.
Oct 18 2010
parent cal <cal cal.cal> writes:
Jeff Nowakowski Wrote:

 On 10/18/2010 07:52 AM, Jonathan M Davis wrote:
 I definitely think that it would be a plus if D had a fully-compliant, open
 source compiler, but I don't see its lack as much of a reason not to use the
 language. The compiler is free and freely available. As long is it does it's
 job, that seems good enough to me.
The point is that D is competing with many other "next big languages" that *are* open source. Given the acknowledged benefits, D will rightfully be dinged on that account. That doesn't mean it will necessarily be a dealbreaker, but it is a big factor to take into account, especially considering vendor lock-in. Having all your code stuck in a proprietary language isn't a positive.
A good example of a failed (initially) closed source language is CAL ( http://lambda-the-ultimate.org/node/2045 ) - finally open sourced - developed by a single vendor - production ready platform (JVM) - "familiar" language (similar to Haskell) - "radical new" visual development tools The announcement didn't attract (almost) any users. At least there's no evidence.
Oct 18 2010
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
Jonathan M Davis wrote:
 Sure, it would be great if dmd were completely open source, but I don't see
why 
 the fact that it isn't would be all that big a deal. Other languages - such as 

People 
 used them in spite of the fact that they were proprietary. And yes, having a
big 
 company backing them has got to help, but how many people do you honestly
think 
 used Java because Sun made it?
I was around when Java burst onto the scene. Sun had enormous respect, and their creation of Java got them the buzz very similar to the buzz Go gets today from being from Google & Pike.
 Sure, the fact that it was Sun helped, but they 
 chose it because of the feature set, not the company that backed it. I don't 
 think that I've ever met anyone who chose a language based on who created it.
Go?
Oct 18 2010
parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Monday, October 18, 2010 10:57:54 Walter Bright wrote:
 Jonathan M Davis wrote:
 Sure, it would be great if dmd were completely open source, but I don't
 see why the fact that it isn't would be all that big a deal. Other

 weren't when they debuted). People used them in spite of the fact that
 they were proprietary. And yes, having a big company backing them has
 got to help, but how many people do you honestly think used Java because
 Sun made it?
I was around when Java burst onto the scene. Sun had enormous respect, and their creation of Java got them the buzz very similar to the buzz Go gets today from being from Google & Pike.
 Sure, the fact that it was Sun helped, but they
 chose it because of the feature set, not the company that backed it. I
 don't think that I've ever met anyone who chose a language based on who
 created it.
Go?
Well, no one I've ever discussed languages with has stated that they chose to use a programming language based on who created it. They may look into it based on who created it (for instance, if Microsoft or Google had created D, then I'm sure that a lot more of my co-workers would have looked into it by now), but I've never talked with anyone who has actually decided to use a particular language because of who created it. A major backer or well-known creator of a language gets people to look at it, but they choose to use it or not based on its own merits (at least from what I've seen). - Jonathan M Davis
Oct 18 2010
prev sibling parent reply Don <nospam nospam.com> writes:
Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 of the fact
 that its main compiler isn't open source and the one that is (Mono) is 
 so far
 behind the main one that many people totally discount it.
language these days is open source.
 I really don't understand the complaints about the lack of an open source
 compiler for D, but then again, I've always been pro-open source and 
 anti-free
 software (I think that the FSF is nuts, personally), so that may be why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
The problem is that D is getting attacked _as if it were closed source_, which is completely untrue! The source code for ALL D compilers is freely available at no charge. closed source != !open. There are many, very strong disadvantages of closed source vs Open Source, but most don't apply to D. I see only two disadvantages with the DMD backend vs Open Source: (1) we carry the risk that something happens to Walter; (2) DMD cannot be included in Linux distributions. But since the front-end is GPLed, these apply only to the backend. It really seems to be a philosophical objection rather than a practical one. Or else based on a misunderstanding.
Oct 18 2010
next sibling parent reply Jeff Nowakowski <jeff dilacero.org> writes:
On 10/18/2010 11:07 AM, Don wrote:
 It really seems to be a philosophical objection rather than a practical
 one. Or else based on a misunderstanding.
You can't fork. That's the main consideration. Brushing this aside as a philosophical issue vs. a practical one is a misunderstanding on your part. Not being included in a base distribution like Debian or Ubuntu is a serious practical disadvantage as well. Every barrier you put up hinders adoption.
Oct 18 2010
parent Adam D. Ruppe <destructionator gmail.com> writes:
 You can't fork. That's the main consideration.
I don't think this is true: Tango seems to prove it. Sure, you can't fork the backend too, but the backend doesn't really matter much for it. The majority of D is the frontend and the libraries, all of which can and have been forked in the past.
Oct 18 2010
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
GPL or the Artistic License. But I'm not sure what the artistic
license is about. Is that the equivalent of GPL or does it have
different restrictions? I'll have to read it through..

To me, if I can read the source code then it's open source. It might
not be "GPLFREE", but quite frankly I don't care. If I can read the
code, then I can learn from it. And that's all that matters to me.

On 10/18/10, Don <nospam nospam.com> wrote:
 Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 of the fact
 that its main compiler isn't open source and the one that is (Mono) is
 so far
 behind the main one that many people totally discount it.
language these days is open source.
 I really don't understand the complaints about the lack of an open source
 compiler for D, but then again, I've always been pro-open source and
 anti-free
 software (I think that the FSF is nuts, personally), so that may be why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
The problem is that D is getting attacked _as if it were closed source_, which is completely untrue! The source code for ALL D compilers is freely available at no charge. closed source != !open. There are many, very strong disadvantages of closed source vs Open Source, but most don't apply to D. I see only two disadvantages with the DMD backend vs Open Source: (1) we carry the risk that something happens to Walter; (2) DMD cannot be included in Linux distributions. But since the front-end is GPLed, these apply only to the backend. It really seems to be a philosophical objection rather than a practical one. Or else based on a misunderstanding.
Oct 18 2010
prev sibling next sibling parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 18 Oct 2010 19:07:38 +0400, Don <nospam nospam.com> wrote:

 Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 of the fact
 that its main compiler isn't open source and the one that is (Mono) is  
 so far
 behind the main one that many people totally discount it.
popular language these days is open source.
 I really don't understand the complaints about the lack of an open  
 source
 compiler for D, but then again, I've always been pro-open source and  
 anti-free
 software (I think that the FSF is nuts, personally), so that may be  
 why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
The problem is that D is getting attacked _as if it were closed source_, which is completely untrue! The source code for ALL D compilers is freely available at no charge. closed source != !open. There are many, very strong disadvantages of closed source vs Open Source, but most don't apply to D. I see only two disadvantages with the DMD backend vs Open Source: (1) we carry the risk that something happens to Walter; (2) DMD cannot be included in Linux distributions. But since the front-end is GPLed, these apply only to the backend. It really seems to be a philosophical objection rather than a practical one. Or else based on a misunderstanding.
Those who complain about dmd not being open-sourced are those who didn't try programming in D. Those who tried complain about dmd bugs. We've just tried programming with a friend in pair in D, and after spending about an hour trying to figure out the program misbehavior we understood it was a dmd codegen bug (I'll submit a report shortly). He was very angry and said "After so many years being in development this is still a b.s. I will never touch this language again". I had nothing to say other than I'll submit a bug-report and it will hopefully get fixed.
Oct 18 2010
next sibling parent reply Fawzi Mohamed <fawzi gmx.ch> writes:
On 18-ott-10, at 18:14, Denis Koroskin wrote:

 On Mon, 18 Oct 2010 19:07:38 +0400, Don <nospam nospam.com> wrote:

 Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 spite of the fact
 that its main compiler isn't open source and the one that is  
 (Mono) is so far
 behind the main one that many people totally discount it.
popular language these days is open source.
 I really don't understand the complaints about the lack of an  
 open source
 compiler for D, but then again, I've always been pro-open source  
 and anti-free
 software (I think that the FSF is nuts, personally), so that may  
 be why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
The problem is that D is getting attacked _as if it were closed source_, which is completely untrue! The source code for ALL D compilers is freely available at no charge. closed source != !open. There are many, very strong disadvantages of closed source vs Open Source, but most don't apply to D. I see only two disadvantages with the DMD backend vs Open Source: (1) we carry the risk that something happens to Walter; (2) DMD cannot be included in Linux distributions. But since the front-end is GPLed, these apply only to the backend. It really seems to be a philosophical objection rather than a practical one. Or else based on a misunderstanding.
Those who complain about dmd not being open-sourced are those who didn't try programming in D. Those who tried complain about dmd bugs. We've just tried programming with a friend in pair in D, and after spending about an hour trying to figure out the program misbehavior we understood it was a dmd codegen bug (I'll submit a report shortly). He was very angry and said "After so many years being in development this is still a b.s. I will never touch this language again". I had nothing to say other than I'll submit a bug-report and it will hopefully get fixed.
D2 I imagine :(, with D1 I had my share of ugly bugs, but normally things work. Fawzi
Oct 18 2010
parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 18 Oct 2010 20:25:52 +0400, Fawzi Mohamed <fawzi gmx.ch> wrote:

 On 18-ott-10, at 18:14, Denis Koroskin wrote:

 On Mon, 18 Oct 2010 19:07:38 +0400, Don <nospam nospam.com> wrote:

 Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 of the fact
 that its main compiler isn't open source and the one that is (Mono)  
 is so far
 behind the main one that many people totally discount it.
popular language these days is open source.
 I really don't understand the complaints about the lack of an open  
 source
 compiler for D, but then again, I've always been pro-open source and  
 anti-free
 software (I think that the FSF is nuts, personally), so that may be  
 why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
The problem is that D is getting attacked _as if it were closed source_, which is completely untrue! The source code for ALL D compilers is freely available at no charge. closed source != !open. There are many, very strong disadvantages of closed source vs Open Source, but most don't apply to D. I see only two disadvantages with the DMD backend vs Open Source: (1) we carry the risk that something happens to Walter; (2) DMD cannot be included in Linux distributions. But since the front-end is GPLed, these apply only to the backend. It really seems to be a philosophical objection rather than a practical one. Or else based on a misunderstanding.
Those who complain about dmd not being open-sourced are those who didn't try programming in D. Those who tried complain about dmd bugs. We've just tried programming with a friend in pair in D, and after spending about an hour trying to figure out the program misbehavior we understood it was a dmd codegen bug (I'll submit a report shortly). He was very angry and said "After so many years being in development this is still a b.s. I will never touch this language again". I had nothing to say other than I'll submit a bug-report and it will hopefully get fixed.
D2 I imagine :(, with D1 I had my share of ugly bugs, but normally things work. Fawzi
Yes, D2, but just because D1 is capable of dynamic closures. Otherwise I'd say they are about the same bug-wise. At least most of the bugs I came across usually apply to both. Usually there is a trivial workaround, but one needs to be experienced enough to find and apply it, and the perception it leaves to newcomers is that it is way too early to use dmd, especially in production. Btw, here is the report: http://d.puremagic.com/issues/show_bug.cgi?id=5071
Oct 18 2010
parent Walter Bright <newshound2 digitalmars.com> writes:
Denis Koroskin wrote:
 Btw, here is the report: http://d.puremagic.com/issues/show_bug.cgi?id=5071
Thanks. I bumped up its priority.
Oct 18 2010
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Denis Koroskin Wrote:
 
 We've just tried programming with a friend in pair in D, and after  
 spending about an hour trying to figure out the program misbehavior we  
 understood it was a dmd codegen bug (I'll submit a report shortly). He was  
 very angry and said "After so many years being in development this is  
 still a b.s. I will never touch this language again". I had nothing to say  
 other than I'll submit a bug-report and it will hopefully get fixed.
Clearly, your friend never used VC++6. It was the buggiest piece of software I've ever used, and yet I never once heard someone say they were giving up on C++ because of it. Sounds to me like he was just looking for a reason to not give D a fair shake.
Oct 18 2010
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
Sean Kelly:

 Clearly, your friend never used VC++6.  It was the buggiest piece of software
I've ever used, and yet I never once heard someone say they were giving up on
C++ because of it.  Sounds to me like he was just looking for a reason to not
give D a fair shake.<
In past Perl/Tcl/C++ were languages that you were asked to use at work, so there was no way to avoid them. D (and Python, especially in past) are languages/compilers/VMs that no one forces you to use (and there are other languages that compete for your attention), so they must be better if they want a chance to be considered :-) Bye, bearophile
Oct 18 2010
prev sibling parent Rainer Deyke <rainerd eldwood.com> writes:
On 10/18/2010 10:55, Sean Kelly wrote:
 Clearly, your friend never used VC++6.  It was the buggiest piece of
 software I've ever used, and yet I never once heard someone say they
 were giving up on C++ because of it.  Sounds to me like he was just
 looking for a reason to not give D a fair shake.
My personal experience says otherwise, after using VC++6 for a long time and DMD1 for a short time. VC++6 is horrible, but DMD1 is (was?) much worse. (It has been some time since I last touched DMD, so the situation has probably improved since then.) -- Rainer Deyke - rainerd eldwood.com
Oct 18 2010
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
Denis Koroskin wrote:
 We've just tried programming with a friend in pair in D, and after 
 spending about an hour trying to figure out the program misbehavior we 
 understood it was a dmd codegen bug (I'll submit a report shortly). He 
 was very angry and said "After so many years being in development this 
 is still a b.s. I will never touch this language again". I had nothing 
 to say other than I'll submit a bug-report and it will hopefully get fixed.
He is right, one should not be hitting codegen bugs in anything one would write in just starting with D. Please give a pointer to the bug report.
Oct 18 2010
parent "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 18 Oct 2010 22:01:57 +0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 Denis Koroskin wrote:
 We've just tried programming with a friend in pair in D, and after  
 spending about an hour trying to figure out the program misbehavior we  
 understood it was a dmd codegen bug (I'll submit a report shortly). He  
 was very angry and said "After so many years being in development this  
 is still a b.s. I will never touch this language again". I had nothing  
 to say other than I'll submit a bug-report and it will hopefully get  
 fixed.
He is right, one should not be hitting codegen bugs in anything one would write in just starting with D. Please give a pointer to the bug report.
http://d.puremagic.com/issues/show_bug.cgi?id=5071
Oct 18 2010
prev sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
Don wrote:

 Jeff Nowakowski wrote:
 On 10/18/2010 04:59 AM, Jonathan M Davis wrote:

 of the fact
 that its main compiler isn't open source and the one that is (Mono) is
 so far
 behind the main one that many people totally discount it.
language these days is open source.
 I really don't understand the complaints about the lack of an open
 source compiler for D, but then again, I've always been pro-open source
 and anti-free
 software (I think that the FSF is nuts, personally), so that may be
 why.
I really don't understand why you say you don't understand. You list the reasons why open source is good. Not everybody has the luxury of plopping down a $1000 for a compiler. People don't want vendor lock-in. Open source is a popular movement, and you say you're pro-open source, and you don't understand why D gets knocked for not being so?
The problem is that D is getting attacked _as if it were closed source_, which is completely untrue! The source code for ALL D compilers is freely available at no charge. closed source != !open. There are many, very strong disadvantages of closed source vs Open Source, but most don't apply to D. I see only two disadvantages with the DMD backend vs Open Source: (1) we carry the risk that something happens to Walter; (2) DMD cannot be included in Linux distributions. But since the front-end is GPLed, these apply only to the backend. It really seems to be a philosophical objection rather than a practical one. Or else based on a misunderstanding.
How is 2) philosophical? If the backend would have been open sourced, dmd would have been included in many linux distro's by now. So far it is distributed by none. This is a pragmatic issue, it means less exposure and less developers for D.
Oct 18 2010
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
Jonathan M Davis wrote:
 I really don't understand the complaints about the lack of an open source 
 compiler for D, but then again, I've always been pro-open source and anti-free 
 software (I think that the FSF is nuts, personally), so that may be why.
I think I do. The legitimate reasons: 1. If companies are going to bet their code investment on a language, they don't want to be left high and dry if the company with the closed source compiler goes bust. Yes, a company I used to work for (Data I/O) got shafted this way. Open source means they can get the source code if they have to to keep it going. 2. Open source implies a community that will support it, not a profit-seeking company, hence more likely that the language will be supported for the benefit of that community, and it will be more likely to survive various failures in support. 3. Open source implies free. Everybody likes free. 4. Some like to delve into the source code to figure out how things work. 5. With some it's a political thing. The not so legitimate reasons: 1. People who won't use D for an irrational or unflattering reason. They'll search about for some other reason that is publicly acceptable. Any reason will do. You can tell them by if you resolve that reason, they just find another one. Resolve that, they find another one. Etc. 2. They're trolls. Any successful product will attract these.
Oct 18 2010
parent reply "Gour D." <gour atmarama.net> writes:
On Mon, 18 Oct 2010 10:52:34 -0700
 "Walter" =3D=3D Walter Bright wrote:
Hello Walter, Walter> 1. People who won't use D for an irrational or unflattering Walter> reason. They'll search about for some other reason that is Walter> publicly acceptable. Any reason will do. You can tell them by Walter> if you resolve that reason, they just find another one. Resolve Walter> that, they find another one. Etc. Walter>=20 Walter> 2. They're trolls. Any successful product will attract these. today my copy of TDPL arrived and now I'm ready to start adventure called "Learning D". However, I'm curious if there is something that this community consisting digitalmars.D subscribers can do to help making D2 even more successful? I'm asking seeing that this newsgroup creates quite some traffic which could be possibly deployed even more creatively to improve D's ecosystem. Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 18 2010
parent reply "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 18 Oct 2010 22:01:05 +0400, Gour D. <gour atmarama.net> wrote:

 On Mon, 18 Oct 2010 10:52:34 -0700
 "Walter" == Walter Bright wrote:
Hello Walter, Walter> 1. People who won't use D for an irrational or unflattering Walter> reason. They'll search about for some other reason that is Walter> publicly acceptable. Any reason will do. You can tell them by Walter> if you resolve that reason, they just find another one. Resolve Walter> that, they find another one. Etc. Walter> Walter> 2. They're trolls. Any successful product will attract these. today my copy of TDPL arrived and now I'm ready to start adventure called "Learning D". However, I'm curious if there is something that this community consisting digitalmars.D subscribers can do to help making D2 even more successful? I'm asking seeing that this newsgroup creates quite some traffic which could be possibly deployed even more creatively to improve D's ecosystem. Sincerely, Gour
What D currently lacks is a code written in it. I also think a stable standard IDE and GUI library is a must for a wide D adoption.
Oct 18 2010
parent reply "Gour D." <gour atmarama.net> writes:
On Mon, 18 Oct 2010 22:23:02 +0400
 "Denis" =3D=3D "Denis Koroskin" <2korden gmail.com> wrote:
Denis> What D currently lacks is a code written in it. I also think a Denis> stable standard IDE and GUI library is a must for a wide D Denis> adoption. That may be true...I hope QtD will become ready soon and for now IDE I've chosen to use Emacs + Waf (as build system). What about libs? Is one supposed to mostly use C-libs as 'batteries included' considering that, afaics, Phobos is not supposed to be too big? Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 18 2010
next sibling parent "Denis Koroskin" <2korden gmail.com> writes:
On Mon, 18 Oct 2010 22:41:22 +0400, Gour D. <gour atmarama.net> wrote:

 On Mon, 18 Oct 2010 22:23:02 +0400
 "Denis" == "Denis Koroskin" <2korden gmail.com> wrote:
Denis> What D currently lacks is a code written in it. I also think a Denis> stable standard IDE and GUI library is a must for a wide D Denis> adoption. That may be true...I hope QtD will become ready soon and for now IDE I've chosen to use Emacs + Waf (as build system). What about libs? Is one supposed to mostly use C-libs as 'batteries included' considering that, afaics, Phobos is not supposed to be too big? Sincerely, Gour
That's what I meant by "code written in it". D needs more libraries of different kind, not only bindings to code in other languages.
Oct 18 2010
prev sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
In the absence of D ones you can use C libraries. But it's not a big
issue, there's plenty of C libs out there and they can be easily used
from D. There's no need for special wrappers either, unless you want
to make an OO interface for a C lib (this is something the DSFML
project does).

Most of the C libs I've tried so far came in shared-library form (DLLs
on windows). All I needed to do to use a DLL library was to call
implib with the /system flag on the DLL, and there I had an import
library. Then I would call htod on any C header files, and voila, I
have my D interface to the lib. Call DMD with my file, the import
library, and if everything is ok it should compile and run smoothly.
Too easy!

The more complicated issue is when a library is meant to be used only
statically, then you would have to manually export symbols to use it
as a shared lib, or maybe use SWIG to do it automatically (I am about
to try using SWIGD these days.). Either that or you would have to
compile a library with DMC to produce linkable .obj/.lib files, but
I've never tried that before. And there are some COFF2OMF converters
out there as well when that's needed.

On 10/18/10, Gour D. <gour atmarama.net> wrote:
 On Mon, 18 Oct 2010 22:23:02 +0400
 "Denis" == "Denis Koroskin" <2korden gmail.com> wrote:
Denis> What D currently lacks is a code written in it. I also think a Denis> stable standard IDE and GUI library is a must for a wide D Denis> adoption. That may be true...I hope QtD will become ready soon and for now IDE I've chosen to use Emacs + Waf (as build system). What about libs? Is one supposed to mostly use C-libs as 'batteries included' considering that, afaics, Phobos is not supposed to be too big? Sincerely, Gour -- Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 18 2010
parent "Gour D." <gour atmarama.net> writes:
On Mon, 18 Oct 2010 21:24:58 +0200
 "Andrej" =3D=3D Andrej Mitrovic <andrej.mitrovich gmail.com> wrote:
Andrej> In the absence of D ones you can use C libraries. But it's not Andrej> a big issue, there's plenty of C libs out there and they can be Andrej> easily used from D. There's no need for special wrappers Andrej> either, unless you want to make an OO interface for a C lib Andrej> (this is something the DSFML project does). Yeah. C-libs can be easily used in D but then there is no type safety and the apps is becoming as stable as C lib. That's why using SwigD sounds appealing to me to provide higher-level API in D and catch some type errors during compile time, if possible. That's why we've come to D, iow, to have 'something better'. ;) Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------
Oct 18 2010
prev sibling parent reply dennis luehring <dl.soluz gmx.net> writes:
Am 18.10.2010 10:34, schrieb dennis luehring:
  My question is how many D like languages came up with an open source
  compiler? Why do people keep using that argument again and again?
and second how many of these "other" languages got an community driven development processes (aren't there always "these five keyplayers" around?)
another point is that most of todays dynamic languages are based more or less on the java vm or .net (with some exceptions) but this won't help in an "static" like lanquage like D because it adresses also near to system programming that is in these worlds only "fakeable" -> what should i do with the inline-asm inside of an java/.net vm, how to fake ptr-arithmetic-stuff for c-linkage parties these are often forgotten backend problems
Oct 18 2010
parent "Paulo Pinto" <pjmlp progtools.org> writes:
Hi,

this is usually not a problem, because in many scenarios people are more 
than
happy to mix languages.

I for one, am language agnostic, because I always use the appropriate 
language
for the project at hand, and don't have any problem mixing languages.

In the Telecom industry which I know quite well,  C and C++ are slowly being 
relagated to places
where they are the only viable option, usually due to hardware constraints. 
In some pieces of equipment
C++ is already too big to fit in. But when there is an option, the 
implementation language tends to be
a higher level language (Java, .Net, Erlang), specially due to the available 
tooling.

I think that is a mistake to expect "a language to rule them all" scenario.

--
Paulo



"dennis luehring" <dl.soluz gmx.net> wrote in message 
news:i9h5s4$10pj$1 digitalmars.com...
 Am 18.10.2010 10:34, schrieb dennis luehring:
  My question is how many D like languages came up with an open source
  compiler? Why do people keep using that argument again and again?
and second how many of these "other" languages got an community driven development processes (aren't there always "these five keyplayers" around?)
another point is that most of todays dynamic languages are based more or less on the java vm or .net (with some exceptions) but this won't help in an "static" like lanquage like D because it adresses also near to system programming that is in these worlds only "fakeable" -> what should i do with the inline-asm inside of an java/.net vm, how to fake ptr-arithmetic-stuff for c-linkage parties these are often forgotten backend problems
Oct 18 2010
prev sibling parent reply "Paulo Pinto" <pjmlp progtools.org> writes:
Hi,

because there are only two ways languages get maintstream:

- lots of PR and money invested into them building a community
- there is a "killer application/set of features" that builts a community 
around the language

Usually closed source languages get maintream due to the first bullet point 
and the
languages that got mainstream due to the last point are all open source.

For my understanding D fails point one, which bring us to the second point, 
hence the
complaing about the open source compiler.

--
Paulo

"so" <so so.do> wrote in message news:op.vkriu8m07dtt59 so-pc...
 Forgive my ignorance but whenever i read a D review on that reddit thing, 
 one always brings up this open source complier thing.

 My question is how many D like languages came up with an open source 
 compiler? Why do people keep using that argument again and again?

 On Sun, 17 Oct 2010 18:18:26 +0300, Andrei Alexandrescu 
 <SeeWebsiteForEmail erdani.org> wrote:

 Discusses a few languages including D: 
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/

 Andrei
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 18 2010
parent reply so <so so.do> writes:
Thank you,

First point is a good one and explains Go's popularity and it is hard not  
to agree that D fails on that one, no can do.
But is the second one applies to languages? I mean you can sell an OS with  
a killer application or a computer but a programming language?

The set of features a language have is the most important point imo, but  
the real pain is, how do you think you are going to explain this to  
programming community?

One thing i find very strange about programmer community, you would  
normally expect them to be above normal, expect them to be rational, but  
they are no better, most of them are just bunch of language warriors. We  
have some of them in this board too and Reddit is full of them, you can't  
reason with them.

On Mon, 18 Oct 2010 13:52:13 +0300, Paulo Pinto <pjmlp progtools.org>  
wrote:

 Hi,

 because there are only two ways languages get maintstream:

 - lots of PR and money invested into them building a community
 - there is a "killer application/set of features" that builts a community
 around the language

 Usually closed source languages get maintream due to the first bullet  
 point
 and the
 languages that got mainstream due to the last point are all open source.

 For my understanding D fails point one, which bring us to the second  
 point,
 hence the
 complaing about the open source compiler.

 --
 Paulo

 "so" <so so.do> wrote in message news:op.vkriu8m07dtt59 so-pc...
 Forgive my ignorance but whenever i read a D review on that reddit  
 thing,
 one always brings up this open source complier thing.

 My question is how many D like languages came up with an open source
 compiler? Why do people keep using that argument again and again?

 On Sun, 17 Oct 2010 18:18:26 +0300, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:

 Discusses a few languages including D:
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/

 Andrei
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 18 2010
parent reply "Paulo Pinto" <pjmlp progtools.org> writes:
Yes, here is a summary of programming languages killer features.

C - The official language to develop for Unix
C++ - Provided a path for OOP programming to C developers, created at the
        same company that "owned" Unix
Pascal - Provided a very good way to learn structured programming
Perl - Was a the right place for mixing shell scripting and text 
manipulation
Python - Started as a better Perl, Zope helped it get known, now used in HPC 
to script applications
Javascript - If it wasn't for the browser it wouldn't be used at all
Ruby - Without Rails, people still wouln't care about it, most likely
Groovy - Provided a Ruby like programming environment for programmers in the 
Java world
Objective-C - The official way to develop for iPhone/iPad (for sure it 
counts more than just OSX)
Java - Oracle(Sun) and IBM give huge support to it. Plus the way it is used 
in universities around the world

Scala - Seems to be the next big language in the JVM

Plus Microsoft money.

There are probably more examples, that I have forgotten.

So the question is, what could the D killer feature be?

--
Paulo




"so" <so so.do> wrote in message news:op.vkrq8u127dtt59 so-pc...
 Thank you,

 First point is a good one and explains Go's popularity and it is hard not 
 to agree that D fails on that one, no can do.
 But is the second one applies to languages? I mean you can sell an OS with 
 a killer application or a computer but a programming language?

 The set of features a language have is the most important point imo, but 
 the real pain is, how do you think you are going to explain this to 
 programming community?

 One thing i find very strange about programmer community, you would 
 normally expect them to be above normal, expect them to be rational, but 
 they are no better, most of them are just bunch of language warriors. We 
 have some of them in this board too and Reddit is full of them, you can't 
 reason with them.

 On Mon, 18 Oct 2010 13:52:13 +0300, Paulo Pinto <pjmlp progtools.org> 
 wrote:

 Hi,

 because there are only two ways languages get maintstream:

 - lots of PR and money invested into them building a community
 - there is a "killer application/set of features" that builts a community
 around the language

 Usually closed source languages get maintream due to the first bullet 
 point
 and the
 languages that got mainstream due to the last point are all open source.

 For my understanding D fails point one, which bring us to the second 
 point,
 hence the
 complaing about the open source compiler.

 --
 Paulo

 "so" <so so.do> wrote in message news:op.vkriu8m07dtt59 so-pc...
 Forgive my ignorance but whenever i read a D review on that reddit 
 thing,
 one always brings up this open source complier thing.

 My question is how many D like languages came up with an open source
 compiler? Why do people keep using that argument again and again?

 On Sun, 17 Oct 2010 18:18:26 +0300, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:

 Discusses a few languages including D:
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_language_2010_edition/

 Andrei
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
-- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Oct 18 2010
next sibling parent reply Pelle <pelle.mansson gmail.com> writes:
On 10/18/2010 03:18 PM, Paulo Pinto wrote:
 Yes, here is a summary of programming languages killer features.

 C - The official language to develop for Unix
 C++ - Provided a path for OOP programming to C developers, created at the
          same company that "owned" Unix
 Pascal - Provided a very good way to learn structured programming
 Perl - Was a the right place for mixing shell scripting and text
 manipulation
 Python - Started as a better Perl, Zope helped it get known, now used in HPC
 to script applications
 Javascript - If it wasn't for the browser it wouldn't be used at all
 Ruby - Without Rails, people still wouln't care about it, most likely
 Groovy - Provided a Ruby like programming environment for programmers in the
 Java world
 Objective-C - The official way to develop for iPhone/iPad (for sure it
 counts more than just OSX)
 Java - Oracle(Sun) and IBM give huge support to it. Plus the way it is used
 in universities around the world

 Scala - Seems to be the next big language in the JVM

 Plus Microsoft money.

 There are probably more examples, that I have forgotten.

 So the question is, what could the D killer feature be?

 --
 Paulo
Being better than all of the above. But that's just, like, my opinion. :-)
Oct 18 2010
parent Fawzi Mohamed <fawzi gmx.ch> writes:
On 18-ott-10, at 16:52, Pelle wrote:

 On 10/18/2010 03:18 PM, Paulo Pinto wrote:
 Yes, here is a summary of programming languages killer features.
 [...]
 So the question is, what could the D killer feature be?
I see a future for D in the HPC field, I have tried hard at building a robust parallelization infrastructure, and for this access to all the source and it being a "system" programming language (whatever that means exactly) helped me being able to do it. The nice template support is really useful for numerically intensive code, and possible delays introduced by the GC are not so important (one *has* to be careful managing big objects or big collections, but that aside things seems to work). Fawzi
Oct 18 2010
prev sibling parent reply Rainer Deyke <rainerd eldwood.com> writes:
On 10/18/2010 07:18, Paulo Pinto wrote:
 So the question is, what could the D killer feature be?
The power of C++ template metaprogramming, without the horribly convoluted syntax. -- Rainer Deyke - rainerd eldwood.com
Oct 18 2010
next sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Monday, October 18, 2010 14:40:37 Rainer Deyke wrote:
 On 10/18/2010 07:18, Paulo Pinto wrote:
 So the question is, what could the D killer feature be?
The power of C++ template metaprogramming, without the horribly convoluted syntax.
LOL. After using templates in D enough, C++ almost feelings like it doesn't have them (particularly since it lacks static ifs and template constraints). I'm _far_ more likely to use templates in D than C++. D's metaprogramming is definitely a fantastic feature. Unfortunately, a lot of the programmers I know tend to react negatively to templates (probably primarily due to how nasty they can be in C++), so sadly, it can be hard to sell powerful templates as a _good_ feature to some folks. I quite appreciate it though. Certainly, if you try and sell D's templates as a feature, it's their ease of use which would have to be pushed. In some respects, C++ templates just give metaprogramming a bad name. - Jonathan M Davis
Oct 18 2010
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Jonathan M Davis:

 LOL. After using templates in D enough, C++ almost feelings like it doesn't
have 
 them (particularly since it lacks static ifs and template constraints).
enable_if works in C++: http://www.boost.org/doc/libs/1_44_0/libs/utility/enable_if.html See also: http://www.boost.org/doc/libs/1_44_0/libs/concept_check/concept_check.htm Bye, bearophile
Oct 18 2010
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 10/18/10 17:55 CDT, bearophile wrote:
 Jonathan M Davis:

 LOL. After using templates in D enough, C++ almost feelings like it doesn't
have
 them (particularly since it lacks static ifs and template constraints).
enable_if works in C++: http://www.boost.org/doc/libs/1_44_0/libs/utility/enable_if.html See also: http://www.boost.org/doc/libs/1_44_0/libs/concept_check/concept_check.htm Bye, bearophile
You don't know the half of it... :o) Andrei
Oct 18 2010
prev sibling parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
On 18/10/10 11:03 PM, Jonathan M Davis wrote:
 Unfortunately, a lot of the programmers I know
 tend to react negatively to templates (probably primarily due to how nasty they
 can be in C++), so sadly, it can be hard to sell powerful templates as  a
_good_
 feature to some folks.
I think it has very little to do with the syntax (although it certainly plays a part). The real problem with templates (in my opinion) is that they require a higher level abstract view of programs that most programmers simply lack. I think this is the same reason why functional programming escapes the masses, and why C is still so popular.
Oct 19 2010
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
Peter Alexander wrote:
 On 18/10/10 11:03 PM, Jonathan M Davis wrote:
 Unfortunately, a lot of the programmers I know
 tend to react negatively to templates (probably primarily due to how 
 nasty they
 can be in C++), so sadly, it can be hard to sell powerful templates 
 as  a _good_
 feature to some folks.
I think it has very little to do with the syntax (although it certainly plays a part).
I think it has a lot to do with the syntax. What templates do is actually very simple, but in C++ that simplicity is buried in an impenetrable syntax. I wrote a compiler for C++ templates, and I still have to look up the syntactic details whenever I write a template.
 The real problem with templates (in my opinion) is that they require a 
 higher level abstract view of programs that most programmers simply 
 lack. I think this is the same reason why functional programming escapes 
 the masses, and why C is still so popular.
Passing a type to a function is conceptually no more difficult than passing the number 7.
Oct 19 2010
parent reply Peter Alexander <peter.alexander.au gmail.com> writes:
== Quote from Walter Bright (newshound2 digitalmars.com)'s article
 Passing a type to a function is conceptually no more difficult
than passing the
 number 7.
Using templates is easy, even in C++. Writing them is the conceptually difficult part for most people.
Oct 19 2010
parent reply Walter Bright <newshound2 digitalmars.com> writes:
Peter Alexander wrote:
 == Quote from Walter Bright (newshound2 digitalmars.com)'s article
 Passing a type to a function is conceptually no more difficult
than passing the
 number 7.
Using templates is easy, even in C++. Writing them is the conceptually difficult part for most people.
I think our experiences are wildly different!
Oct 19 2010
parent Peter Alexander <peter.alexander.au gmail.com> writes:
On 19/10/10 7:00 PM, Walter Bright wrote:
 Peter Alexander wrote:
 == Quote from Walter Bright (newshound2 digitalmars.com)'s article
 Passing a type to a function is conceptually no more difficult
than passing the
 number 7.
Using templates is easy, even in C++. Writing them is the conceptually difficult part for most people.
I think our experiences are wildly different!
I'm talking in general of course. Everyone knows how to use std::vector<int>, it's just as easy as using a non-templated version (say, std::vector_of_ints). However, while many people would be fairly comfortable with writing std::vector_of_ints, they would have a much harder time writing std::vector<T>, and an ever harder time writing other containers in such a way that allowed them all to interact with a standard interface (iterators).
Oct 19 2010
prev sibling parent Justin Johansson <no spam.com> writes:
On 19/10/2010 7:04 PM, Peter Alexander wrote:
 On 18/10/10 11:03 PM, Jonathan M Davis wrote:
 Unfortunately, a lot of the programmers I know
 tend to react negatively to templates (probably primarily due to how
 nasty they
 can be in C++), so sadly, it can be hard to sell powerful templates as
 a _good_
 feature to some folks.
I think it has very little to do with the syntax (although it certainly plays a part). The real problem with templates (in my opinion) is that they require a higher level abstract view of programs that most programmers simply lack. I think this is the same reason why functional programming escapes the masses, and why C is still so popular.
There is also a big problem with reconciling templated types with OO typed hierarchies. Often a dichotomy appears when templates and classes seem to fight one another when you try to marriage the two idioms together (for better or for worse but generally worse). :-( Cheers justin Johansson
Oct 19 2010
prev sibling parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Maybe we should call them ducklings. :p

On 10/19/10, Jonathan M Davis <jmdavisProg gmx.com> wrote:
 On Monday, October 18, 2010 14:40:37 Rainer Deyke wrote:
 On 10/18/2010 07:18, Paulo Pinto wrote:
 So the question is, what could the D killer feature be?
The power of C++ template metaprogramming, without the horribly convoluted syntax.
LOL. After using templates in D enough, C++ almost feelings like it doesn't have them (particularly since it lacks static ifs and template constraints). I'm _far_ more likely to use templates in D than C++. D's metaprogramming is definitely a fantastic feature. Unfortunately, a lot of the programmers I know tend to react negatively to templates (probably primarily due to how nasty they can be in C++), so sadly, it can be hard to sell powerful templates as a _good_ feature to some folks. I quite appreciate it though. Certainly, if you try and sell D's templates as a feature, it's their ease of use which would have to be pushed. In some respects, C++ templates just give metaprogramming a bad name. - Jonathan M Davis
Oct 18 2010
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
Andrej Mitrovic wrote:
 Maybe we should call them ducklings. :p
Have an upvote, sir!
Oct 18 2010
prev sibling parent Justin Johansson <no spam.com> writes:
On 19/10/2010 9:13 AM, Andrej Mitrovic wrote:
 Maybe we should call them ducklings. :p
No, rather "eggs" :-)
Oct 19 2010
prev sibling parent reply JMRyan <nospam nospam.com> writes:
Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote in
news:i9f442$2bl$1 digitalmars.com: 

 Discusses a few languages including D: 
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_languag
 e_2010_edition/ 
 
 Andrei
Call me a curmudgeon, but I don't like Next Big Thing discussions. The problem is worse in applications than in programming languages, but I have learned to detest all such discussions. Software users, software reviewers (they're the worst) and even programmers look at Lotus 123 with dollar signs in their eyes and assume that a world of hundreds of millions of computers isn't big enough for any options other than The One True Big Thing. I posted a little rant about this on some newsgroup during The Great Browser Wars. Complaining about the attitude that the world wasn't big enough for two browsers, I noted that the world was plenty big enough for quite a few makes and models of cars. If the software reviewers of the day had worked for a car mag, they would have written about what was The One Best luxury/sports/enconobox/muscle/lots of cargo/lots of passengers/off road use/etc. car. I got two replies. One said "But IE is indeed better than Netscape" and the other asked "But what about the [whatever car it was] that fits into all these categories". I had to go to the gym and spend some time on the heavy bag to work out my frustrations. All of this strikes me as silly as wars over The One True Placement of Curly Braces and The One Best Text Editor. I just want D to be popular enough to give a nice set of useful libraries to work with.
Oct 18 2010
parent reply retard <re tard.com.invalid> writes:
Mon, 18 Oct 2010 17:11:59 +0000, JMRyan wrote:

 Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote in
 news:i9f442$2bl$1 digitalmars.com:
 
 Discusses a few languages including D:
 http://www.reddit.com/r/programming/comments/dsdd6/the_next_big_languag
 e_2010_edition/
 
 Andrei
Call me a curmudgeon, but I don't like Next Big Thing discussions. The problem is worse in applications than in programming languages, but I have learned to detest all such discussions. Software users, software reviewers (they're the worst) and even programmers look at Lotus 123 with dollar signs in their eyes and assume that a world of hundreds of millions of computers isn't big enough for any options other than The One True Big Thing. I posted a little rant about this on some newsgroup during The Great Browser Wars. Complaining about the attitude that the world wasn't big enough for two browsers, I noted that the world was plenty big enough for quite a few makes and models of cars. If the software reviewers of the day had worked for a car mag, they would have written about what was The One Best luxury/sports/enconobox/muscle/lots of cargo/lots of passengers/off road use/etc. car. I got two replies. One said "But IE is indeed better than Netscape" and the other asked "But what about the [whatever car it was] that fits into all these categories". I had to go to the gym and spend some time on the heavy bag to work out my frustrations. All of this strikes me as silly as wars over The One True Placement of Curly Braces and The One Best Text Editor. I just want D to be popular enough to give a nice set of useful libraries to work with.
Peter Norvig also seems to think that the language isn't the next big thing -- there are so many other things to consider. http://news.ycombinator.com/item?id=1803815 I've many times wondered why techies become so emotional. Editors, licenses, languages, operating systems, browsers, everything! force them to choose sides. This kind of thinking forces them to keep the train of thought inside a sealed box. One thing I've been wondering is whether visual languages have any merit. A proper combination of an IDE, (visual) language and a compilation tool chain may turn out to be more productive from programmer's POV and also easier/more efficient to implement (e.g. no parsing!, just simple de- serialization). The same thing happens in browser/OS world. Ordinary users are too blind to see what they really need. Is it a robust cross-platform distributed middleware? It very well might be. The browser and OS abstractions are becoming more and more outdated.
Oct 18 2010
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
retard:

 http://news.ycombinator.com/item?id=1803815
It's funny that the Python version of his code from the artificial intelligence book was completed years before the lisp version :-) (Maybe because he has privileged the Python version because that was better for his students, but I think he has finished the Python version before also because Python is more productive than CLisp.) Today Firefox is written about half in JavaScript (maybe 1.5 million lines?) and about half in a language that's mostly but not exactly C++, because it contains some "proprietary" type system extensions written in JavaScript (that add things like the "override" keyword of D) with Treehydra/Dehydra. What language will be used to write a hypothetical new browser 6 years from now? Some possibilities: - The same JS + almost-C++ - D V.3 :-) - Rust (http://github.com/graydon/rust/wiki/project-faq http://lambda-the-ultimate.org/node/4009 ) - <your language here> Bye, bearophile
Oct 18 2010
parent bearophile <bearophileHUGS lycos.com> writes:
 - Rust (http://github.com/graydon/rust/wiki/project-faq  
http://lambda-the-ultimate.org/node/4009 )
I have put Rust in that short list not because I think Rust is an exceptionally good system language (it has typestates, this is interesting), but just because it's a language designed by Mozilla, so I presume they will want to write a browser with it. Bye, bearophile
Oct 18 2010
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
retard wrote:
 I've many times wondered why techies become so emotional. Editors, 
 licenses, languages, operating systems, browsers, everything! force them 
 to choose sides. This kind of thinking forces them to keep the train of 
 thought inside a sealed box.
It may not be emotional at all. Learning a particular language thoroughly takes *years*. You *have* to choose.
Oct 18 2010
parent reply Rainer Deyke <rainerd eldwood.com> writes:
On 10/18/2010 19:12, Walter Bright wrote:
 retard wrote:
 I've many times wondered why techies become so emotional. Editors,
 licenses, languages, operating systems, browsers, everything! force
 them to choose sides. This kind of thinking forces them to keep the
 train of thought inside a sealed box.
It may not be emotional at all. Learning a particular language thoroughly takes *years*. You *have* to choose.
That depends on the language, I think. C++ takes years to learn. Python took me one month to reach full fluency. There may still be obscure corners of Python that I haven't explored, but they so obscure that I'm unlikely to ever encounter them in normal programming. They don't matter. Learning the associated libraries is another matter, but also largely unnecessary in my opinion. I just program with a reference manual in my web browser. -- Rainer Deyke - rainerd eldwood.com
Oct 18 2010
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
Rainer Deyke:

 That depends on the language, I think.  C++ takes years to learn.
 Python took me one month to reach full fluency.  There may still be
 obscure corners of Python that I haven't explored, but they so obscure
 that I'm unlikely to ever encounter them in normal programming.  They
 don't matter.
 
 Learning the associated libraries is another matter, but also largely
 unnecessary in my opinion.  I just program with a reference manual in my
 web browser.
This is correct. After a month there are parts of Python that you probably ignore (details about destructor semantics of __del__, metaclasses, how to implement a decorator correctly, and so on an on) but you are able to write acceptable Python code, you probably know more than 60/70% of core Python language. To learn 60% of D2 you probably need quite more than a month. (Still, what has said Walter is generally correct. Programmers try to protect the investment of time and brain energy they have giving to a language). Bye, bearophile
Oct 18 2010
parent reply Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Knowing the syntax and knowing how to use a language are two very
different things. If you're a newbie you can learn the C syntax in a
couple of weeks, but you would be very wrong to assume that you know
e.g. "70%" of C, and that you could read any C project and understand
it well.

On 10/19/10, bearophile <bearophileHUGS lycos.com> wrote:
 Rainer Deyke:

 That depends on the language, I think.  C++ takes years to learn.
 Python took me one month to reach full fluency.  There may still be
 obscure corners of Python that I haven't explored, but they so obscure
 that I'm unlikely to ever encounter them in normal programming.  They
 don't matter.

 Learning the associated libraries is another matter, but also largely
 unnecessary in my opinion.  I just program with a reference manual in my
 web browser.
This is correct. After a month there are parts of Python that you probably ignore (details about destructor semantics of __del__, metaclasses, how to implement a decorator correctly, and so on an on) but you are able to write acceptable Python code, you probably know more than 60/70% of core Python language. To learn 60% of D2 you probably need quite more than a month. (Still, what has said Walter is generally correct. Programmers try to protect the investment of time and brain energy they have giving to a language). Bye, bearophile
Oct 18 2010
parent Walter Bright <newshound2 digitalmars.com> writes:
Andrej Mitrovic wrote:
 Knowing the syntax and knowing how to use a language are two very
 different things. If you're a newbie you can learn the C syntax in a
 couple of weeks, but you would be very wrong to assume that you know
 e.g. "70%" of C, and that you could read any C project and understand
 it well.
Yes, and knowing the syntax does not mean one understands the idiomatically correct way to write C programs. For a famous example, people coming to C from Pascal in the 80's would write: #define BEGIN { #define END } It takes a while to learn better.
Oct 18 2010
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
Rainer Deyke wrote:
 That depends on the language, I think.  C++ takes years to learn.
 Python took me one month to reach full fluency.  There may still be
 obscure corners of Python that I haven't explored, but they so obscure
 that I'm unlikely to ever encounter them in normal programming.  They
 don't matter.
I've found when I learn a new language, I write it in the style of the previous language I used, i.e. writing Fortran in C, writing C in C++, etc. It takes a while for the idiomatic usage of the language to creep in. Until then, one hasn't mastered it. Oh, and the evidence is it takes 10 years to master C++. That's a pretty hefty investment.
Oct 18 2010
parent reply "Paulo Pinto" <pjmlp progtools.org> writes:
Actually, at CERN where I worked for some time, they used to say that you
can write Fortran in any language. :)

"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:i9j6gm$1ukm$1 digitalmars.com...
 Rainer Deyke wrote:
 That depends on the language, I think.  C++ takes years to learn.
 Python took me one month to reach full fluency.  There may still be
 obscure corners of Python that I haven't explored, but they so obscure
 that I'm unlikely to ever encounter them in normal programming.  They
 don't matter.
I've found when I learn a new language, I write it in the style of the previous language I used, i.e. writing Fortran in C, writing C in C++, etc. It takes a while for the idiomatic usage of the language to creep in. Until then, one hasn't mastered it. Oh, and the evidence is it takes 10 years to master C++. That's a pretty hefty investment.
Oct 18 2010
parent Walter Bright <newshound2 digitalmars.com> writes:
Paulo Pinto wrote:
 Actually, at CERN where I worked for some time, they used to say that you
 can write Fortran in any language. :)
That's an old joke, and it's funny because it's true. I still tend to use Fortran-ish variable names, though I can't remember how to write Fortran code anymore.
Oct 18 2010