Les feuilles de calcul sont « la matière noire des logiciels d'entreprise » : elles sont partout, elles sont invisibles et elles maintiennent tout ensemble. Les affaires et la finance fonctionnent sur des feuilles de calcul ; aucun autre outil logiciel n'a permis à autant de personnes de créer des solutions à autant de problèmes différents. Dans ce contexte, vous devez comprendre toute affirmation selon laquelle "Jupyter est le nouvel Excel" comme intentionnellement sensationnelle.
Les blocs-notes Jupyter partagent cependant certaines similitudes clés avec les feuilles de calcul Excel. Les ordinateurs portables sont omniprésents dans le calcul scientifique et statistique, de la même manière que les feuilles de calcul dominent les opérations commerciales et la finance de front-office. Dans cet article, nous explorerons quelques similitudes et différences philosophiques et pratiques entre les deux outils pour tenter d'expliquer pourquoi les deux ont des fans et des critiques si passionnés.
similitudes : les points positifs
- En apparence, les blocs-notes Jupyter et les feuilles de calcul Excel utilisent des « cellules » comme métaphore visuelle pour diviser une analyse en étapes discrètes. Les cellules dans les deux formats contiennent du code et affichent les résultats.
- Les deux sont conçus pour une analyse interactive, itérative et exploratoire, combinant le calcul et la visualisation de données.
- Les deux visent à avoir une courbe d’apprentissage peu profonde pour les débutants.
- Les deux sont conçus pour être autonomes et faciles à partager. Les environnements en ligne comme Google Colab et JupyterHub éliminent le processus de configuration Python souvent complexe.
- Tous deux ont une forte emprise sur l’enseignement supérieur dans leurs domaines respectifs. Les écoles de commerce enseignent presque universellement la modélisation financière avec Excel, et les départements STEM enseignent généralement l'analyse des données avec les cahiers Jupyter1. Les nouveaux diplômés apportent leur familiarité avec ces outils sur le lieu de travail.
similitudes : les points négatifs
Les feuilles de calcul Excel et les notebooks Jupyter sont critiqués par les ingénieurs logiciels comme n'étant pas de « vrais logiciels ». Outre la limitation évidente selon laquelle les deux artefacts nécessitent l'exécution d'un autre programme, ils rendent également difficile le respect des meilleures pratiques d'ingénierie logicielle :
- En tant que fichiers volumineux et monolithiques, ils sont difficiles à contrôler les versions avec des outils de développement comme git. Les documents Office OpenXML sont compressés, ce qui « brouille » le contenu du fichier afin que git ne puisse pas suivre les modifications apportées aux données sous-jacentes. Les notebooks Jupyter ne sont en réalité que de gros fichiers JSON, mais les modifications de la sortie des cellules et du nombre d'exécutions introduisent des deltas superflus2.
- Les feuilles de calcul Excel et les blocs-notes Jupyter sont difficiles à mettre en production, bien que les deux outils soient utilisés en pratique en production. Excel et Jupyter sont des environnements d'exécution lourds qui introduisent leurs propres dépendances et semblent inutiles aux ingénieurs habitués à écrire des scripts autonomes.
- Les deux sont sujets aux erreurs et difficiles à tester. Le fait que les deux plates-formes s’adressent à des utilisateurs moins expérimentés en écriture de code leur donne la réputation de créer des solutions truffées de bugs. En réalité, il se pourrait simplement que, sans outils tels que les tests unitaires ou une culture de contrôle qualité, les bogues dans les feuilles de calcul et les blocs-notes soient plus susceptibles d'arriver en production.
différences
- Excel permet aux non-programmeurs de comprendre plus facilement comment les données circulent entre les cellules.
- La grille d'Excel offre un moyen naturel de référencer des données via les coordonnées des cellules, alors que Jupyter s'appuie sur des variables nommées, obligeant les utilisateurs à se confronter à la réalité selon laquelle il est difficile de nommer des variables.
- Il est plus facile d'inspecter les résultats intermédiaires des calculs en plusieurs étapes dans Excel car les cellules sont juste devant vous. Les instructions d'impression dans les notebooks Jupyter nécessitent plus d'efforts pour être configurées et exécutées.
- Excel est autonome ; La valeur de Jupyter réside dans l'écosystème de packages de Python.
- Le recours de Python à des bibliothèques externes permet aux services informatiques de restreindre plus facilement l'utilisation de Jupyter.
- L'installation de Jupyter localement et l'exécution de notebooks sur un réseau nécessitent plus de configuration que l'ouverture d'Excel.
- La plupart des feuilles de calcul Excel utilisent uniquement les fonctions fournies avec Excel, ce qui signifie qu'un contact professionnel peut simplement ouvrir votre modèle, le modifier et l'exécuter. Les notebooks sont difficiles à partager en dehors d'une organisation, et même au sein d'une organisation, car ils sont très liés à un environnement Python spécifique et les environnements Python sont difficiles à configurer.
- Excel peut fonctionner comme une « base de données des pauvres », stockant des données tabulaires sur plusieurs feuilles et offrant des fonctionnalités de type OLAP via des tableaux croisés dynamiques. Les notebooks Jupyter chargent généralement des données à partir d'une API ou d'un emplacement de fichier partagé, une autre raison pour laquelle ils ne sont pas aussi autonomes.
- « Truquer les chiffres » est plus facile dans Excel que dans Jupyter. Les feuilles de calcul se mettent à jour en temps réel sans avoir à réexécuter le code ou à configurer des widgets interactifs. Les changements ponctuels sont plus faciles à effectuer, ce qui est important lorsque la rapidité est essentielle.
- Travailler avec du code est inévitable dans Jupyter, mais Excel peut être utilisé entièrement via une interface graphique : il existe même des menus pour sélectionner des fonctions dans les formules de cellules.
- Jupyter est plus ouvert et flexible, mais il nécessite plus de connaissances techniques pour être utilisé efficacement.
- Jupyter met davantage l'accent sur la narration et la narration qu'Excel.
- Les cahiers Jupyter sont conçus pour une programmation compétente, où le code et la prose sont intercalés pour créer un flux narratif.
- Les rapports et les présentations dans Excel reposent généralement sur un copier/coller ou sur des intégrations avec PowerPoint.
conséquences
Les efforts de Microsoft pour intégrer Python dans Excel n'éroderont pas de manière significative la domination de Jupyter dans le domaine du calcul scientifique et technique. Les feuilles de calcul n'ont pas de structure narrative naturelle, ce qui les rend moins adaptées à l'éducation et à la recherche reproductible. De plus, la communauté de la « science ouverte » n’adoptera jamais un outil fermé construit par un géant américain de la technologie.
Des outils et des « bonnes pratiques » verront le jour pour atténuer les inconvénients opérationnels des notebooks Jupyter3, tout comme ils l'ont fait pour les feuilles de calcul. La plupart des utilisateurs du front-office ignoreront ces directives4, engendrant des tensions permanentes avec les services informatiques. Après avoir été témoins de l'évolution des choses avec Excel, de nombreux services informatiques considèrent la prise en charge de Jupyter comme l'ouverture d'une boîte de Pandore remplie de vulnérabilités de sécurité et de problèmes de maintenance.
Les deux plates-formes survivront dans un avenir prévisible. Aucun des deux ne supplantera l’autre car ils ciblent des bases d’utilisateurs possédant des compétences fondamentalement différentes. Les personnes travaillant à l'intersection de la modélisation quantitative et de la prise de décision commerciale continueront d'avoir besoin de se familiariser avec les deux outils.
conclusion
Utilisez l'outil qui correspond le mieux à la culture de l'organisation dans laquelle vous résolvez des problèmes. Il existe des situations où les exigences techniques vous obligeront à utiliser un outil plutôt qu'un autre, tout comme il existe des organisations qui vous permettront uniquement d’utiliser un outil ou un autre. Si vous travaillez dans un domaine dominé par Excel et avez besoin des capacités de Python, d'après mon expérience, il est plus facile de lire et d'écrire des feuilles de calcul Excel à partir du code Python que d'amener les utilisateurs d'Excel à ouvrir un bloc-notes Jupyter.
Les ingénieurs logiciels et les services informatiques du monde entier continueront de mépriser les notebooks Jupyter, tout comme ils le font avec les feuilles de calcul depuis des décennies. Le fait que les types MBA n'utilisent pas de notebooks Jupyter permet au service informatique d'appliquer plus facilement des restrictions draconiennes sur leur utilisation. Ironiquement, de nombreux utilisateurs du front-office ne pourront accéder à Python qu'une fois que Microsoft aura fini de l'intégrer dans Excel.
-
Certains récalcitrants utilisent encore MATLAB, R, SPSS ou SAS, mais les frais de licence élevés continueront de pousser les utilisateurs vers des alternatives gratuites et open source au fil du temps. Conquérir le marché de l'éducation est un élément clé de la stratégie commerciale d'entreprises comme MathWorks, mais il est peu probable qu'elles perdurent éternellement. ↩
-
Des outils comme nbdime peuvent aider au contrôle de version des notebooks Jupyter, mais leur utilisation ajoute une autre couche de complexité. ↩
-
Des outils comme Papermill visent à rationaliser l'exécution des ordinateurs portables dans les environnements de production. Les fournisseurs de cloud prennent également en charge la création de pipelines impliquant des notebooks Jupyter en production. ↩
-
Combien de personnes ont entendu parler de la norme FAST pour la création de feuilles de calcul ? ↩
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!