web-dev-qa-db-fra.com

Python sur JavaScript? (Faits, s'il vous plaît)

J'ai récemment appris JavaScript et tout à coup, j'ai entendu parler de Python ...

Devrais-je aller apprendre le python ou simplement m'en tenir à mes connaissances de base en JavaScript?

Si vous avez des "faits", j'aimerais les entendre! Comme l'efficacité, le niveau de difficulté difficile, etc., etc.

Merci :)

24
Latze

Si vous venez d'apprendre une langue, il n'y en a pas de meilleur que Python. C'est une langue facile à comprendre. C'est bien documenté. Il est associé à une grande communauté active et amicale. Puisqu'il s'agit d'un langage de script, vous pouvez facilement essayer des choses et voir immédiatement les résultats. Vous pouvez également vous baser sur les bases de la programmation, en commençant par apprendre des fonctions, puis en allant en classe.

Javascript est le fléau de nombreuses existences de programmeurs. C'est assez facile à apprendre et c'est bon pour les petits scripts pour lesquels c'est conçu. Mais une fois que vous commencez à faire quelque chose de grand, il devient difficile de suivre. C'est pourquoi des modifications du langage telles que CoffeeScript , TypeScript et Dart ont vu le jour.

Comme l'a noté spinon, ces langages de programmation ont été utilisés de manières très différentes. Python est un langage de script général, qui peut parfois être utilisé pour effectuer un travail côté serveur. Javascript était auparavant uniquement utilisé pour créer de l'interactivité sur les pages Web. De nos jours, cependant, il devient également populaire dans les applications côté serveur et sur ordinateur de bureau sous la forme Node.js .

13
JnBrymn

Les deux sont généralement utilisés très différemment. Javascript est principalement utilisé comme langage de script côté client vs python, qui est un langage basé sur serveur. Donc, dans un site Web, vous pouvez utiliser les deux. Mais pas sûr si c'est ce que vous vous demandiez.

15
spinon

Le fait est que javascript est très difficile à modifier (en raison des milliards d’anciennes implémentations existant dans les navigateurs), aussi les erreurs de conception commises au début (et aux étapes précipitées ;-) sont-elles toujours avec le langage actuel. (Voir Crockford's Javascript: les bonnes parties pour une discussion raisonnable menée par un expert et enthousiaste du JS sur ses bonnes et ses mauvaises parties). Cela pourrait changer si quelque chose comme une directive use strict; parvient jamais dans ECMAscript (bien que la programmation d’une manière qui supporte les navigateurs anciens et souvent bogués, sera still comme s’aplanirait - comme écrire un code Python qui ne change pas le chemin de Python 1.0 à 3.1 serait! -).

Python est déployé de manière plus traditionnelle, de sorte que des changements de langage graduels l’ont amélioré au fil des ans (il a également été conçu avec moins de hâte, et [[[sans doute, pas "un fait" ;-)]] a abouti à une meilleure conception de la commencer, à bien des égards).

En conséquence, Javascript (jusqu'à présent) n'a pas connu beaucoup de succès "côté serveur", où les programmeurs ont le choix (même s'ils doivent encore utiliser JS pour le code "côté navigateur"). Mais il n'y a rien d'intrinsèque à cela. JS est de loin la langue la plus largement utilisée dans le monde (ces milliards de navigateurs ...), de nombreuses entreprises et groupes open source y investissent énormément dans des implémentations et des environnements de support concurrents (Python ne craint pas pour autant, mais la différence est toujours là), les améliorations pratiques (rapidité, avertissements) continuent de s'accumuler du côté de JS (bien que le langage lui-même ne puisse pas s'améliorer).

Avec une stricte discipline de programmation auto-imposée (imposée par exemple par le programme "lint" de Crockfor pour JS) et un bon cadre de support (jQuery, Dojo, Closure, ...) et des outils (Firefox possède peut-être les meilleurs add-ons pour le traçage et la localisation de JS. débogage, mais d’autres navigateurs se précipitent aussi dans cette direction), JS est devenu utilisable ces dernières années. Probablement une de ces journées, une implémentation rapide côté serveur (probablement avec "use strict;" ou similaire, une fois que c'est officiellement béni ;-) va commencer à prendre pied, juste parce que beaucoup de programmeurs web ont déjà des connaissances en JS ( ils doivent, pour faire de bonnes applications web).

Notez qu'une grande partie de la mauvaise réputation de JS (au-delà de la confirmation "les mauvaises parties qui ne peuvent pas être supprimées" ;-) provient d'éléments qui "n'appartiennent pas" à JS en tant que langage: implémentations boguées, le désordre que le HTML DOM Cela peut souvent être le cas (en particulier avec des mises à jour de navigateur boguées), etc. Il n’ya aucune raison pour qu’un futur déploiement côté serveur reproduise ces défauts accablants! -)

4
Alex Martelli

Python est une bonne seconde langue à apprendre après JavaScript, car ils présentent un nombre raisonnable de similitudes, par exemple.

  • ils sont tous deux gérés par la mémoire
  • elles ont des structures de données similaires - les objets et tableaux de JavaScript ressemblent beaucoup aux dictionnaires et tableaux de Python
  • ils sont tous deux très utilisés pour le travail Web - JavaScript dans le navigateur et dans des contextes côté serveur tels que node.js, Python dans des infrastructures Web comme Django.

Cependant, les éléments orientés objet de Python sont assez différents des éléments orientés objets de JavaScript basés sur des prototypes.

Si la seule programmation que vous effectuez consiste à manipuler des pages Web dans le navigateur Web, Python ne vous servira pas directement (seul JavaScript est utilisé dans les navigateurs pour le moment). Mais apprendre un autre langage de programmation vous donne généralement de nouvelles façons de penser aux langages que vous connaissez déjà. Apprendre à utiliser Python pourrait vous aider à écrire un meilleur JavaScript.

3
Paul D. Waite

Javascript est principalement pour le côté client (navigateur), Python est principalement utilisé pour côté-serveur - de sorte qu'ils répondent à des besoins différents (indépendamment des convertisseurs Python en JS et autres).

Je recommanderais cependant d'apprendre Python, car il a influencé ECMAScript et la syntaxe est très similaire, les deux sont orientés objet, et les deux sont d'excellents langages.

Mise à jour 2018: Je recommanderais quand même l'apprentissage de Python sur Javascript comme première langue, car il s'agit d'un langage encore plus beau et élégant ... bien que Javascript puisse désormais être utilisé à la fois côté serveur et côté client, à node.js, le rendant ainsi plus utile dans l’ensemble.

http://hg.toolness.com/python-for-js-programmers/raw-file/tip/PythonForJsProgrammers.html

2
meder omuraliev

JavaScript est généralement utilisé comme langage de script côté client, c’est-à-dire qu’il est téléchargé et exécuté par votre navigateur. Python, toutefois, n’est généralement pas couplé au Web. il peut être utilisé comme langage de script côté serveur, ainsi que pour des scripts et des applications de tous types. Mais c'est pas un langage côté client, et n'est donc pas directement comparable à Javascript, qui a un public totalement différent. 

En regardant le niveau de langue, Javascript est terrible et dysfonctionnel (difficile à déboguer, orientation objet maladroite) tandis que Python est beau et expressif. Ceci est bien sûr subjectif :-) 

2
Alexander Gessler

IMO Python peut être plus facile à apprendre (avoir enseigné les deux cours d'introduction).

En outre, l'un des inconvénients majeurs de JavaScript est qu'il s'exécute dans votre navigateur. Cela rend intrinsèquement beaucoup plus difficile le débogage des problèmes.

En termes de langage de niveau production, Python est davantage un langage de programmation à usage général, tandis que JavaScript est destiné à la création d'applications Web dynamiques.

Si vous voulez vous lancer dans la programmation, vous devez absolument apprendre un langage plus général, tel que Java ou Python.

1
Donald Miner

Dans quel but? Javascript est roi dans certains milieux (développement web, par exemple).

Javascript et Python ne sont pas mutuellement exclusifs. Pourquoi ne pas apprendre les deux?

1
Humberto

JavaScript et Python sont deux langages géniaux orientés vers différents problèmes.

La connaissance de JavaScript est inestimable pour traiter avec le Web, écrire des pages Web et fouiller dans les DOM HTML.

Python est un langage de script idéal pour une foule de choses sur n'importe quelle machine.

0
John Weldon

Alors que Python est généralement côté serveur et côté client JavaScript, Python a été conçu pour être non seulement facile à apprendre, mais également à lire, et à encourager un environnement plus productif.

0
John Howard

Ça dépend.

Voulez-vous programmer dans un langage qui cible spécifiquement les navigateurs Web? S'en tenir à Javascript

Voulez-vous écrire ... ainsi que d'autres choses pour les navigateurs Web? Apprenez le python.

Python est une excellente langue pour débutant qui n'est pas seulement une langue pour débutant. Google l'utilise, la NASA l'utilise et de nombreuses autres organisations utilisent Python.

0
Wayne Werner