<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to pythonPourquoiComment</title><link>https://sourceforge.net/p/teragull/wiki/pythonPourquoiComment/</link><description>Recent changes to pythonPourquoiComment</description><atom:link href="https://sourceforge.net/p/teragull/wiki/pythonPourquoiComment/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 23 Feb 2014 08:43:46 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/teragull/wiki/pythonPourquoiComment/feed" rel="self" type="application/rss+xml"/><item><title>pythonPourquoiComment modified by Imbaud</title><link>https://sourceforge.net/p/teragull/wiki/pythonPourquoiComment/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="python-pourquoi-comment"&gt;Python: pourquoi, comment.&lt;/h1&gt;
&lt;p&gt;Projet de conférence teragull.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Objet&lt;/strong&gt;&lt;br /&gt;
    Aider développeurs et décideurs à déterminer dans quelle mesure&lt;br /&gt;
    python peut les assister dans leur jungle quotidienne.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;br /&gt;
    Développeurs, managers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;niveau&lt;/strong&gt;&lt;br /&gt;
    Pas de connaissance préalable python. Bonne connaissance des&lt;br /&gt;
    problèmes de développement, de manipulation de données, etc.&lt;/p&gt;
&lt;h2 id="quoi"&gt;Quoi&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Langage haut niveau, généraliste, interprété.&lt;/li&gt;
&lt;li&gt;multi paradigme: script, objet, fonctionnel.&lt;/li&gt;
&lt;li&gt;simplicité&lt;/li&gt;
&lt;li&gt;embarquable, extensible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ecosysteme"&gt;Ecosystème&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Langage&lt;/li&gt;
&lt;li&gt;Doc&lt;/li&gt;
&lt;li&gt;Interpréteur(s)&lt;/li&gt;
&lt;li&gt;lib standard&lt;/li&gt;
&lt;li&gt;wrapping C.&lt;/li&gt;
&lt;li&gt;libs non standard.&lt;/li&gt;
&lt;li&gt;communeauté.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="forces"&gt;Forces:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;courbe d'apprentissage&lt;/li&gt;
&lt;li&gt;simplicité/régularité.&lt;/li&gt;
&lt;li&gt;souplesse: héritage multiple et/ou duck typing.&lt;/li&gt;
&lt;li&gt;système d'exceptions.&lt;/li&gt;
&lt;li&gt;modèle mémoire.&lt;/li&gt;
&lt;li&gt;introspection.&lt;/li&gt;
&lt;li&gt;structures de données: listes, sets, dicts.&lt;/li&gt;
&lt;li&gt;expressivité.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="erreurs-faiblesses"&gt;Erreurs, faiblesses:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;pas de compil ==&gt; erreurs de syntaxe en exploitation.&lt;/li&gt;
&lt;li&gt;gil&lt;/li&gt;
&lt;li&gt;2.x/3.x&lt;/li&gt;
&lt;li&gt;simplicité illusoire.&lt;/li&gt;
&lt;li&gt;parfois plus facile de développer que de réutiliser.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="en-debat"&gt;En débat&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;indentation&lt;/li&gt;
&lt;li&gt;typage fort ==&gt; délimiteurs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="addiction"&gt;Addiction&lt;/h2&gt;
&lt;p&gt;Argument d'autorité: ceux qui l'ont essayé l'ont adopté.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;en langage principal&lt;/li&gt;
&lt;li&gt;en complément de leur langage principal&lt;/li&gt;
&lt;li&gt;en remplacement d'outils ad hoc ou généraux: sed, grep, awk, join,&lt;br /&gt;
    merge, ...&lt;/li&gt;
&lt;li&gt;et deviennent prosélytes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="viralite"&gt;Viralité&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;J'apprend le langage.&lt;/li&gt;
&lt;li&gt;Je l'utilise lors d'une première mission.&lt;/li&gt;
&lt;li&gt;Je change de mission (ou de poste, ou de projet)&lt;/li&gt;
&lt;li&gt;Je repère les nouveaux usages possibles.&lt;/li&gt;
&lt;li&gt;Je développe les libs permettant le couplage&lt;/li&gt;
&lt;li&gt;Je mène mon projet à bien.&lt;/li&gt;
&lt;li&gt;Je publie les libs de couplage.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="modeles-economiques"&gt;Modèles économiques&lt;/h2&gt;
&lt;p&gt;Quel intérêt de développer 10 x moins cher?&lt;/p&gt;
&lt;p&gt;Intérêt plus clair pour les marchés de niche.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mais&lt;/strong&gt; intérêt aussi pour des marchés larges:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;l'entrée sur le marché devient possible avec une moindre mise&lt;br /&gt;
    initiale: startups, petites équipes.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;time to market réduit; intérêt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;au lancement.&lt;/li&gt;
&lt;li&gt;en réaction à un changement de niche: nouvelle techno à adopter&lt;br /&gt;
    rapidement.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Maîtrise de la complexité.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="modes"&gt;Modes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;glue langage&lt;/li&gt;
&lt;li&gt;prototypage&lt;/li&gt;
&lt;li&gt;développement&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domaines-dutilisation"&gt;Domaines d'utilisation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;niches&lt;/li&gt;
&lt;li&gt;admin système: supervisord, circus, salt.&lt;/li&gt;
&lt;li&gt;web: pléthore de frameworks.&lt;/li&gt;
&lt;li&gt;text processing.&lt;/li&gt;
&lt;li&gt;graphique, ihms: couplage avec grandes libs (qt).&lt;/li&gt;
&lt;li&gt;scientifique: numpy&lt;/li&gt;
&lt;li&gt;sql&lt;/li&gt;
&lt;li&gt;nosql&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="comment"&gt;Comment&lt;/h2&gt;
&lt;h3 id="implementations"&gt;Implémentations:&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;cpython&lt;/strong&gt;&lt;br /&gt;
    Implémentation historique, de référence.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;jithon&lt;/strong&gt;&lt;br /&gt;
    Implémentation sur jvm; accès classes java, en particulier&lt;br /&gt;
    graphique.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;iron-python&lt;/strong&gt;&lt;br /&gt;
    Implémentation dot-net.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pypy&lt;/strong&gt;&lt;br /&gt;
    Implem en python.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cython&lt;/strong&gt;&lt;br /&gt;
    Langage proche; traduit en c.&lt;/p&gt;
&lt;h3 id="versions"&gt;Versions&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;br /&gt;
    mort &lt;em&gt;depuis 10 ans&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;br /&gt;
    2.5 -&gt; 2.7&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;br /&gt;
    3.3, 3.4&lt;/p&gt;
&lt;h4 id="pourquoi-la-3"&gt;Pourquoi la 3?&lt;/h4&gt;
&lt;p&gt;2 types de classes en 2: dérive ou non de objet. Unification en 3. Plus&lt;br /&gt;
de compatibilité ascendante: porter applis 2=&gt;3&lt;/p&gt;
&lt;h4 id="pourquoi-la-2-dure"&gt;Pourquoi la 2 dure?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Grandes libs pas dispo en 3 (jusqu'à récemment)&lt;/li&gt;
&lt;li&gt;Perfs parfois meilleures en 2&lt;/li&gt;
&lt;li&gt;3 unicode.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="pythonperl"&gt;Python/Perl?&lt;/h2&gt;
&lt;p&gt;Chassent sur les mêmes terres.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Imbaud</dc:creator><pubDate>Sun, 23 Feb 2014 08:43:46 -0000</pubDate><guid>https://sourceforge.netfd24e7b58b74e41bf3cd26c622e0c44681af1710</guid></item></channel></rss>