www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Spellechecker - is this really fun?

reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
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
next sibling parent reply d user <wont tell.you> writes:
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
next sibling parent reply Adam Ruppe <destructionator gmail.com> writes:
On 5/8/10, d user <wont tell.you> wrote:
 3. design new DMD2 features

 At this point we should be in stage 3 or 4.

You mean like an integrated spell checker?
May 08 2010
parent d user <wont tell.you> writes:
Adam Ruppe Wrote:

 On 5/8/10, d user <wont tell.you> wrote:
 3. design new DMD2 features

 At this point we should be in stage 3 or 4.

You mean like an integrated spell checker?

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.
May 08 2010
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"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
prev sibling next sibling parent Lutger <lutger.blijdestijn gmail.com> writes:
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
prev sibling parent reply Jonathan M Davis <jmdavisProg gmail.com> writes:
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
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
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
prev sibling next sibling parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
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
parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
Eldar Insafutdinov Wrote:

 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.

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?
May 09 2010
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
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
prev sibling parent reply Max Samukha <spambox d-coding.com> writes:
On 05/09/2010 06:03 PM, Eldar Insafutdinov wrote:
 Eldar Insafutdinov Wrote:

 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.

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?

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.
May 09 2010
parent reply bearophile <bearophileHUGS lycos.com> writes:
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
parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
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
parent reply lurker <lurk lurk.com> writes:
Eldar Insafutdinov Wrote:

 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.

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.
May 09 2010
next sibling parent Walter Bright <newshound1 digitalmars.com> writes:
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
prev sibling parent reply Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
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
parent Walter Bright <newshound1 digitalmars.com> writes:
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
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
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
parent Alex Makhotin <alex bitprox.com> writes:
Walter Bright wrote:
 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>.

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.com
May 09 2010