Europython 2018 - Day 1
I just finished my first day at Europython, in Edinburgh. Travelling always brings its lot of surprises, like waiting 1 hour for the luggage delivery at the (nearly empty) airport. It's never fun, especially at midnight when you are longing for a bed. (That nevertheless gave me the opportunity to chat (and share an Uber ride, thanks) with @Stéphane Wirtel) . Or like discovering that your smartphone does not support the WiFi standard implemented in the Conference Center.
The first 2 days are reserved for trainings. This morning, I took "Ridiculously Advanced Python", by Francesco Pierfederici. Francesco used an apparently ridiculously simple example (type checking on input) to explain the implementation of classes in #Python, and teach techniques to write generalisable code. He guided us successively through properties, descriptors, decorators (functions modifying classes), annotations, metaclasses (classes modifying classes), dataclasses and finally Abstract Syntax Trees (modifications tot he behavior of the compiler). As I am a datascientist, not a full fledged developper, the subjects looked quite esoteric, but I ended with at least 3 take-outs:
- Advanced techniques and concepts are implemented in Python 3.x. Read: not in Python 2.7
- I can see some use cases for the "least advanced" techniques that he explained, like descriptors and decorators in a datascience context
- The most advanced techniques (especially Abstract Syntax Tree) are like advanced antibiotics: to be used in last resort. I'd reserve this to experienced and sophisticated developpers. I can easily imagine the desparation of a junior developper debugging code where the behavior of the compiler is customised.
The afternoon was a semi-disaster. There had been a switch between 2 sessions. I trusted the printed version of the schedule (see the remark about WiFi and my phone), so I missed the Docker/Kubernetes training. I replaced it with some volunteering in the organisation: stuffing conference bags with goodies, which nevertheless gave me the opportunity to meet nice people of the organising committee.