digitalmars.D - Spellechecker - is this really fun?
- Eldar Insafutdinov (1/1) May 08 2010 I've just downloaded the latest dmd2, and it hangs. I believe that's due...
- d user (11/12) May 08 2010 This also puzzles me - not mildly, I'm more thinking like wtf is that gu...
- Adam Ruppe (2/4) May 08 2010 You mean like an integrated spell checker?
- d user (9/15) May 08 2010 I accidently typed 3 twice. Here's the correct list:
- Nick Sabalausky (4/18) May 08 2010 Yes! Waterfall management FTW!
- Lutger (7/13) May 08 2010 The spellchecker was introduced in 2.041 and mentioned as a simple featu...
- Jonathan M Davis (10/16) May 09 2010 It's definitely useful, and I haven't had any problems with. It's alread...
- bearophile (5/7) May 09 2010 I agree that it is useful (a little) and I like it.
- Eldar Insafutdinov (2/5) May 09 2010 If you hit a compiler bug, this feature won't help you at all. And dmd h...
- Eldar Insafutdinov (2/9) May 09 2010 Also I've just come across another bug, that I reported a month ago (htt...
- bearophile (4/5) May 09 2010 There are many bugs in dmd2. You can try to reduce further that second e...
- Max Samukha (4/13) May 09 2010 I confirm that most of the productivity gain D is supposed to provide
- bearophile (4/7) May 09 2010 Be gentle, he is working for free for an open source language you too ca...
- Eldar Insafutdinov (3/4) May 09 2010 And I appreciate that. Even more, we all love the good stuff that D offe...
- lurker (4/11) May 09 2010 I think your post hits the nail directly on the head. People expect comm...
- Walter Bright (13/39) May 09 2010 Expression templates are slow? Do you mean compiling them or executing t...
- Eldar Insafutdinov (3/5) May 09 2010 Nor do I agree with this one. I have recently tried to achieve good perf...
- Walter Bright (7/12) May 09 2010 Often, people will compare garbage collection with explicit allocation b...
- Walter Bright (3/6) May 09 2010 I like it a lot, too. BTW, I just put up a beta with a fix for the hangi...
- Alex Makhotin (9/16) May 09 2010 I confirm, it's OK now with all my code on Linux.
I've just downloaded the latest dmd2, and it hangs. I believe that's due to recently introduced spell-checker. There are many design problems in D and countless bugs in the compiler. Why even bother spending time on this particular feature? Not only its usefulness is dubious, but it causes more harm than it's worth. Which position is it on the priority list(if there is such a list) and why?
May 08 2010
Eldar Insafutdinov Wrote:I've just downloaded the latest dmd2, and it hangs. I believe that's due to recently introduced spell-checker. There are many design problems in D and countless bugs in the compiler. Why even bother spending time on this particular feature? Not only its usefulness is dubious, but it causes more harm than it's worth. Which position is it on the priority list(if there is such a list) and why?This also puzzles me - not mildly, I'm more thinking like wtf is that guy doing there - D should be in feature freeze mode now for fucking sake. The project management is utter crap. There should be a plan like: 1. design new D2 features 2. specification freeze 3. design new DMD2 features 3. compiler feature freeze 4. release candidates 5. final release At this point we should be in stage 3 or 4. The book is coming soon. I really do expect some quality work now. What we have now is a total chaos. New features are added every now and then. This is frustating, I won't tolerate this kind of poor management in a community full of professional enterprise developers. I takes something like 1 to 2 minutes to fill some of the missing parts of the specification. There are also tons of issues with a patch included in the bugzilla. It surely does not take much time to apply those. Maybe the strategy is to leave as much unspecified as possible to prevent the community from implementing competing compilers.
May 08 2010
On 5/8/10, d user <wont tell.you> wrote:3. design new DMD2 featuresAt this point we should be in stage 3 or 4.You mean like an integrated spell checker?
May 08 2010
Adam Ruppe Wrote:On 5/8/10, d user <wont tell.you> wrote:I accidently typed 3 twice. Here's the correct list: 1. design new D2 features 2. specification freeze 3. design new DMD2 features 4. compiler feature freeze 5. release candidates 6. final release At this point we should be in stage 4 or 5.3. design new DMD2 featuresAt this point we should be in stage 3 or 4.You mean like an integrated spell checker?
May 08 2010
"d user" <wont tell.you> wrote in message news:hs3th8$d1p$1 digitalmars.com...This also puzzles me - not mildly, I'm more thinking like wtf is that guy doing there - D should be in feature freeze mode now for fucking sake. The project management is utter crap. There should be a plan like: 1. design new D2 features 2. specification freeze 3. design new DMD2 features 3. compiler feature freeze 4. release candidates 5. final release At this point we should be in stage 3 or 4. The book is coming soon. I really do expect some quality work now. What we have now is a total chaos. New features are added every now and then. This is frustating, I won't tolerate this kind of poor management in a community full of professional enterprise developers.Yes! Waterfall management FTW! The spellchecker was low-hanging fruit.
May 08 2010
Eldar Insafutdinov wrote:I've just downloaded the latest dmd2, and it hangs. I believe that's due to recently introduced spell-checker. There are many design problems in D and countless bugs in the compiler. Why even bother spending time on this particular feature? Not only its usefulness is dubious, but it causes more harm than it's worth. Which position is it on the priority list(if there is such a list) and why?The spellchecker was introduced in 2.041 and mentioned as a simple feature that didn't take much time to implement. And of course it wasn't intended to be this slow. I can't recall dmd 2.041 being as slow as the latest version btw. I find the spellchecker useful, not a major thing but I like it. So yes, it used to be fun for a while ;)
May 08 2010
Eldar Insafutdinov wrote:I've just downloaded the latest dmd2, and it hangs. I believe that's due to recently introduced spell-checker. There are many design problems in D and countless bugs in the compiler. Why even bother spending time on this particular feature? Not only its usefulness is dubious, but it causes more harm than it's worth. Which position is it on the priority list(if there is such a list) and why?It's definitely useful, and I haven't had any problems with. It's already helped me track down bugs faster. You can look at the whole "Improving Compiler Error Messages" thread for more details. Walter's article on it is http://www.drdobbs.com/blog/archives/2010/05/improving_compi.html Now, if there are bugs with it, they certainly need to be fixed, but I've had no problems with it, and I think that it's a great improvement - especially if it didn't take very long to implement. - Jonathan M Davis
May 09 2010
Jonathan M Davis:It's definitely useful, and I haven't had any problems with. It's already helped me track down bugs faster.I agree that it is useful (a little) and I like it. But if will turn out there is no way to make it fast enough then it needs to be removed or it needs a compilation switch to disable it :-( Bye, bearophile
May 09 2010
Jonathan M Davis Wrote:It's definitely useful, and I haven't had any problems with. It's already helped me track down bugs faster.If you hit a compiler bug, this feature won't help you at all. And dmd has many of them. Many bugs get fixed, that's for sure, but for some strange reason as I move forward I find others. And I spend a lot more time with them, than with mistyping of symbols. For example I have just found a brand new one.
May 09 2010
Eldar Insafutdinov Wrote:Jonathan M Davis Wrote:Also I've just come across another bug, that I reported a month ago (http://d.puremagic.com/issues/show_bug.cgi?id=4042). You can easily fix a typo, but not anything like this. What am I supposed to do?It's definitely useful, and I haven't had any problems with. It's already helped me track down bugs faster.If you hit a compiler bug, this feature won't help you at all. And dmd has many of them. Many bugs get fixed, that's for sure, but for some strange reason as I move forward I find others. And I spend a lot more time with them, than with mistyping of symbols. For example I have just found a brand new one.
May 09 2010
Eldar Insafutdinov:Also I've just come across another bug, that I reported a month ago (http://d.puremagic.com/issues/show_bug.cgi?id=4042). You can easily fix a typo, but not anything like this. What am I supposed to do?There are many bugs in dmd2. You can try to reduce further that second example in 4042, to save some time to Walter in locating the problem. Bye, bearophile
May 09 2010
On 05/09/2010 06:03 PM, Eldar Insafutdinov wrote:Eldar Insafutdinov Wrote:I confirm that most of the productivity gain D is supposed to provide goes to waste because of the bugs. Watching Walter spending his time on json, spell checker, changeset 471 etc is somewhat frustrating.Jonathan M Davis Wrote:Also I've just come across another bug, that I reported a month ago (http://d.puremagic.com/issues/show_bug.cgi?id=4042). You can easily fix a typo, but not anything like this. What am I supposed to do?It's definitely useful, and I haven't had any problems with. It's already helped me track down bugs faster.If you hit a compiler bug, this feature won't help you at all. And dmd has many of them. Many bugs get fixed, that's for sure, but for some strange reason as I move forward I find others. And I spend a lot more time with them, than with mistyping of symbols. For example I have just found a brand new one.
May 09 2010
Max Samukha:I confirm that most of the productivity gain D is supposed to provide goes to waste because of the bugs. Watching Walter spending his time on json, spell checker, changeset 471 etc is somewhat frustrating.Be gentle, he is working for free for an open source language you too can use. He's not a bug-fixing robot, I think that being a mammal he needs some fun once in a while :-) Bye, bearophile
May 09 2010
bearophile Wrote:Be gentle, he is working for free for an open source language you too can use. He's not a bug-fixing robot, I think that being a mammal he needs some fun once in a while :-)And I appreciate that. Even more, we all love the good stuff that D offers you. But it's wrong to say that because it is open source, it has to be fun. Successful open source projects have very strict management, just like in the commercial software development. Python or llvm are good examples of that. Just because the project is opensource it doens't mean that developers have less responsibility. We are all trying to make D successful, a book is about to come out. It is not a toy project, people rely on it. The main page says "Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python." I can't see the its productivity if I am stuck with a compiler bug. And I am developing a non-commercial open source project too. What if it was commercial? What would I tell my boss? "There's a compiler bug, and I have no idea when it will be fixed". It's been reported for a month, yet there's no comment from compiler developers on it. Bearing in mind that some important bugs stay in bugzilla for years I can assume the same for this bug. Would my boss like this uncertainty? Nobody wants to loose money. I am not trying to be an asshole here. All of this comes from actually using D. Also I am not begging for fixing that particular bug. I am not in the position of dictating D's development. But a good example for you: I've noticed in the LLVM bugzilla, that Chris Lattner, the leader of the project, comments almost immediately on bugs. I don't see similair things happening in D, even considering that LLVM is used much wider and it's more difficult to control everything for one person.
May 09 2010
Eldar Insafutdinov Wrote:bearophile Wrote:I think your post hits the nail directly on the head. People expect commitment and quality these days. Even open source developers expect quality. The competition is huge on compiler market. You have serious competitors like gcc, llvm/clang, ghc, icc, java's jit etc. These have superior performance and dmd has serious problems that make for instance expression templates dead slow in high performance computing. The standard library version of xml parser also sucks, Tango has world class implementation. It's sad to say this, but d2/phobos cannot be used in high performance application development during the next 5 to 10 years. It's also bad for graphical end user applications because the garbage collector is bad and performance wise it cannot win c++ & Qt. So what's left? Open source hobby projects. If you're a commercial user, you must be able to buy support. At this pace, even if you shoved tons of dollars to the core developer (yes, there's only one - a huge risk for any 3rd party), nothing will change because D seems to be a hobby project. I don't know why W is writing code and documentation so slowly. I don't know why he doesn't hire more developers (open source developers are free!). I can only imagine that he doesn't want anyone to participate, because it's his language and it would be shameful if some random community member could achieve similar results. There are also intellectual property taint issues as we saw with Tango vs Phobos.Be gentle, he is working for free for an open source language you too can use. He's not a bug-fixing robot, I think that being a mammal he needs some fun once in a while :-)And I appreciate that. Even more, we all love the good stuff that D offers you. But it's wrong to say that because it is open source, it has to be fun. Successful open source projects have very strict management, just like in the commercial software development. Python or llvm are good examples of that. Just because the project is opensource it doens't mean that developers have less responsibility. We are all trying to make D successful, a book is about to come out. It is not a toy project, people rely on it. The main page says "Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python." I can't see the its productivity if I am stuck with a compiler bug. And I am developing a non-commercial open source project too. What if it was commercial? What would I tell my boss? "There's a compiler bug, and I have no idea when it will be fixed". It's been reported for a month, yet there's no comment from compiler developers on it. Bearing in mind that some important bugs stay in bugzilla for years I can assume the same for this bug. Would my boss like this uncertainty? Nobody wants to loose money. I am not trying to be an asshole here. All of this comes from actually using D. Also I am not begging for fixing that particular bug. I am not in the position of dictating D's development. But a good example for you: I've noticed in the LLVM bugzilla, that Chris Lattner, the leader of the project, comments almost immediately on bugs. I don't see similair things happening in D, even considering that LLVM is used much wider and it's more difficult to control everything for one person.
May 09 2010
lurker wrote:I think your post hits the nail directly on the head. People expect commitment and quality these days. Even open source developers expect quality. The competition is huge on compiler market. You have serious competitors like gcc, llvm/clang, ghc, icc, java's jit etc. These have superior performance and dmd has serious problems that make for instance expression templates dead slow in high performance computing.Expression templates are slow? Do you mean compiling them or executing them? Also, expression templates as I've seen them used in C++ are well supplanted by CTFE in D.The standard library version of xml parser also sucks,That's true.Tango has world class implementation. It's sad to say this, but d2/phobos cannot be used in high performance application development during the next 5 to 10 years. It's also bad for graphical end user applications because the garbage collector is bad and performance wise it cannot win c++ & Qt.I don't agree with tis.So what's left? Open source hobby projects. If you're a commercial user, you must be able to buy support.And you can.At this pace, even if you shoved tons of dollars to the core developer (yes, there's only one - a huge risk for any 3rd party), nothing will change because D seems to be a hobby project. I don't know why W is writing code and documentation so slowly. I don't know why he doesn't hire more developers (open source developers are free!).With tons of dollars yes, full time developers could and would be hired.I can only imagine that he doesn't want anyone to participate, because it's his language and it would be shameful if some random community member could achieve similar results. There are also intellectual property taint issues as we saw with Tango vs Phobos.At this point, that's an issue for the individual Tango developers to sort out. A number of them have already moved a lot of quality code into Phobos and removed the licensing problem (the binary attribution clause). You mentioned Tango's XML parser - if the developer(s) of that module wish to relicense it and have it put in Phobos, it would be welcome.
May 09 2010
lurker Wrote:The standard library version of xml parser also sucks, Tango has world class implementation.I don't agree here. I used Tango xml and it is far from being perfect.It's sad to say this, but d2/phobos cannot be used in high performance application development during the next 5 to 10 years. It's also bad for graphical end user applications because the garbage collector is bad and performance wise it cannot win c++ & Qt.Nor do I agree with this one. I have recently tried to achieve good performance with Qt's string handling and really wished that I used D. Phobos(and Tango) algorithms work with all kind of strings(mutable and immutable, UTF-8,16,32) and you don't allocate each time when you extract a sub-string. So D would actually be faster in what I was doing.
May 09 2010
Eldar Insafutdinov wrote:Nor do I agree with this one. I have recently tried to achieve good performance with Qt's string handling and really wished that I used D. Phobos(and Tango) algorithms work with all kind of strings(mutable and immutable, UTF-8,16,32) and you don't allocate each time when you extract a sub-string. So D would actually be faster in what I was doing.Often, people will compare garbage collection with explicit allocation by using code that does an equal number of allocations for each. GC often comes off looking worse from this perspective. But, having a GC enables a program to do a lot fewer allocations (for several reasons, one of which you mention) and this can lead GC to be an overall win. But you gotta change the algorithm to take advantage of GC.
May 09 2010
Jonathan M Davis wrote:Now, if there are bugs with it, they certainly need to be fixed, but I've had no problems with it, and I think that it's a great improvement - especially if it didn't take very long to implement.I like it a lot, too. BTW, I just put up a beta with a fix for the hanging problem. A side effect is it compiles faster, too <g>.
May 09 2010
Walter Bright wrote:Jonathan M Davis wrote:I confirm, it's OK now with all my code on Linux. And it actually compiles faster now! I can now use the advantage of fixed DWARF. Thank you. -- Alex Makhotin, the founder of BITPROX, http://bitprox.comNow, if there are bugs with it, they certainly need to be fixed, but I've had no problems with it, and I think that it's a great improvement - especially if it didn't take very long to implement.I like it a lot, too. BTW, I just put up a beta with a fix for the hanging problem. A side effect is it compiles faster, too <g>.
May 09 2010