3 ms·
I, being a sysadmin, still consider Python 3 this new, shiny thing that is yet to become widely used. Linux distributions still use Python 2 code for their infr
by dozzie 9y ago
I, being a sysadmin, still consider Python 3 this new, shiny thing that is yet
to become widely used. Linux distributions still use Python 2 code for their
infrastructure, so Python 3 is something big I would need to specifically
order to install that would give me negligible gains.
- cthalupa 9y agoThe Red Hat family of distros being decades behind isn't really an indication that things they aren't using are new and shiny. Plenty of modern distros ship Python 3 as the default Python, including Ubuntu. RHEL6 still uses Python2.6! It's horrid. I'm also a sysadmin, and not a programmer. But I do a lot of my automation scripting in python, and have worked on a few larger projects in python, including one that's requirements meant it had to be Python2/3 compatible. I am not a fan of Python prior to 2.7 at all, and I think 2.7 is really just a bunch of bandaids trying to pull together a pretty crappy language, whereas 3.x is a joy to work with.
- dozzie 9y ago> The Red Hat family of distros being decades behind isn't really an indication that things they aren't using are new and shiny. I talk about how a sysadmin perceives the state of Python, and a sysadmin usually works with stable OSes. And you know what? Most of the major distributions commonly used for servers use Python 2 as the default interpreter. The list of these distributions includes Red Hat/CentOS 7, Debian stable (Jessie) and soon-to-be-stable (Stretch), and Ubuntu 16.04 LTS. > Plenty of modern distros ship Python 3 as the default Python, including Ubuntu. RHEL6 still uses Python2.6! It's horrid. Erm... You compare "modern distros" with a release that is on its LTS? You know you're being unreasonable, right? Not to mention that Python 2.7 was released in 2010, the very same year as RHEL 6. It's hard to hold it against Red Hat having this in mind. And how Ubuntu ships Python 3 as the default version? From what I see, in Ubuntu Zesty (17.04, i.e. the most recent release) package "python" has version 2.7.13-2. > I am not a fan of Python prior to 2.7 at all, Because...? > [...] I think 2.7 is really just a bunch of bandaids trying to pull together a pretty crappy language, Like...? > [...] whereas 3.x is a joy to work with. Becuase, in contrast to 2.x, it has the feature of...?
- ubernostrum 9y agoYou do need to be careful when arguing about names: the official upstream advice from the Python core team is that, for example, invoking "python" (just "python") should always execute Python 2 (or report "command not found" if no Python 2 is available). Invoking Python 3 should always be "python3". (the reason for this is to avoid breaking ancient scripts which naively assumed that "python" would always refer to Python 2, and allowing Python-3-aware scripts to be explicit about what version they were targeting)
- kupiakos 9y ago>> [...] whereas 3.x is a joy to work with. >Becuase, in contrast to 2.x, it has the feature of...? Unicode strings makes my life a lot easier when dealing with anything international. Pretty much every difference made was better for the language.
- cthalupa 9y agoDebian has included Python 3 since Squeeze. The Ubuntu 16.04 Canonical provided AMIs on AWS don't even include Python 2, though it appears to be back in 16.10 and 17.04 from my double checking - but on 16.04, there is literally no python27 without installing it via apt. RHEL and Cent have had Python 3 available in software collections since 6 And yes, since 6 is still not EOL the fact that they are still on 2.6 by default is something I can hold against them. But per PEP standards, python should always be python2.x, and if it's not installed, not work at all. python3 should always be python3. As for why I didn't like 2.6: 'io' performance was quite low, and much of what I've worked on makes heavy use of it. The C rewrite solves this. Lack of support in logging for logging over TCP. Being restricted to a single context manager when using with. Optparse instead of argparse. The lack of dictionary comprehensions (and I guess set comprehensions too, but I don't really use sets too frequently). Why is Python 2.7 still not at Python 3 levels? I do a lot of work with international characters. That right there is enough, really. Outside of that? Just so much stupidity. Parts of the standard library with inconsistent names. Why are some libraries capitalized? Queue vs queue. Lack of asyncio.
- dozzie 9y ago
- SmirkingRevenge 9y agoNobody expects sysadmins to use shiny new things. When you guys use something new, its because its actually already probably old - at the very least, its no longer shiny, and possibly even moldy. And even then you grumble about it. =)
- tuco86 9y ago+1.. exactly my experience with sysadmins.. install all of the just developed software of the devs on a 4+ yeah old rhel 6.5 (with custom packages for everything of course) so it's stable and tested and we can haz red hat support which we never use.