TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Python Versions Used in Commercial Projects, 2016 Edition

160 pointsby markoaover 8 years ago

36 comments

sixhobbitsover 8 years ago
Maybe unjustified, but I&#x27;m always kind of suspicious of a post which is largely focused on raw data (like this one) and which presents only pie-chart visualsations [0].<p>Yes, Python has a pretty dirty history, with many people choosing to stick to the Python 2.7 that they knew and loved. And yes, commercial software tends to move waaay slower than the wider community (many banks are still running COBOL). If you&#x27;re focused on making money and pleasing clients then &quot;it worked for us before&quot; is always going to be the strongest argument.<p>Major players in the Python eco system have pledged to move away from Python 2 [1], and if we had non pie-chart visualisations, I&#x27;m sure we&#x27;d see huge trends towards Python 3 in the last year. Even slow-moving corporations are starting to use Python3. Yes, MacOS defaulting to Python2 is still a problem, but Ubuntu switching to default Python3 is already a huge step to get companies to move forwards.<p>[0] <a href="http:&#x2F;&#x2F;www.businessinsider.com&#x2F;pie-charts-are-the-worst-2013-6" rel="nofollow">http:&#x2F;&#x2F;www.businessinsider.com&#x2F;pie-charts-are-the-worst-2013...</a><p>[1] <a href="https:&#x2F;&#x2F;python3statement.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;python3statement.github.io&#x2F;</a>
评论 #12931314 未加载
评论 #12930546 未加载
评论 #12930656 未加载
评论 #12932027 未加载
评论 #12932217 未加载
评论 #12930685 未加载
评论 #12930885 未加载
dr_zoidbergover 8 years ago
Wouldn&#x27;t call 28% &quot;largely ignored&quot;, rather &quot;still lagging behind&quot;. Thing is, 3.6 looks like the real deal breaker here, what Python 3.0 should&#x27;ve been. With asyncio, compact dicts and scandir I&#x27;ve gotten to the point where I can almost justify to my employer why, if everything is still working, we should move to Python 3.6 (&quot;all will be faster&quot; -- I know I&#x27;m kind oversimplifying here, but my boss pretty much doesn&#x27;t understand software and just wants results&#x2F;money).<p>There&#x27;s also the sentiment of &quot;I don&#x27;t know if [insert module here] will be supported&quot;, which has become mostly baseless fear, but people still think Py3 support is lacking (when it&#x27;s not![0]).<p>[0] <a href="https:&#x2F;&#x2F;python3wos.appspot.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;python3wos.appspot.com&#x2F;</a> -- also, take notice how 9 of this guys come from here [1]<p>[1] <a href="http:&#x2F;&#x2F;mozbase.readthedocs.io&#x2F;en&#x2F;latest&#x2F;" rel="nofollow">http:&#x2F;&#x2F;mozbase.readthedocs.io&#x2F;en&#x2F;latest&#x2F;</a><p>Edit: when I posted this comment, the link was titled &quot;Python 3 largely ignored&quot; (not the article per se, but the submitted link had been titled that way). It has been changed, but this was a bit of important context for my comment.
评论 #12930495 未加载
评论 #12933940 未加载
scrollawayover 8 years ago
Python 3 is omnipresent in my work right now and it is so nice not to have to worry about, for example, unicode issues.<p>The only thing I&#x27;m dealing with which is still not Python 3 compatible is AWS Lambda, which only offers 2.7 right now. Supposedly Amazon is working on 3.x but... come on.
评论 #12930502 未加载
评论 #12930399 未加载
评论 #12930886 未加载
评论 #12931152 未加载
评论 #12930403 未加载
评论 #12930520 未加载
评论 #12930875 未加载
noir_lordover 8 years ago
<a href="http:&#x2F;&#x2F;i.imgur.com&#x2F;EJM1viF.png" rel="nofollow">http:&#x2F;&#x2F;i.imgur.com&#x2F;EJM1viF.png</a><p>That&#x27;s why Python 2.7 will be around and maintain dominance for a while.<p>When the latest stable releases of the primary environments are defaulting to something you have to have very good reasons why not to use the default (even when it&#x27;s easy to change the default).<p>Administrators (in the old school not the new &quot;everything in containers&quot;) don&#x27;t like using non-defaults.
评论 #12930473 未加载
评论 #12930480 未加载
评论 #12930446 未加载
评论 #12930433 未加载
评论 #12930391 未加载
评论 #12930521 未加载
wtbobover 8 years ago
Former Python developer here. The problem was two-fold: Python 3 broke backwards- and forward-compatibility (in a practical sense: there were workarounds, but libraries didn&#x27;t necessarily use &#x27;em, and Python is nothing if not a glue language); and for the longest time there really wasn&#x27;t a good reason to switch. I think it wasn&#x27;t until last year that it really started to make sense to go with Python 3 — and by then I&#x27;d already switched to Go.
评论 #12930564 未加载
评论 #12930662 未加载
评论 #12930923 未加载
评论 #12931404 未加载
vascoover 8 years ago
Users generally update by default, if thousands upon thousands didn&#x27;t it&#x27;s because someone else fucked up.<p>I find it funny how a small group of people thinks they know better than the outer community, to the point that they feel like they should have a say in what thousands of businesses use to run successful code.<p>More than this, I would argue that most people using Python 3 are those new to the language. This is only from personal experience, so it&#x27;s really just anecdote.<p>PS: In a kind of jesty side-note, I know the general argument is that &quot;python 2 was broken&quot;, but really, how broken can something be when thousands of businesses depend on it and more than that, choose to keep using it when a &quot;better&quot; alternative comes about?
评论 #12931171 未加载
drejover 8 years ago
Coming from a country with an extended alphabet, I&#x27;ve always been aware of encoding issues, especially before almost everyone settled on using UTF. So the treatment in Python 3 (and equally in Go) is a game changer for me and many other language users out there. I&#x27;m not saying that, say, American developers don&#x27;t need to support other alphabets, just that it&#x27;s less pressing since they don&#x27;t tend to deal with them on a daily basis.<p>So for this feature alone, I&#x27;m all in on Python 3.
TheAceOfHeartsover 8 years ago
I don&#x27;t follow the Python community closely, so I might be totally off the mark here, but my general impression is that it was shipped prematurely. From what I&#x27;ve read, in more recent years a lot of work has gone into easing the transition... But it seems a bit late. As an outside I wonder: did they fail to put in a reasonable effort at all in providing a smooth transition from the start, or did they try and failed to account to the realities of our world?<p>Recklessly breaking backwards compatibility without a smooth migration plan is hostile to developers. Although it&#x27;s not a programming language, this is something that I think React has gotten right with their current versioning scheme [0].<p>[0] <a href="https:&#x2F;&#x2F;facebook.github.io&#x2F;react&#x2F;blog&#x2F;2016&#x2F;02&#x2F;19&#x2F;new-versioning-scheme.html" rel="nofollow">https:&#x2F;&#x2F;facebook.github.io&#x2F;react&#x2F;blog&#x2F;2016&#x2F;02&#x2F;19&#x2F;new-version...</a>
评论 #12934279 未加载
评论 #12932083 未加载
estover 8 years ago
Python really should learn from PHP7.<p>Yes, it breaks a lot of things, but it&#x27;s totally worth it for the performance gains.<p>Py3k solves problems partially like Unicode or async&#x2F;await but it&#x27;s a non-issue for skilled python2 developers.<p>People like incentives to upgrade. Period.
评论 #12930827 未加载
评论 #12930767 未加载
INTPenisover 8 years ago
I expend considerable effort that I am not obliged to expend to use Python 3 whenever possible. I&#x27;m sure that I&#x27;m not unique.<p>Right now in my life the major things stopping me from using python 3 for all the things are.<p><pre><code> * Ansible * Two large in-house developed apps taken over from previous devs * Debian Wheezy </code></pre> And as you can guess, at least one of those will hopefully disappear soon.<p>Other than that I try to use python 3 as much as possible. I know a lot of the workaround for getting pyvenv working on various distros for example.<p>I also know about a lot of alternative libs like ldap3, dnspython3 and more.
评论 #12930594 未加载
评论 #12930580 未加载
评论 #12930945 未加载
rtpgover 8 years ago
this headline is a bit much. 1&#x2F;3rd of new projects use Python 3! A lot of people are excited about the language now that a lot of the warts have been dealt with and language compat is higher than ever.<p>Though all it takes is one dependency to throw a wrench in the plans, the major projects are Py3 now.<p>Though porting large python 2 projects is still a huuuuuge pain. This is more a result of python 2 badness than python 3. But a lot of work.
makecheckover 8 years ago
I’m not sure why but the Mac has not installed a &quot;&#x2F;usr&#x2F;bin&#x2F;python3&quot; so I continue to avoid 3.x migration (aside from minor things like &quot;__future__&quot; imports for division and print_function).<p>I don’t want to <i>add</i> a dependency for end users when my current code works fine with the built-in Python at 2.x. Nor do I want to bloat the size of downloads to embed something like an entire interpreter binary. (Swift has the same issue; there is currently no way to refer to it externally, as it is in flux; I do not want to embed loads of Swift libraries in every build so I will wait to migrate until they have stabilized binaries and made them available from a common root.)
binarymaxover 8 years ago
I blame in part, that the default install for OS&#x27;s like Ubuntu and Mac is Python 2.7. If you are starting python development, and want to support more systems, and you know the default is 2.7, then that&#x27;s what you will target.
评论 #12930404 未加载
评论 #12930388 未加载
perlinover 8 years ago
Anecdotally, we had a simple events API running Python 2.7&#x2F;Flask&#x2F;uwsgi&#x2F;nginx that needed to do quick I&#x2F;O operations on a growing # of HTTP requests. To increase throughout, we experimented with Python 3 for its async&#x2F;await style concurrency. It didn&#x27;t seem to help much and we ended up just rewriting that API in Go and see way better throughout-to-resource ratios by shipping 5mb binaries to Docker &amp; Kubernetes.<p>Point is, we&#x27;re a hybrid shop that does all first pass services in Python 2.7 and then move them to Go when they become suffiently trafficked and&#x2F;or critical.
knljeover 8 years ago
My colleagues at academia (scientific computing) mostly default to Python 2. Personally I&#x27;ll switch to Python 3 when approximately over 50% of my colleagues use it or when some mind blowing new feature or library is introduced only for Python 3. Makes things simpler this way. Also, I don&#x27;t currently have enough spare time to port all my code.
评论 #12930759 未加载
评论 #12932867 未加载
ntollover 8 years ago
Python 3 is the default teaching language for the RaspberryPi. The BBC micro:bit runs MicroPython - a reimplementation of Python 3 for microcontrollers.<p>Teachers and kids are already ahead of the game.<p>When today&#x27;s kids graduate they&#x27;ll view Python2.7 in perhaps the same way I view Delphi or VB6 (&quot;you&#x27;re still using <i>that</i>..?&quot; etc,).
评论 #12930910 未加载
swalshover 8 years ago
I&#x27;ve recently started using python a lot more, it was a natural progression when I moved from using a windows dev machine to a mac book. One day I needed to do something quick, and python was the quickest way to do it. I typed python into my terminal, saw 2.7, and built from that. I had no incentive to look into upgrading, I had everything I needed to accomplish what I wanted. My good experience then has grown to the point where it&#x27;s probably the second most common tool in my toolbag, but it&#x27;s still an &quot;I need to do xyz, and I don&#x27;t care how it looks I just want to see if this will work&quot;. So I still stick with the defaults. I only think about using the latest greatest tools if I think the code I&#x27;m writing has long term potential.
spdyover 8 years ago
From my personal opinion just porting a project from 2-&gt;3 we will get there. Python 3.6 offers to much to let is pass.<p>Ecosystem has moved far enough its just a matter of time when big frameworks etc. deprecate python 2.7 and this mostly happen around the real EOL of it.
d_theoristover 8 years ago
I&#x27;m actually surprised (pleasantly) to see that adoption is that high. I would have guessed at less than 10%.<p>I suppose the sample set (projects using a tool like Semaphore) is likely to be biased towards more forwards-looking teams, but still.
danielsamuelsover 8 years ago
Where I work we&#x27;re just waiting on Ansible. Everything else we write and use works with Python 3, except the tool we use to deploy it all. Frustrating.
评论 #12930637 未加载
verytrivialover 8 years ago
Interesting data-point, but what is the <i>trend</i>? We already know 2.7 is a victim of its own success, right?
Siecjeover 8 years ago
What would a project that supports both Python2 and Python3 show up as in these charts?<p>How many of the projects support both?
upofadownover 8 years ago
As languages go, Python 3 is pretty successful. It unfortunately shares a name with the language it is a variant of so people tend to compare the popularity of the two. The popularity of Python 3 should be judged against all similar languages, not just the insanely popular Python 2.
rlpbover 8 years ago
Commercial projects are the laggards. I&#x27;d expect them to be the last to move over. More interesting I think is the progress in distributions. This matters because commercial projects use distributions too, and will need to follow them in the end.
denfromufaover 8 years ago
Sentry is also still Python 2.7, thanks to Armin and his friends:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;getsentry&#x2F;sentry&#x2F;issues&#x2F;1152" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;getsentry&#x2F;sentry&#x2F;issues&#x2F;1152</a>
评论 #12931030 未加载
pjc50over 8 years ago
Let this (and Perl 6) be a lesson to language designers: <i>do not make backward-incompatible changes, ever</i>. It cripples adoption. Java managed this much better by being able to mark APIs as &quot;deprecated&quot;.
评论 #12930619 未加载
评论 #12930513 未加载
评论 #12930554 未加载
评论 #12930598 未加载
评论 #12930810 未加载
fdgdasfadsfover 8 years ago
Python2 is stable. This is actually a major advantage in some applications.
cakefaceover 8 years ago
Is python&#x27;s upgrade difficulties from 2.7 to 3.x due to being interpreted rather than compiled? I feel like the types of problems seen in a non compatible upgrade are exactly what I consider easy problems in Java. Look for the compilation issues, fix them, done.<p>In Java I am largely talking about library upgrade issues because Java made the decision to remain language backwards compatible. Something that has it&#x27;s costs but also some real benefits. See Linux and it&#x27;s promises to never break user space.
w8rbtover 8 years ago
I think this shows just how good Python 2 is ;)
fermigierover 8 years ago
How do they define &quot;commercial&quot; ? How do they define &quot;new&quot; ?
joobusover 8 years ago
My office has moved new projects to Go. We were using twisted web server which still isn&#x27;t p3 compatible. It also doesn&#x27;t help that Python is basically single-threaded.
评论 #12932164 未加载
lmmover 8 years ago
Flamebait title, and doesn&#x27;t match the article. 30% adoption, while not exactly a big success, is nothing to sniff at.
lovelearningover 8 years ago
Title should be changed to &quot;Python Versions Used in Commercial Projects, 2016 Edition&quot;. The data pertains only to Semaphore&#x27;s commercial CI customers.
vuanotinoover 8 years ago
The only thing I haven&#x27;t liked when comparing 2 to 3, is how 3 is even slower.<p>CPython is so slow, they really should start taking performance more seriously.
评论 #12931026 未加载
someguydaveover 8 years ago
I&#x27;m glad that python 2 is unpopular with cool kids. Otherwise they might be inserting broken feature every minor revision.
bdgover 8 years ago
Of course it is. Python is full of language snobs who insist their language is beautiful and the quality is great. They insist there&#x27;s no reason to change, except for some reason, to go.