5 ms·
No, I think there is always something you can improve or add. The point, I think, is to do it carefully, though, without breaking things. Python is an example o
by jwr 3y ago
No, I think there is always something you can improve or add. The point, I think, is to do it carefully, though, without breaking things. Python is an example of how not to approach software evolution. Emacs and Clojure are examples of how software can be maintained over the long term without breaking backwards compatibility.
When I was young (and, ahem, stupid), I didn't care — I was all gung-ho, shoot from the hip, and if something breaks, tough. As I matured, I learned that backwards compatibility and long-term maintenance should be valued and cherished. Not just because if you're not careful, you have to fix the things that break, but also because as you start doing more and more things in your life, you have less time for each thing and you'd rather move forward rather than spend time fixing things that break.
- jon_adler 3y agoPython is an interesting example to choose as a negative example. I presume you are referring to the evolution from v2 to v3. The popularity of Python has exploded in recent years, possibly as a direct consequence of tough decisions and breaking backward compatibility. I guess it is a subjective topic and an individuals position depends on how they define success.
- 7thaccount 3y agoYeah. I'm always a little confused by this. It's still one of the most popular languages and growing for a reason. It surely isn't perfect, but no technology is. The tradeoffs they made have worked really well for a lot of people.
- cutler 3y agoWhen looking at stats for Python's growth we have to remember 2 things. The number of libraries on PyPi is inflated by the same spam phenomenon which has infected npm, producing ludicrous library upload stats. Second, a large section of the Python userbase is non-programmers using it in a lab context to crunch some data and produce a pretty graph. Might as well be R or Matlab.
- 7thaccount 3y agoI think that's just your own experience being extrapolated a bit too much. In my own industry I'm aware of a few dozen commercial products. Every single one has a first class Python API. Most only have the one Python API. All academic scientists and engineers in industry (in my field) use Python with a little Julia, Matlab, or C++. It's presence has grown a lot in the past decade. In IT, there's also Java, C#, and Go.
- legends2k 3y agoTrue, I've seen this with my projects in general (even outside software), the quality goes down as the quantity (of people involved) increases.
- legends2k 3y agoTrue, I've seen this with many projects in general (even outside software), the quality goes down as the quantity (of people involved) increases.