Pourquoi Python est-il utilisé pour le calcul scientifique / hautes performances (mais pas Ruby)?


106

Il y a une citation d'un discours de PyCon 2011 qui dit:

Au moins dans notre magasin (Argonne National Laboratory), nous avons trois langues acceptées pour le calcul scientifique. Dans cet ordre, il s’agit de C / C ++, de Fortran dans tous ses dialectes et de Python. Vous remarquerez l'absence absolue et totale de Ruby, Perl, Java.

C'était dans le contexte plus général de l'informatique haute performance. La citation est accordée à un seul magasin, mais une autre question sur les langues pour HPC indique également que Python est une langue à apprendre (et non Ruby).

Maintenant, je peux comprendre que C / C ++ et Fortran soient utilisés dans cet espace de problèmes (et que Perl / Java ne soit pas utilisé). Mais je suis surpris qu'il y ait une différence majeure entre l'utilisation de HPC par Python et Ruby, étant donné qu'elles sont assez similaires. (Remarque - je suis fan de Python, mais je n'ai rien contre Ruby).

Y a-t-il une raison spécifique pour laquelle cette langue a décollé? S'agit-il des bibliothèques disponibles? Quelques fonctionnalités linguistiques spécifiques? La communauté? Ou peut-être juste une contiguïté historique , et ça aurait pu aller dans l'autre sens?


2
Je dirais que bien qu'ils soient tous les deux des langages dynamiques, Python et Ruby sont très différents. Plus différent que similaire.
Adam Crossland

20
Je ne sais pas si c'est une réponse, mais - rappelez-vous que Python avait plus de «motricité» avant que Ruby ne décolle en dehors d'une petite communauté avec Rails (environ 2005-2006). Google utilisait Python depuis un moment, ce qui a renforcé son profil (début des années 2000). La syntaxe de Python est claire et facile à apprendre et à lire (et souvenez-vous que c’était à l’époque où Perl était vraiment la seule autre option majeure), donc je pense que cela a vraiment poussé le calcul scientifique vers elle. Après cela, il s’est probablement auto-renforcé, car les gens ont créé NumPy / SciPy, MatPlotLib et de nombreux autres progiciels de calcul scientifique.
wkl

4
Les personnes intéressées par cette question pourraient également être intéressées par le site d’échange de piles Computational Science .
Mark Booth

2
"La lisibilité compte"
jsbueno

1
Pour offrir une perspective de chimie computationnelle, il est trivial de paralléliser un calcul avec Python, et à moindre coût également. Peut-être que les deux sont également valables en Ruby. Je ne sais pas.
Jonathan Landrum

Réponses:


108

Je vais développer mon commentaire.

Je pense que quelques facteurs ont influencé l'utilisation de Python dans l'informatique scientifique, bien que je ne pense pas qu'il y ait de points historiques définitifs où l'on pourrait dire: "Oui, c'est la raison pour laquelle Python est utilisé sur Ruby / toute autre chose. "

Histoire ancienne

Python et Ruby ont à peu près le même âge - selon Wikipedia, Python a été officiellement publié pour la première fois en 1991 et Ruby en 1995.

Cependant, Python est apparu plus tôt que Ruby, car Google utilisait déjà Python et recherchait des développeurs Python au tournant du millénaire. Etant donné que nous n’avons pas une longue histoire sur les utilisations des langages de programmation et leurs influences sur ceux qui les utilisent, je vais théoriser que cette première adoption de Python par Google a été une grande motivation pour ceux qui cherchent à se développer au-delà de Matlab, C ++, Fortran, Stata, Mathematica, etc.

À savoir, je veux dire que Google utilisait Python dans un système où ils disposaient de milliers de machines (pensez à la parallélisation et à l’échelle) et traitant en permanence plusieurs millions de points de données (encore une fois, à l’échelle).

Événement Confluence

Le calcul scientifique se faisait jadis sur des machines spéciales telles que SGI et Crays (vous vous en souvenez?), Et bien sûr, FORTRAN était (et est toujours) largement utilisé en raison de sa relative simplicité et de son optimisation plus facile.

Au cours des dix dernières années environ, le matériel de base (c'est-à-dire tout ce que vous et moi pouvons acheter sans être millionnaires) a pris le contrôle du domaine scientifique et de l'informatique de masse. Examinez les 500 meilleurs classements actuels - bon nombre des «super ordinateurs» les mieux classés au monde sont construits avec du matériel Intel / AMD normal.

Python est arrivé à un bon moment puisque, encore une fois, Google faisait la promotion de Python et que Google utilisait du matériel de base, et qu'ils disposaient de milliers de machines.

De plus, si vous fouillez dans de vieux articles sur l'informatique scientifique, ils ont commencé à germer vers l'ère des années 2000.

Support antérieur

Voici un article écrit pour le logiciel et les systèmes d’analyse de données astronomiques , écrit en 2000, suggérant Python comme langage pour le calcul scientifique.

L'article a cette citation sur Python:

Python est un langage de programmation interprété orienté objet qui commence à faire l’objet d’une attention considérable dans les applications scientifiques (Python, 1999). En effet, Python et les langages de script en général représentent une étape logique pour de nombreux projets scientifiques (Dubois 1994). Premièrement, Python fournit un langage de programmation interprété qui peut être considéré comme une extension des langages de commande simples déjà utilisés par les programmes scientifiques.

Deuxièmement, Python s'intègre facilement à des logiciels écrits dans d'autres langues. En conséquence, il peut servir à la fois de langage de contrôle pour piloter des programmes existants et de langage de liaison pour combiner différents systèmes. Enfin, Python fournit une vaste collection de modules tiers, une base d’utilisateurs établie et une variété de documentation sous forme de livres et de références en ligne. Pour cette raison, on pourrait le voir comme une version très élaborée et développée de ce que les scientifiques tentent souvent d'accomplir lorsqu'ils écrivent leurs propres interprètes de commande.

Ainsi, vous pouvez voir que Python avait déjà une traction remontant à la fin des années 90, du fait qu’il fonctionnait de manière similaire aux systèmes existants de l’époque et qu’il était facile d’intégrer Python à des éléments comme C et aux programmes existants. D'après le contenu de l'article, Python avait déjà une utilisation scientifique depuis la période 1995-1996.

Différence de croissance de la popularité

La popularité de Ruby a explosé parallèlement à l'essor de Ruby On Rails, apparu pour la première fois en 2004. J'étais à l'université quand j'ai vraiment entendu parler de Ruby, et c'était autour de 2005-2006. django for Python est sorti à peu près à la même période (juillet 2005 selon Wiki), mais la communauté Ruby semblait centrée essentiellement sur la promotion de son utilisation dans les applications Web.

Python, en revanche, disposait déjà de bibliothèques adaptées au calcul scientifique:

  • NumPy - NumPy a officiellement démarré en 2005, mais les deux bibliothèques sur lesquelles elle reposait ont été publiées plus tôt: Numeric (1995) et Numarray (2001?)

  • BioPython - bibliothèque d’informatique biologique pour python, remonte à 2001, au moins

  • SAGE - Package Math avec la première publication publique début 2005

Et bien d’autres encore, même si je ne connais pas beaucoup de chronologies (en plus de la simple navigation sur leurs sites de téléchargement), Python a également SciPy (construit sur NumPy, sorti en 2006), qui avait des liaisons avec R (le langage de statistiques) dans au début des années 2000, MatPlotLib et un environnement shell extrêmement puissant dans ipython.

ipython a été lancé pour la première fois au début des années 2000 et a été doté de nombreuses fonctionnalités qui le rendent très agréable pour l'informatique scientifique, comme le graphing matplotlib intégré et la capacité de gérer des grappes de calcul .

De l'article ci-dessus:

Il convient également de noter un certain nombre d’autres projets de calcul scientifique liés à Python. L'extension numérique Python ajoute une manipulation rapide des matrices et des tableaux à Python (Dubois 1996), MMTK est une boîte à outils Python pour la modélisation moléculaire (Hinsen 1999), le projet Biopython développe des outils Python pour la recherche en sciences de la vie (Biopython 1999), et Visualization Toolkit (VTK) est un package de visualisation avancé avec des liaisons Python (VTK, 1999). De plus, des projets en cours dans la communauté Python développent des extensions pour le traitement et le traçage d'images. Enfin, les travaux présentés dans (Greenfield, 2000) décrivent l’utilisation de Python dans des projets du STScI.

Bonne liste de paquets scientifiques et numériques pour Python .


Cela est probablement dû en grande partie aux débuts de l'histoire et à la relative obscurité de Ruby jusqu'aux années 2000, alors que Python avait gagné du terrain grâce à l'évangélisation de Google.

Donc, si vous évaluiez les langages de script entre 1995 et 2000, que regardiez-vous vraiment? Il y avait Perl, qui était probablement assez différent du point de vue syntaxique pour que les gens ne voulaient pas l'utiliser, et il y avait aussi Python, qui avait une syntaxe plus claire et une meilleure lisibilité.

Et oui, il y a probablement beaucoup d'auto-renforcement - Python a déjà toutes ces grandes bibliothèques utiles pour l'informatique scientifique, alors que Ruby a une voix minoritaire prônant son utilisation en science, et certaines bibliothèques poussent, comme SciRuby , mais Les outils de Python ont mûri au cours de la dernière décennie.

La communauté de Ruby dans son ensemble semble être beaucoup plus intéressée par le développement de Ruby en tant que langage Web, car c'est ce qui l'a vraiment rendue célèbre, alors que Python a commencé sur un chemin différent et est ensuite devenu largement utilisé en tant que langage Web.


8
J'avais oublié le point sur l'intégration c. Dans de nombreux cas, un calcul scientifique nécessite beaucoup de calcul, et pouvoir écrire une routine pour ce bit est un avantage important.
Spencer Rathbun

1
@SpencerRathbun L'article que j'ai lié mentionne l'utilisation de Python avec SWIG pour générer des wrappers et permettre à Python d'interopérer avec du code C / C ++. SWIG n’obtient officiellement le support Ruby qu’après Ruby 1.6, sorti en 2004. Python avait donc déjà une longueur d’avance importante à partager et un outil adapté pour permettre aux utilisateurs de l’intégrer à leurs systèmes existants. Ne pas avoir à abandonner tout le code FORTRAN / C optimisé existant et utilisé était probablement le facteur le plus important.
wkl

3
En 1991, nous utilisions TCL pour assembler des bibliothèques numériques afin d’analyser des données sans avoir à écrire des masses de C / Fortran. Python est arrivé au bon moment pour remplacer TCL. La facilité d'interfaçage avec 'C' (et par F2C avec fortran) était un gros problème par rapport à PERL, l'interface de TCL avec 'C' était très facile
Martin Beckett

Le processus de pièce jointe préférentielle explique énormément de choses sur les langues utilisées. C'est Zipfian! Voir Le Zipf Myatery "PAP" y est expliqué à 12h50.
radarbob

37

J'ai beaucoup utilisé Python pour les applications d'ingénierie et Ruby pour les applications Web.

Le problème que je vois avec Ruby en tant que langage scientifique est qu’il existe trop d’options syntaxiques pour une opération donnée.

Python est conçu avec le principe suivant "Il devrait y avoir un - et de préférence un seul - moyen évident de le faire". Cela rend BEAUCOUP plus facile la lecture du code de quelqu'un et la détermination de son intention. Ceci est essentiel pour les examens par les pairs en ingénierie, etc.

J'aime Ruby et c'est génial pour certaines tâches, mais mon code Ruby pourrait être syntaxiquement totalement différent de celui d'un programmeur différent qui fait exactement la même chose. Cela provoque trop d'ambiguïté dans un environnement scientifique ou d'ingénieur.


3
Oui en effet. Ruby fait partie de la tradition TIMTOWTDI et constitue donc un Perl légèrement supérieur. Le logiciel est écrit pour les programmeurs. Les compilateurs / interprètes constituent, en ce sens, un public secondaire. Les scientifiques ont tendance à vouloir sérieusement faire leur travail sans trop d'interférence de logiciels inutilement difficiles. CQFD
Dominic Cronin

4
Pas sûr que je suis cet argument. Si le programmeur, et non une machine, constitue le public principal, il arrive parfois que le libellé des choses améliore la clarté et accentue l'intention. Un langage plus souple ne facilite-t-il pas la compréhension de nos cerveaux humains?
Andrew Vit

10
Mais C peut aussi ressembler à une explosion à l’usine ASCII. Rappelons qu'en C, un tableau est une peau autour des pointeurs. Ainsi, tableau [5] peut également être écrit sous la forme * (tableau + 5), ou bien * (5 + tableau), ou sous la forme 5 [tableau]. Ce qui est stupide.
Jonathan Landrum

1
Je suis un programmeur Perl à très long terme, et il reste mon langage préféré dans la plupart des cas. Pas sûr de savoir les mathématiques cependant. Je ne suis pas d'accord avec cette attitude vis-à-vis de l'approche TIMTOWTDI. Avoir de nombreuses approches disponibles ne veut pas dire qu'elles sont toutes bonnes, bien sûr, mais il est important de pouvoir adapter votre expression de manière à ce qu'elle corresponde clairement et directement à l'idée que vous exprimez, à la fois pour votre auditoire humain et machine. Le manque d'options syntaxiques n'aide pas cela.
mc0e

@ AndrewVit: Pas nécessairement. TIMTOWTDI fonctionne très bien si vous avez un seul développeur ou si vous avez une petite équipe de développeurs étroitement intégrée. Mais dès que vous aurez des gens qui ne se sont jamais rencontrés et qui travaillent sur le même code, vous allez commencer à vous demander "Oh, pourquoi le feraient-ils de cette façon?" Sinon, vous rédigerez un guide de style pour obliger tout le monde à le faire de la même manière, puis vous ne ferez plus TIMTOWTDI.
Kevin

17

A priori, une grande partie de cela serait la dépendance de matlab par beaucoup de chercheurs. Python a des alternatives, telles que la sauge . Alors que le rubis ne le fait pas, ou du moins, il n'y en a pas.

Deuxièmement, selon la FAQ Ruby , python est à la fois procédural et orienté objet, tandis que ruby ​​se fait passer pour un langage procédural. Si vous écrivez un petit script à des fins mathématiques, comme ce que vous feriez dans matlab, le paradigme OO est un casse-tête. Non seulement cela, mais cela oblige à abandonner conceptuellement les paradigmes fonctionnels / procéduraux utilisés par les chercheurs. Math n'est pas OO. Les mathématiques sont fonctionnelles, suivies des procédures (pensez à des preuves logiques).

Enfin, notez que Ruby FAQ indique que ruby ​​est plus complexe que python. La programmation vient en second lieu pour les chercheurs, pas d'abord comme nous.


22
Je pense que la chose OO est un peu un hareng. Que se soucie-t-il d'un chercheur que l'expression 1 + 1envoie le message +à l'objet 1? Cela ne change en rien la structure de votre programme.
sepp2k

1
@ sepp2k, je pense que Spencer suggère que Ruby obligerait les scientifiques à programmer différemment. Je ne sais pas Ruby, mais en supposant que vous eu pour créer des objets d'écrire un programme en Ruby, alors que Python permet des procédures - cela ajouterait à la surcharge mentale. N'accordant pas beaucoup, mais à un non-programmeur, chaque petit travail supplémentaire serait une raison pour utiliser un autre langage.
Cyclope

7
@ Cyclops je comprends ce qu'il suggère. Je dis que c'est faux. Le but de la citation sur le masquage de ruby ​​en tant que langage procédural est qu'il n'est pas nécessaire de structurer votre programme de manière orientée objet. Si vous tapez quelque chose comme "2 + 2", vous créez deux objets Integer et appelez une méthode sur l'un (en passant l'autre en argument). Cependant, cela ne signifie pas que taper "2 + 2" en ruby ​​demande plus d'effort que de taper "2 + 2" dans d'autres langues.
sepp2k

5
Je suis avec sepp2k, je n'achète pas cet argument non plus. Certaines langues, comme Java, vous imposent le paradigme OO, mais pas avec Ruby. Qu'est-ce qui vous empêche d'écrire un programme purement procédural ou fonctionnel en Ruby?
Mike Baranczak

2
@ Cyclops exactement. Bien que Ruby puisse prétendre être procédural, dans un contexte non trivial, vous rencontrerez des situations dans lesquelles le paradigme OO fait fonctionner le langage d'une certaine manière. Si vous ne comprenez pas ou n'ignorez pas cela, alors vous êtes incapable de faire ce que vous voulez ou vous vous retrouvez avec un bidouillage désordonné.
Spencer Rathbun

14

Lorsque la BDFL (Guido van Rossum) a écrit pour la première fois Python, son objectif était qu’elle soit aussi compréhensible que l’anglais clair (proposition de financement DARPA), ce qui éliminerait les erreurs de codage courantes.

Un problème très visible est l'utilisation du retrait pour délimiter des blocs. Dans les langues qui ont des délimiteurs d'instructions complexes explicites (par exemple des accolades en C, Pascal BEGIN / END), les espaces sont réduits à un seul caractère d'espacement avant de fournir le code au lexer. Cela permettrait une grande variation dans la disposition du code.

Pour les programmeurs professionnels, cela n’est pas un problème, car ils se sont formés à la gérer à partir de 30 heures ou plus par semaine.

Pour d'autres professionnels où la programmation est un outil, cette question devient un problème majeur. Ce groupe comprend des mathématiciens, des physiciens, des chimistes, des ingénieurs, etc.

Etant donné que Python réduit les erreurs pour les programmeurs non professionnels, cela leur permet de réfléchir au problème qu’ils tentent de résoudre et d’avoir moins à traiter avec les mécanismes du langage.

Ceci est un exemple simple de pourquoi il est populaire en dehors de la profession de programmeur. D'autres exemples peuvent être utilisés pour illustrer le même sujet, tels que les piles incluses, The Zen of Python ( import this), l'utilisation de l'humour Monty Python, etc.


Je ne trouve aucune référence à une thèse ou à un programme de doctorat sur le curriculum vitae ou la liste des publications de Guido . Avez-vous une citation pour cela? Cette interview dit juste qu'il était chercheur à CWI.
M. Dudley

Je me suis totalement trompé à ce sujet: j'avais lu qu'il avait rédigé sa thèse, mais je n'avais pas effectué les recherches appropriées. J'ai trouvé mon erreur après avoir écrit ce post, mais je n'ai jamais apporté la correction ici. Merci.
Lance Helsten

5

C’est une excellente discussion ici, je pense que les publications ici expliquent vraiment pourquoi le python est plus populaire dans la communauté scientifique. Cependant, il existe certains contre-arguments pour les sciences du rubis:

  • ruby peut être codé de façon plus intuitive que python (DSL, etc.): étant donné les bons packages utilisés:

    check bioruby: http://bioruby.org/ une réserve de séquence peut être simplement: s.reverse etc. si vous utilisez des bases de données: l’API de liaison de base de données ruby ​​est sans doute meilleure que python.

  • ruby permet un niveau d'abstraction plus élevé tout en restant concis.

  • meilleur système de gestion des paquets: les gemmes de rubis sont tellement plus faciles comparées à: setuptools, pip, etc.

Cependant, l’adoption de Ruby a été / sera / sera entravée par sa complexité. Je pense que Lisp est un langage génial / puissant, mais pourquoi n’a-t-il pas décollé comme langage général? la situation similaire existe ici avec ruby ​​- il hérite de la puissance de lisp, bavarde et perl!: mais seule une sélection de personnes l’utilisera réellement pour en tirer les avantages. En fin de compte, il peut rester fort dans certains créneaux / domaines spéciaux (tels que le rail en Web, la configuration de marionnettes), il est difficile pour les non-programmeurs d’en profiter pleinement, mais c’est peut-être un bon ami du programmeur (vu les scientifiques apprécient le langage: http://www.cleveralgorithms.com/nature-inspired/index.html )

Une mise à jour la plus récente: il semblerait que python soit déjà en train de conquérir le paysage. Récemment, des livres tels que: http://www.amazon.com/Python-Data-Analysis-Wes-McKinney/dp/1449319793 et de nombreux autres livres (analyse de données, apprentissage automatique, etc.) ont tous été écrits en python. . Si Ruby veut rattraper son retard, des efforts sérieux sont nécessaires. Considérant matplotlib en python, il faut probablement plusieurs années avant d'obtenir l'état actuel. À moins que des efforts sérieux soient déployés dans le rubis, il ne pourra probablement pas rattraper le stade de l'analyse scientifique des données python / du calcul scientifique dans les 2-3 prochaines années.


3

Après avoir utilisé python pour l’analyse de données pendant un certain temps (provenant d’expériences de travail avec ruby, lua et R), le paquet numpy (et de nombreuses bibliothèques scientifiques connexes) permet de lancer un calcul rapide (vitesse similaire à C, as numpy). est écrit / intégré aux codes C) avec la facilité de programmation en python.

Numpy existe depuis un certain temps, sa disponibilité a aidé de nombreux logiciels scientifiques connexes à être construits, tels que scipy, pandas, etc., etc. la bibliothèque de calcul est en cours de développement (NMtrix: https://github.com/SciRuby/nmatrix ). Cette différence de temps énorme fait de python le choix évident du calcul scientifique.


5
"En fin de compte, python est comme le langage de tout le monde", vous devrez fournir une source pour sauvegarder cela.
Walter

2

Je me demandais la même chose. Comme Spencer Rathbun l'a dit, je pense que c'est à cause de l'aspect procédural de Python. Étant moi-même un "non-programmeur", je trouve ça magnifique de pouvoir coder dans Ruby et que le framework Rails soit excellent pour la facilité d'utilisation. Cependant, lorsque vous codez à des fins scientifiques (mathématiques, biologie, etc.), vous pensez normalement dans un langage "mathématique", c'est-à-dire que vous ne vous souciez pas des énoncés tels que

Person.find_by_name 'Juanito'

mais vous vous souciez plus de

A = B*C + D

Donc, je pense que Ruby est puissant que beaucoup de ses fonctionnalités seraient inutilisées dans un programme scientifique. Il est plus facile de penser aux procédures.


0

Python supporte mieux les tableaux à N dimensions avec le paquet Numpy. Je n'ai rien vu de semblable pour Ruby.

Python semble être plus rapide dans le calcul numérique / scientifique que j'ai fait. Je n'ai aucune preuve autre que lorsque j'ai écrit des algorithmes similaires en Python et Ruby, les algorithmes Python ont fonctionné plus rapidement (YMMV).


2
Cela ne contribue pas vraiment beaucoup à la discussion. L'efficacité de Numpy est déjà traitée (plus en détail) dans la réponse acceptée . Votre argument de performance reste peu convaincant. Je n'aime pas me fier aux anecdotes lors des discussions sur les performances historiques, en particulier lorsque de tels arguments sont probablement déjà bien couverts avec des points de repère fiables.
Brian

@ Brian, d'accord.
Josh Petitt

@ Brian, ma contribution spécifique était le commentaire sur les tableaux à N dimensions. C'est le cœur de Numpy, oui, mais je n'ai vu aucune mention des tableaux ND. C'est le noyau de l'algèbre linéaire et de ce que Matlab et Numpy font bien. Ruby utilise des tableaux comme les programmeurs utilisent des tableaux, pas comme les ingénieurs et les scientifiques utilisent des tableaux (matrice). Si vous pensez que cela aiderait, je vais ajouter un commentaire sur les tableaux ND à la réponse acceptée.
Josh Petitt

@Brian, et je maintiens toujours mon commentaire, à savoir que je n'ai pas vu un bon support de tableaux ND pour Ruby pour l'informatique scientifique.
Josh Petitt

0

Une des raisons est que Python supporte bien l'utilisation / l'intégration / l'appel de code C / C ++, alors qu'à ma connaissance, Ruby n'offre pas le même degré (de facilité) d'intégration. Cela signifie que vous pouvez écrire les composants de code les plus performants en C / C ++, puis utiliser Python (c'est-à-dire un langage de haut niveau / plus facile à regarder des yeux) pour coller le tout. J'imagine que c'est aussi l'une des raisons de son adoption institutionnelle rapide par Google.


0

Je pense que l’une des principales raisons pour lesquelles Python est devenu si populaire pour la science des données est due au temps et aux efforts que nous avons économisés (c’est-à-dire aux économies d’argent) que nous pourrions économiser pour étendre nos scripts pour une solution réelle (par exemple, un système logiciel). Avec Python, nous pourrions plus facilement créer une solution système basée sur le code que nous avons écrit pour la science des données.

J'ai eu plusieurs expériences avec la recherche d'un langage interprète avec cette fonction il y a environ 15 ans. À l’époque, Python avait été choisi comme tel, non pas parce que c’était un langage parfait pour la science des données, mais parce qu’il s’agissait d’un rare langage POO doté d’un interprète rapide / portable et extensible à une interface avec d’autres langages tels que C / C ++ /. Java. Contrairement à nos jours, il s’agissait de fonctionnalités intéressantes mais rares permettant de construire directement des solutions à partir du code de base déjà implémenté pour la science des données.

Le temps peut être un autre facteur critique pour la création d’un langage informatique. Il y a 15 ans, nous avions découvert qu'il existait déjà des packages de base tels que numeric et scipy pour le calcul numérique en Python, mais nous ne connaissions même pas l'existence de Ruby en tant que langage de programmation. À la fin de 2018, je pouvais trouver plusieurs projets utilisant Ruby pour la science des données. Dix ans plus tard, on pourrait se demander pourquoi Ruby est si populaire pour l'IA.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.