The biggest issues with beginners I see at events like Django Girls or just
regular Python meetups involve people needing to edit their .bash_profile
or .bashrc files. Most people can figure out how to download the right
version of Python for their platform, but then their shell to actually use
that version of Python is where things go sideways. Same thing with setting
the DJANGO_SETTINGS_MODULE.

The basic issues are:
- Figuring out which version of python3 your interpreter is using (and even
knowing you need to know that)
- Knowing how to open the appropriate shell settings file, add the right
line in the right place, and save it. (Especially since if there is already
stuff there, beginners aren't going to have any idea what any of it is
doing which only adds to the confusion.)
- Knowing they need to open a new terminal window or source the settings
file.
- Knowing how to read the error message if something went wrong, and the
fix whatever the problem is.
- Knowing how to actually install Django... E.g. pip vs pip3, to sudo or
not to sudo, etc.
- Knowing what version of Django to install. E.g. beginners mostly aren't
going to know what LTS stands for or understand the implications of that.
For beginners, just getting to the point where running the development
server doesn't throw an error is probably harder than the rest of the
tutorial combined. So I think making it as easy as possible for beginners
is a real issue that should be prioritized. As an anecdote, the only reason
why Reddit is built on Postgres instead of MySQL is that they couldn't
figure out how to get MySQL installed and running.
That being said, my understanding is that there are a bunch of API changes
to Python's async modules between Python 3.5 and 3.6, and I know having
async functionality in Django is a big deal for a lot of people. If there's
money to pay people to work on that full time then it doesn't matter as
much, but if there isn't then I'm assuming a lot of that work will probably
get pushed back a year to when it'll at least be less work, which is
potentially problematic if it's already going to be a multiyear project as
is.
While async itself doesn't especially impact me at this point, obviously
everyone benefits from having smart people in the larger Python/Django
community to create and maintain the packages we all depend on, and I worry
about losing folks to node or golang.
I'm not a core developer or otherwise especially active so I could be just
misreading to the situation here, but as a casual observer this seems like
a bigger risk... Even if getting Django up and running properly is a real
pain point for beginners, which it is, it's at least getting easier every
year because there are more people and places (both IRL and online) to ask
for help. Whereas we've seen a lot of posts recently both on this list and
from other folks in the Python community about burn out, and so at least
for me doing what we can to ameliorate this by reducing the time it takes
to add new features and maintain existing ones is what I would personally
prioritize over 3.5 support.
Anyway sorry for bikeshedding into this, just wanted to bring up a couple
points that weren't mentioned previously.
On Saturday, January 26, 2019 at 5:15:36 PM UTC-5, Rotund wrote:
>
> Carlton,
>
> I read your response, and I think what you said is very important. I would
> like to ask you a few questions, if you don't mind. I'm not trying to back
> you into a corner; I'm trying to understand what you see with your teaching
> and getting insight from that.
>
> Do you think it makes sense to have beginners working off non-LTS
> versions? Personally, I think the LTS is the version that beginner's should
> run. They're "real" projects are likely to take longer, and they aren't
> going to want to track the latest and greatest. I also think that any
> non-LTS version of the docs should have a similar heading to the dev
> version to suggest that beginners likely would benefit from using the
> latest LTS version.
>
> How many people coming to your trainings are running a stable/enterprise
> Linux distro? It's pretty quick to get the right version for Windows. As
> far as Linux, I would expect to see mainly the big couple Linux distros.
> The more esoteric rolling releases should obviously be fine due to their
> rolling nature. Therefore, I want to just do an analysis. As far as
> supported Ubuntu releases go, 18.04LTS and all supported non-LTS are fine.
> Ubuntu 16.04 and 14.04 are both LTS version and still supported by
> Canonical. I believe Mint still follows Ubuntu. As far as Debian, testing
> and unstable have 3.7, but stable has 3.5.3. As far as Fedora, Version 26
> and above have python 3.6 or newer. I believe we've discussed RHEL/CentOS,
> but it appears that anything before 8 doesn't have Python 3 at all, and the
> CentOS7 SCL has Python 3.6 in it. I don't know which other Linux distros
> are still generally relevant. I don't know the OSX world, but I assume you
> can get a binary installer that's no harder than any other Python version.
>
> On Sat, Jan 26, 2019 at 3:10 AM Carlton Gibson <carlton...@gmail.com
> <javascript:>> wrote:
>
>> I worry about us making this kind of decision in the rarified air of the
>> developer mailing list. It's a technical question yes, but it affects the
>> entire community.
>>
>> I think, here, we underplay just how hard it is for people out there. IMO
>> expecting that people suffering from massive information overload to
>> successfully switch docs version is already setting the bar too high.
>> People really struggle.
>>
>> I'll give you one concrete example.
>>
>> Teaching DjangoGirls in Barcelona, one student—presumably for EXACTLY the
>> kind of version mis-match we're talking about here—had her project created
>> with a different version of the template than everybody else's. It didn't
>> have contrib.staticfiles in INSTALLED_APPS. As such, where everyone else
>> was able to deploy, her deployment failed. In the end there were
>> instructors from three tables around here laptop trying who-knows-what in
>> the shell before it was worked out and resolved. ("Try `collectstatic`
>> locally" led to the answer.)
>>
>> Without those instructors present that student would have been stuck at
>> that point, and lost.
>>
>> I don't have figures, and we never hear from most of these people, but I
>> guess this sort of difficulty happens a lot.
>> A quick scan of django-users suggests it's all the time.
>>
>> > ...there's a new test failure after a recent patch due to
>> non-deterministic dict ordering in Python 3.5 which demonstrates the sort
>> of minor annoyances that take time away from making useful improvements to
>> Django.
>>
>> It's not that I don't hear you hear. I do.
>>
>> It's just that I think of this as an accessibility issue, and
>> accessibility is a feature too.
>>
>> For me, if the cost of including someone is that we have to use
>> OrderedDict for a wee-bit longer, then so be it.
>>
>> Kind Regards,
>>
>> Carlton
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django developers (Contributions to Django itself)" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to django-develop...@googlegroups.com <javascript:>.
>> To post to this group, send email to django-d...@googlegroups.com
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/django-developers.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-developers/2c23caa4-b83a-4e45-9811-a62af2b4c311%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/django-developers/2c23caa4-b83a-4e45-9811-a62af2b4c311%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> --
> Joe Tennies
> ten...@gmail.com <javascript:>
>
--
You received this message because you are subscribed to the Google Groups
"Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-developers/c948baf5-91a2-4577-aeaa-89735bb2e444%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.