digitalmars.D - GCC 4.6
- bearophile (23/40) Oct 30 2010 They keep adding more and more stuff to GCC, some unfinished notes about...
- Walter Bright (2/7) Oct 30 2010 Yeah, D has had that for 10 years now.
- bearophile (11/19) Oct 30 2010 Let's focus our attention on what DMD "lacks", instead! :-) If you focus...
- Walter Bright (27/47) Oct 30 2010 Bearophile, let me start by emphasizing that you are a valuable member o...
- Nick Sabalausky (3/9) Oct 30 2010 Tell that to Bo Jackson! :)
- Nick Sabalausky (13/25) Oct 30 2010 On a more serious note though, just focusing on what something's good at...
- Walter Bright (3/15) Oct 30 2010 Balance is, of course, essential. So is prioritizing what is important a...
- Paulo Pinto (30/57) Oct 31 2010 Well, let me say that both languages seem to be doing much better than D...
- Peter Alexander (9/14) Oct 31 2010 These things go away with time. People used to complain about terrible
- Simen kjaeraas (7/11) Oct 31 2010 Yeah, I always see bearophile's lists as 'maybe some of this could fit i...
- retard (8/20) Oct 31 2010 Bearophile often compares DMD to world class products such as LLVM. Even...
- Walter Bright (19/28) Oct 31 2010 What irritated me about bearophile's comparison of dmd to LLVM is he wou...
- Russel Winder (76/78) Oct 31 2010 l team.=20
- bearophile (5/7) Oct 31 2010 NaCl seems a nice idea, but I think so far no one is using it. It's in C...
- Walter Bright (15/88) Oct 31 2010 Most (all?) languages have one or two prime designers behind it. What my...
- retard (16/48) Oct 31 2010 It's considered a bad thing when the users disagree with the design
- dsimcha (3/4) Oct 31 2010 Nitpick (since your overall post was mostly on target): Python has Jyth...
- Walter Bright (3/8) Oct 31 2010 Those came along *much* later, like more than a decade *after* those lan...
- Jimmy Cao (12/25) Oct 31 2010 Interestingly, what goes along with the discussion about the perception ...
- retard (34/44) Oct 31 2010 His point was: there *are* other implementations.
- Walter Bright (13/34) Oct 31 2010 I have the second edition of "Programming Ruby", the definitive book on ...
- Bruno Medeiros (5/14) Nov 24 2010 Whoa, I didnt imagine Ruby to be that old, I didn't think it went back
- Jeff Nowakowski (8/9) Oct 31 2010 No, Walter, it isn't, and you should know this by now considering all
- Walter Bright (2/14) Oct 31 2010 Yes, and GDC and LDC are 100% GPL.
- Jeff Nowakowski (8/9) Oct 31 2010 That's nice, except that neither are suitable as a replacement for your
- Walter Bright (9/22) Oct 31 2010 I don't agree. There's very little, almost no, D specific support in the...
- Jeff Nowakowski (6/14) Oct 31 2010 First, 2.5/3.0 is not "fully open source". Second, as of yet, there is
- Walter Bright (2/10) Oct 31 2010 Yes.
- dsimcha (9/31) Oct 31 2010 That reminds me: What is the actual status of LDC2? According to the s...
- Walter Bright (7/11) Oct 31 2010 I don't understand why there would be any technical reasons why a D1 com...
- Iain Buclaw (8/20) Nov 01 2010 For the most part, the incremental updates I've been doing with GDC have...
- Walter Bright (3/27) Nov 01 2010 Great!
- Andrei Alexandrescu (5/25) Nov 01 2010 I wonder what we can do about increasing GDC's exposure. One common
- Iain Buclaw (7/37) Nov 01 2010 I'm not sure how reachable David is, though someone mentioned that Arthu...
- Michel Fortin (8/16) Nov 01 2010 Once GDC is current and stable on Mac OS X, I should be able to add it
- bioinfornatics (1/1) Nov 01 2010 why talk about gdc on LDC2 thread?
- Iain Buclaw (8/20) Nov 01 2010 I'm not lavish enough to own one, so I am limited to what I can do there...
- Jacob Carlborg (7/27) Nov 02 2010 If I recall correctly GDC didn't build on Mac OS X. Your patches applied...
- SK (8/12) Oct 31 2010 As a casual observer of D, I've wondered in the past: why isn't D2 and
- Andrei Alexandrescu (3/15) Oct 31 2010 No Windows?
- SK (6/7) Oct 31 2010 My Google-fu shows most complaints related to LLVM on Windows are
- dennis luehring (2/9) Nov 01 2010 there is no Windows Exception (SEH) Support in LLVM
- SK (6/13) Oct 31 2010 On further reading, it seems that the reason LLVM is not the focus is
- Christopher Bergqvist (7/14) Oct 31 2010 Would it be possible to organize a "bounty" for having the backend relea...
- dsimcha (3/5) Oct 31 2010 Vote++. I understand that this has worked in the past, though I don't r...
- =?UTF-8?B?IkrDqXLDtG1lIE0uIEJlcmdlciI=?= (11/17) Nov 03 2010 eased u
- Christopher Bergqvist (9/26) Nov 03 2010 Yes, I don't want to run Walter into bankruptcy though. ;)
- Juanjo Alvarez (19/21) Nov 01 2010 but waiting
- Walter Bright (2/17) Nov 01 2010 I agree that the most likely route for D is in through the back door.
- Gour (11/12) Nov 01 2010 Walter> I agree that the most likely route for D is in through the back
- Walter Bright (3/13) Nov 01 2010 I appreciate you having the courage to stand up to the critics. I hope w...
- Gour (12/13) Nov 01 2010 Walter> I appreciate you having the courage to stand up to the critics.
- Nick Sabalausky (28/38) Oct 31 2010 I know you said "rhetorical" but I can't help chiming in on some of them...
- dsimcha (6/9) Oct 31 2010 I know you're kidding, but ironically you may be right in a way. Someti...
- Walter Bright (15/20) Oct 31 2010 This is the same argument I used to try and convince Andrei to abandon s...
- Nick Sabalausky (11/16) Oct 31 2010 Yea, what many people don't realize is that developing within a big busi...
- Walter Bright (4/13) Oct 31 2010 Another interesting factoid is that I've been told "you can't possibly d...
- retard (11/26) Oct 31 2010 Take a look at GCC now. Take a look at LLVM. Compare with DMC. They both...
- Walter Bright (19/34) Oct 31 2010 You do if you want to run on Windows. LLVM won't work on Windows. Or use...
- Jonathan M Davis (12/26) Oct 31 2010 Well, I expect that if you didn't produce a high quality compiler, you w...
- Walter Bright (4/14) Oct 31 2010 The compilers have always been different, and appeal to different progra...
- Bruno Medeiros (6/7) Nov 24 2010 DOS support?... That's quite telling.
- Adam D. Ruppe (6/7) Nov 24 2010 It's great. DMC making DOS programs is how I got started. Still
- Don (5/16) Oct 31 2010 I think a lot of the problem is that quite a few of bearophile's post
- tls (2/19) Oct 31 2010 What is valueable ideas? Bug reports goto bugzilla. Can some else be imm...
- Don (6/25) Oct 31 2010 Bearophile's posts "I tried to write XXX, and it's hard to do well
- Bruno Medeiros (80/97) Nov 25 2010 And it would be even better if that someone would be bearophile
- bearophile (8/11) Oct 30 2010 I hate wasting your time, so please ignore my posts you aren't intereste...
- Gary Whatmore (8/16) Oct 30 2010 You could study without interrupting Walter. The persons in this group c...
- Nick Sabalausky (3/6) Oct 30 2010 Yes, we should just be a bunch of giant assholes.
- Jimmy Cao (16/19) Oct 30 2010 Interrupting? Breaks do interrupt work time, but that's the point.
- Bruno Medeiros (10/13) Nov 24 2010 And how does Walter (or anyone else for that matter), determine if they
- Emil Madsen (19/40) Nov 24 2010 I must say; I think bearophile usually brings up some good issues, and
- Walter Bright (15/26) Nov 24 2010 I think bearophile does a valuable service to us by bringing up discussi...
- Emil Madsen (19/47) Nov 24 2010 Well I must agree with you, atleast on the part, about how he sometimes
- Iain Buclaw (10/62) Nov 24 2010 He's started peeking an interest at GDC too, which was both amusing and ...
-
Emil Madsen
(16/102)
Nov 25 2010
Sure it can get tiring when hes like saying 'Language/Compiler
- Iain Buclaw (6/106) Nov 25 2010 To paraphrase a famous that best describes my view of things when it com...
- so (5/12) Nov 25 2010 Would that apply to PL design as well?
- spir (21/68) Nov 25 2010 ted
They keep adding more and more stuff to GCC, some unfinished notes about GCC 4.6, there are some interesting things: http://gcc.gnu.org/gcc-4.6/changes.html Some points:Improved auto-detection of const and pure functions. Newly, noreturn functions are auto-detected.-Wsuggest-attribute=[pure|const|noreturn] Warn for cases where adding an attribute may be beneficial. The attributes currently supported are listed below. -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn Warn about functions which might be candidates for attributes pure, const or noreturn. The compiler only warns for functions visible in other compilation units or (in the case of pure and const) if it cannot prove that the function returns normally. A function returns normally if it doesn't contain an infinite loop nor returns abnormally by throwing, calling abort() or trapping. This analysis requires option -fipa-pure-const, which is enabled by default at -O and higher. Higher optimization levels improve the accuracy of the analysis. This is one of the "compiler tips" for DMD I was talking about :-) It seems GCC devs like that idea. It may be good to have a DMD tip that lists where the programmer may add pure, const for class/struct methods, maybe nothrow (and noreturn if and when it's present in D). It reduces the time needed to add those attributes to D code. ----------------------Partial inlining is now supported and enabled by default at -O2 and greater. The feature can be controlled via -fpartial-inlining. Partial inlining splits functions with short hot path to return. This allows more aggressive inlining of the hot path leading to better performance and often to code size reductions (because cold parts of functions are not duplicated).This is very good. The JavaVM is doing this for years. I don't know how GCC finds the hot paths, I presume it uses profiling data. ----------------------Virtual methods considered for inlining when caller is inlined and devirtualization is possible then.This is good if it works. I will need to test how well this works... ----------------------A new switch -fstack-usage has been added. It makes the compiler output stack usage information for the program, on a per-function basis, in an auxiliary file.This is useful especially on small systems. ----------------------The -Wshadow option now warns if a local variable or type declaration shadows another type in C++. Note that the compiler will not warn if a local variable shadows a struct/class/enum, but will warn if it shadows an explicit typedef.This seems interesting. ----------------------The new -fsplit-stack option permits programs to use a discontiguous stack. This is useful for threaded programs, in that it is no longer necessary to specify the maximum stack size when creating a thread. This feature is currently only implemented for 32-bit and 64-bit x86 GNU/Linux targets.This sounds like a similar feature of the Go language. Bye, bearophile
Oct 30 2010
bearophile wrote:Yeah, D has had that for 10 years now.The -Wshadow option now warns if a local variable or type declaration shadows another type in C++. Note that the compiler will not warn if a local variable shadows a struct/class/enum, but will warn if it shadows an explicit typedef.This seems interesting.
Oct 30 2010
Walter:bearophile wrote:Let's focus our attention on what DMD "lacks", instead! :-) If you focus only on your strong points you will not improve yourself, this is a basic rule for any serious artist or athlete. Regarding that feature, this program shows no warnings, is this a bad example? alias int foo; struct bar {} void main() { int foo; int bar; } Bye, bearophileYeah, D has had that for 10 years now.The -Wshadow option now warns if a local variable or type declaration shadows another type in C++. Note that the compiler will not warn if a local variable shadows a struct/class/enum, but will warn if it shadows an explicit typedef.This seems interesting.
Oct 30 2010
Bearophile, let me start by emphasizing that you are a valuable member of the D community. bearophile wrote:Walter:Why? What matters is whether D gets the job done or not, not whether it has a laundry list that encompasses every single feature of every other language. Isn't this endless desire for checklists of features incompatible with your expressed desire for a simple language? You post lists of features every day. If I had a staff of 100 expert people working on the compiler, I could not begin to keep up with that. At some point, it's pointless. It also bothers me that you regularly read feature lists put out by other languages, and seem unaware of what D can do. For example, you wrote recently that dmd lacked data flow analysis optimizations.bearophile wrote:Let's focus our attention on what DMD "lacks", instead! :-)Yeah, D has had that for 10 years now.The -Wshadow option now warns if a local variable or type declaration shadows another type in C++. Note that the compiler will not warn if a local variable shadows a struct/class/enum, but will warn if it shadows an explicit typedef.This seems interesting.If you focus only on your strong points you will not improve yourself,If you focus only on what you lack, you will be seriously unhappy. And D also *should* focus on what it does well.this is a basic rule for any serious artist or athlete.Would you criticize a long distance runner for being lousy at wrestling? Shouldn't a long distance runner focus on what he's good at - long distance running?Regarding that feature, this program shows no warnings, is this a bad example? alias int foo; struct bar {} void main() { int foo; int bar; }Yes, it is a bad example. My experience is that shadowing global declarations is not a problem. Shadowing local ones is, though, and I've seen a lot of bugs caused by it. void foo(int x) { { long x; } } dmd -c test test.d(4): Error: shadowing declaration test.foo.x is deprecated
Oct 30 2010
"Walter Bright" <newshound2 digitalmars.com> wrote in message news:iaiehl$24s1$1 digitalmars.com...bearophile wrote:Tell that to Bo Jackson! :)If you focus only on your strong points you will not improve yourself, this is a basic rule for any serious artist or athlete.Would you criticize a long distance runner for being lousy at wrestling? Shouldn't a long distance runner focus on what he's good at - long distance running?
Oct 30 2010
"Nick Sabalausky" <a a.a> wrote in message news:iaifev$26jn$1 digitalmars.com..."Walter Bright" <newshound2 digitalmars.com> wrote in message news:iaiehl$24s1$1 digitalmars.com...On a more serious note though, just focusing on what something's good at amounts to wearing blinders and is exactly what turned Java into a puritanical piece of shit: "Java's good at objects, so let's pretend nothing else exists." And it's what made Haskell into something that practically no one uses for real-world work: "Haskell's really good at functional. So let's pretend nothing else exists." Of course, what makes D so great is that we all know perfectly well it tries to do a variety of things well, which is actually in contrast to what you're saying here. I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.bearophile wrote:Tell that to Bo Jackson! :)If you focus only on your strong points you will not improve yourself, this is a basic rule for any serious artist or athlete.Would you criticize a long distance runner for being lousy at wrestling? Shouldn't a long distance runner focus on what he's good at - long distance running?
Oct 30 2010
Nick Sabalausky wrote:On a more serious note though, just focusing on what something's good at amounts to wearing blinders and is exactly what turned Java into a puritanical piece of shit: "Java's good at objects, so let's pretend nothing else exists." And it's what made Haskell into something that practically no one uses for real-world work: "Haskell's really good at functional. So let's pretend nothing else exists." Of course, what makes D so great is that we all know perfectly well it tries to do a variety of things well, which is actually in contrast to what you're saying here. I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Balance is, of course, essential. So is prioritizing what is important and what is not.
Oct 30 2010
Well, let me say that both languages seem to be doing much better than D. Java like it or not, is the number one language in Europe. If you know Java or C++ well, even with the current crisis, it's quite easy to get a job in the IT sector. As for Haskell, for sure it is an academic language but it gets much more industry support than D has. Lets not forget that its development is sponsored by Microsoft. http://software.intel.com/en-us/blogs/2010/05/27/announcing-intel-concurrent-collections-for-haskell-01/ http://www.haskell.org/haskellwiki/Haskell_in_industry http://cufp.org/conference I agree with bearophile, if you want D to become more visible in the industry, it needs to be more stable, have tools and a clearer image. I came to this forums, after reading the TDPL, a few months ago, when I was getting into Go, and wanted to see what D was about. What I found is that D also shares some fate with Java. Many people have a bad opinion about Java due to issues that are no longer true. In D's case many people still refer to Tango\Phobos issues and community issues. Even though I have no use for D on my line of work, I have found nice community and wish all the best for the language. -- Paulo "Nick Sabalausky" <a a.a> wrote in message news:iaig3k$27oc$1 digitalmars.com..."Nick Sabalausky" <a a.a> wrote in message news:iaifev$26jn$1 digitalmars.com..."Walter Bright" <newshound2 digitalmars.com> wrote in message news:iaiehl$24s1$1 digitalmars.com...On a more serious note though, just focusing on what something's good at amounts to wearing blinders and is exactly what turned Java into a puritanical piece of shit: "Java's good at objects, so let's pretend nothing else exists." And it's what made Haskell into something that practically no one uses for real-world work: "Haskell's really good at functional. So let's pretend nothing else exists." Of course, what makes D so great is that we all know perfectly well it tries to do a variety of things well, which is actually in contrast to what you're saying here. I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.bearophile wrote:Tell that to Bo Jackson! :)If you focus only on your strong points you will not improve yourself, this is a basic rule for any serious artist or athlete.Would you criticize a long distance runner for being lousy at wrestling? Shouldn't a long distance runner focus on what he's good at - long distance running?
Oct 31 2010
On 31/10/10 10:59 AM, Paulo Pinto wrote:What I found is that D also shares some fate with Java. Many people have a bad opinion about Java due to issues that are no longer true. In D's case many people still refer to Tango\Phobos issues and community issues.These things go away with time. People used to complain about terrible template support in C++ compilers, but not any more. I definitely agree that D needs more stability and tools. These things will come with time as well. I also think that D needs some killer app(s) that people will look at and think "Oh, that was made with D? Maybe I should have a look at learning it..." Nothing shows what a language is capable of more than the apps that are made using it.
Oct 31 2010
Nick Sabalausky <a a.a> wrote:I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Yeah, I always see bearophile's lists as 'maybe some of this could fit in D at some point'. Well worth having on the list, but not to be regarded as The Bearer of Absolute Commandments. That said, I fully understand that Walter could get more tired of it than do I - I don't feel the pressure. -- Simen
Oct 31 2010
Sun, 31 Oct 2010 16:48:47 +0100, Simen kjaeraas wrote:Nick Sabalausky <a a.a> wrote:Bearophile often compares DMD to world class products such as LLVM. Even though Walter might be the best compiler writer in this world, he can't compete with a motivated team of professionals. The Intel C++ compiler, GCC, and LLVM teams are simply much bigger and well paid. Same things with DMDScript vs Google's Javascript engine. It's almost impossible to compete with these big teams. If you need performance, you probably use these tools instead.I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Yeah, I always see bearophile's lists as 'maybe some of this could fit in D at some point'. Well worth having on the list, but not to be regarded as The Bearer of Absolute Commandments. That said, I fully understand that Walter could get more tired of it than do I - I don't feel the pressure.
Oct 31 2010
retard wrote:Bearophile often compares DMD to world class products such as LLVM. Even though Walter might be the best compiler writer in this world, he can't compete with a motivated team of professionals.What irritated me about bearophile's comparison of dmd to LLVM is he would say things like dmd didn't do data flow analysis (it does) and that it had poor integer arithmetic code gen (the integer arithmetic was the same) that it didn't do common loop optimizations (it did), etc.The Intel C++ compiler, GCC, and LLVM teams are simply much bigger and well paid.Yes, I know people just assume dmd doesn't do things because it is a small team. My favorite was the assumption that dmd didn't do the Named Return Value optimization, an optimization I invented back in 1990. Back in the days of competitive compiler benchmarks, my compiler often won them, up against those well paid huge compiler teams from MS, Borland, etc. A friend told me once that the head of one large company used to yell down the halls how come Walter sitting over his garage can beat you guys. That made me feel good.Same things with DMDScript vs Google's Javascript engine. It's almost impossible to compete with these big teams. If you need performance, you probably use these tools instead.I have to laugh at that. When DMDScript was created, back in 2001, it was twice as fast as Microsoft's Jscript, and *twenty* times faster than Mozilla's javascript. All from little ole me. It passed Sun's javascript validation suite, and was sold by sun as part of their Chilicom software (the C++ version). I haven't worked on it in 10 years, though, because of a lack of customer interest in it. It took the others 10 years to catch up. Where the large teams pay off, though, is the breadth of the offering.
Oct 31 2010
On Sun, 2010-10-31 at 11:14 -0700, Walter Bright wrote: [ . . . ]Yes, I know people just assume dmd doesn't do things because it is a smal=l team.=20 [ . . . ]Where the large teams pay off, though, is the breadth of the offering.I appreciate this is going off topic somewhat for the list, never mind the original posting, but I think summarizing this issue should be constructive -- albeit me seemingly acting as Devil's Advocate. (NB This is not a troll, for me these are serious issues -- I am a consultant and therefore whilst I do no significant development on big projects, I advise influencers and decision makers.) The marketing problem for D, at least as it impinges on me, is that it is "Walter's language with Andrei helping out". No matter that this may be an unfair and incorrect representation of reality overall, it is nonetheless what the project management and CTO/CIO community perceive of D, if they have heard of it at all. Let us assume the competition that D aims at is C, C++ and Go. I think we can ignore the VM-based community for now in this as they are either C/C++/Python/Lua or Java/Scala/Groovy/Clojure/C/C++ centred with little chance of looking for alternatives. Where the "native code" and "virtual machine" communities have overlap, it is generally handled by build, usually using SCons, Waf, or some home-grown equivalent. C and C++ have international standards, multiple compliant (!) realizations, huge vendor support, a long history, and much tooling. Go has Google behind it. D is perceived as a collection of "one-man band" bits with a few hangers-on. In this light, there is no way for D to have any traction, even if it is technically a better language than any of the actual competition. In order to get the ability to get traction, I see two main ways forward: 1. A big company gets involved and provides resources to ramp up on the productization of the end-to-end toolchain and library support -- so all of IDE support Qt, GTK libraries, etc. -- and gets some seriously high-profile projects using D. 2. The project goes fully open source with a core of 5 or 6 people, supported by employers or via some form of sponsorship, actively working nigh on full time to ramp up on the productization of the end-to-end toolchain and library support -- so all of IDE support Qt, GTK libraries, etc. -- and gets some seriously high-profile projects using D. Over the roughly four to five years I have known about D very little has seemed to change in the organization and marketing of the language and its development. The technical quality is there, the intention is there, but the realization of the dream has had no constructive effort. The ACCU conference has a couple of talks on or mentioning D each year, but there is nothing in between, There seems to be no "D buzz", even in London. Compare this to the "buzz" in London about Go. Not to mention the continued interest and "buzz" around C, C++, Java, Scala, Clojure, etc. Some (arguably rhetorical) questions: -- Why did Google push Go rather than use D when they became dissatisfied with C, C++, etc. -- Can D be used for the native clients in the web applications arena that seem to be coming, cf. Go's NaCl. -- Why don't ThoughtWorks use Go and D, but push Clojure and Ruby? -- How come no recruitment agent cares about D experience (or lack of it)? -- What will make companies take the risk and use D for a project instead of C++? Or put another way why do companies just use C and C++ even ion the face of better alternatives? Actually I know the answers to the last two and they have no basis in technical issues. Having already written half an essay, I think I will leave it there. I really would like to see D get some serious traction, but to be honest with the way things have and continue to go, I have doubts. Can I be proved wrong? --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Oct 31 2010
Russel Winder:-- Why did Google push Go rather than use D when they became dissatisfied with C, C++, etc.I don't know the answer, but maybe the answer is inside the Google C++ style guide, this document disallows most of the features of C++. So it seems Google doesn't want 3/4 of the features of D2. And maybe inside Google Pike and other people prefer to invent a new language.-- Can D be used for the native clients in the web applications arena that seem to be coming, cf. Go's NaCl.NaCl seems a nice idea, but I think so far no one is using it. It's in Chrome, so things may eventually change. Bye, bearophile
Oct 31 2010
Russel Winder wrote:I appreciate this is going off topic somewhat for the list, never mind the original posting, but I think summarizing this issue should be constructive -- albeit me seemingly acting as Devil's Advocate. (NB This is not a troll, for me these are serious issues -- I am a consultant and therefore whilst I do no significant development on big projects, I advise influencers and decision makers.) The marketing problem for D, at least as it impinges on me, is that it is "Walter's language with Andrei helping out". No matter that this may be an unfair and incorrect representation of reality overall, it is nonetheless what the project management and CTO/CIO community perceive of D, if they have heard of it at all.Most (all?) languages have one or two prime designers behind it. What mystifies me is why this is considered a bad thing for D.Let us assume the competition that D aims at is C, C++ and Go. I think we can ignore the VM-based community for now in this as they are either C/C++/Python/Lua or Java/Scala/Groovy/Clojure/C/C++ centred with little chance of looking for alternatives. Where the "native code" and "virtual machine" communities have overlap, it is generally handled by build, usually using SCons, Waf, or some home-grown equivalent. C and C++ have international standards, multiple compliant (!) realizations, huge vendor support, a long history, and much tooling. Go has Google behind it.C and C++ existed and were successful long before any of those standards existed. C++ was "Bjarne's language" for 15 years, and that did not impair it. C, of course, is Kernighan and Ritchie's. Perl is Larry Wall's. Python is Guido van Rossum's. And on and on. (Perl, Python, Ruby, have only one implementation.)D is perceived as a collection of "one-man band" bits with a few hangers-on. In this light, there is no way for D to have any traction, even if it is technically a better language than any of the actual competition.Yet other successful languages follow this same model. Why is it bad for D? I suspect it really is some other issue.In order to get the ability to get traction, I see two main ways forward: 1. A big company gets involved and provides resources to ramp up on the productization of the end-to-end toolchain and library support -- so all of IDE support Qt, GTK libraries, etc. -- and gets some seriously high-profile projects using D.I agree that would help enormously.2. The project goes fully open source with a core of 5 or 6 people, supported by employers or via some form of sponsorship, actively working nigh on full time to ramp up on the productization of the end-to-end toolchain and library support -- so all of IDE support Qt, GTK libraries, etc. -- and gets some seriously high-profile projects using D.D is fully open source.Over the roughly four to five years I have known about D very little has seemed to change in the organization and marketing of the language and its development. The technical quality is there, the intention is there, but the realization of the dream has had no constructive effort. The ACCU conference has a couple of talks on or mentioning D each year, but there is nothing in between, There seems to be no "D buzz", even in London. Compare this to the "buzz" in London about Go. Not to mention the continued interest and "buzz" around C, C++, Java, Scala, Clojure, etc. Some (arguably rhetorical) questions: -- Why did Google push Go rather than use D when they became dissatisfied with C, C++, etc. -- Can D be used for the native clients in the web applications arena that seem to be coming, cf. Go's NaCl. -- Why don't ThoughtWorks use Go and D, but push Clojure and Ruby? -- How come no recruitment agent cares about D experience (or lack of it)? -- What will make companies take the risk and use D for a project instead of C++? Or put another way why do companies just use C and C++ even ion the face of better alternatives? Actually I know the answers to the last two and they have no basis in technical issues. Having already written half an essay, I think I will leave it there. I really would like to see D get some serious traction, but to be honest with the way things have and continue to go, I have doubts. Can I be proved wrong?Sometimes I feel people are just waiting around, wanting to use D, but waiting for someone else to make the first move. It's like a dance club, where everyone sits on their toes wanting to go out on the floor, but unwilling to be the first. As soon as someone does, whoosh, everyone follows.
Oct 31 2010
Sun, 31 Oct 2010 14:12:04 -0700, Walter Bright wrote:Russel Winder wrote:It's considered a bad thing when the users disagree with the design decisions. Those who have faith in the language continue to criticize / rant / provide patches and wish it would improve. Others just leave the sinking ship.I appreciate this is going off topic somewhat for the list, never mind the original posting, but I think summarizing this issue should be constructive -- albeit me seemingly acting as Devil's Advocate. (NB This is not a troll, for me these are serious issues -- I am a consultant and therefore whilst I do no significant development on big projects, I advise influencers and decision makers.) The marketing problem for D, at least as it impinges on me, is that it is "Walter's language with Andrei helping out". No matter that this may be an unfair and incorrect representation of reality overall, it is nonetheless what the project management and CTO/CIO community perceive of D, if they have heard of it at all.Most (all?) languages have one or two prime designers behind it. What mystifies me is why this is considered a bad thing for D.(Perl, Python, Ruby, have only one implementation.)Is this a joke?I've never gotten the impression that e.g. JavaScript/PHP/Python/Ruby/ Scala/Haskell were one man bands. C++ used to be a one man project, but now there's the committee. ISO/ANSI standards rarely are one man projects.D is perceived as a collection of "one-man band" bits with a few hangers-on. In this light, there is no way for D to have any traction, even if it is technically a better language than any of the actual competition.Yet other successful languages follow this same model. Why is it bad for D? I suspect it really is some other issue.DMD has a non open source backend ( http://www.opensource.org/docs/osd ), but the D language is of course open. There aren't many "closed source" languages out there. It would help if that backend was completely abandoned and something like LLVM was used instead. DMD and LDC teams could join their forces and implement something much faster. The other LLVM developers independently improve the backend optimizations.2. The project goes fully open source with a core of 5 or 6 people, supported by employers or via some form of sponsorship, actively working nigh on full time to ramp up on the productization of the end-to-end toolchain and library support -- so all of IDE support Qt, GTK libraries, etc. -- and gets some seriously high-profile projects using D.D is fully open source.
Oct 31 2010
== Quote from Walter Bright (newshound2 digitalmars.com)'s articlevan Rossum's. And on and on. (Perl, Python, Ruby, have only one implementation.)Nitpick (since your overall post was mostly on target): Python has Jython and IronPython and PyPy. Ruby has JRuby and IronRuby.
Oct 31 2010
dsimcha wrote:== Quote from Walter Bright (newshound2 digitalmars.com)'s articleThose came along *much* later, like more than a decade *after* those languages were successful.van Rossum's. And on and on. (Perl, Python, Ruby, have only one implementation.)Nitpick (since your overall post was mostly on target): Python has Jython and IronPython and PyPy. Ruby has JRuby and IronRuby.
Oct 31 2010
Interestingly, what goes along with the discussion about the perception of D as a language is what happened to IronPython and IronRuby. Microsoft initially showed a whole lot of support for those two languages, and assembled teams to work on both. That caused a big surge in their popularities. Of course, later Microsoft kinda lost interest and IronRuby was first "dropped" and recently Microsoft announced it was no longer supporting IronPython. So, I think having a strong community behind an open-source language is desirable instead of having corporate support. Because of their communities, the IronPython and IronRuby projects are still alive right now. On Sun, Oct 31, 2010 at 5:27 PM, Walter Bright <newshound2 digitalmars.com>wrote:dsimcha wrote:== Quote from Walter Bright (newshound2 digitalmars.com)'s articleThose came along *much* later, like more than a decade *after* those languages were successful.van Rossum's. And on and on. (Perl, Python, Ruby, have only one implementation.)Nitpick (since your overall post was mostly on target): Python has Jython and IronPython and PyPy. Ruby has JRuby and IronRuby.
Oct 31 2010
Sun, 31 Oct 2010 15:27:03 -0700, Walter Bright wrote:dsimcha wrote:His point was: there *are* other implementations. Other than that, the daily portion of bullshit talk from you is impressive. "Around 2005, interest in the Ruby language surged in tandem with Ruby on Rails, a popular web application framework written in Ruby. Rails is frequently credited with making Ruby "famous" and the association is so strong that the two are sometimes conflated by programmers who are new to Ruby.[9]" [1] "JRuby was originally created by Jan Arne Petersen, in 2001. At that time and for several years following, the code was a direct port of the Ruby 1.6 C code. With the release of Ruby 1.8.6, an effort began to update JRuby to 1.8.6 features and semantics. Since 2001, several contributors have assisted the project, leading to the current (2008) core team of four members." [2] "On April 30, 2007, at MIX 2007, Microsoft announced IronRuby, which uses the same name as Wilco Bauwer's IronRuby project with permission.[3] It was planned to be released to the public at OSCON 2007.[4]" [3] My interpretation: JRuby existed before Ruby was famous. IronRuby was started pretty much because of the Rails hype. A lot of other CLR projects were also started at that time, though. It couldn't have started a lot earlier because of the immaturity of CLR. I don't use Python that much so I have no idea when it really got popular. The code swarm video [4] gives some impressions. It looks like in 2000 it finally took off. Jython started in 1997 and moved to sourceforge in 2000 [5]. IronPython was announced in 2006 [6]. Conclusion: 1997-2000 = -3 and 2006-2000 = 6 are a lot less than a "*much* later, like more than a decade".. [1] http://en.wikipedia.org/wiki/Ruby_(programming_language) [2] http://en.wikipedia.org/wiki/JRuby [3] http://en.wikipedia.org/wiki/IronRuby [4] http://www.vimeo.com/1093745 [5] http://en.wikipedia.org/wiki/Jython [6] http://en.wikipedia.org/wiki/IronPython== Quote from Walter Bright (newshound2 digitalmars.com)'s articleThose came along *much* later, like more than a decade *after* those languages were successful.van Rossum's. And on and on. (Perl, Python, Ruby, have only one implementation.)Nitpick (since your overall post was mostly on target): Python has Jython and IronPython and PyPy. Ruby has JRuby and IronRuby.
Oct 31 2010
retard wrote:"Around 2005, interest in the Ruby language surged in tandem with Ruby on Rails, a popular web application framework written in Ruby. Rails is frequently credited with making Ruby "famous" and the association is so strong that the two are sometimes conflated by programmers who are new to Ruby.[9]" [1]I have the second edition of "Programming Ruby", the definitive book on Ruby. Ruby was first released in 1995, and the first edition in 2000, and there never would have been a second edition if it wasn't famous."JRuby was originally created by Jan Arne Petersen, in 2001. At that time and for several years following, the code was a direct port of the Ruby 1.6 C code. With the release of Ruby 1.8.6, an effort began to update JRuby to 1.8.6 features and semantics. Since 2001, several contributors have assisted the project, leading to the current (2008) core team of four members." [2] "On April 30, 2007, at MIX 2007, Microsoft announced IronRuby, which uses the same name as Wilco Bauwer's IronRuby project with permission.[3] It was planned to be released to the public at OSCON 2007.[4]" [3] My interpretation: JRuby existed before Ruby was famous.As you said, it was the same source code. That doesn't count.I don't use Python that much so I have no idea when it really got popular.Python was started in 1989. I remember a fair amount of buzz about it in 1997. My 1999 book on Python claims it is "becoming mainstream". The code swarm video [4] gives some impressions. It looks like in2000 it finally took off. Jython started in 1997 and moved to sourceforge in 2000 [5]. IronPython was announced in 2006 [6].This account http://hugunin.net/story_of_jython.html says that the creator of Jython worked with Guido personally. That suggests it, too, at least started as a port of Python. "This gave me the wonderful opportunity to work closely with many of the key Python developers there, including Guido van Rossum himself." By the way, Cristi has created a .net implementation of D. Does that count?
Oct 31 2010
On 31/10/2010 23:20, Walter Bright wrote:retard wrote:Whoa, I didnt imagine Ruby to be that old, I didn't think it went back to before the 2000s ... -- Bruno Medeiros - Software Engineer"Around 2005, interest in the Ruby language surged in tandem with Ruby on Rails, a popular web application framework written in Ruby. Rails is frequently credited with making Ruby "famous" and the association is so strong that the two are sometimes conflated by programmers who are new to Ruby.[9]" [1]I have the second edition of "Programming Ruby", the definitive book on Ruby. Ruby was first released in 1995, and the first edition in 2000, and there never would have been a second edition if it wasn't famous.
Nov 24 2010
On 10/31/2010 05:12 PM, Walter Bright wrote:D is fully open source.No, Walter, it isn't, and you should know this by now considering all the past discussion. All the back-end work you're doing is "source available". "Open source" was coined in 1998 by people with a precise meaning: See http://www.opensource.org/docs/osd and http://www.opensource.org/history . In particular, free redistribution and derived works are fundamental to the open source definition.
Oct 31 2010
Jeff Nowakowski wrote:On 10/31/2010 05:12 PM, Walter Bright wrote:Yes, and GDC and LDC are 100% GPL.D is fully open source.No, Walter, it isn't, and you should know this by now considering all the past discussion. All the back-end work you're doing is "source available". "Open source" was coined in 1998 by people with a precise meaning: See http://www.opensource.org/docs/osd and http://www.opensource.org/history . In particular, free redistribution and derived works are fundamental to the open source definition.
Oct 31 2010
On 10/31/2010 06:30 PM, Walter Bright wrote:Yes, and GDC and LDC are 100% GPL.That's nice, except that neither are suitable as a replacement for your proprietary D2 compiler, which is the reference compiler and where all the bleeding edge work is done. So strong statements like "D is fully open source" are misleading. The open source compilers are always playing catch-up, and the people that could be helping you out on the compiler are instead replicating your efforts.
Oct 31 2010
Jeff Nowakowski wrote:On 10/31/2010 06:30 PM, Walter Bright wrote:I don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut & paste job for LDC and GDC once they are already up and running with the front end. The bugfix patches are nearly all tagged with specific updates to the source, so any one critical patch can be easily applied. There are 3 D compilers, 2.5 of which are GPL, and the source is available for the rest.Yes, and GDC and LDC are 100% GPL.That's nice, except that neither are suitable as a replacement for your proprietary D2 compiler, which is the reference compiler and where all the bleeding edge work is done. So strong statements like "D is fully open source" are misleading. The open source compilers are always playing catch-up, and the people that could be helping you out on the compiler are instead replicating your efforts.
Oct 31 2010
On 10/31/2010 09:29 PM, Walter Bright wrote:I don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut & paste job for LDC and GDC once they are already up and running with the front end.Are they using the front end?The bugfix patches are nearly all tagged with specific updates to the source, so any one critical patch can be easily applied. There are 3 D compilers, 2.5 of which are GPL, and the source is available for the rest.First, 2.5/3.0 is not "fully open source". Second, as of yet, there is no open source compiler for D2 comparable with DMD, never mind any demonstration that it can keep up with any changes in the reference compiler.
Oct 31 2010
Jeff Nowakowski wrote:On 10/31/2010 09:29 PM, Walter Bright wrote:Yes.I don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut & paste job for LDC and GDC once they are already up and running with the front end.Are they using the front end?
Oct 31 2010
== Quote from Walter Bright (newshound2 digitalmars.com)'s articleJeff Nowakowski wrote:That reminds me: What is the actual status of LDC2? According to the somewhat outdated-looking LDC wiki, it's highly unstable. According to http://bitbucket.org/prokhin_alexey/ldc2 serious progress is being made. Is it in a completely useless state? An alpha state? A beta state? In the bigger picture, the only usable D2 implementation is DMD. This isn't so bad, as non-reference implementations always take awhile to catch up. Jython, for example, is still back on Python 2.5. However, it would be nice if there were multiple *usable* implementations of D2.On 10/31/2010 06:30 PM, Walter Bright wrote:> TheYes, and GDC and LDC are 100% GPL.That's nice, except that neither are suitable as a replacement for your proprietary D2 compiler, which is the reference compiler and where all the bleeding edge work is done. So strong statements like "D is fully open source" are misleading.open source compilers are always playing catch-up, and the people that could be helping you out on the compiler are instead replicating your efforts.I don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut & paste job for LDC and GDC once they are already up and running with the front end. The bugfix patches are nearly all tagged with specific updates to the source, so any one critical patch can be easily applied. There are 3 D compilers, 2.5 of which are GPL, and the source is available for the rest.
Oct 31 2010
dsimcha wrote:In the bigger picture, the only usable D2 implementation is DMD. This isn't so bad, as non-reference implementations always take awhile to catch up. Jython, for example, is still back on Python 2.5. However, it would be nice if there were multiple *usable* implementations of D2.I don't understand why there would be any technical reasons why a D1 compiler using the dmd front end could not relatively trivially upgrade to D2. I can't think of any back end changes necessary to support D2, other than some trivial changes to the symbolic debug info, which are not strictly necessary. Additionally, if the LDC or GDC teams have suggestions on changes to the front end that will make their work easier, I'm not hard to find!
Oct 31 2010
== Quote from Walter Bright (newshound2 digitalmars.com)'s articledsimcha wrote:For the most part, the incremental updates I've been doing with GDC have lots of (what turned out to be) trivial changes. Add those changes all up though... :~)In the bigger picture, the only usable D2 implementation is DMD. This isn't so bad, as non-reference implementations always take awhile to catch up. Jython, for example, is still back on Python 2.5. However, it would be nice if there were multiple *usable* implementations of D2.I don't understand why there would be any technical reasons why a D1 compiler using the dmd front end could not relatively trivially upgrade to D2.I can't think of any back end changes necessary to support D2, other than some trivial changes to the symbolic debug info, which are not strictly necessary.The only feature I've come across that looks set to me (finally) making changes to the backed are with implementing in/out contract inheritance, but that's a D1 feature too...Additionally, if the LDC or GDC teams have suggestions on changes to the front end that will make their work easier, I'm not hard to find!In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.
Nov 01 2010
Iain Buclaw wrote:== Quote from Walter Bright (newshound2 digitalmars.com)'s articleYup, make it work for one and you do for both.dsimcha wrote:For the most part, the incremental updates I've been doing with GDC have lots of (what turned out to be) trivial changes. Add those changes all up though... :~)In the bigger picture, the only usable D2 implementation is DMD. This isn't so bad, as non-reference implementations always take awhile to catch up. Jython, for example, is still back on Python 2.5. However, it would be nice if there were multiple *usable* implementations of D2.I don't understand why there would be any technical reasons why a D1 compiler using the dmd front end could not relatively trivially upgrade to D2.I can't think of any back end changes necessary to support D2, other than some trivial changes to the symbolic debug info, which are not strictly necessary.The only feature I've come across that looks set to me (finally) making changes to the backed are with implementing in/out contract inheritance, but that's a D1 feature too...Great!Additionally, if the LDC or GDC teams have suggestions on changes to the front end that will make their work easier, I'm not hard to find!In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.
Nov 01 2010
On 11/1/10 3:26 AM, Iain Buclaw wrote:== Quote from Walter Bright (newshound2 digitalmars.com)'s articleI wonder what we can do about increasing GDC's exposure. One common pattern is that people look for GDC, find the defunct version, and conclude that there's no work on it. Andreidsimcha wrote:For the most part, the incremental updates I've been doing with GDC have lots of (what turned out to be) trivial changes. Add those changes all up though... :~)In the bigger picture, the only usable D2 implementation is DMD. This isn't so bad, as non-reference implementations always take awhile to catch up. Jython, for example, is still back on Python 2.5. However, it would be nice if there were multiple *usable* implementations of D2.I don't understand why there would be any technical reasons why a D1 compiler using the dmd front end could not relatively trivially upgrade to D2.I can't think of any back end changes necessary to support D2, other than some trivial changes to the symbolic debug info, which are not strictly necessary.The only feature I've come across that looks set to me (finally) making changes to the backed are with implementing in/out contract inheritance, but that's a D1 feature too...Additionally, if the LDC or GDC teams have suggestions on changes to the front end that will make their work easier, I'm not hard to find!In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.
Nov 01 2010
== Quote from Andrei Alexandrescu (SeeWebsiteForEmail erdani.org)'s articleOn 11/1/10 3:26 AM, Iain Buclaw wrote:Jython, for== Quote from Walter Bright (newshound2 digitalmars.com)'s articledsimcha wrote:In the bigger picture, the only usable D2 implementation is DMD. This isn't so bad, as non-reference implementations always take awhile to catch up.I'm not sure how reachable David is, though someone mentioned that Arthur Loiret is an admin at the sourceforge page, to whom I should be able to get hold of (have some weak ties through Debian with him) and ask if he could update the main page to point people in the right direction.. IainI wonder what we can do about increasing GDC's exposure. One common pattern is that people look for GDC, find the defunct version, and conclude that there's no work on it. AndreiFor the most part, the incremental updates I've been doing with GDC have lots of (what turned out to be) trivial changes. Add those changes all up though... :~)example, is still back on Python 2.5. However, it would be nice if there were multiple *usable* implementations of D2.I don't understand why there would be any technical reasons why a D1 compiler using the dmd front end could not relatively trivially upgrade to D2.I can't think of any back end changes necessary to support D2, other than some trivial changes to the symbolic debug info, which are not strictly necessary.The only feature I've come across that looks set to me (finally) making changes to the backed are with implementing in/out contract inheritance, but that's a D1 feature too...Additionally, if the LDC or GDC teams have suggestions on changes to the front end that will make their work easier, I'm not hard to find!In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.
Nov 01 2010
On 2010-11-01 11:02:02 -0400, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> said:On 11/1/10 3:26 AM, Iain Buclaw wrote:Once GDC is current and stable on Mac OS X, I should be able to add it to my D for Xcode installer. -- Michel Fortin michel.fortin michelf.com http://michelf.com/In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.I wonder what we can do about increasing GDC's exposure. One common pattern is that people look for GDC, find the defunct version, and conclude that there's no work on it.
Nov 01 2010
why talk about gdc on LDC2 thread?
Nov 01 2010
== Quote from Michel Fortin (michel.fortin michelf.com)'s articleOn 2010-11-01 11:02:02 -0400, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> said:I'm not lavish enough to own one, so I am limited to what I can do there. :~) I pushed patches for the current apple-gcc (5664) recently. It's based on GCC-4.2, so I can imagine no problems with it. Just need someone who can build, test, and send feedback on progress. BTW: How is LDC2 doing? I don't think anyone has mentioned just *where* they are in the whole scheme of things. IainOn 11/1/10 3:26 AM, Iain Buclaw wrote:Once GDC is current and stable on Mac OS X, I should be able to add it to my D for Xcode installer.In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.I wonder what we can do about increasing GDC's exposure. One common pattern is that people look for GDC, find the defunct version, and conclude that there's no work on it.
Nov 01 2010
On 2010-11-01 21:18, Iain Buclaw wrote:== Quote from Michel Fortin (michel.fortin michelf.com)'s articleIf I recall correctly GDC didn't build on Mac OS X. Your patches applied successfully but it didn't build. The problem is I could only build GCC the Apple way and not the FSF way. If I build it the Apple way the D specific code doesn't seem to be recognized. -- /Jacob CarlborgOn 2010-11-01 11:02:02 -0400, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> said:I'm not lavish enough to own one, so I am limited to what I can do there. :~) I pushed patches for the current apple-gcc (5664) recently. It's based on GCC-4.2, so I can imagine no problems with it. Just need someone who can build, test, and send feedback on progress. BTW: How is LDC2 doing? I don't think anyone has mentioned just *where* they are in the whole scheme of things. IainOn 11/1/10 3:26 AM, Iain Buclaw wrote:Once GDC is current and stable on Mac OS X, I should be able to add it to my D for Xcode installer.In a month, the GDC project may be in such a position (up to date + stable) that I will likely do so.I wonder what we can do about increasing GDC's exposure. One common pattern is that people look for GDC, find the defunct version, and conclude that there's no work on it.
Nov 02 2010
On Sun, Oct 31, 2010 at 6:29 PM, Walter Bright <newshound2 digitalmars.com> wrote:I don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut & paste job for LDC and GDC once they are already up and running with the front end.As a casual observer of D, I've wondered in the past: why isn't D2 and the D community in general already using LLVM's backend by default? Seems that compiler back-ends are full of nitty-gritty details and relatively unglamorous work. This post makes me think there is nothing in the way, so why not just rally around LLVM and spend the time savings on more D-centric issues?
Oct 31 2010
On 10/31/10 10:38 PM, SK wrote:On Sun, Oct 31, 2010 at 6:29 PM, Walter Bright <newshound2 digitalmars.com> wrote:No Windows? AndreiI don't agree. There's very little, almost no, D specific support in the dmd back end. It's a C compiler back end. Nearly all the work is done in the front end, which should be little more than a cut& paste job for LDC and GDC once they are already up and running with the front end.As a casual observer of D, I've wondered in the past: why isn't D2 and the D community in general already using LLVM's backend by default? Seems that compiler back-ends are full of nitty-gritty details and relatively unglamorous work. This post makes me think there is nothing in the way, so why not just rally around LLVM and spend the time savings on more D-centric issues?
Oct 31 2010
On Sun, Oct 31, 2010 at 9:19 PM, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:No Windows?My Google-fu shows most complaints related to LLVM on Windows are actually clang problems. I also came across this, but maybe old news here: http://software.intel.com/en-us/blogs/2009/05/27/why-we-chose-llvm/
Oct 31 2010
On 01.11.2010 05:43, SK wrote:On Sun, Oct 31, 2010 at 9:19 PM, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:there is no Windows Exception (SEH) Support in LLVMNo Windows?My Google-fu shows most complaints related to LLVM on Windows are actually clang problems. I also came across this, but maybe old news here: http://software.intel.com/en-us/blogs/2009/05/27/why-we-chose-llvm/
Nov 01 2010
On Sun, Oct 31, 2010 at 9:43 PM, SK <sk metrokings.com> wrote:On Sun, Oct 31, 2010 at 9:19 PM, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:On further reading, it seems that the reason LLVM is not the focus is answered in the previous thread about gcc 4.6. To paraphrase, the answer is not just lackluster Windows support, but also that Walter has a professional and business interest in advancing back-end compiler technology. Fair enough.No Windows?My Google-fu shows most complaints related to LLVM on Windows are actually clang problems. =A0I also came across this, but maybe old news here: http://software.intel.com/en-us/blogs/2009/05/27/why-we-chose-llvm/
Oct 31 2010
Would it be possible to organize a "bounty" for having the backend released u= nder an OSI-approved license? On Oct 31, 2010, at 22:48, Jeff Nowakowski <jeff dilacero.org> wrote:On 10/31/2010 05:12 PM, Walter Bright wrote:ast discussion. All the back-end work you're doing is "source available". "O= pen source" was coined in 1998 by people with a precise meaning: See http://= www.opensource.org/docs/osd and http://www.opensource.org/history .=20 D is fully open source.=20 No, Walter, it isn't, and you should know this by now considering all the p==20 In particular, free redistribution and derived works are fundamental to th=e open source definition.
Oct 31 2010
== Quote from Christopher Bergqvist (quasiconscious gmail.com)'s articleWould it be possible to organize a "bounty" for having the backend released u nder an OSI-approved license?Vote++. I understand that this has worked in the past, though I don't remember off the top of my head what the project was.
Oct 31 2010
dsimcha wrote:=3D=3D Quote from Christopher Bergqvist (quasiconscious gmail.com)'s ar=ticleeased uWould it be possible to organize a "bounty" for having the backend rel=remembernder an OSI-approved license?=20 Vote++. I understand that this has worked in the past, though I don't =off the top of my head what the project was.The first one I know of is Blender. I believe there have been a couple of others since. Jerome --=20 mailto:jeberger free.fr http://jeberger.free.fr Jabber: jeberger jabber.fr
Nov 03 2010
Yes, I don't want to run Walter into bankruptcy though. ;) Honestly, I do think it would change the perception of the language in a ben= eficial way if one could say that the whole reference compiler infrastructur= e were _unquestionably_ open source. On Nov 3, 2010, at 21:17, "J=C3=A9r=C3=B4me M. Berger" <jeberger free.fr> wr= ote:dsimcha wrote:cle=3D=3D Quote from Christopher Bergqvist (quasiconscious gmail.com)'s arti=sed uWould it be possible to organize a "bounty" for having the backend relea=membernder an OSI-approved license?=20 Vote++. I understand that this has worked in the past, though I don't re=off the top of my head what the project was.=20 The first one I know of is Blender. I believe there have been a couple of others since. =20 Jerome --=20 mailto:jeberger free.fr http://jeberger.free.fr Jabber: jeberger jabber.fr =20
Nov 03 2010
On Sun, 31 Oct 2010 14:12:04 -0700, Walter Bright <newshound2 digitalmars.com> wrote:Sometimes I feel people are just waiting around, wanting to use D,but waitingfor someone else to make the first move. It's like a dance club,where everyone With Python what happened for some years was that some companies were using it for lots of internal project, but not disclosing its use, for fear that the upper management could scream, "whats that python crap! That is not java! " I know because I worked on one of them (a fortune 100 bank). The same happens with lots of other technologies inside Big Corps (MySQL comes too my mind too), they are first used by programmers and people that know their job in a semi stealth way and later they are accepted by the people whose main job is internal company politics and can't tell the difference of a ref from a pointer. I'm not saying this is the case with D2, I would not use it my daywork production code yet (but my play project at home is already over 5000 lines of code and the last version of dmd fixed all the bugs I stumbled on while developing it), but this is surely going to happen a lot once D2 stabilizes.
Nov 01 2010
Juanjo Alvarez wrote:With Python what happened for some years was that some companies were using it for lots of internal project, but not disclosing its use, for fear that the upper management could scream, "whats that python crap! That is not java! " I know because I worked on one of them (a fortune 100 bank). The same happens with lots of other technologies inside Big Corps (MySQL comes too my mind too), they are first used by programmers and people that know their job in a semi stealth way and later they are accepted by the people whose main job is internal company politics and can't tell the difference of a ref from a pointer. I'm not saying this is the case with D2, I would not use it my daywork production code yet (but my play project at home is already over 5000 lines of code and the last version of dmd fixed all the bugs I stumbled on while developing it), but this is surely going to happen a lot once D2 stabilizes.I agree that the most likely route for D is in through the back door.
Nov 01 2010
On Mon, 01 Nov 2010 02:15:06 -0700Walter> I agree that the most likely route for D is in through the back Walter> door. Why not open-source projects as well? We're planning to make one, despite advises against (see latest answer http://tinyurl.com/36yzzj4 ) Sincerely, Gour --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------"Walter" =3D=3D Walter Bright wrote:
Nov 01 2010
Gour wrote:On Mon, 01 Nov 2010 02:15:06 -0700I appreciate you having the courage to stand up to the critics. I hope we can ensure that your choice turns out to be a big win for you.Walter> I agree that the most likely route for D is in through the back Walter> door. Why not open-source projects as well? We're planning to make one, despite advises against (see latest answer http://tinyurl.com/36yzzj4 )"Walter" == Walter Bright wrote:
Nov 01 2010
On Mon, 01 Nov 2010 11:14:09 -0700Walter> I appreciate you having the courage to stand up to the critics. Walter> I hope we can ensure that your choice turns out to be a big win Walter> for you. Well, I learnt that judging someone based on his (its) past is in the ignorance, based on the present is in passion and seeing the potential is in the goodness...so, we (just) want to see D's goodness. ;) Sincerely, Gour=20 --=20 Gour | Hlapicina, Croatia | GPG key: CDBF17CA ----------------------------------------------------------------"Walter" =3D=3D Walter Bright wrote:
Nov 01 2010
Some (arguably rhetorical) questions:I know you said "rhetorical" but I can't help chiming in on some of them anyway ;) Some of these below may sound, umm, "troll-ish", but they really are my honest opinion:Why did Google push Go rather than use D when they became dissatisfied with C, C++, etc.Some of what they've said seemed to indicate lack of awareness of D (at best). Other than that: (Speculation): Google NIH, and the Go developers believing the same thing they've gotten other's to believe: "Go's made by Google and by the same people that made C and Unix (forty fucking years ago), so it HAS to be great!"Why don't ThoughtWorks use Go and D, but push Clojure and Ruby?Never even heard of ThoughtWorks.How come no recruitment agent cares about D experience (or lack of it)?Speaking from direct personal experience with those people, recruitment agents and others in HR are among the dumbest people in the world. They believe and disbelieve things randomly, presumably based entirely on neuron misfires. I actually had one tell me "I don't know anything about programming, but I'm very good at identifying people who are good at it." What a fucking moron. Clearly, this person's real-world worth is about $0/yr, but some dipshit actually chose to hire and give that useless excuse for a member of society both responsibility and a paycheck. (Which makes two useless-moron HR people.)Or put another way why do companies just use C and C++ even ion the face of better alternatives?I'm sure inertia is a big part of it. Another big part is what I said in my reply to Walter: most people are too stupid to realize that big companies don't know what the hell they're doing. Or put less contentiously, they've fallen into the widespread misconception that business environments are more conductive (rather than less conductive) to creating good software than smaller informal ones.I really would like to see D get some serious traction, but to be honest with the way things have and continue to go, I have doubts. Can I be proved wrong?PHP is a piece of shit language made by bedroom coders and no corporate backing, but it managed to take over the whole damn web. I'm starting to think the problem D faces with adoption is that it *doesn't* suck. If it did, people would probably be all over it.
Oct 31 2010
== Quote from Nick Sabalausky (a a.a)'s articleI'm starting to think the problem D faces with adoption is that it *doesn't* suck. If it did, people would probably be all over it.I know you're kidding, but ironically you may be right in a way. Sometimes D needs to realize that worse is better. For example: The discussion on arbitrary cost copy construction. It's silly to contort half of Phobos to efficiently support a paradigm that is only used in a few niche areas and is widely regarded as a questionable practice, especially outside of the C++ community.
Oct 31 2010
dsimcha wrote:I know you're kidding, but ironically you may be right in a way. Sometimes D needs to realize that worse is better. For example: The discussion on arbitrary cost copy construction. It's silly to contort half of Phobos to efficiently support a paradigm that is only used in a few niche areas and is widely regarded as a questionable practice, especially outside of the C++ community.This is the same argument I used to try and convince Andrei to abandon support for arbitrary cost copying. Similar arguments were made in support of making strings immutable. There were a few cases from C++ where people wanted to poke at their strings. But immutable strings have so many huge advantages, that supporting rare (and questionable) practices is just not worth it. Another one was eschewing support for the "mutable" C++ keyword - an escape from const. And not allowing an object to be both a floor wax and a desert topping (value and a reference) which is allowed in C++. Multiple inheritance. I think it is a poor tradeoff to make 95% of the users suffer to support the other 5% doing stuff they probably shouldn't be doing anyway. And suffer they will, C++ has had agonies that just won't go away trying to make that work.
Oct 31 2010
"Walter Bright" <newshound2 digitalmars.com> wrote in message news:iakbog$2ra3$1 digitalmars.com...Back in the days of competitive compiler benchmarks, my compiler often won them, up against those well paid huge compiler teams from MS, Borland, etc. A friend told me once that the head of one large company used to yell down the halls how come Walter sitting over his garage can beat you guys. That made me feel good.Yea, what many people don't realize is that developing within a big business environment is *very* constraining, for various reasons. It really is much easier for a small informal group to write good software than it is for a bigger business environment. But somehow people are brainwashed into thinking that having know-nothing managers sticking their fingers where they don't belong is somehow supposed to produce better results. Larger resources and brainwashing (ie, "brand recognition") are the *only* advantages the business environment provides, all the other advantages go to the small informal devs.
Oct 31 2010
Nick Sabalausky wrote:Yea, what many people don't realize is that developing within a big business environment is *very* constraining, for various reasons. It really is much easier for a small informal group to write good software than it is for a bigger business environment. But somehow people are brainwashed into thinking that having know-nothing managers sticking their fingers where they don't belong is somehow supposed to produce better results. Larger resources and brainwashing (ie, "brand recognition") are the *only* advantages the business environment provides, all the other advantages go to the small informal devs.Another interesting factoid is that I've been told "you can't possibly do that" from the experts before I wrote the first line of the C compiler right up to today. Retard's comments are typical.
Oct 31 2010
Sun, 31 Oct 2010 14:01:02 -0700, Walter Bright wrote:Nick Sabalausky wrote:Take a look at GCC now. Take a look at LLVM. Compare with DMC. They both generate better code than DMC. I simply have no reason to use DMC (or DMD when LDC and GDC implement the spec well enough). I agree the human resources follow the law of diminishing returns. However those resources help in so many ways. You can hire marketing people, web designers, document writers. D has improved so much after the community was allowed to take part in the development. DMD would suck badly if Don didn't help you. I don't know how my comments are typical. I base my claims on established facts and real world experiences with D. The optimal number of developers surely isn't one.Yea, what many people don't realize is that developing within a big business environment is *very* constraining, for various reasons. It really is much easier for a small informal group to write good software than it is for a bigger business environment. But somehow people are brainwashed into thinking that having know-nothing managers sticking their fingers where they don't belong is somehow supposed to produce better results. Larger resources and brainwashing (ie, "brand recognition") are the *only* advantages the business environment provides, all the other advantages go to the small informal devs.Another interesting factoid is that I've been told "you can't possibly do that" from the experts before I wrote the first line of the C compiler right up to today. Retard's comments are typical.
Oct 31 2010
retard wrote:Sun, 31 Oct 2010 14:01:02 -0700, Walter Bright wrote:You do if you want to run on Windows. LLVM won't work on Windows. Or use DMC if you want to get your compiles to run in a reasonable length of time. DMC has often been at the forefront of compiler optimizations. Did you know it was first (on the x86) to do data flow analysis? First at named return value optimizations? First to do instruction scheduling?Another interesting factoid is that I've been told "you can't possibly do that" from the experts before I wrote the first line of the C compiler right up to today. Retard's comments are typical.Take a look at GCC now. Take a look at LLVM. Compare with DMC. They both generate better code than DMC. I simply have no reason to use DMC(or DMD when LDC and GDC implement the spec well enough).I think it's great you have a choice of 3 good D compilers. I find it strange, though, when I then hear the complaint there's no 100% GPL version of D.I agree the human resources follow the law of diminishing returns. However those resources help in so many ways. You can hire marketing people, web designers, document writers. D has improved so much after the community was allowed to take part in the development. DMD would suck badly if Don didn't help you. I don't know how my comments are typical. I base my claims on established facts and real world experiences with D. The optimal number of developers surely isn't one.Your comments are typical in that I've been told for nearly 30 years now that I and the people who work with me cannot produce a competitive compiler. Yet we have and do. I'd have never accomplished anything if I listened to such loser talk. I've made a good living ignoring the constant stream of experts telling me I can't do it. I remember one journalist who was always telling me that he'd seen the next release of Microsoft's compiler, and that it would put me out of business. The release would come, and there'd be no decline in sales. So what did he do? He'd say "yeah, ok, but the next one will surely destroy your company!" The world is full of losers and loser talk. And yes, I wish I could clone Don.
Oct 31 2010
On Sunday 31 October 2010 16:02:13 Walter Bright wrote:Your comments are typical in that I've been told for nearly 30 years now that I and the people who work with me cannot produce a competitive compiler. Yet we have and do. I'd have never accomplished anything if I listened to such loser talk. I've made a good living ignoring the constant stream of experts telling me I can't do it. I remember one journalist who was always telling me that he'd seen the next release of Microsoft's compiler, and that it would put me out of business. The release would come, and there'd be no decline in sales. So what did he do? He'd say "yeah, ok, but the next one will surely destroy your company!" The world is full of losers and loser talk.Well, I expect that if you didn't produce a high quality compiler, you wouldn't have been out of business ages ago. In many ways, Microsoft's compiler is the de facto standard for C++ development on Windows, so you're going to have to do something to stand out if you want people to go with dmc. So, dmc pretty much has to be of high quality or it would be dead by now. Personally, I'd never even heard of you or Digital Mars prior to learning about D, and I'm sure that there are plenty of other C++ programmers out there in the same boat. Just because dmc isn't bigger than Microsoft's compiler doesn't mean that it's worse. If anything, the fact that it's still used in spite of Microsoft's dominance implies that it's actually better than Microsoft's compiler.And yes, I wish I could clone Don.LOL.
Oct 31 2010
Jonathan M Davis wrote:Well, I expect that if you didn't produce a high quality compiler, you wouldn't have been out of business ages ago. In many ways, Microsoft's compiler is the de facto standard for C++ development on Windows, so you're going to have to do something to stand out if you want people to go with dmc. So, dmc pretty much has to be of high quality or it would be dead by now. Personally, I'd never even heard of you or Digital Mars prior to learning about D, and I'm sure that there are plenty of other C++ programmers out there in the same boat. Just because dmc isn't bigger than Microsoft's compiler doesn't mean that it's worse. If anything, the fact that it's still used in spite of Microsoft's dominance implies that it's actually better than Microsoft's compiler.The compilers have always been different, and appeal to different programmers. A lot like DMC for its fast compile speeds, 80 bit long doubles, DOS support, source code comes with it, more personal support, smaller size, etc.
Oct 31 2010
On 01/11/2010 01:23, Walter Bright wrote:... , DOS support, ...DOS support?... That's quite telling. I can't say I view that as a positive, either for DMC or the people who prefer it. In fact, I find quite the contrary. -- Bruno Medeiros - Software Engineer
Nov 24 2010
Bruno Medeiros wrote:DOS support?... That's quite telling.It's great. DMC making DOS programs is how I got started. Still play around with it from time to time. The simple simplicity of the simple era was just so much simpler. (I've never used it professionally, but I'm sure lots of people do. I know a lot local stores still use old DOS programs.)
Nov 24 2010
Simen kjaeraas wrote:Nick Sabalausky <a a.a> wrote:I think a lot of the problem is that quite a few of bearophile's post contain very valuable ideas, which are immediately relevant. But their impact gets diluted because there's such a constant stream of ideas. Would be great if someone could do a regular "best of bearophile" post <g>.I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Yeah, I always see bearophile's lists as 'maybe some of this could fit in D at some point'. Well worth having on the list, but not to be regarded as The Bearer of Absolute Commandments. That said, I fully understand that Walter could get more tired of it than do I - I don't feel the pressure.
Oct 31 2010
Don Wrote:Simen kjaeraas wrote:What is valueable ideas? Bug reports goto bugzilla. Can some else be immedeately relevant? Long messages with no patches or D language application have no value. D2 and TDPL staple now so no new ideas? And 64-bit support and shared libraries and ARM support becomes before D3? And GUI and IDE? So why we need new ideas before?Nick Sabalausky <a a.a> wrote:I think a lot of the problem is that quite a few of bearophile's post contain very valuable ideas, which are immediately relevant. But their impact gets diluted because there's such a constant stream of ideas. Would be great if someone could do a regular "best of bearophile" post <g>.I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Yeah, I always see bearophile's lists as 'maybe some of this could fit in D at some point'. Well worth having on the list, but not to be regarded as The Bearer of Absolute Commandments. That said, I fully understand that Walter could get more tired of it than do I - I don't feel the pressure.
Oct 31 2010
tls wrote:Don Wrote:Bearophile's posts "I tried to write XXX, and it's hard to do well because ..." are excellent. Note that they tend to be more relevant for Phobos, than for the compiler. The links are great, too. There are some of the more obscure languages which I'd never have heard of, if not for bearophile.Simen kjaeraas wrote:What is valueable ideas? Bug reports goto bugzilla. Can some else be immedeately relevant? Long messages with no patches or D language application have no value. D2 and TDPL staple now so no new ideas? And 64-bit support and shared libraries and ARM support becomes before D3? And GUI and IDE? So why we need new ideas before?Nick Sabalausky <a a.a> wrote:I think a lot of the problem is that quite a few of bearophile's post contain very valuable ideas, which are immediately relevant. But their impact gets diluted because there's such a constant stream of ideas. Would be great if someone could do a regular "best of bearophile" post <g>.I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Yeah, I always see bearophile's lists as 'maybe some of this could fit in D at some point'. Well worth having on the list, but not to be regarded as The Bearer of Absolute Commandments. That said, I fully understand that Walter could get more tired of it than do I - I don't feel the pressure.
Oct 31 2010
On 31/10/2010 16:08, Don wrote:Simen kjaeraas wrote:Nick Sabalausky <a a.a> wrote:I think a lot of the problem is that quite a few of bearophile's post contain very valuable ideas, which are immediately relevant. But their impact gets diluted because there's such a constant stream of ideas.I can certainly understand the impossibility of actually keeping up with bearophile, but I don't think that even he expects that every idea he brings up be rushed into D.Yeah, I always see bearophile's lists as 'maybe some of this could fit in D at some point'. Well worth having on the list, but not to be regarded as The Bearer of Absolute Commandments. That said, I fully understand that Walter could get more tired of it than do I - I don't feel the pressure.Would be great if someone could do a regular "best of bearophile" post <g>.And it would be even better if that someone would be bearophile himself... ^_^' I must say though, that I disagree that most of bearophile's post contain valuable ideas. Please don't construe the following as a personal attack, it is not meant to be so, but I often find it's the contrary (especially lately). beorophile's main posts usually fall in one of these two categories: * Discuss X from elsewhere: a post not about a concrete suggestion to change D, but rather discuss/expose a feature or aspect of some other language/tool/paradigm. Posts are often accompanied by a link to an external article/documentation/presentation/etc.. The post is usually interesting, but they happen often and usually take too much time to read and understand all of them(often because of the external links). * Sugesting a change to D: a post that discusses some actual change to D that beorophile came up with. I often find that with these latter ones, I don't agree such changes should be in D, either now or in the future (so it's not just a matter of stabilizing D2). Rather, it's because the suggested change is of very limited usefulness (has little impact in code, or occurs rarely), and/or has a very acceptable alternative/workaround in current D. A recent example is the "Interfacing C functions with safer ptr/length": A somewhat limited use case (interfacing with certain C functions), and the alternative in current D code that Andrei pointed out is perfectly fine. It is just as safe, just as fast (with compiler optimizations enabled), and only slightly more verbose. Other examples are plenty: "To avoid a C code bug" http://d.puremagic.com/issues/show_bug.cgi?id=3847 (issue of limited impact, and its very much a bikeshed issue, no consensus that it was actually an improvement, most people actually seemed to prefer the current way) "Ghost fields for Contract Programming:" http://d.puremagic.com/issues/show_bug.cgi?id=5027 (limited usefulness, current alternative nearly as good) A comment regarding sugesting an alternative change to deal with the problem of covariance in arrays: http://d.puremagic.com/issues/show_bug.cgi?id=2095#c16 (Change would increase memory footprint in arrays and pointers, something that is almost certainly unacceptable for D. Plus, change would detect errors only in runtime, whereas compile-time checking is perfectly possible) "Safer unions with tagged" http://d.puremagic.com/issues/show_bug.cgi?id=5097 (again, change is for a very rare use case, and current alternatives are nearly as good, if not just as good) "Array-bound indexes" news://news.digitalmars.com:119/ial0qb$1c0a$1 digitalmars.com (an even rarer use case, of questionable validity, and it's not clear the sugested change would actually help with the issue) ...and I could go one with more examples. On the hand, it is hard for me to find a recent discussion started by beorophile (or where beorophile was heavily involved) that has affected the development of D itself in any way, either now or in the future. I'm talking of threads such as these: "crystal clear()" Discussing regarding issues around clear(), object destruction etc.. "Proposal: Relax rules for 'pure'" Don's changes (even though they went as far as 2008). "We need to kill C syntax for declaring function types" Again started by Don, Walter said he made a good case for it. "Ruling out arbitrary cost copy construction?" Started by Andrei, discussion guiding the future direction for Phobos container. A lot of people were involved in the discussion, but not bearophile. "Uniform Function Call syntax for properties" by Steven Schveighoffer, Andrei agreed there was a problem here and some change was desired, although it seemed no one had a sure idea on what the change should be. "duck!" Started by Andrei. Discussion regarding the future name of Kenji's adaptTo template. "std.algorithm.remove and principle of least astonishment" A discussion about the semantics of char[] and wchar[], might lead to a future change in D, even if it just allowing: ubyte[] str = "asdf"; Feel free to correct me, I don't claim to have made a complete or fully accurate assessment of all the posts and proposal changes that were discussed in the last 3-4 months or so. -- Bruno Medeiros - Software Engineer
Nov 25 2010
Feel free to correct me, I don't claim to have made a complete or fully accurate assessment of all the posts and proposal changes that were discussed in the last 3-4 months or so.Sorry but you are a bit harsh here. If you go back, you'll see some very nice posts of him but recently his attitude a little bit different. This happens to people on D community every now end then, i think it is because we are also emotionally attached to D. I just hope he won't end up like a few others. -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Nov 25 2010
so Wrote:The facts don't lie. I appreciate bearophile's work quite a lot. But let's look at his accomplishments. I think he wastes his time studying esoteric language features and working as a "middle man" between two communities. - He never touches compiler internals - this way he never learns to implement a language of his own. - His suggestions are also badly argumented and too abstract to be of any use in D's development. - He messes with toy programs and does not participate in big real world projects, which means that he has no senior/lead developer skills. He can't really say anything enlightening in these meaningful pragmatic discussions. - His efforts in language competitions and wikis mostly attract novice users who get caught by marketing speech - He is a lone wolf, the social status is really bizarre. A novice ponders why bearophile wants to help so much. The only sane explanation is that he is a real weirdo. Likes all other languages (especially python) much more, but still sticks with D. Why on earth? Not trying to be rude or anything. Just food for thought 8-)Feel free to correct me, I don't claim to have made a complete or fully accurate assessment of all the posts and proposal changes that were discussed in the last 3-4 months or so.Sorry but you are a bit harsh here. If you go back, you'll see some very nice posts of him but recently his attitude a little bit different. This happens to people on D community every now end then, i think it is because we are also emotionally attached to D. I just hope he won't end up like a few others.
Nov 25 2010
Walter:You post lists of features every day.I hate wasting your time, so please ignore my posts you aren't interested in. I write those things because I like to think and discuss about new ways to explain semantics to computers. Most of those things are for discussion, not for inclusion in D2 (few of them may be included in D3, in the future). Please don't add any new major feature to D2 before the current features are implemented and work. In Bugzilla I have a short list of small things that I'd like to see tidied up, there is no major (or medium sized) feature among them. Only little but important things for the general tidiness of a language, like enforcing the presence of [] in vector operations. Once a lot of D2 code is written fixing them will be harder.It also bothers me that you regularly read feature lists put out by other languages, and seem unaware of what D can do.There are many things I don't know yet about D and its compiler, and from the answers and corrections I become more aware about D and programming. In some weeks I may teach the basics of D2 to a classroom in my nation, so the more mistakes I make & gets corrected in the relative isolation of this newsgroup, the less wrong things I will teach them :-) Bye, bearophile
Oct 30 2010
bearophile Wrote:Walter:Less talk and more concrete solutions. We may need another newsgroup for useless language discussion. This way Walter and core team can easily ignore all language discussion and focus on fixing D.You post lists of features every day.I hate wasting your time, so please ignore my posts you aren't interested in. I write those things because I like to think and discuss about new ways to explain semantics to computers. Most of those things are for discussion, not for inclusion in D2 (few of them may be included in D3, in the future).There are many things I don't know yet about D and its compiler, and from the answers and corrections I become more aware about D and programming.You could study without interrupting Walter. The persons in this group can be divided into three groups: * the core language ecosystem developers (important persons. don't waste their time), * commercial pragmatic developpers (semi-important, waste a bit of their time as payment for their questions that only benefit commercial 3rd parties), * hobbyist/school student procrastination group (useful conversation of languages = bearophile, useless functional programming advocacy talk, n00b questions). We should punish the third group more with useless discussion and let the important persons finish their jobs quick.In some weeks I may teach the basics of D2 to a classroom in my nation, so the more mistakes I make & gets corrected in the relative isolation of this newsgroup, the less wrong things I will teach them :-)I'd suggest one thing; if you don't know something, give answer to some other question. If someone criticizes D 2.0, ridicule their good points. We need more young developers from other language camps and sometimes a lie at this point might turn into a gold mine in our all lives later. The students probably realize later how important choosing D really was (they'll even learn functional programming with a friendly C style syntax). It's not necessarily evil to lure them in using questionable methods. If some older teacher is watching you, you need to be more careful with personal agendas.
Oct 30 2010
"Gary Whatmore" <no spam.spam> wrote in message news:iaiqtd$2r5j$1 digitalmars.com...We should punish the third group more with useless discussion and let the important persons finish their jobs quick. It's not necessarily evil to lure them in using questionable methods.Yes, we should just be a bunch of giant assholes.
Oct 30 2010
On Sat, Oct 30, 2010 at 11:22 PM, Gary Whatmore <no spam.spam> wrote:You could study without interrupting Walter.Interrupting? Breaks do interrupt work time, but that's the point. We all need a break, and so does Walter once in a while (I hope).We should punish the third group more with useless discussion and let the important persons finish their jobs quick.Once again, I think you are delusional in thinking that the Important Persons are like machines, working on their jobs in such a way that this discussion is punishing and inhibitive. The ML is leisure, we talk leisurely in discussions of all sorts. Am I not correct? Anyways, I think it's very wrong to suggest that these suggestions by bearophile are "unwanted." We can discuss them, and perhaps, one or two of them will stand out from the others because they are truly fantastic ideas. The goal is for D to get the job done, but remember that we always can have small improvements along the way. Every feature bearophile brings up is just a little taste here and there that we can just consider and ponder for a bit, and move on.
Oct 30 2010
On 31/10/2010 02:47, bearophile wrote:Walter:And how does Walter (or anyone else for that matter), determine if they are interested in your posts or not (or anyone else's for that matter) without reading them first? This is often the case for me regarding posts and threads that discuss changes or additions to language features. In these kinds of threads the title alone is very little indication of the quality or interest of the thread. -- Bruno Medeiros - Software EngineerYou post lists of features every day.I hate wasting your time, so please ignore my posts you aren't interested in. I write those things because I like to think and discuss about new ways to explain semantics to computers. Most of those things are for discussion, not for inclusion in D2 (few of them may be included in D3, in the future).
Nov 24 2010
On 24 November 2010 21:40, Bruno Medeiros <brunodomedeiros+spam com.gmail>wrote:On 31/10/2010 02:47, bearophile wrote:I must say; I think bearophile usually brings up some good issues, and things to discuss, and I do like reading his posts. - About not being interrested in reading his posts, really if you dont wanna read posts, why are you on a mailing list? - if its the amount thats the issue, then find some community with low activity instead >.<'. And yea, bearophile brings up a lot of nice features, and Walter would never have a chance to implement all of them himself, which might be good, if everything bearophile suggests got into the language, we would have this major language noone would ever be able to learn, nor use. However, if we succeed in implementing the best ideas I do think we'll end up with a superb output, however I do think we need to discuss a lot of issues and features, and thats why I love bearophiles postings, simply because it gives the community a lot to discuss. Just my opinion. - But I do think discussing a lot of features, even the ones not really related, will help out the language in the end. -- // Yours sincerely // Emil 'Skeen' MadsenWalter: You post lists of features every day.And how does Walter (or anyone else for that matter), determine if they are interested in your posts or not (or anyone else's for that matter) without reading them first? This is often the case for me regarding posts and threads that discuss changes or additions to language features. In these kinds of threads the title alone is very little indication of the quality or interest of the thread. -- Bruno Medeiros - Software EngineerI hate wasting your time, so please ignore my posts you aren't interested in. I write those things because I like to think and discuss about new ways to explain semantics to computers. Most of those things are for discussion, not for inclusion in D2 (few of them may be included in D3, in the future).
Nov 24 2010
Emil Madsen wrote:And yea, bearophile brings up a lot of nice features, and Walter would never have a chance to implement all of them himself, which might be good, if everything bearophile suggests got into the language, we would have this major language noone would ever be able to learn, nor use. However, if we succeed in implementing the best ideas I do think we'll end up with a superb output, however I do think we need to discuss a lot of issues and features, and thats why I love bearophiles postings, simply because it gives the community a lot to discuss. Just my opinion. - But I do think discussing a lot of features, even the ones not really related, will help out the language in the end.I think bearophile does a valuable service to us by bringing up discussion topics. My gripe is when he lists things that he wishes D did when D already does them and has for years. Case in point: D imports. It's irksome when he often writes from the perspective of assuming that D does it wrong while other languages are assumed to do it right. Case in point: design by contract, and his assumption that dmd was a primitive compiler that did not do data flow analysis while praising llvm's. My concern about that is that with the volume of his posts, I will miss some of them, and people inexperienced with D will presume those mistakes and misunderstandings are correct. I have no issue at all with bringing up factual shortcomings of D, even when I disagree about whether they are actual shortcomings or not. For example, it is a fact that D does not check for integer arithmetic overflow. Whether that's a problem or not is a fine topic for discussion.
Nov 24 2010
On 25 November 2010 00:25, Walter Bright <newshound2 digitalmars.com> wrote:Emil Madsen wrote:Well I must agree with you, atleast on the part, about how he sometimes seems negative about what dmd does. - And that tune, is obviously not nice towards you, as your the one doing the hard work, but lets just try to remember, that bearophile just wants D to be the best, eh? What really is an issue for me currently, is that the mailing list seems like its going a tad into war, that is between you and bearophile sometimes; wheres you should instead be joining forces. - As it seems to me, D got about the best compiler writer out there, and one of the best feature requester/discusser :). And I can understand you concerns, about how newcomers to D, might react reading about all of these things bearophile complains about, and wants to change/add. - Just curious, how much of your time do you spend on reading this mailing list a day? (Excuse my somewhat bad english tonight (its 3am)) -- // Yours sincerely // Emil 'Skeen' MadsenAnd yea, bearophile brings up a lot of nice features, and Walter would never have a chance to implement all of them himself, which might be good, if everything bearophile suggests got into the language, we would have this major language noone would ever be able to learn, nor use. However, if we succeed in implementing the best ideas I do think we'll end up with a superb output, however I do think we need to discuss a lot of issues and features, and thats why I love bearophiles postings, simply because it gives the community a lot to discuss. Just my opinion. - But I do think discussing a lot of features, even the ones not really related, will help out the language in the end.I think bearophile does a valuable service to us by bringing up discussion topics. My gripe is when he lists things that he wishes D did when D already does them and has for years. Case in point: D imports. It's irksome when he often writes from the perspective of assuming that D does it wrong while other languages are assumed to do it right. Case in point: design by contract, and his assumption that dmd was a primitive compiler that did not do data flow analysis while praising llvm's. My concern about that is that with the volume of his posts, I will miss some of them, and people inexperienced with D will presume those mistakes and misunderstandings are correct. I have no issue at all with bringing up factual shortcomings of D, even when I disagree about whether they are actual shortcomings or not. For example, it is a fact that D does not check for integer arithmetic overflow. Whether that's a problem or not is a fine topic for discussion.
Nov 24 2010
== Quote from Emil Madsen (sovende gmail.com)'s article--90e6ba539f3ee121840495d5033f Content-Type: text/plain; charset=ISO-8859-1 On 25 November 2010 00:25, Walter Bright <newshound2 digitalmars.com> wrote:He's started peeking an interest at GDC too, which was both amusing and heartening to see. I don't honestly think any of his comments can really be seen as complaints. As has already been echoed, most are very informative, he always seems to pick up on things you don't commonly think about. Then again, I can see it can get a bit tiring how he almost always starts off with "Language/Compiler <Y> does <Feature X>", then goes on to explain that yours doesn't. This is where I see myself going terse over things very quickly. I think you wrongly see things as war-like. It's all really just healthy discussion and competition.Emil Madsen wrote:Well I must agree with you, atleast on the part, about how he sometimes seems negative about what dmd does. - And that tune, is obviously not nice towards you, as your the one doing the hard work, but lets just try to remember, that bearophile just wants D to be the best, eh? What really is an issue for me currently, is that the mailing list seems like its going a tad into war, that is between you and bearophile sometimes; wheres you should instead be joining forces. - As it seems to me, D got about the best compiler writer out there, and one of the best feature requester/discusser :). And I can understand you concerns, about how newcomers to D, might react reading about all of these things bearophile complains about, and wants to change/add. - Just curious, how much of your time do you spend on reading this mailing list a day? (Excuse my somewhat bad english tonight (its 3am))And yea, bearophile brings up a lot of nice features, and Walter would never have a chance to implement all of them himself, which might be good, if everything bearophile suggests got into the language, we would have this major language noone would ever be able to learn, nor use. However, if we succeed in implementing the best ideas I do think we'll end up with a superb output, however I do think we need to discuss a lot of issues and features, and thats why I love bearophiles postings, simply because it gives the community a lot to discuss. Just my opinion. - But I do think discussing a lot of features, even the ones not really related, will help out the language in the end.I think bearophile does a valuable service to us by bringing up discussion topics. My gripe is when he lists things that he wishes D did when D already does them and has for years. Case in point: D imports. It's irksome when he often writes from the perspective of assuming that D does it wrong while other languages are assumed to do it right. Case in point: design by contract, and his assumption that dmd was a primitive compiler that did not do data flow analysis while praising llvm's. My concern about that is that with the volume of his posts, I will miss some of them, and people inexperienced with D will presume those mistakes and misunderstandings are correct. I have no issue at all with bringing up factual shortcomings of D, even when I disagree about whether they are actual shortcomings or not. For example, it is a fact that D does not check for integer arithmetic overflow. Whether that's a problem or not is a fine topic for discussion.
Nov 24 2010
On 25 November 2010 01:15, Iain Buclaw <ibuclaw ubuntu.com> wrote:== Quote from Emil Madsen (sovende gmail.com)'s articleSure it can get tiring when hes like saying 'Language/Compiler <Y> does<Feature X>', but while he does so, he also brings up a discussion whether its something to add or not. - And I must say, a lot of the features he points out in other language seem like good things :) - however pointing it out, and being like; 'Why doesn't D do this?', might not be the right tune, where it should be; 'Would it be an idea if D did this?', and I can understand why the first tune might seem a tad hard on people like Walter, when it already does. About GDC, I think the dmd community should be watching whats happening at LDC and GDC, they might come up with something good, before we do, eh? I might be right about the way thing, its just, sometimes people seem a little bit hostile if you ask me, but that might just me me thats a tad off. -- // Yours sincerely // Emil 'Skeen' Madsen--90e6ba539f3ee121840495d5033f Content-Type: text/plain; charset=ISO-8859-1 On 25 November 2010 00:25, Walter Bright <newshound2 digitalmars.com>wrote:good,Emil Madsen wrote:And yea, bearophile brings up a lot of nice features, and Walter would never have a chance to implement all of them himself, which might bethisif everything bearophile suggests got into the language, we would havewemajor language noone would ever be able to learn, nor use. However, ifsuperbsucceed in implementing the best ideas I do think we'll end up with afeatures,output, however I do think we need to discuss a lot of issues andtheand thats why I love bearophiles postings, simply because it gives the community a lot to discuss. Just my opinion. - But I do think discussing a lot of features, evendiscussionones not really related, will help out the language in the end.I think bearophile does a valuable service to us by bringing updoestopics. My gripe is when he lists things that he wishes D did when D alreadyoftenthem and has for years. Case in point: D imports. It's irksome when heotherwrites from the perspective of assuming that D does it wrong whilecontract, andlanguages are assumed to do it right. Case in point: design byflowhis assumption that dmd was a primitive compiler that did not do datamistakesanalysis while praising llvm's. My concern about that is that with the volume of his posts, I will miss some of them, and people inexperienced with D will presume thoseoverflow.and misunderstandings are correct. I have no issue at all with bringing up factual shortcomings of D, even when I disagree about whether they are actual shortcomings or not. For example, it is a fact that D does not check for integer arithmeticniceWhether that's a problem or not is a fine topic for discussion.Well I must agree with you, atleast on the part, about how he sometimes seems negative about what dmd does. - And that tune, is obviously nottowards you, as your the one doing the hard work, but lets just try to remember, that bearophile just wants D to be the best, eh? What really is an issue for me currently, is that the mailing list seems like its going a tad into war, that is between you and bearophilesometimes;wheres you should instead be joining forces. - As it seems to me, D got about the best compiler writer out there, and one of the best feature requester/discusser :). And I can understand you concerns, about how newcomers to D, might react reading about all of these things bearophile complains about, and wantstochange/add. - Just curious, how much of your time do you spend on reading thismailinglist a day? (Excuse my somewhat bad english tonight (its 3am))He's started peeking an interest at GDC too, which was both amusing and heartening to see. I don't honestly think any of his comments can really be seen as complaints. As has already been echoed, most are very informative, he always seems to pick up on things you don't commonly think about. Then again, I can see it can get a bit tiring how he almost always starts off with "Language/Compiler <Y> does <Feature X>", then goes on to explain that yours doesn't. This is where I see myself going terse over things very quickly. I think you wrongly see things as war-like. It's all really just healthy discussion and competition.
Nov 25 2010
== Quote from Emil Madsen (sovende gmail.com)'s article--0015174c37fe0831b20495dd37b5 Content-Type: text/plain; charset=ISO-8859-1 On 25 November 2010 01:15, Iain Buclaw <ibuclaw ubuntu.com> wrote:To paraphrase a famous that best describes my view of things when it comes to features: add, but rather when there is nothing more to take away.'' Regards== Quote from Emil Madsen (sovende gmail.com)'s articleSure it can get tiring when hes like saying 'Language/Compiler <Y> does<Feature X>', but while he does so, he also brings up a discussion whether its something to add or not. - And I must say, a lot of the features he points out in other language seem like good things :) - however pointing it out, and being like; 'Why doesn't D do this?', might not be the right tune, where it should be; 'Would it be an idea if D did this?', and I can understand why the first tune might seem a tad hard on people like Walter, when it already does.--90e6ba539f3ee121840495d5033f Content-Type: text/plain; charset=ISO-8859-1 On 25 November 2010 00:25, Walter Bright <newshound2 digitalmars.com>wrote:good,Emil Madsen wrote:And yea, bearophile brings up a lot of nice features, and Walter would never have a chance to implement all of them himself, which might bethisif everything bearophile suggests got into the language, we would havewemajor language noone would ever be able to learn, nor use. However, ifsuperbsucceed in implementing the best ideas I do think we'll end up with afeatures,output, however I do think we need to discuss a lot of issues andtheand thats why I love bearophiles postings, simply because it gives the community a lot to discuss. Just my opinion. - But I do think discussing a lot of features, evendiscussionones not really related, will help out the language in the end.I think bearophile does a valuable service to us by bringing updoestopics. My gripe is when he lists things that he wishes D did when D alreadyoftenthem and has for years. Case in point: D imports. It's irksome when heotherwrites from the perspective of assuming that D does it wrong whilecontract, andlanguages are assumed to do it right. Case in point: design byflowhis assumption that dmd was a primitive compiler that did not do datamistakesanalysis while praising llvm's. My concern about that is that with the volume of his posts, I will miss some of them, and people inexperienced with D will presume thoseoverflow.and misunderstandings are correct. I have no issue at all with bringing up factual shortcomings of D, even when I disagree about whether they are actual shortcomings or not. For example, it is a fact that D does not check for integer arithmeticniceWhether that's a problem or not is a fine topic for discussion.Well I must agree with you, atleast on the part, about how he sometimes seems negative about what dmd does. - And that tune, is obviously nottowards you, as your the one doing the hard work, but lets just try to remember, that bearophile just wants D to be the best, eh? What really is an issue for me currently, is that the mailing list seems like its going a tad into war, that is between you and bearophilesometimes;wheres you should instead be joining forces. - As it seems to me, D got about the best compiler writer out there, and one of the best feature requester/discusser :). And I can understand you concerns, about how newcomers to D, might react reading about all of these things bearophile complains about, and wantstochange/add. - Just curious, how much of your time do you spend on reading thismailinglist a day? (Excuse my somewhat bad english tonight (its 3am))He's started peeking an interest at GDC too, which was both amusing and heartening to see. I don't honestly think any of his comments can really be seen as complaints. As has already been echoed, most are very informative, he always seems to pick up on things you don't commonly think about. Then again, I can see it can get a bit tiring how he almost always starts off with "Language/Compiler <Y> does <Feature X>", then goes on to explain that yours doesn't. This is where I see myself going terse over things very quickly. I think you wrongly see things as war-like. It's all really just healthy discussion and competition.
Nov 25 2010
To paraphrase a famous that best describes my view of things when it comes to features: more to add, but rather when there is nothing more to take away.'' RegardsWould that apply to PL design as well? You actually don't "need" templates for example but their presence changes everything. -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Nov 25 2010
On Wed, 24 Nov 2010 22:39:02 +0100 Emil Madsen <sovende gmail.com> wrote:On 24 November 2010 21:40, Bruno Medeiros <brunodomedeiros+spam com.gmail= wrote: =20tedOn 31/10/2010 02:47, bearophile wrote:Walter: You post lists of features every day.I hate wasting your time, so please ignore my posts you aren't interes=waysin. I write those things because I like to think and discuss about new=sion,to explain semantics to computers. Most of those things are for discus=ure).not for inclusion in D2 (few of them may be included in D3, in the fut=areAnd how does Walter (or anyone else for that matter), determine if they=outinterested in your posts or not (or anyone else's for that matter) with=verreading them first? This is often the case for me regarding posts and threads that discuss changes or additions to language features. In these kinds of threads the title alone is very little indication of the quality or interest of the thread. -- Bruno Medeiros - Software Engineer=20 I must say; I think bearophile usually brings up some good issues, and things to discuss, and I do like reading his posts. - About not being interrested in reading his posts, really if you dont wanna read posts, why are you on a mailing list? - if its the amount thats the issue, then find some community with low activity instead >.<'. =20 And yea, bearophile brings up a lot of nice features, and Walter would ne=have a chance to implement all of them himself, which might be good, if everything bearophile suggests got into the language, we would have this major language noone would ever be able to learn, nor use. However, if we succeed in implementing the best ideas I do think we'll end up with a sup=erboutput, however I do think we need to discuss a lot of issues and feature=s,and thats why I love bearophiles postings, simply because it gives the community a lot to discuss. =20 Just my opinion. - But I do think discussing a lot of features, even the ones not really related, will help out the language in the end. =20I completely share these views. +++ the last sentence. (PL design in genera= l suffers from lack of wide view [I do _not_ mean narrow-mindness, but mayb= e lack of curiosity, yes ;-)], esp from reproducing misfeatures from the ma= in designer's best known PL language or paradigm. But it's a long and hard = task to "un-learn" & re-open one's mental eyes. Design should be choosing f= rom awareness of alternatives, else it's "eyes wide shut"-reproduction.) Denis -- -- -- -- -- -- -- vit esse estrany =E2=98=A3 spir.wikidot.com
Nov 25 2010