[LLVMdev] Minimum Python Version

Sean Silva silvas at purdue.edu
Sat Dec 1 20:47:30 PST 2012


> On Fri, Nov 30, 2012 at 1:40 PM, Daniel Dunbar <daniel at zuster.org> wrote:
>>
>> My official opinion on Python version support is to maintain old
>> compatibility, unless it is causing large problems with the code.
>
>
> I would like to offer a counter opinion.

I think that we simply need to redefine "old". To me, an "old" version
of Python means 2.6. Something that is End-Of-Life'd like 2.{4,5} is
not "old", it is "dead".

> I believe LLVM should drop support for Python 2.4 and 2.5 for 2 main
> reasons:
>
> 1) Python 2.4 and 2.5 are end-of-lifed
> 2) Python 3 is coming

+1

-- Sean Silva

On Sat, Dec 1, 2012 at 3:57 PM, Gregory Szorc <gregory.szorc at gmail.com> wrote:
> I'd like to continue the discussion about minimum Python versions from the
> "Use multiprocessing instead of threading" thread in its own thread because
> I feel it warrants additional discussion.
>
> In that thread, we were discussing maintaining support for Python 2.4 and
> 2.5. The latest response is:
>
> On Fri, Nov 30, 2012 at 1:40 PM, Daniel Dunbar <daniel at zuster.org> wrote:
>>
>> My official opinion on Python version support is to maintain old
>> compatibility, unless it is causing large problems with the code.
>
>
> I would like to offer a counter opinion.
>
> I believe LLVM should drop support for Python 2.4 and 2.5 for 2 main
> reasons:
>
> 1) Python 2.4 and 2.5 are end-of-lifed
> 2) Python 3 is coming
>
> IMO, #1 should be reason enough. Let me explain #2.
>
> All the Python in the tree will need to eventually support Python 3.
> "Modern" Linux distributions like Ubuntu are already shipping Python 3 as
> /usr/bin/python (while still offering 2.7 because the overwhelming amount of
> Python in the wild doesn't yet work on Python 3).
>
> The road to Python 3 for LLVM will likely come via Python code that works
> under both 2.x and 3.x (I'm assuming nobody wants a flag day). From my
> personal experience, I can unequivocally say that writing Python that works
> on both major versions is much easier the closer the Python 2 release is to
> 3. In other words, It's much easier to dually support Python 2.7 and 3.x
> than it is 2.5 and 3.x. I feel the level of pain is pretty bad until you get
> to Python 2.6. Even then, there are dozens of small bugs in Python 2.6 and
> even earlier releases of Python 2.7 until 2.7.3 that make dual support
> difficult (especially in the area of Unicode handling).
>
> For these reasons, I urge LLVM to drop support for Python older than 2.6. I
> would encourage requiring 2.7 (preferably the latest available release -
> 2.7.3 at this time) at the earliest convenience, but I'm not explicitly
> asking for it. While continued support for older Pythons is a noble goal and
> may continue to support people clinging to ancient Python releases, this
> will only make the path forward more difficult, as it puts an additional
> burden on those maintaining Python in the tree.
>
> FWIW, I've been pushing this same argument at Mozilla for the Firefox tree
> [1], where so far it has been winning. We dropped Python 2.5 about 6 weeks
> ago and IIRC the only issue was we forgot to update one set of builders
> before we made the change. We have loosely agreed that we want to move
> everything to Python 2.7 (then 2.7/3.x and then eventually 3.x) and will be
> discussing this change in the days ahead. While I'm sure LLVM supports some
> more esoteric platforms than Firefox, I believe the data point is still
> relevant and LLVM could make a similar transition without a major headache.
>
> [1]
> https://groups.google.com/d/topic/mozilla.dev.platform/djN02O03APc/discussion
>
> Gregory
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



More information about the llvm-dev mailing list