digitalmars.D - Breaking compatibilyt hurts
- Jesse Phillips (3/3) Dec 02 2009 This has come up as one issue for adoption to D. D2.x is on its way, uns...
- Walter Bright (11/27) Dec 02 2009 One of the comments in there:
- Jesse Phillips (7/17) Dec 02 2009 Well, part of the problem is that you can use all of those arguments
- Walter Bright (8/14) Dec 02 2009 My take on this is he wanted to use Lisp and went looking for a
- torhu (7/9) Dec 02 2009 Looks like that guy has a thing for Lisp, so he came up with a bunch of
- Don (4/24) Dec 03 2009 D1 was a bit of a line in the sand, anyway. There was absolutely no
- Trass3r (4/5) Dec 03 2009 From time to time you simply got to throw away compatibility to make
- naryl (2/12) Dec 03 2009 But he was considering Clojure which is a dialect of Lisp and didn't cho...
- Daniel de Kok (8/17) Dec 04 2009 It's just one opinion. Others will use Python, because Guido van Rossum
- Leandro Lucarella (21/39) Dec 04 2009 But Python is extremely careful not to break backwards compatibility fro...
- Nick Sabalausky (4/38) Dec 04 2009 If you're not ready for a breaking change, why not just stick with the o...
- Leandro Lucarella (14/23) Dec 04 2009 Because nobody wants to keep maintaining really old versions. AFAIK Pyth...
This has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-and I'm not claiming D is in the wrong in its chosen path. This shows that other languages deal with similar issues, but is one thing for someone familiar with a language to not choose it for a project than it is to get someone to look into a new language.
Dec 02 2009
Jesse Phillips wrote:This has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-and I'm not claiming D is in the wrong in its chosen path. This shows that other languages deal with similar issues, but is one thing for someone familiar with a language to not choose it for a project than it is to get someone to look into a new language.One of the comments in there: "One of the greatest problems I found when trying Common Lisp was the large number of implementations and the disorganization of the library space. It is hard for a newcomer to decide which libraries are available, which are maintained, which are dead." You can't please everyone. I also think his criticism of Python is invalid. He's got just what he wants, Python 2.0, but complains it won't get improvements. Then he complains when it gets improvements in the form of Python 3.0. You just can't have it both ways.
Dec 02 2009
Walter Bright wrote:One of the comments in there: "One of the greatest problems I found when trying Common Lisp was the large number of implementations and the disorganization of the library space. It is hard for a newcomer to decide which libraries are available, which are maintained, which are dead." You can't please everyone. I also think his criticism of Python is invalid. He's got just what he wants, Python 2.0, but complains it won't get improvements. Then he complains when it gets improvements in the form of Python 3.0. You just can't have it both ways.Well, part of the problem is that you can use all of those arguments against D (That includes the complaint about Lisp). Maybe not if you just look at D1 or just D2, and many times the complaints aren't as big an issue as they are made out to be once you start using the language. And yes, Lisp did seem an odd choice considering why he didn't choose the one of the other languages.
Dec 02 2009
Jesse Phillips wrote:Well, part of the problem is that you can use all of those arguments against D (That includes the complaint about Lisp). Maybe not if you just look at D1 or just D2, and many times the complaints aren't as big an issue as they are made out to be once you start using the language. And yes, Lisp did seem an odd choice considering why he didn't choose the one of the other languages.My take on this is he wanted to use Lisp and went looking for a justification. I have long experience with people who say "I won't use your product because of X." If you then resolve X, they still won't use the product, because X was not the real reason. It's far more productive to work with people who already use the product and try to resolve issues that they are actually faced with.
Dec 02 2009
On 03.12.2009 1:13, Jesse Phillips wrote:This has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-andLooks like that guy has a thing for Lisp, so he came up with a bunch of excuses why he shouldn't use anything else. The thing with D 1 is that it hasn't really taken off. So it's not unreasonable to sacrifice D 1 comaptibility if it can help make D 2 better, obviously in the hope that D 2 will take off. Note how the title of Andrei's book is NOT "The D 2.0 Programming Language."
Dec 02 2009
torhu wrote:On 03.12.2009 1:13, Jesse Phillips wrote:D1 was a bit of a line in the sand, anyway. There was absolutely no effort put into making D1 stable before beginning D2. It's more of a stable snapshot.This has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-andLooks like that guy has a thing for Lisp, so he came up with a bunch of excuses why he shouldn't use anything else. The thing with D 1 is that it hasn't really taken off. So it's not unreasonable to sacrifice D 1 comaptibility if it can help make D 2 better, obviously in the hope that D 2 will take off. Note how the title of Andrei's book is NOT "The D 2.0 Programming Language."
Dec 03 2009
Jesse Phillips schrieb:I'm not claiming D is in the wrong in its chosen path. This shows that other languages deal with similar issues, but is one thing for someone familiar with a language to not choose it for a project than it is to get someone to look into a new language.From time to time you simply got to throw away compatibility to make progress, not only in programming languages. Just take the OpenGL 3.0 issue. Nothing has changed because of legacy.
Dec 03 2009
Walter Bright Wrote:Jesse Phillips wrote:But he was considering Clojure which is a dialect of Lisp and didn't choose it for the same reasons as Python and Ruby.Well, part of the problem is that you can use all of those arguments against D (That includes the complaint about Lisp). Maybe not if you just look at D1 or just D2, and many times the complaints aren't as big an issue as they are made out to be once you start using the language. And yes, Lisp did seem an odd choice considering why he didn't choose the one of the other languages.My take on this is he wanted to use Lisp and went looking for a justification.
Dec 03 2009
On 2009-12-03 01:13:13 +0100, Jesse Phillips <jessekphillips+D gmail.com> said:This has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-andIt's just one opinion. Others will use Python, because Guido van Rossum is not afraid to fix, change, and improve things, even in point releases. I'd rather see D follow the Python path in this respect after D2 is finished, than the C++ 'the world freezes' approach. At times, it is inconvenient, but it also keeps a language and its library vital. -- Daniel
Dec 04 2009
Daniel de Kok, el 4 de diciembre a las 09:38 me escribiste:On 2009-12-03 01:13:13 +0100, Jesse Phillips <jessekphillips+D gmail.com> said:But Python is extremely careful not to break backwards compatibility from one release to another. Breaking changes are usually introduced in 2 steps. In the first release with the new feature, the feature is optional and activated *only* explicitly through: from __future__ import feature If a feature is removed, it's deprecated (issuing a warning) in the first release. The second release with the change has the new/removed feature. That gives people time to fix their programs and try the new feature without breaking anything for several months (a minor Python version is released each ~9 months aprox.). I certainly hope D2 doesn't follow the D1 path (before D2 was forked), introducing new features each release without notice and breaking backwards compatibility. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- ELLA FUE INFIEL, PERO EX POLOLO PAGÓ -- TV CHILEThis has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-andIt's just one opinion. Others will use Python, because Guido van Rossum is not afraid to fix, change, and improve things, even in point releases. I'd rather see D follow the Python path in this respect after D2 is finished, than the C++ 'the world freezes' approach. At times, it is inconvenient, but it also keeps a language and its library vital.
Dec 04 2009
"Leandro Lucarella" <llucax gmail.com> wrote in message news:20091204133103.GB27013 llucax.com.ar...Daniel de Kok, el 4 de diciembre a las 09:38 me escribiste:If you're not ready for a breaking change, why not just stick with the older version until you're ready? Seems a lot simpler.On 2009-12-03 01:13:13 +0100, Jesse Phillips <jessekphillips+D gmail.com> said:But Python is extremely careful not to break backwards compatibility from one release to another. Breaking changes are usually introduced in 2 steps. In the first release with the new feature, the feature is optional and activated *only* explicitly through: from __future__ import feature If a feature is removed, it's deprecated (issuing a warning) in the first release. The second release with the change has the new/removed feature. That gives people time to fix their programs and try the new feature without breaking anything for several months (a minor Python version is released each ~9 months aprox.). I certainly hope D2 doesn't follow the D1 path (before D2 was forked), introducing new features each release without notice and breaking backwards compatibility.This has come up as one issue for adoption to D. D2.x is on its way, unstable, and D1.x is getting the ax. While Walter has said that the compiler will continue to get support, no one in the community knows what the library support will be like. I came across an article where even Python wasn't chosen for a project because of the eminent release of Python 3. He also dismisses Ruby and Clojure for other complaints people have expressed about D. -- http://postabon.posterous.com/why-i-chose-common-lisp-over-python-ruby-andIt's just one opinion. Others will use Python, because Guido van Rossum is not afraid to fix, change, and improve things, even in point releases. I'd rather see D follow the Python path in this respect after D2 is finished, than the C++ 'the world freezes' approach. At times, it is inconvenient, but it also keeps a language and its library vital.
Dec 04 2009
Nick Sabalausky, el 4 de diciembre a las 10:03 me escribiste:Because nobody wants to keep maintaining really old versions. AFAIK Python only do bugfix releases for the latest 2 releases (with the exception of the new Python 3 major version, in this case I think more release are maintained). If you keep using an old Python version, you will never get a bugfix. -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Me encanta el éxito; por eso prefiero el estado de progreso constante, con la meta al frente y no atrás. -- Ricardo Vaporeso. Punta del Este, Enero de 1918.The second release with the change has the new/removed feature. That gives people time to fix their programs and try the new feature without breaking anything for several months (a minor Python version is released each ~9 months aprox.). I certainly hope D2 doesn't follow the D1 path (before D2 was forked), introducing new features each release without notice and breaking backwards compatibility.If you're not ready for a breaking change, why not just stick with the older version until you're ready? Seems a lot simpler.
Dec 04 2009