De profane à expert en apprentissage profond : | Natural Language Institute

Embracing Singularity

BLOG

De profane à expert en apprentissage profond :

2. Choisir Python

By Victor - 02/jul/2020 #Sciences et la technologie

Lorsque j'ai décidé de devenir programmeur informatique et expert en apprentissage profond, il est naturel que, en tant qu’un passionné de les langues étrangères tout au long de ma vie, la première question que je me suis posée a été : « Quel langage de programmation devrais-je apprendre ? »

En recherchant cette question en ligne, j'ai découvert que les langages de programmation peuvent être de plus haut ou de plus bas niveau en termes d'abstraction des opérations informatiques. Plus le niveau du langage est bas, plus les performances sont élevées du point de vue de la machine, mais plus il est difficile pour les programmeurs humains de l'utiliser de manière créative et efficace. Pour les étudiants et les chercheurs en informatique, il peut être judicieux d'apprendre des langages de niveau relativement bas comme le C[1], car leur logique est un peu plus proche de la façon dont les ordinateurs fonctionnent réellement et parce que leurs avantages en termes de vitesse peuvent être décisifs pour certaines fins. En revanche, pour quelqu'un qui souhaite changer de profession ou simplement ajouter une compétence à son arsenal de productivité, l'apprentissage d'un langage de très haut niveau, tel que Ruby, Python ou Visual Basic, peut être une proposition plus viable et puissante.

Je voulais apprendre la programmation à des fins très pratiques - pour faire avancer les choses. Je voulais être capable de développer des applications web et des logiciels destinés à la productivité et à la linguistique appliquée chez Natural, d'organiser et d'automatiser des routines personnelles, d'analyser des données à la cour des comptes, de gérer plus efficacement ma ferme. De toute évidence, j'avais besoin d'apprendre un langage de programmation polyvalent de haut niveau.

Mon choix initial était Ruby. Je suppose qu’il a été mentionné très souvent dans mes résultats de recherche en tant que langage idéal pour apprendre en 2018. Il semblait bien correspondre à un langage productif d'usage général et de très haut niveau, idéal pour un apprenant en transition de carrière, mais sans formation en ingénierie ou informatique. J'ai acheté quelques livres, dont un pour les enfants, dans l'espoir que ma fille de 10 ans serait ravie de l'apprendre avec moi (ce qui n'est jamais arrivé). J'ai commencé à étudier les premiers chapitres de deux livres différents mais je ne me sentais pas inspiré. Cela venait probablement plus des livres que du langage lui-même. Quoi qu'il en soit, mon manque d'enthousiasme à ce moment-là a été révélateur pour la suite de l´histoire.

En même temps, j'ai continué à lire sur la révolution de l'intelligence artificielle et comment devenir un praticien. J'étais inquiet de voir Ruby peu référencée dans ce domaine en pleine expansion, tandis que Python était constamment mentionné. J'avais déjà commencé à investir dans Ruby, et elle semblait plus cool, avec sa syntaxe flexible et sa liberté de création, que Python, avec son indentation rigide et une « façon correcte » de faire les choses. Cependant, en approfondissant mes recherches et en parlant à un ami programmeur, je suis arrivé à la conclusion que, si je voulais vraiment plonger dans l’apprentissage profond, Python était la bonne option. J'ai choisi Python pour Natural et moi et je n'ai pas regardé en arrière.

Je suis de plus en plus satisfait de mon choix. Peut-être qu'une partie de ma satisfaction provient du biais de confirmation de groupe, mais j'ai de bonnes raisons de recommander Python à d'autres ayant des objectifs similaires.

Tout d'abord, comme mentionné, Python est de loin le langage le plus populaire dans l'apprentissage automatique, ce qui signifie qu'il est imbattable en termes de bibliothèques, de frameworks, de support et de ressources d'apprentissage disponibles pour devenir productif dans ce domaine qui est en train de changer le monde.

Deuxièmement, Python est polyvalent. Il est souvent comparé à R, un langage populaire parmi les statisticiens, pour la science des données et pour les applications d'apprentissage automatique. Cependant, R n'est pas un choix naturel pour le développement de logiciels, tandis que Python est également adapté pour collecter des données, les analyser, former des modèles d'apprentissage automatique, puis déployer les modèles dans des solutions logicielles intégrées et les mettre en ligne. Python facilite l'écriture de code rapide sur mon ordinateur portable pour augmenter la productivité, mais il a également été récemment utilisé par les scientifiques pour générer la première image d'un trou noir.

Troisièmement, Python est un excellent choix pour le développement d'applications Web backend. Bien qu'il ait permis à deux stagiaires (très intelligents) de Natural de développer et de déployer la première application Web de l'Institut en un peu plus d'un mois, il alimente également le cœur de YouTube, qui s'appuie sur plus d'un million de lignes de code Python pour alimenter cinq milliards de vidéos aux téléspectateurs chaque jour, et le cadre Web principal d'Instagram (Django) est également construit sur Python.

Quatrièmement, Python, bien qu'incroyablement puissant, est facile à apprendre pour les débutants comme moi. C'est l'une des raisons pour lesquelles c'est de plus en plus un langage de choix dans les programmes des cours d'informatique et les cours spécialisés pour les non-programmeurs. Cette facilité d'apprentissage découle sans aucun doute du fait que son précurseur, le langage de programmation ABC qui a inspiré Python, a été explicitement conçu comme un outil pédagogique.

La cinquième et dernière raison pour laquelle j'aime Python a été une grande et agréable surprise pour moi. Cela n'a rien à voir avec la raison pour laquelle j'ai choisi Python à l'origine, mais cela peut avoir un fort impact sur ma poursuite du choix de Python à long terme. Python a une communauté forte, accueillante et solidaire qui incarne l'éthos du mouvement open source. Les nouveaux arrivants sont accueillis à bras ouverts et tout le monde semble disposé à aider. Il existe d'innombrables programmeurs qui se portent volontaires pour développer une gamme extrêmement large de bibliothèques utiles, sans parler des développeurs principaux qui maintiennent CPython[2] lui-même.

Je connaissais très peu la communauté open source avant de commencer à apprendre à coder en 2018. Je suis de plus en plus impressionné par ce qu'elle représente. Bien que mon expérience avec cette communauté ait été à travers Python, le mouvement est beaucoup plus large et comprend de nombreux langages de programmation et technologies connexes. Mon impression est que l'open source contribue non seulement de manière décisive aux énormes avancées du monde qui se produisent actuellement dans les technologies de l'information, mais qu'il est l'une des forces les plus positives pour le progrès humain dans le monde, point final. Cela semble être un excellent sujet pour un futur article ...



[1] Le concept d'un langage de programmation de haut niveau ou de bas niveau est relatif. C’était à l'origine considéré comme un langage de haut niveau, car il supprimait certaines routines et rendait le codage plus accessible aux humains que les langages d'assemblage. Pourtant, aujourd'hui, il contraste avec des langages comme Ruby, Python ou Java et est étiqueté « bas niveau ».

[2] Puisque Python est un langage open source, il comporte de nombreuses branches ou implémentations. L'implémentation standard de référence est CPython, qui pour la plupart des utilisations est synonyme de Python.


Cette publication est la seconde de la série De profane à expert en apprentissage profond.