digitalmars.D - Prime time???
- Samuel MV (19/19) Nov 03 2006 Hello everybody.
- Sean Kelly (12/19) Nov 03 2006 I'm hoping that at some point the D feature list will freeze and the
- Charlie (7/34) Nov 03 2006 I've been fretting over the same thing, and a 'moving target' describes
- Walter Bright (3/8) Nov 03 2006 But isn't every language a moving target? Doesn't it make sense to just
- Charlie (16/25) Nov 03 2006 The other languages just move much slower ;).
- Gregor Richards (6/39) Nov 03 2006 In my opinion, if D branched into D 1.0 (stable) and D 2.0 (unstable), a...
- Sean Kelly (6/11) Nov 03 2006 hehe, you're probably right. My only issue is that I don't want the
- Tiberiu Gal (11/18) Nov 04 2006 For most of us D is the spare time language, unfortunately - just becaus...
- Bill Baxter (26/49) Nov 04 2006 You may be right, but I have serious doubts that slapping a 1.0 label on...
- Walter Bright (2/5) Nov 04 2006 True, but I often think I should just call it "1.0" and move on.
- Bill Baxter (17/25) Nov 04 2006 Yeh, I'm definitely not saying it would hurt to call it 1.0, just that
- Tiberiu Gal (12/17) Nov 04 2006 I don't see 1.0 as a feature complete compiler - I see it is a stable
- Tom S (6/22) Nov 04 2006 If releasing 1.0 soon would mean that there would be an experimental
- Walter Bright (15/22) Nov 05 2006 I don't agree that D is full of bugs. Sure, the bugzilla bug count
- Tiberiu Gal (9/20) Nov 06 2006 I'm saying that there is a bug in everything not that DMD is full of b...
- Samuel MV (20/20) Nov 04 2006 Hi Walter, unfortunately, it's not so simple. Example:
- Walter Bright (9/38) Nov 04 2006 I've been in the compiler business for 20+ years now. There are *always*...
- Samuel MV (10/10) Nov 04 2006 I see your point. But I think it's not the same to break code because of...
- Walter Bright (3/15) Nov 04 2006 You're welcome!
- Samuel MV (14/15) Nov 04 2006 Well, my fight it's with the templates. I understand the basics, but the...
- Walter Bright (4/20) Nov 05 2006 Templates aren't easy. But the new template stuff isn't breaking
- Bruno Medeiros (10/21) Nov 05 2006 I think Walter is right, the code changes introduced by new features
- Walter Bright (3/10) Nov 05 2006 That's right, the changes may obsolete some existing library
Hello everybody. With DMD 0.173 I've seen more than 100 versions of the D compiler (since september 2003). Three years ago it was my perfect language, and now it's more than perfect!! I've used it in some little projects just for fun ;-), but not for 'complex' applications. Well, my post it's about version 1.00 because I'm afraid that the developvent is in a never-ending cycle of new features and polishing, without a clear end. true. I think we should wait for v2.00 to add more features. It's time to start with the improvements of the libraries, DTL, classes, docs, etc. I'm going to start a new project in my job (a web application). Probably, it'll be done in PHP, but I think that D (as language) it's well suited for this, except that it hasn't the libraries/classes (CGI, HTTP, HTML, database, ...) and now it's a 'moving target'. Please, think about this, seriously, we, the people that likes D, are losing the oportunity window ... Best regards. Samuel.
Nov 03 2006
Samuel MV wrote:Well, my post it's about version 1.00 because I'm afraid that the developvent is in a never-ending cycle of new features and polishing, without a clear end.I kind of feel that way too.I'm going to start a new project in my job (a web application). Probably, it'll be done in PHP, but I think that D (as language) it's well suited for this, except that it hasn't the libraries/classes (CGI, HTTP, HTML, database, ....) and now it's a 'moving target'.I'm hoping that at some point the D feature list will freeze and the compiler will branch, so the existing version will enter maintenance mode and the new version will be used for new features. It means more work for Walter but fewer headaches for us. But I disagree that this is currently preventing library development. The current feature list is pretty solid, and the new features (ie. variadric templates) are not "must haves" for library work. Implicit template function instantiation was far more important IMO, and that has gotten to the point where it's fairly usable, assuming a few workarounds for overloading. Sean
Nov 03 2006
I've been fretting over the same thing, and a 'moving target' describes it well. With all the new additions recently I stopped holding my breath, I figure at this rate it'll be another 3 years for a 1.0. Heres to hoping, Charlie Samuel MV wrote:Hello everybody. With DMD 0.173 I've seen more than 100 versions of the D compiler (since september 2003). Three years ago it was my perfect language, and now it's more than perfect!! I've used it in some little projects just for fun ;-), but not for 'complex' applications. Well, my post it's about version 1.00 because I'm afraid that the developvent is in a never-ending cycle of new features and polishing, without a clear end. true. I think we should wait for v2.00 to add more features. It's time to start with the improvements of the libraries, DTL, classes, docs, etc. I'm going to start a new project in my job (a web application). Probably, it'll be done in PHP, but I think that D (as language) it's well suited for this, except that it hasn't the libraries/classes (CGI, HTTP, HTML, database, ...) and now it's a 'moving target'. Please, think about this, seriously, we, the people that likes D, are losing the oportunity window ... Best regards. Samuel.
Nov 03 2006
Charlie wrote:I've been fretting over the same thing, and a 'moving target' describes it well. With all the new additions recently I stopped holding my breath, I figure at this rate it'll be another 3 years for a 1.0.But isn't every language a moving target? Doesn't it make sense to just start using it?
Nov 03 2006
The other languages just move much slower ;). Its not that new releases break old code ( though it sometimes does ) , its that when new features are added - the old code needs to be refactored to take advantage of the new features. I like that D is cutting edge and trying things that haven't been done before, but to develop any lasting code developers need some sort of agreed upon language feature set , so it doesn't feel like we're in a never ending refactoring circle ( this is especially true of library builders I would think ). Why not devote a few releases to getting a 1.0 , and continue with a developmental branch , working its way to 2.0, best of both worlds. I don't want to hinder D development, and if it takes another few years to get a 1.0 so be it, but I think building up a solid base of existing code is going to be important to getting D into the mainstream. Charlie Walter Bright wrote:Charlie wrote:I've been fretting over the same thing, and a 'moving target' describes it well. With all the new additions recently I stopped holding my breath, I figure at this rate it'll be another 3 years for a 1.0.But isn't every language a moving target? Doesn't it make sense to just start using it?
Nov 03 2006
Charlie wrote:The other languages just move much slower ;). Its not that new releases break old code ( though it sometimes does ) , its that when new features are added - the old code needs to be refactored to take advantage of the new features. I like that D is cutting edge and trying things that haven't been done before, but to develop any lasting code developers need some sort of agreed upon language feature set , so it doesn't feel like we're in a never ending refactoring circle ( this is especially true of library builders I would think ). Why not devote a few releases to getting a 1.0 , and continue with a developmental branch , working its way to 2.0, best of both worlds. I don't want to hinder D development, and if it takes another few years to get a 1.0 so be it, but I think building up a solid base of existing code is going to be important to getting D into the mainstream. Charlie Walter Bright wrote:In my opinion, if D branched into D 1.0 (stable) and D 2.0 (unstable), a large enough chunk of people would continue to use the unstable branch that everybody else would be snowballed in by dependencies et cetera. Net accomplishment: Nothing. - Gregor RichardsCharlie wrote:I've been fretting over the same thing, and a 'moving target' describes it well. With all the new additions recently I stopped holding my breath, I figure at this rate it'll be another 3 years for a 1.0.But isn't every language a moving target? Doesn't it make sense to just start using it?
Nov 03 2006
Gregor Richards wrote:In my opinion, if D branched into D 1.0 (stable) and D 2.0 (unstable), a large enough chunk of people would continue to use the unstable branch that everybody else would be snowballed in by dependencies et cetera. Net accomplishment: Nothing.hehe, you're probably right. My only issue is that I don't want the introduction of new features to break existing functionality. So long as that's a pretty reasonable guarantee, I'm all for a single unified compiler release. Sean
Nov 03 2006
On Fri, 03 Nov 2006 22:31:26 +0200, Walter Bright <newshound digitalmars.com> wrote:Charlie wrote:For most of us D is the spare time language, unfortunately - just because it's name is 0.x! I'm sure that the same compiler named 1.0 would change this into making D the first option in many projects. For instance, I made a small DWT replica of a SWT application we use at my company. It's stable and faster, but it wasn't accepted in use because D is 0.x! ... people are superstitious this days -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/I've been fretting over the same thing, and a 'moving target' describes it well. With all the new additions recently I stopped holding my breath, I figure at this rate it'll be another 3 years for a 1.0.But isn't every language a moving target? Doesn't it make sense to just start using it?
Nov 04 2006
Tiberiu Gal wrote:On Fri, 03 Nov 2006 22:31:26 +0200, Walter Bright <newshound digitalmars.com> wrote:You may be right, but I have serious doubts that slapping a 1.0 label on D is going to make any difference to the superstitious folks in your company. "Not 1.0" is just a convenient excuse for not straying from the beaten path. If D becomes 1.0 they'll probably just change their tune to "Sorry, not a good enough tool-chain yet". Most likely what they really mean is "Sorry, it's still not Java." Managers prefer to play it safe when it comes to tool choices. And can you blame them? Why should they go out on a limb and choose D when they can see examples every day in the trade rags of companies that have been successful with Java or C++? Success for D has to come from the ground up with people like you using for their own little tools here and there, until eventually there's enough critical mass taht managers can't ignore it anymore. I remember a guy that used Python in a company I worked for about 10 years ago. I remeber thinking "Python? whatever dude". He just used it for perlish munging of things in our internal build system. He used it because he liked it, and management didn't care how he did it as long as it got the job done. Anyway ten years later big companies now pay attention to Python, but few people cared about it back then. I don't think Python's 1.0 made much difference to anyone. I didn't start really looking at it till 2.something. But the number didn't have anything to do with it. The reason was I started hearing about it from lots of different places. It was buzz, networking, critical mass, or something else, but it was not a version number. --bbCharlie wrote:For most of us D is the spare time language, unfortunately - just because it's name is 0.x! I'm sure that the same compiler named 1.0 would change this into making D the first option in many projects. For instance, I made a small DWT replica of a SWT application we use at my company. It's stable and faster, but it wasn't accepted in use because D is 0.x! ... people are superstitious this daysI've been fretting over the same thing, and a 'moving target' describes it well. With all the new additions recently I stopped holding my breath, I figure at this rate it'll be another 3 years for a 1.0.But isn't every language a moving target? Doesn't it make sense to just start using it?
Nov 04 2006
Bill Baxter wrote:You may be right, but I have serious doubts that slapping a 1.0 label on D is going to make any difference to the superstitious folks in your company.True, but I often think I should just call it "1.0" and move on.
Nov 04 2006
Walter Bright wrote:Bill Baxter wrote:Yeh, I'm definitely not saying it would hurt to call it 1.0, just that it's not going to magically make companies start adopting it en masse. It could have an effect on a smaller scale though. I think if you look at languages like Perl, Python, Ruby, PHP, their 1.0 releases were probably not that great. I mean Perl is at version 5.9.4 and PHP is up to version 5.2.0 -- how complete could their 1.0's have programs, I think people use a different yardstick for 1.0. Perl started off as a better awk, and it didn't have far to go to be useful in that regard. Php started off as a way to generate bits of web pages programmatically on the server side, and it didn't have far to go to be a really useful tool in that respect. But D is aiming to be a replacement for the languages that people use to write Really Big Programs (as well as small ones) that can do anything and everything. So I think that affects how people think about what constitutes 1.0. --bbYou may be right, but I have serious doubts that slapping a 1.0 label on D is going to make any difference to the superstitious folks in your company.True, but I often think I should just call it "1.0" and move on.
Nov 04 2006
On Sat, 04 Nov 2006 20:04:51 +0200, Bill Baxter <wbaxter gmail.com> wrote:But D is aiming to be a replacement for the languages that people use to write Really Big Programs (as well as small ones) that can do anything and everything. So I think that affects how people think about what constitutes 1.0. --bbI don't see 1.0 as a feature complete compiler - I see it is a stable compiler. Everything is changing and we're all full of bugs. I'm sure that many look at a 1.0 label as stable!( not just my boss, but I heard people talking on #D irc) And we all know D's power, everyone saw the language comparision sheet, we need that sign from Walter "use it, it's stable!". I'm not dreaming, I know it won't change the world overnight but it will bring some audience, advertisment, and a handfull of undecided programmers. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Nov 04 2006
Tiberiu Gal wrote:On Sat, 04 Nov 2006 20:04:51 +0200, Bill Baxter <wbaxter gmail.com> wrote:If releasing 1.0 soon would mean that there would be an experimental branch of the language that allowed more drastic changes - like fixing template/mixin problems and/or having const-by-default, I'm all for it... -- Tomasz StachowiakBut D is aiming to be a replacement for the languages that people use to write Really Big Programs (as well as small ones) that can do anything and everything. So I think that affects how people think about what constitutes 1.0. --bbI don't see 1.0 as a feature complete compiler - I see it is a stable compiler. Everything is changing and we're all full of bugs. I'm sure that many look at a 1.0 label as stable!( not just my boss, but I heard people talking on #D irc) And we all know D's power, everyone saw the language comparision sheet, we need that sign from Walter "use it, it's stable!".
Nov 04 2006
Tiberiu Gal wrote:Everything is changing and we're all full of bugs. I'm sure that many look at a 1.0 label as stable!( not just my boss, but I heard people talking on #D irc) And we all know D's power, everyone saw the language comparision sheet, we need that sign from Walter "use it, it's stable!". I'm not dreaming, I know it won't change the world overnight but it will bring some audience, advertisment, and a handfull of undecided programmers.I don't agree that D is full of bugs. Sure, the bugzilla bug count constantly rises, but: 1) there are very few regressions, and I put a priority on fixing regressions 2) I think a lot of the growing count reflects more users getting into more heavy use of the language 3) The regression test suite constantly grows with each fixed bug, meaning that the stability is like a ratchet - it moves forward only. 4) The core language is very solid and reliable. The bug reports tend to be on the fringes or are easily avoided. 5) The bugzilla bug count is actually pretty low for a product as complex as a compiler development system. 6) The optimizer/backend/linker are incredibly reliable, having endured the bug fix/regression test cycle for decades.
Nov 05 2006
On Mon, 06 Nov 2006 09:14:23 +0200, Walter Bright <newshound digitalmars.com> wrote:Tiberiu Gal wrote:I'm saying that there is a bug in everything not that DMD is full of bugs. I think that we can already use D and DMD, and that the DMD label should be 1.0 because 0.x means "not ready yet" for most of newcomers(and maybe even many of D community members). -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/Everything is changing and we're all full of bugs. I'm sure that many look at a 1.0 label as stable!( not just my boss, but I heard people talking on #D irc) And we all know D's power, everyone saw the language comparision sheet, we need that sign from Walter "use it, it's stable!". I'm not dreaming, I know it won't change the world overnight but it will bring some audience, advertisment, and a handfull of undecided programmers.I don't agree that D is full of bugs. Sure, the bugzilla bug count constantly rises, but:
Nov 06 2006
Hi Walter, unfortunately, it's not so simple. Example: 1.- I make a new library/classes for web services (HTTP, XML, FCGI, ...) using DMD 0.173 2.- Someone start using my library for a comercial application (that ones that you try to sell ;-) 3.- It's founded a bug that it's solved in DMD 0.180, version which also add some features that broke existing code. 4.- The library maker and the developer only have two options: a) Live with the bug. b) Refactorize library and application. Not a nice situation. Here is my 'perfect' plan :) 1.- Find the 3/4 features/problems that you/we *really* need to solve *now* in D. 2.- Fix only that in november, december, and maybe january. Also bugs ... 3.- We have DMD 1.00, that it's going to have only bug fixes, and that it's the version that every library, production application, doc, DTL, etc. should use. 4.- Branch 2.0 it's planned for the next 4-5 years, when you have had time to test the language in a massive mainstream enviroment, with lots of complex applications. Well, we have 'survived' with only C for more than 30 years, so what do you think about??? Thank you. Best regards.
Nov 04 2006
Samuel MV wrote:Hi Walter, unfortunately, it's not so simple. Example: 1.- I make a new library/classes for web services (HTTP, XML, FCGI, ...) using DMD 0.173 2.- Someone start using my library for a comercial application (that ones that you try to sell ;-) 3.- It's founded a bug that it's solved in DMD 0.180, version which also add some features that broke existing code. 4.- The library maker and the developer only have two options: a) Live with the bug. b) Refactorize library and application. Not a nice situation. Here is my 'perfect' plan :) 1.- Find the 3/4 features/problems that you/we *really* need to solve *now* in D. 2.- Fix only that in november, december, and maybe january. Also bugs ... 3.- We have DMD 1.00, that it's going to have only bug fixes, and that it's the version that every library, production application, doc, DTL, etc. should use. 4.- Branch 2.0 it's planned for the next 4-5 years, when you have had time to test the language in a massive mainstream enviroment, with lots of complex applications. Well, we have 'survived' with only C for more than 30 years, so what do you think about??? Thank you.I've been in the compiler business for 20+ years now. There are *always* more bugs. There are *always* problems with new compilers breaking existing code, even if they are just bug fixes (as code sometimes inadvertently relies on bugs). The version number is just a number, it doesn't technically mean much of anything, except as an identification mark. That said, I do my best not to break existing things when adding new capabilities, or if it is inevitable, I try to make sure there's an *easy* solution for existing code.
Nov 04 2006
I see your point. But I think it's not the same to break code because of a bug, that because of there is a change in the way templates, variadic, delegates or operator overload works. I know that 1.00 it's only a number, that DMD 0.173 it's better than C++ 12.00 (it was better with 0.73). I'm only asking for two branches: 'stable' and 'development', to make things more ease for developers. I want to use D, but I need to get the things done in my job, I need to solve the problems of an application, not fight with the language. That said, Walter, you are doing a wonderful job, and objectively D it's one of the best languages that exist. Thank you :)
Nov 04 2006
Samuel MV wrote:I see your point. But I think it's not the same to break code because of a bug, that because of there is a change in the way templates, variadic, delegates or operator overload works. I know that 1.00 it's only a number, that DMD 0.173 it's better than C++ 12.00 (it was better with 0.73). I'm only asking for two branches: 'stable' and 'development', to make things more ease for developers. I want to use D, but I need to get the things done in my job, I need to solve the problems of an application, not fight with the language.What are you fighting right now with D?That said, Walter, you are doing a wonderful job, and objectively D it's one of the best languages that exist. Thank you :)You're welcome!
Nov 04 2006
What are you fighting right now with D?Well, my fight it's with the templates. I understand the basics, but they are complex if you want to use them properly and take advantage of their power. I'm not a real C++ programmer so I don't have enough background (I have programmed in C and assembler for many years, some simple classes in C++, and the last years only in Java and Cobol/JCLs). My problem it's that I have little time for so many changes, although I understand that they are important improvements. Also, now, I need to learn PHP to build a web application, it's a very simple language but with lots of functions for web (obviously, it was designed for this). Instead of that, I would like to spend that time with D, but I'd need a bigger library with enough functions/classes to build my own application, and/or a more stable language (in which I could help to build the D libraries ;-). Best regards. Samuel.
Nov 04 2006
Samuel MV wrote:Templates aren't easy. But the new template stuff isn't breaking existing ones, and is not likely to. So it shouldn't interfere with someone writing template libraries.What are you fighting right now with D?Well, my fight it's with the templates. I understand the basics, but they are complex if you want to use them properly and take advantage of their power. I'm not a real C++ programmer so I don't have enough background (I have programmed in C and assembler for many years, some simple classes in C++, and the last years only in Java and Cobol/JCLs). My problem it's that I have little time for so many changes, although I understand that they are important improvements. Also, now, I need to learn PHP to build a web application, it's a very simple language but with lots of functions for web (obviously, it was designed for this). Instead of that, I would like to spend that time with D, but I'd need a bigger library with enough functions/classes to build my own application, and/or a more stable language (in which I could help to build the D libraries ;-).
Nov 05 2006
Samuel MV wrote:I see your point. But I think it's not the same to break code because of a bug, that because of there is a change in the way templates, variadic, delegates or operator overload works. I know that 1.00 it's only a number, that DMD 0.173 it's better than C++ 12.00 (it was better with 0.73). I'm only asking for two branches: 'stable' and 'development', to make things more ease for developers. I want to use D, but I need to get the things done in my job, I need to solve the problems of an application, not fight with the language.I think Walter is right, the code changes introduced by new features (not bugs) are very rarely backwards-incompatible (even more rarely that they should be, IMO, but that's another story), so I don't see as valid this idea that you have to refactor your code with each new major release. If you don't have time to use, or don't want to use the new features of a release, simply don't, you won't be any worse because of that. -- Bruno Medeiros - MSc in CS/E student http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
Nov 05 2006
Bruno Medeiros wrote:I think Walter is right, the code changes introduced by new features (not bugs) are very rarely backwards-incompatible (even more rarely that they should be, IMO, but that's another story), so I don't see as valid this idea that you have to refactor your code with each new major release. If you don't have time to use, or don't want to use the new features of a release, simply don't, you won't be any worse because of that.That's right, the changes may obsolete some existing library implementations, but it shouldn't *break* them.
Nov 05 2006