Python, quel est votre avis sur ce langage de programmation parmi les plus populaires?

Si JavaScript et Java continuent de recevoir les faveurs des développeurs, un nouveau langage gagne progressivement le cœur des férus de code : Python. C’est ce qu’affirme un récent rapport, le plaçant sur la deuxième marche du podium en matière de « popularité ».

1 « J'aime »

Javascript premier, mais ou va le monde informatique! :’-(

3 « J'aime »

JS a beaucoup évolué depuis les années 2000. :slight_smile:

6 « J'aime »

Javascript n’est pas populaire. C’est juste qu’on ne peut pas faire sans dans un projet web. Tous les développeurs Web, quelle que soit leur langage de prédilection sont obligés de se taper du javascript à un moment. On fait avec, mais il n’est pas populaire.

3 « J'aime »

Petit sondage : C’est quoi vos langages préférés?
Perso, C# avec .Net Core…

2 « J'aime »

Ce qui m’embêterait avec Python, C’est son incapacité (à ce que j’en sache) à placer deux instructions sur la même ligne. Résultat, les programmes s’étirent en hauteur tout en restant cadrés à gauche. Bien pour les écrans tout petits, mais ce n’est pas trop ce dont disposent les développeurs.

Par rapport à la réflexion d’Nmut, JavaScript est un langage incompris, car beaucoup ne se rendent pas compte de tout ce qu’on peut faire avec, ni de ses capacités objets inégalées. Il lui manque de la rigueur ? Il suffit alors de programmer en TypeScript, pour une conversion JavaScript ultérieure. Pour de la puissance (rapidité), par contre, éviter, mais beaucoup de programmes n’en ont pas besoin. Un programmeur C + JavaScript fait tout ce qu’il veut.

3 « J'aime »

Je JavaScript est un langage extraordinaire, notamment dans ses versions à compter de la norme ES2015.
Concernant la rigueur, il suffit de mettre en place des règles de codage avec un linter, + de la JSDoc.
La plupart des gens que j’entends critiquer le JS ne le maitrisent pas vraiment.

2 « J'aime »

C’est quoi la popularité pour un language alors ?

@Nmut, @elsed

npm.com:
Packages: 1 221 591
Downloads · Last Week: 17 872 179 641
Downloads · Last Month: 74 259 609 433

Javascript est populaire et on peut faire du WEB sans. C++/Rust, etc … (WebAssembly).
Aujourd’hui il y a des Framework comme VueJS, Angular, React, des outils comme Webpack, babel, eslint, Flow qui permettent de tirer tout le potentiel de Javascript.

Nicos,
C’est clairement un lange incompris. En ce qui concerne les performances tout dépend de l’implementation du développeur :slight_smile:

Javascript c’est un peu plus que JQuery :), ça a quelque peu changé depuis.

Un petit example de Javascript avec du typage, décorateurs:

// @flow

import { Component, Prop, Vue } from 'vue-property-decorator';

export default
@Component
class HelloWorld extends Vue {
  msgEnd: string = '!!!';

  @Prop({ type: String, required: true })
  msg: string;

  created(): void {
    this.printInConsole(`Im created: ${this.msgEnd}`);
  }

...
2 « J'aime »

Ce qui fait qu’un langage, est populaire c’est (selon moi :)),

  • Facilité d’apprentissage
  • Facilité de déploiement en local
  • Facilité de déploiement en prod

A partir du moment ou tu dois jouer avec des PATH, variables d’environnements … l’intérêt diminue.

Rust est pour moi l’example parfait. Il n’y a rien à installer dans l’os (je parle de dépendances), un simple dossier dans le home pour le développeur et c’est tout (RIEN en prod):

curl --proto ‹ =https › --tlsv1.2 -sSf https://sh.rustup.rs | sh

A partir du meme host tu peux builder pour Gnu Linux, OSX, Windows.

Pas de JVM, pas de garbage collector … simple et efficace.

Ceci reste un jugement personnel!

3 « J'aime »

J’ai rien contre Rust, j’aime beaucoup même.Mais du coup, selon tes critères, Go est encore mieux.

Avec Go tu peux programmer tes conteneurs Docker c’est un plus.
Maintenant s’il est mieux ou moins bien peut importe je pense que t’as compris l’idée :slightly_smiling_face:

Pas besoin de Javascript pour un projet web, la plupart des sites ne devraient meme pas en avoir vu les besoins. C’est surtout que la plupart des gens (clients ou devs) veulent du javascript ou prennent de mauvaises décisions.
Dans un sens c’est assez normal quand tu vois des grosses boites comme Google qui ont de mauvaises pratiques (du genre bloquer le clic milieu).

Tu peux tout a fait placer plusieurs instructions sur la même ligne en Python, en les séparant par des ;. Comme la plupart des langages, Python utilise le ; comme séparateur d’instructions, mais beaucoup d’utilisateurs de Python ne le savent pas parce qu’il n’est pas obligatoire en fin de ligne.

Il y a juste quelques subtilités par rapport à d’autres langages, du fait de l’absence de marqueurs de début et de fin de bloc, mais c’est des cas où de toute façon ça serait assez crade de faire ça en une seule ligne :

  • quand il y a une instruction de contrôle (if, for, etc…), tout le reste de la ligne est forcément dans le bloc ouvert par cette instruction (alors qu’en C, c’est uniquement l’instruction suivante, sauf s’il y a des accolades pour former un bloc plus gros)
  • on ne peut pas mettre deux instructions de contrôle sur la même ligne (« for i in range(0,5): print(i); print(i+i); » est une ligne de Python valide, « if a > 0: for i in range(0,a): print(i); print(i+i); » n’est pas valide, car on a un if et un for sur la même ligne)

Il y a toutefois la possibilité de combiner un if et else en une seule ligne, en utilisant une syntaxe spécifique à python : [instruction si condition du if vraie] if [condition] else [instruction si condition du if fausse] (ex : « import datetime; day=datetime.datetime.today().weekday(); print(‹ week-end ›) if day in [5,6] else print(‹ boulot ›) »).

2 « J'aime »

J’aime beaucoup TypeScript et Rust. C# m’intéresse aussi, je l’ai essayé quand j’étudiais Blazor WebAssembly.

C’est clairement un lange incompris. En ce qui concerne les performances tout dépend de l’implementation du développeur

Hélas, non.

C’est un langage dont la lenteur est causée par ses paradigmes intrinsèques. Donc c’est incurable.

Les implémentations « performantes » sont loin des langages efficients. Et encore, optimisés à coup de « tricks » complexes qui apportent chacun leurs lots de « revers de la médaille ».

Rappelons un très vieux principe des langages de programmation : pour qu’un langage soit vraiment performant, il faut qu’il soit conçu dès le départ dans ce but.

Il faut bien comprendre que ce qui différencie la technique de la magie, c’est que dans la technique on ne peut pas obtenir tout en même temps. Tout implique un prix à payer.

Un petit example de Javascript avec du typage, décorateurs:

Passez moi le sac à vomi…

IMHO, Javascript, ça ressemble à un savant mélange de zombie et de franckenstein.

L’évolution dans le temps de ce langage me fait furieusement penser à une tronçonneuse, un rouleau de ruban adhésif pour y coller des morceaux de cadavre récupérés dans un conteneur à ordures. Avec l’odeur, la sueur et le gout qui vont avec.

Quand à vouloir reprendre de vieux projets écrits dans ce langage, ça donne clairement l’impression de fouiller dans un cadavre en décomposition avancée ou il faut se retrouver dans un bon gros tas d’asticots qui grouillent.

Je ne parle même pas de la dimension qu’on peut atteindre quand un stagiaire est viens foutre le bordel dans le code… avant de se suicider.

Aujourd’hui il y a des Framework comme VueJS, Angular, React, des outils comme Webpack, babel, eslint, Flow qui permettent de tirer tout le potentiel de Javascript.

Tirer le potentiel… ou le dernier souffle de vie du cadavre ?

Les framework ont le mérite de cacher la misère d’un langage/environnement pas bien fichu. Hélas au prix d’un gaspillage supplémentaire de ressources CPU.

2 « J'aime »

JavaScript est un langage incompris, car beaucoup ne se rendent pas compte de tout ce qu’on peut faire avec, ni de ses capacités objets inégalées.

L’ennui, c’est que ces capacités se payent par un prix élevé en terme de performances.

Et au final, ce n’est pas ça qui apporte vraiment un plus dans de vrais projets ou l’enjeu c’est surtout de maîtriser le bordel.

@vbond007

Petit sondage : C’est quoi vos langages préférés?

Cela m’inspire une autre question : c’est quoi le langage préféré de ceux qui écrivent de vrais programmes.

@elsed

Javascript n’est pas populaire. C’est juste qu’on ne peut pas faire sans dans un projet web.

Tout à fait.

Populaire, ça ne veut pas dire grand chose sur les qualités d’un langage.

Comme vous le soulignez, Javascript à été imposé par les navigateurs, pas parce qu’il plaisait. C’est un langage qui est rarement pratiqué par choix.

De la même façon, Python est populaire car il facilite le travail aux professeurs qui recherchaient le langage dont la syntaxe leur donnerait le moins de travail. C’est ce qui l’a popularisé.

Mais les professeurs ne sont pas des professionnels de l’informatique. Ce n’est pas leur métier d’écrire des programmes.

Enfin, rappelons qu’un langage comme BASIC à été immensément populaire, pour ne pas dire universellement pratiqué. Mais au moins à l’époque, la plupart des gens avaient conscience que ce langage était perfectible parce qu’ils lisaient des revues d’informatique écrites par des vrais pro.

Bon bah c’est plutôt bien argumenté ^^

Mais l’implémentation de JavaScript elle même peut ne pas être si catastrophiques. Je pense à Deno à moins qu’ils aient trafiqués leur benchmark mais ça n’a pas l’air si mauvais. Pareil pour les framework cités.

edit: (jai lu un peu trop vite, en même temps l’utilisation des commentaires sur mobile n’est pas évidente. Ça doit être fait en JS)
Toujours est il que si on cherche la performance on devra se tourner vers autre chose. Au même titre que python.

“Passez moi le sac à vomi…”
Je voulais montrer que JavaScript évolue, on retrouve des annotations comme en java, des proxy, une nouvelle syntaxe.
Tu n’es en rien obligé d’écrire un code pareil.

Du coup tu jettes tout j’ai bien compris.

Il faut être réaliste, un langage qui ne te force pas à la rigueur (et qui n’est que peu rigoureux lui-même) va forcément engendré à un moment ou à un autre du code bordélique…
Vive Ada! Non, je déconne :-P. Quoique…

Bon, ça correspond assez bien à ce que je pense de JS. Mais tu y vas quand même un peu fort! :smiley:
Pour moi JS peut même être un bon choix dans certains cas, mais pratiquement jamais comme langage unique d’un gros projet. Comme absolument TOUS les langages, il y a des pours et des contres (bon, beaucoup de contres pour les ECMAScrips, je me demande qui bosse à ECMA!)?.