Fwd: [Pharo-project] About (backwards) Compatibility

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fwd: [Pharo-project] About (backwards) Compatibility

Hannes Hirzel
FYI, a noteworthy contribution from the Pharo list....

--Hannes

---------- Forwarded message ----------
From: dimitris chloupis <[hidden email]>
Date: Tue, 11 Dec 2012 09:23:16 +0000 (GMT)
Subject: Re: [Pharo-project] About (backwards) Compatibility
To: "[hidden email]"
<[hidden email]>, "[hidden email]"
<[hidden email]>

I have to say I am on of those people who love backward compatibility.
I actually come from a programming language that did exactly what the
quote says. It was not a fun experience. Python 3 broke compatibility
with python 2. Most of the libraries did ignore python 3 for quite
some time and some still do. Actually if you google for "python 3" the
second search result of it is the "python wall of shame" where you
will find many of python libraries still stuck to python 2. The reason
is that is a lot of work to rewrite parts of library to make it
compatible with python 3. And note that python 3 has been around for 5
years. And is most likely it will be another 5 till most major python
libraries are finally ported to python 3.


http://python3wos.appspot.com/


Usually when I see "tragic fate" , "dead" , "declined"  etc mentioned
in the same sentence with a programming language I am certain that it
will mention some "big flaw" of the language and I am going to
facepalm myself. In 99% of all case of "dead" languages it has nothing
to do with the language itself and has everything to do with hype and
lack of good marketing.


I can tell you one thing, AFAIK the decision to brake compatibility
with python is still a big reason why one should not use python and is
considered one of the big flaw of python. I know that some people are
in denial, and I agree that python has been improved but not without
paying a big price as the "wall of shame" clearly shows.


I can bring you another example, blenderpython, its the well known
Blender python api of the well known open source 3d app. Well if you
take a look at it you will find two things. a) blender 2.5 has been a
rewrite which is a very good thing but that ment sacrificing many
useful addons because not only the library changed but also they moved
from python 2 to 3 and b) API keeps braking compatibility in almost
every single version. The result is an army of addons that are left
unmaintained because the author makes something but he is not able to
maintain every second month because the developer decided to brake
compatibility. Users ask for updates to the addons and usually
developers search for another developer to maintain but most of those
addons are left for dead. And that is thousands of lines of code gone
to waste. Actually very few developers stick to blenderpython for this
very reason.


So no I have to disagree there, between choosing a better language or
a useful library and code that works in long term, I choose the
second. I am full on progress but I do find braking compatibility is
just the easy , convinient solution that does not quite work well in
practice .



________________________________
 From: Fernando Olivero <[hidden email]>
To: "[hidden email]" <[hidden email]>
Sent: Tuesday, 11 December 2012, 10:36
Subject: [Pharo-project] About (backwards) Compatibility


Hi, i wanted to share an "old" quote which i find relevant to our
community. Just replace FORTRAN's with loads of stuff we had in the
bloated images in the past,  most of them useful to get were we are
right now.
"FORTRAN's tragic fate has been its wide acceptance, mentally chaining
thousands and thousands of programmers to our past mistakes. I pray
daily that more of my fellow-programmers may find the means of freeing
themselves from the curse of compatibility."


Dijkstra, The Humble Programmer, 1972