From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 05FB5139694 for ; Thu, 20 Apr 2017 18:24:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5610A21C03E; Thu, 20 Apr 2017 18:24:02 +0000 (UTC) Received: from mail1.obsidian-studios.com (mail.obsidian-studios.com [173.230.135.215]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 00795E0D72 for ; Thu, 20 Apr 2017 18:24:01 +0000 (UTC) Received: (qmail 21614 invoked from network); 20 Apr 2017 18:24:00 -0000 Received: from unknown (HELO assp1.obsidian-studios.com) (wlt-ml@::ffff:127.0.0.1) by ::ffff:127.0.0.1 with ESMTPA; 20 Apr 2017 18:24:00 -0000 X-Assp-Version: 2.5.5(17073) on assp1.obsidian-studios.com X-Assp-ID: assp1.obsidian-studios.com m1-12640-12583 X-Assp-Session: 352322EAB08 (mail 1) X-Assp-Envelope-From: wlt-ml@o-sinc.com X-Assp-Intended-For: gentoo-dev@lists.gentoo.org X-Assp-Server-TLS: yes Received: from unknown ([fdbe:bad:a55:0:1::211] helo=localhost) by assp1.obsidian-studios.com with SMTPSA(TLSv1_2 ECDHE-RSA-AES128-GCM-SHA256) (2.5.5); 20 Apr 2017 14:24:00 -0400 Date: Thu, 20 Apr 2017 14:23:54 -0400 From: "William L. Thomson Jr." To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Reverse use of Python/Ruby versions Message-ID: In-Reply-To: <1E312F8D-ADE3-47BE-9801-3C3290E4DBFD@chead.ca> References: <20170410133858.4842bbb5@katipo2.lan> <1E312F8D-ADE3-47BE-9801-3C3290E4DBFD@chead.ca> Organization: Obsidian-Studios, Inc. X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; boundary="Sig_/OQ6/oZIztQgNjAUFLqcinE."; protocol="application/pgp-signature" X-Archives-Salt: 7294a101-7d84-4df8-8911-7a132e380b33 X-Archives-Hash: e9bfe34ed01d51bfe54c0737a6d5165d --Sig_/OQ6/oZIztQgNjAUFLqcinE. Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Thu, 20 Apr 2017 10:49:04 -0700 Christopher Head wrote: > > >If your writing new python code against say 3.4 and not 3.6. Not sure > >about that... Seems like it would keep things bound to older versions > >and never let things move forward. =20 >=20 > Not true. I will certainly move forward when a newer version becomes > stable. Stable according to whom? Gentoo or Python? Take Ansible as an example. Any contributions must work in both 2.7 and 3.x. While I think they require 2.7. Any modifications must also be good for 3.x. Its forward looking. https://docs.ansible.com/ansible/dev_guide/developing_python3.html > >Usually when writing new code, you use the latest version of stuff. > >Not always but usually best. If anything make code support older > >while targeting newer. =20 >=20 > No, not how I develop.=20 It is how other projects, some rather large like Ansible are addressing the issue. >I always start by determining my target > audience and then develop using a feature set that allows my target > audience to use the code as easily as is practical. I wouldn=E2=80=99t us= e a > syscall introduced in kernel 4.9 if I could avoid it, even if it made > my code simpler, because most of my colleagues run Ubuntu LTS, they > are part of my target audience, and it wouldn=E2=80=99t be available ther= e. > To me, responsible development practices mean NOT forcing my target > audience to do a manual kernel build. Eventually the syscall will be > =E2=80=9Cgenerally available=E2=80=9D to my target audience, at which poi= nt I may go > back and change the code. Interesting you mention Ubuntu LTS, as that is specifically mentioned on the Ansible python FAQ. > I wouldn=E2=80=99t build conditional branches that do it either way if I > could possibly avoid it, either, because then I would have to do all > the work of doing it the old way plus more, and it would also be more > code which means more maintenance. That is a result of the language of choice. Why I do not bother doing anything myself with Python. I am forced to with Ansible till an alternative in another language comes about. > >Because you are not setting or dealing with the targets. You went > >with the mindless approach. Like doing a wildcard on USE flags. =20 >=20 > Yes, exactly. I don=E2=80=99t want to manually choose what version of Pyt= hon > I have installed, even though I sometimes do Python development.=20 That addresses 2 of the issues right there. You do not care what version of Python you have. Most any systems administrator does care about what version of things are installed. Not to mention what is installed. Like hardended binary systems, tend to not have gcc, etc. I am doing some python dev for Ansible. But also having to package some python stuff, and do not like it from either user, developer, nor packager perspectives. >Just > like I do a lot of C/C++ development, but I don=E2=80=99t want to manually > choose which version of glibc I have installed. Or libfoo, for some > foo. That=E2=80=99s what a depgraph is for, and if I do need some specific > thing, then I will ask for it, but not before. If you were targeting embedded and working with others like ulibc, etc then you may care. But that is interesting for anyone to be coding not caring about versions etc. I do Java dev mostly and some C. I do very much care about versions of stuff when coding. In C I have to write ifdef, etc for such. In java slotting and making sure using the right version. Only Go language seems to not care about versions, just pulling live from major versioned branches. Most everything else is versioned for a reason. > >Your enabling support for all versions across the board for anything > >that supports it. That is quite a different experience if you go > >trying to use a specific one. =20 >=20 > I=E2=80=99m not trying to invalidate the pain that some people experience, > just pointing out that I think it may be inaccurate to call that the > =E2=80=9Cordinary user=E2=80=9D use case. That you are on -dev mailing list. Not sure that would put you in the normal use category. Though there are normal users who run ~arch. They would experience such issues. It is different on stable, as I do not believe there is as many. --=20 William L. Thomson Jr. --Sig_/OQ6/oZIztQgNjAUFLqcinE. Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQTEeldqZjmVut8bVHJNcbKkg6ozUAUCWPj8uwAKCRBNcbKkg6oz UDfwAJ0bKqNnX+nnqLtfowtuWSHGhCBasQCgtMWPniBNNShweXhvbYlhAPTJTnM= =QVES -----END PGP SIGNATURE----- --Sig_/OQ6/oZIztQgNjAUFLqcinE.--