Photo de Stefan Behnel

Dr. Ing. Stefan Behnel

Services de Développement de Logiciels en Python et de Consulting Technologique

    »faciliter le code rapide«

Qui suis-je?

Informaticien chevronné, responsable de formation, Fellow de la Python Software Foundation (PSF) et membre de l'association allemande Python Software Verband e.V., je developpe du logiciel libre dans la communauté du language Python. La plupart de mes projets se déroule dans l'environnement des outils à haute performance et du code rapide. Je travail sur ces projects car j'aime optimiser le code à performance critique. Et bien car j'aime écrire des outils qui permettent aux développeurs d'écrire du code rapide facilement. Avec les bonnes outils, c'est facile.

Mon titre de docteur m'a été attribué par l'Université des Technologies de Darmstadt où j'ai travaillé dan le groupe Base de Données et Systèmes Distribués de Prof. Alejandro Buchmann. Ma thèse sur le développement efficace des systèmes distribués autogestionnaires à haute scalabilité est disponible sur le web.

Qu'est-ce que j'offre?

surtout aux sujets de

Formations:

Actuellement, j'habite à Celle, au nord de l'Allemagne, mais je ne repousse pas de voyager.
Veuillez bien me contacter à l'adresse < consulting (AT) behnel.de >.

Présentations et conférences

Offres de projets

La suite présente des projets de programmation que je voudrais implémenter. S'ils vous intéressent et si vous considérez les financer, veuillez bien me contacter à l'adresse < consulting (AT) behnel.de >.

Projets de référence

Les plus grands projets auquels j'ai participé les dernières années sont lxml et Cython. Lupa est un jeune projet qui a toujours à se développer.

Cython

http://cython.org

Le language de programmation Cython est un dialecte du language Python. Il est traduit en code C optimisé et permet optionellement d'ajouter des déclarations statiques des types. Son domaine d'utilisation comme language universel est vaste. Surtout dans l'environnement du calcul scientific (avec SciPy, NumPy, Sage), Cython est une des raisons majeures pour la bonne réputation de Python. Pas forcement pour remplacer Fortran, mais plutôt pour permettre d'écrire la majorité du code dans un language à haut niveau, et de facilement intercaler des morceaux de code manuellement optimisé dans un language plus compliqué, soit C, C++ ou bien Fortran.

Le language Cython représente parfaitement le principe 80/20. Python est connu pour la programmation facile et rapide même des grandes applications, mais Cython la joint avec la capacité d'optimiser facilement les petits morceaux critiques du code qui le méritent selon les benchmarks. Cython y arrive en permettant la déclaration statique des types de variables dans les sections critiques, ce qui fourni souvent une accélération remarquable à force des optimisations du compilateur. Et si ceci ne suffit vraiment pas, la compilation en C/C++ permet d'appeler directement du code écrit en C, C++, Fortran ou des languages compatibles.

Mes contributions comme fondateur et développeur au cœur du projet Cython inclurent des décisions conceptionelles importantes, de nombreuses optimisations sur tous les niveaux du compilateur, et l'implémentation d'une partie non-negligéable des ses capabilités à jour, y compris plusieurs rectifications de la sémantique par rapport au language Python. Je suis également responsable pour quelques capacités importantes qui rendent Cython un language exceptionnel d'intégration de Python et C.

lxml

http://lxml.de

Après plusieurs années de développement, lxml est devenu l'outil XML hors pair pour Python. La combinaison de sa haute performance, ses vastes capabilités quant aux standards XML, et la facilité de son utilisation cherche son pareil. Il est basé sur des bibliothèques écrites en C, libxml2 et libxslt, bien connues et largement conformes aux standards XML, qu'il intégre dans un API orienté objet à haut niveau en utilisant le language Cython.

Comme gestionnaire du projet lxml, je m'occupe de la conception et du développement général du code. Une grande partie du code vient de ma part, autant que la plupart des capacités au niveau de l'API et des optimisations importantes qui rendent lxml tellement utile pour le traitement des documents XML en Python.

Lupa

https://github.com/scoder/lupa

Publications

Imprint / Impressum