Comment je suis devenu par hasard commiteur Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
107
Mois de parution
mars 2020
Spécialité(s)


Résumé

Quand les fils se touchent… on peut croiser Dieu.


Je vais vous raconter comment je suis devenu par hasard commiteur Python. Cela sera l’occasion d’entrer dans les arcanes du langage, puisque nous allons le modifier profondément, avec quelques lignes de code.

1. Chapitre 1 : L’inspiration

Je regarde une vidéo de Martin Odersky sur les nouveautés de Scala dans le moteur Dotty [1], la prochaine version de Scala. Je découvre la syntaxe UserName | Password pour les types disjoints [2] :

case class UserName(name: String)

case class Password(hash: Hash)

def help(id: UserName | Password) = {

  val user = id match {

    case UserName(name) => lookupName(name)

    case Password(hash) =>

    lookupPassword(hash)

  }

...

}

Pour un programmeur objet classique, cette fonctionnalité semble étrange. On s’en passe depuis 20 ans. Avec un langage avec un typage fort, comme Java ou C++, il est possible de définir deux versions d’une fonction, en modulant les types des paramètres...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous