Python Forum
Request for input on a talk I was asked to give
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Request for input on a talk I was asked to give
#1
So I was asked to give a 45-minute talk for next week Wednesday, at a general open source meetup 'like' event in my local city, as they heard that I was an organizer for PyConZA 2018. They request:
Quote:We would love if you or a colleague would join us to broaden our horizons in Python, where it's come from and the exciting challenges and horizons it has in Open Source.
They said that a colleague or I could give the talk, but since I didn't know anyone who had a talk ready for this topic, and that I listen to a lot of Python podcasts and keep myself abreast of Python developments, I figured that I would do it.

I am assuming that the audience is mostly Java, c# developers and sysadmins.

Abstract
What I am planning on doing (though not exactly matching their request, as that was more of a suggestion) is giving a brief overview of where Python fits in based on its strengths and weaknesses, then mentioning the key new language features shaping it's future (from 3.5 up to 3.7) in general terms, then progressing to 'ecosystem' enhancements, like PyPy, micropython, web frameworks, etc., then moving onto areas where Python is most prominently applied, including where its been dominant for a while and new areas such as AI/ML and finally, hinting at future trends.

Request
So below is an outline on each point I will touch upon in order, where each point or family of points may be a slide.
What I would like to please request from this community are suggestions on the most prominent, interesting or important developments in the Python world for each section, or input on the ones that I chose. It's not finished yet, but input at this stage would be most useful and appreciated by me.
I feel like they may perceive me as a bit of an ambassador for the language (being the chair of the local PyCon conference), so I would like to correctly represent the ecosystem and appropriately excite the audience.
Note: Strengths and Weaknesses are particularly incomplete, but I put in the ones that I feel people often leave out in their descriptions of Python, though I may be wrong about them

Outline
Strengths
  • Great at calling external binaries for performance sensitive tasks, like C (what Python is usually run on) and Fortran (SciPy, though also uses C) ones

Weaknesses
  • Python won't be the language used for a AAA game engine any time soon as it's bad at letting a single process make use of more cores on a single system (GIL), though work is being done on that. However, it is nice to develop less demanding games with Python.
  • Poor native presence in the Browser, Android and iOS, making frontend Python rare and undeveloped, except for desktop applications.

New language features (3.5 (2015) to 3.7 (2018))
  • Type Annotations for functions and variables
  • AsyncIO
  • Data Classes
  • String interpolation

Ecosystem enhancements
  • PyPi overhauled and with pipenv gives an excellent packaging environment
  • PyPy
  • Cython
  • MicroPython
  • Web
    • Django, flask, Pyramid
    • New breed of api-centric frameworks like Hug and API Star
    • New breed of Async native Python frameworks like Uvloop and Sanic
  • Native

Applications
  • IoT and Embedded
    • MicroPython being funded by the ESA
    • Home Assistant
      • 99% Python and the second most popular open source home automation server after openHAB, but it has a much faster adoption rate by users and of new devices, so it may end up overtaking it.
  • AI/ML
    • TensorFlow
    • Theano
    • Keras
  • Science and education
    • Pyzo, Spyder or SageMath to replace MatLab
    • Jupyter (Originally iPython notebook) for interactive documentation and visualizations, particularly popular in data science
    • Pandas
    • SciPy
  • DevOps
    • Ansible
  • Web companies where Python forms a core part of their product(s)
  • Hardware development
    • PyHDL and MyHDL
  • Scripting tool for applications
    • Blender 3D
    • FreeCAD
  • Games
    • Not many examples, though one prominent one is Eve Online, using Stackless Python.
    • Other then that it's a good scripting langue, where it was used in Civilization IV
  • Scripting
    • Has long been an important part of Linux based operating systems, where it's used as a scripting language.
    • It's extremely easy to make CLI tools with libraries like Click

Future trends
  • Python is outpacing all other major languages in growth, even becoming the top language according to PYPL and IEEE. However determining the most popular language is not an exact science and various rankings disagree, but the fact that Python has surpassed JavaScript in even one major ranking is a major achievement
  • Python is well positioned to continue growing as it dominant or has a foothold in emerging technologies and sectors, namely AI, Data Science, IoT and is among the most popular languages
Reply
#2
Seems you've missed key strengths such as:
  • readability (compared to many other languages)
  • simplicity
  • flexibility
  • popularity (hence support available in communities)
  • suitability (and popularity) for prototyping

I like the last was so well illustrated by the Google Video team (writing in C/C++) being so much less productive than the smaller YouTube (writing in Python) team that Google dropped development of their own product and bought YouTube.

I also suggest you mention mypy (given the Python creator is behind it) and many companies that came up with own approach (e.g. Facebook) to avoiding problems of typing issues on large codebases are largely pivoting to compatibility.
I am trying to help you, really, even if it doesn't always seem that way
Reply
#3
Thanks for the input.
I deliberately missed out the obvious strengths and some weaknesses for now, but it's good to see what people like to add.
To me, the biggest strength is that the language is built around the Pythonic ethos (import this), which is where most of its strengths (including many of the ones you mentioned) derive from.
Reply
#4
Fair enough. You might have missed the edit I did to add in mypy.
I am trying to help you, really, even if it doesn't always seem that way
Reply
#5
Will do.
It will reinforce the type annotation feature of recent Python and how much of a hit it's been at large companies.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to give input parameters value while calling the function[VI.Call()] as well? SARAVANAN_M 0 2,007 May-20-2019, 10:01 AM
Last Post: SARAVANAN_M
  is there a better place to talk about pypy here? ezdev 1 2,697 Dec-20-2017, 12:22 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020