{"id":7127,"date":"2020-03-20T17:08:11","date_gmt":"2020-03-20T16:08:11","guid":{"rendered":"https:\/\/jeunediplome.net\/?p=7127"},"modified":"2020-03-20T17:18:37","modified_gmt":"2020-03-20T16:18:37","slug":"javascript-contre-ruby-contre-python-qui-gagne","status":"publish","type":"post","link":"https:\/\/jeunediplome.net\/javascript-contre-ruby-contre-python-qui-gagne\/","title":{"rendered":"JavaScript contre Ruby contre Python. Qui gagne?"},"content":{"rendered":"\n
Pendant des ann\u00e9es, JavaScript a \u00e9t\u00e9 rel\u00e9gu\u00e9 au\nd\u00e9veloppement frontal, mis en cage dans nos navigateurs clients. Avec\nl’introduction de Node, JavaScript et toute sa gloire asynchrone ont pu se\nd\u00e9placer librement dans le monde du d\u00e9veloppement back-end, faisant du langage\nune v\u00e9ritable menace double.<\/p>\n\n\n\n
Si vous envisagez de cr\u00e9er votre startup enti\u00e8rement en\nJavaScript, vous devez tenir compte de ces avantages et inconv\u00e9nients.<\/p>\n\n\n\n
Avantages:<\/strong><\/p>\n\n\n\n Gr\u00e2ce au moteur V8 hautement optimis\u00e9 de Google et \u00e0 la\nconception asynchrone intrins\u00e8quement non bloquante de JavaScript, certaines\nt\u00e2ches g\u00e9r\u00e9es par Node sont, dans certains cas, 20 fois plus rapides que les\nt\u00e2ches g\u00e9r\u00e9es par Rails. Il suffit de demander \u00e0 LinkedIn, qui a supprim\u00e9 Rails\net l’a remplac\u00e9 par Node pour de meilleures performances selon leur \u00e9tude de\ncas.<\/p>\n\n\n\n Les d\u00e9veloppeurs JavaScript sont une \u00e9quipe de destruction\nd’une femme \/ homme. Pourquoi paralyser votre startup en plein essor avec des\nfrais g\u00e9n\u00e9raux lorsque vous pouvez embaucher un d\u00e9veloppeur JavaScript qui peut\n\u00e9crire \u00e0 la fois votre application Web principale et frontale en JavaScript.\nUne fois que vous \u00eates pr\u00eat \u00e0 cr\u00e9er votre application mobile, le d\u00e9veloppeur\nJavaScript peut utiliser React Native pour cr\u00e9er une application pleinement\nfonctionnelle. Aucun Swift ou Java requis.<\/p>\n\n\n\n Node est l’avenir. Vous voulez \u00eatre en mesure de vendre le\nVC de l’\u00e9volutivit\u00e9 de votre entreprise et la popularit\u00e9 croissante de Node\nfournit un mod\u00e8le de croissance stable.<\/p>\n\n\n\n Les inconv\u00e9nients:<\/strong><\/p>\n\n\n\n JavaScript peut se transformer en monstre spaghetti s’il\nn’est pas utilis\u00e9 correctement. Juste Google \u00ab\u00a0enfer de rappel\u00a0\u00bb et\nvous verrez \u00e0 quel point JavaScript peut devenir illisible lorsque les\nprogrammeurs ne programment pas de mani\u00e8re fonctionnelle. Cela peut entra\u00eener\nune base de code difficile \u00e0 maintenir.<\/p>\n\n\n\n Le n\u0153ud vient de sortir de la presse. De nombreux\nd\u00e9veloppeurs sont encore en train de passer de l’id\u00e9e que JavaScript fait que\nles choses s’amusent sur le Web \u00e0 l’id\u00e9e que JavaScript est suffisamment\nrobuste pour \u00eatre impl\u00e9ment\u00e9 en back-end. Ensuite, vous devez prendre en\nconsid\u00e9ration que Node, contrairement \u00e0 Rails et Django, est simplement une plate-forme\nqui permet \u00e0 JavaScript de s’ex\u00e9cuter en dehors du client. Les d\u00e9pendances\ncomme Express, MongoDB et Mongoo se doivent \u00e9galement \u00eatre apprises. Cela\nsignifie une p\u00e9nurie de d\u00e9veloppeurs Node-savvy qualifi\u00e9s.<\/p>\n\n\n\n Ruby sur les st\u00e9ro\u00efdes<\/strong><\/p>\n\n\n\n Avec la mont\u00e9e en puissance de la super \u00e9quipe Node \/\nExpress \/ React, le framework Ruby on Rails semble avoir diminu\u00e9 aux yeux des\nd\u00e9veloppeurs. Cela n\u2019aide pas que Ruby lui-m\u00eame soit r\u00e9cemment tomb\u00e9 au 8e rang\ndu classement linguistique de RedMonk, le plus bas jamais atteint. Ensuite,\nvous avez l’essor du Machine Learning, du Big Data et de l’A.I., seuls\nquelques-uns des nombreux mots cl\u00e9s futuristes ont \u00e9t\u00e9 r\u00e9p\u00e9t\u00e9s ad nauseam lors\ndes \u00e9v\u00e9nements cl\u00e9s de Google. Python a monopolis\u00e9 ce domaine de recherche ax\u00e9\nsur les donn\u00e9es, ce qui a \u00e0 son tour nui \u00e0 la popularit\u00e9 de Ruby.<\/p>\n\n\n\n Cela \u00e9tant dit, examinons les avantages et les inconv\u00e9nients\nde Ruby.<\/p>\n\n\n\n Avantages:<\/strong><\/p>\n\n\n\n Ruby poss\u00e8de l’une des communaut\u00e9s de d\u00e9veloppeurs les plus\nactives, ce qui signifie une excellente documentation et des d\u00e9pendances open\nsource incroyables, ou \u00abgemmes\u00bb. Vous voulez utiliser une biblioth\u00e8que React\ndans votre application Rails? Il y a un petit bijou pour \u00e7a!<\/p>\n\n\n\n Le code Ruby est simple, mais expansif. La philosophie\nrubyiste \u00abil y a plus d’une fa\u00e7on de r\u00e9soudre un probl\u00e8me\u00bb peut \u00eatre un peu\n\u00e9crasante au d\u00e9but, mais une fois que vous ma\u00eetriserez quelques m\u00e9thodes, vous\nserez impressionn\u00e9 par les outils apparemment innombrables \u00e0 votre disposition.\nDites adieu aux polyfills.<\/p>\n\n\n\n Je le jure, Harry Potter a invent\u00e9 Rails. Avec une seule\ncommande d’\u00e9chafaudage de rails g, Rails g\u00e9n\u00e9rera votre mod\u00e8le, les migrations\npour ce mod\u00e8le, le contr\u00f4leur et une vue. Pas besoin de cr\u00e9er manuellement des\nfichiers. Le routeur de Rails est excellent en raison de son niveau\nd’abstraction. Par exemple, vous pouvez imbriquer des itin\u00e9raires \u00e0 l’aide d’un\npseudo-langage hautement s\u00e9mantique sans avoir \u00e0 taper une longue cha\u00eene\n\u00e9poustouflante. Une fois que vous aurez appris toutes les nuances de Rail, vous\ndimensionnerez rapidement les projets.<\/p>\n\n\n\n Les inconv\u00e9nients:<\/strong><\/p>\n\n\n\n Ruby a une kryptonite majeure: les performances lentes.<\/p>\n\n\n\n L’\u00e9cran rouge de la mort de Rails peut vous faire arracher\nles cheveux. Souvent, le d\u00e9bogage d’une application Rails peut provoquer des\ncauchemars en raison de sa nature abstraite. Une fois que la magie s’est\ndissip\u00e9e, il vous reste de longs appels de pile et des dossiers imbriqu\u00e9s \u00e0\nparcourir.<\/p>\n\n\n\n Tango de Python avec Django Unchained<\/strong><\/p>\n\n\n\n Jeff Knupp, un programmeur Python, a publi\u00e9 un excellent\narticle qui explique habilement pourquoi Python gagne en popularit\u00e9. Bref, le\nlangage est un outil pour les statisticiens et a donn\u00e9 lieu \u00e0 la description de\nposte de \u00abdata scientist\u00bb. Les d\u00e9veloppements r\u00e9cents de l’apprentissage en\nprofondeur, une technique qui mod\u00e8le l’apprentissage automatique des r\u00e9seaux\nneuronaux du cerveau, a ouvert le domaine de l’IA. Si votre startup va\npr\u00e9senter toute forme d’intelligence, avoir une base de code Python peut \u00eatre\nla voie \u00e0 suivre.<\/p>\n\n\n\n Voici quelques avantages et inconv\u00e9nients de Python:<\/p>\n\n\n\n Avantages:<\/strong><\/p>\n\n\n\n Comme Ruby, Python est lisible. Il est \u00e9galement typ\u00e9\ndynamiquement afin que les exceptions soient d\u00e9clench\u00e9es, ce qui conduit \u00e0 des\nprocessus de d\u00e9bogage plus indolores.<\/p>\n\n\n\n Python est id\u00e9al pour les t\u00e2ches de calcul en raison de son\nprotocole tampon, qui permet de construire des extensions C \u00e0 partir de Python,\nqui peuvent ensuite \u00eatre utilis\u00e9es pour cr\u00e9er de puissantes biblioth\u00e8ques de\ncalcul.<\/p>\n\n\n\n Le framework Django est similaire \u00e0 Rails dans la mesure o\u00f9\nun d\u00e9veloppeur obtient tout ce dont il a besoin pour mettre \u00e0 l’\u00e9chelle une\napplication web pr\u00eate \u00e0 l’emploi. L’avantage, cependant, est que le principe de\nPython selon lequel \u00abexplicite vaut mieux qu’implicite\u00bb signifie qu’il y a\nmoins d’abstractions dans Django que Rails.<\/p>\n\n\n\n Les inconv\u00e9nients:<\/strong><\/p>\n\n\n\n En raison de sa concentration sur le calcul, Python n’est\npas un d\u00e9mon de la vitesse. En fait, c’est une fraction plus lente que Ruby\u2026 de\n0,7%<\/p>\n\n\n\n Python est restrictif. La frappe dynamique est \u00e0 double\ntranchant en ce qu’elle provoque plus d’erreurs, dont la plupart n’apparaissent\nqu’au moment de l’ex\u00e9cution. Cela signifie un processus de d\u00e9veloppement plus\nlong. Le compilateur applique \u00e9galement son propre style aux programmeurs, les\nfor\u00e7ant \u00e0 indenter et \u00e0 espacer correctement de peur qu’ils ne soient frapp\u00e9s\npar des messages d’erreur forts.<\/p>\n","protected":false},"excerpt":{"rendered":" Pendant des ann\u00e9es, JavaScript a \u00e9t\u00e9 rel\u00e9gu\u00e9 au d\u00e9veloppement frontal, mis en cage dans nos navigateurs clients. Avec l’introduction de Node, JavaScript et toute sa gloire asynchrone ont pu se d\u00e9placer librement dans le monde du d\u00e9veloppement back-end, faisant du langage une v\u00e9ritable menace double. Si vous envisagez de cr\u00e9er votre startup enti\u00e8rement en JavaScript,<\/p><\/div>\n