Vos langages de programmation (préférés... ou pas, d'ailleurs : vous pouvez les haïr)

Affichage des résultats du sondage: Quels langages de programmation pratiquez-vous ou cherchez-vous à connaître?
C# 6 12,24%
C 11 22,45%
Objective-C 1 2,04%
C++ 10 20,41%
Go 7 14,29%
Java 8 16,33%
Python 20 40,82%
PHP 13 26,53%
R 4 8,16%
Scala 2 4,08%
Swift 1 2,04%
JavaScript 16 32,65%
TypeScript 10 20,41%
Kotlin 1 2,04%
Matlab 2 4,08%
Ruby 1 2,04%
Cobol 4 8,16%
Rust 3 6,12%
Ada 2 4,08%
Visual Basic/VBA 10 20,41%
Dart 1 2,04%
Abap 0 0%
Lua 0 0%
Groovy 0 0%
Perl 1 2,04%
Julia 1 2,04%
Haskell 0 0%
Delphi/Pascal 3 6,12%
Assembleur 3 6,12%
Un autre, qui n'est pas dans la liste 6 12,24%
J'ai déjà essayé d'en apprendre, mais je n'ai pas réussi 1 2,04%
Ca ne me tente pas, ou même : me rebute 2 4,08%
Sondage à choix multiple Votants: 49. Vous ne pouvez pas participer à ce sondage.

Répondre
Partager Rechercher
Yep, tout à fait du même avis.
Chez nous c'est régulièrement la chasse aux perfs et à l'opti pour les programmes COBOL, vu que le contrat avec IBM se base entre autres sur le temps CPU...
Heureusement que j'ai changé d'équipe, maintenant je fais dans le Vertica, vive le SQL
Mon langage de programmation preferé est le PHP, passionné de la création web, ce langage me sert dans la création des sites web.
Je code également en Python et en langage Java, que j'affectionne pour la programmation dans l'environnement Android.
Mais de toute façon peu importe le langage, l'important est d'arrivé à la solution

Dernière modification par martdub ; 17/09/2022 à 05h47.
Citation :
Publié par TiteChipy
Pour quelqu'un qui aimerait se lancer en back end, Python ou php ?
Si c'est pour faire uniquement du dev web back, il me semble que PHP reste pas mal plus demandé, même si python (avec Django) progresse. Après PHP n'est clairement pas le langage de l'avenir non plus, et est surtout extrêmement spécialisé, alors que python peut faire environ tout.

Dans tous les cas, si tu veux faire du dev web, même en back, tu ne pourras pas t'affranchir de comprendre un minimum JavaScript en plus. A toi de voir ce que tu souhaites faire exactement comme boulot, d'où tu pars, et de regarder ce que demandent les offres de boulot, et ce que préconisent les parcours d'apprentissage.
Citation :
Publié par TiteChipy
Pour quelqu'un qui aimerait se lancer en back end, Python ou php ?
C'est quoi l'objectif ? Pro ou perso ? Si pro, en France ou à l'étranger ? Tu connais d'autres langages de programmation ?
Citation :
Publié par TiteChipy
Pour quelqu'un qui aimerait se lancer en back end, Python ou php ?
Je confirme Python, quel que soit l'angle observé.
Même s'il devait se révéler un peu moins fort en web (et c'est à vérifier), le reste de son écosystème compensera.

J'ai fait vingt ans de Java, le langage "qu'on a toujours recommandé de faire pour être pérenne, voire : couru", eh bien, je vais vers Python. C'est lui l'avenir, tout simple.
Il a ses secteurs presque propriétaires : mathématiques, Systèmes d'Information Géographique,
Et il est entrain de démanteler Scala à une vitesse étonnante en Big Data. Il y a trois ans, un bouquin sur deux sur le sujet était écrit pour Scala.

Aujourd'hui, tu vas chez Eyrolles ou ailleurs dans les 60 bouquins qu'ils ont sur le Big Data ou à côté : la quasi-totalité seront pour Python, quelques-uns pour R, et deux, trois ou cinq pour Scala, peut-être, encore, à condition de vouloir acheter un bouquin imprimé en 2018.

Il écrase tout parce qu'il a réussi à rester simple,
à avoir des informations facilement accessibles partout sur Internet à son sujet, énormément de ressources,
et une communauté sympathique et accueillante.
Entre ces deux là :

- J'ai déjà essayé d'en apprendre, mais je n'ai pas réussi

- Ca ne me tente pas, ou même : me rebute

Il manque un "Il m'est arrivé d'en utiliser quelques uns à bonnes fins, mais c'est pas mon truc cela dit"
__________________
Citation :
Publié par Caniveau Royal
Et j'ai autre chose à dire pour soutenir les bouquins : dans à peu près tous les bouquins que je connais, en lire un entier et pratiquer ce qu'il écrit, c'est l'équivalent d'avoir suivi souvent, au moins, trois Unités d'Enseignements.
Donc, c'est tout sauf vain, un bon bouquin.
Tu conseillerais lequel comme "Bible", assez généraliste, pour avoir de bonnes bases et pratiques pythoniennes ?
Et plus précisément, pour pondre de l'interface textuelle sous Linux (j'ai survolé, mais l'API ncurses a l'air de faire ce que je cherche, exemple avec alsamixer ci-dessous) ?

alsamixer-ui.gif
Citation :
Publié par Dr. Troy
Tu conseillerais lequel comme "Bible", assez généraliste, pour avoir de bonnes bases et pratiques pythoniennes ?
Je n'oserai pas moi-même, car je l'apprends, et je ne saurai qu'à la fin quel aura été le bouquin parfait ou pas.
J'ai du plaisir avec Python et Pandas, mais c'est qu'il est pour les maths et les stats, aussi.

J'espère que d'autres joliens te proposeront un bon ouvrage généraliste,
et alors, j'irai le regarder aussi. Car j'en ai bien un, mais il date de Python 3.2 et je crois que c'est trop vieux.

On doit être en Python 3.10 ou 3.11, maintenant ? Et je ne sais pas combien il y a eu d'évolutions entre. Si c'est comme en Java... Peut-être un paquet.

Ah, si : autour de la 3.9 (?) est arrivé le typage fort des variables. Ça c'est bien.
Pouvoir dire qu'un paramètre d'entrée va être une chaîne de caractères ou autre, et pas n'importe quoi/ce qu'il veut, fait progresser le langage.
Il ne doit plus y avoir que Javascript pour ne plus typer les variables, maintenant. Et encore, c'est pas sûr.
je fais surtout du java, j'ai fait d'autres trucs aussi, mais le java j'aime bien, après voilà la programmation ça fait longtemps que ce n'est plus du tout un challenge pour moi, ça ne me demande aucun effort particulier, à part pour faire évoluer des applis qui sont restées figées depuis 20 ans, mais en même temps c'est ma valeur ajoutée, et puis dev à part en France c'est très bien payé.
Citation :
Publié par Caniveau Royal
Ah, si : autour de la 3.9 (?) est arrivé le typage fort des variables. Ça c'est bien.
Pouvoir dire qu'un paramètre d'entrée va être une chaîne de caractères ou autre, et pas n'importe quoi/ce qu'il veut, fait progresser le langage.
Il ne doit plus y avoir que Javascript pour ne plus typer les variables, maintenant. Et encore, c'est pas sûr.
Attention, tu confond typage faible/fort avec le typage statique/dynamique

Python a toujours été un langage plutôt fortement typé (beaucoup plus que le JS par exemple). En revanche c'est (et c'est toujours, même avec les versions les plus récentes) un langage à typage dynamique, c'est à dire que l'interpréteur déduit de lui même le type de ta variable au runtime.

En revanche depuis Python 3.5, y a ce qu'on appelle le "type hinting", donc la possibilité de spécifier un type en plus dans le code. Mais comme son nom l'indique en anglais, ça ne transforme pas Python en langage statique, le type que tu donnes est juste une indication. Qui ne sera pas utilisée par l'interpréteur (en tous cas pour le moment).
En revanche c'est très utile pour améliorer le support par les IDE, ou pour utiliser des outils externes (comme mypy) pour vérifier justement la cohérence des types.

Mais tous les langages sont typés, ils ont forcément besoin de savoir à quoi correspond la suite de bits qu'ils ont en mémoire. Après la différence va se faire sur :
- a quel point les cast (passage d'un type à l'autre) entre différents types vont se faire de manière transparente ou manuelle, c'est globalement la différence entre typage faible ou fort (sachant que c'est un axe continu et pas juste binaire)
- qui détermine le type, est ce que c'est le développeur au moment d'écrire le code (typage statique) ou l'interpréteur au runtime en fonction de ce qui a dedans (typage dynamique)

Et tu retrouves globalement les quatre combinaisons possibles: JS et les vieilles versions de PHP sont du typage dynamique faible, Python (ou Ruby) sont du typage dynamique fort, C c'est du typage statique faible, Rust (ou C#, mais je connais moins) sont du statique fort.
Citation :
Publié par Caniveau Royal
Je n'oserai pas moi-même, car je l'apprends, et je ne saurai qu'à la fin quel aura été le bouquin parfait ou pas.
J'ai du plaisir avec Python et Pandas, mais c'est qu'il est pour les maths et les stats, aussi.

J'espère que d'autres joliens te proposeront un bon ouvrage généraliste,
et alors, j'irai le regarder aussi. Car j'en ai bien un, mais il date de Python 3.2 et je crois que c'est trop vieux.

On doit être en Python 3.10 ou 3.11, maintenant ? Et je ne sais pas combien il y a eu d'évolutions entre. Si c'est comme en Java... Peut-être un paquet.

Ah, si : autour de la 3.9 (?) est arrivé le typage fort des variables. Ça c'est bien.
Pouvoir dire qu'un paramètre d'entrée va être une chaîne de caractères ou autre, et pas n'importe quoi/ce qu'il veut, fait progresser le langage.
Il ne doit plus y avoir que Javascript pour ne plus typer les variables, maintenant. Et encore, c'est pas sûr.
Ok ! Pour l'instant je m'en tiens aux ressources linkées sur le site officiel, et je trouve mon bonheur, je reprends aussi le b.a.-ba, ça fait pas de mal quand on a fait que bidouiller pour le plaisir. En tout cas ça tombe à pic, intéressant d'avoir les retours de joliens sur le sujet.
Citation :
Publié par Dr. Troy
Ok ! Pour l'instant je m'en tiens aux ressources linkées sur le site officiel, et je trouve mon bonheur, je reprends aussi le b.a.-ba, ça fait pas de mal quand on a fait que bidouiller pour le plaisir. En tout cas ça tombe à pic, intéressant d'avoir les retours de joliens sur le sujet.
Ce qui est important, pour bien avancer, c'est d'avoir un éditeur confortable.
Écrire avec Notepad++, c'est bien déjà, mais autant prendre l'éditeur fait pour ça, qui apporte les assistances qu'il faut.

Comme PyCharm en community.
Perso j'ai oublié tous mes concepts avancés de programmation. J'ai fait du basic a l'école, C, C++ et assembleur a l'université.
Pour du hobby (calcul de dps de MMO il y a genre 5 ans) j'ai fait du C#, et je garde un œil sur le Python que mon gosse apprend.

Mais je ne suis plus au niveau où je peux comprendre la différence entre C# et Python. Pour moi tous les langages se ressemblent, faut juste apprendre la syntaxe et savoir manipuler les objets.
Mais du coup, je rate quoi dans la compréhension des différences? (Genre ça me change quoi qu'il y ait typage dynamique/statique, fort ou faible? Si je sais programmer dans l'environnement le plus stricte, je peux le faire dans celui plus laxiste, non?)

Pour programmer un truc avec une interface visuelle, il vaut mieux quoi comme langage ?
Citation :
Publié par Hellraise
Mais je ne suis plus au niveau où je peux comprendre la différence entre C# et Python. Pour moi tous les langages se ressemblent, faut juste apprendre la syntaxe et savoir manipuler les objets.
Mais du coup, je rate quoi dans la compréhension des différences? (Genre ça me change quoi qu'il y ait typage dynamique/statique, fort ou faible? Si je sais programmer dans l'environnement le plus stricte, je peux le faire dans celui plus laxiste, non?)
La principale différence se fait au niveau de la compilation ou non d'un langage. Python est un langage interprété par exemple (comme JS aussi), alors que tous les C, Java, et autres langages dis de bas niveau sont compilés.

Un langage de bas niveau devra aussi en général gérer l'allocation mémoire.

Pour une interface visuelle, ça dépend ce que tu veux faire, si c'est juste une boite de dialogue ou un programme complet avec un critère important de performance. Si c'est juste une GUI simple, python peut très bien faire l'affaire aussi avec tkinter ou PyQT par exemple
Java, comme le C# n'est pas vraiment du bas niveau vu que tu compiles pour ensuite l'interpréter avec une JVM, JVM qui est écrite en C souvent. C'est pour ça que ça marche partout, vu que ça tourne dans son propre environnement, il "suffit" de créer un environnement pour tout : pc, téléphone, TV, micro onde, etc...
Citation :
Publié par Hellraise
Mais je ne suis plus au niveau où je peux comprendre la différence entre C# et Python. Pour moi tous les langages se ressemblent, faut juste apprendre la syntaxe et savoir manipuler les objets.
Mais du coup, je rate quoi dans la compréhension des différences? (Genre ça me change quoi qu'il y ait typage dynamique/statique, fort ou faible? Si je sais programmer dans l'environnement le plus stricte, je peux le faire dans celui plus laxiste, non?)
Honnêtement, tant que ça reste du hobby, ce n'est pas très grave, l'important est que tu arrives à faire ce que tu veux faire dans le langage que tu connais.

Par contre les différences sont souvent plus profondes que juste la syntaxe et c'est une erreur assez courante des débutants. La syntaxe, c'est la partie émergée de l'iceberg. Mais après il faut s'adapter aux paradigmes du langage (tu n'écris pas du tout de la même façon un programme dans un langage objet comme Java ou dans un langage fonctionnel comme Lisp par exemple), mais aussi aux idiomes et autres "façons de faire".

Par exemple le cas classique c'est quelqu'un qui passe du C au Python et qui pour boucler sur tous les éléments d'un tableau va utiliser un index et faire un truc du style:
Code:
my_list = ["a", "b", "c"]
for index in range(len(my_list)):
  # range(len(my_list)) va sortir ici les valeurs 0, 1 et 2
  value = my_list[index]
  print(value)
En Python tu peux faire ça, et ça va fonctionner. Mais c'est du "mauvais Python" et en dehors de cas particuliers, tu ne veux pas manipuler directement l'index et en général on préfère passer par un itérateur :
Code:
my_list = ["a", "b", "c"]
for value in my_list:
  print(value)
Enfin dernier point qui peut prendre un peu de temps quand tu changes de langage, c'est d'apprendre à connaitre l’écosystème et les librairies classiques/recommandées du langage. Par exemple en Python, la plupart des gens qui vont vouloir appeler une page web vont utiliser la librairie requests (y a des trucs dans la lib standard de Python, mais requests est bien mieux fichue, donc la plupart des gens utilisent ça). Si tu passes à C# ou Rust, bin faut trouver l'équivalent (s'il existe, ce qui n'est pas toujours le cas, notamment pour des besoins assez avancés (par exemple en IA, ou développement de JV etc...)

Pour finir, pas oublier (pour un professionnel) qu'un langage de programmation ça reste un outil, et qu'en fonction de tes besoins, tel ou tel outil est plus ou moins bien adapté en fonction de ce que tu veux faire (alors que y a souvent des querelles de chapelles un peu stériles).


Citation :
Pour programmer un truc avec une interface visuelle, il vaut mieux quoi comme langage ?
Une interface web ? Surtout si le code que tu veux appeler est en Python, avec un petit framework comme Flask c'est trivial de brancher un "bouton web" vers une action.
En vrai c'est sans doute le plus simple, après si tu veux rester sur du "client lourd" avec des interfaces plus natives, tkinter ou PyQT sont bien en Python par exemple (et tu peux trouver des bindings vers QT dans beaucoup de langages)


@Metalovichinkov: Ouais le problème c'est que la nuance entre langage interprété et compilée est de plus en plus floue, avec de plus en plus de langages qui ont une forme plus ou moins forte de JIT, du coup...c'est pas simple

Dernière modification par SekYo ; 19/09/2022 à 10h55.
Citation :
Publié par Caniveau Royal
Ce qui est important, pour bien avancer, c'est d'avoir un éditeur confortable.
Écrire avec Notepad++, c'est bien déjà, mais autant prendre l'éditeur fait pour ça, qui apporte les assistances qu'il faut.

Comme PyCharm en community.
Je sais pas si c'est le confort que je recherche, j'utilise vim
Bon quand j'en ai besoin je repasse sur code-oss - aka visual studio en libre - mais +1 pour PyCharm, je l'ai installé au boulot voir ce qu'il donnait et je l'ai trouvé bien foutu (et y'a un plugin pour lui donner les raccourcis de vim). J'aimais bien Sublime Text fût un temps aussi. Mais on pourrait faire un sujet séparé tellement y'a le choix.
Citation :
Publié par Dr. Troy
Je sais pas si c'est le confort que je recherche, j'utilise vim
Quelques développeurs utilisent vim, c'est vrai. Mais c'est quand même peu fréquent.
L'éditeur doit apporter son aide au choix des fonctions, présenter les paramètres, etc.
Il doit surtout avertir des petites erreurs (warnings) lors de l'élaboration de son code.
Car ce sont souvent elles, qui accumulées rendent instables le programme et font qu'on passe des heures à le déboguer.
Citation :
Publié par Caniveau Royal
Quelques développeurs utilisent vim, c'est vrai. Mais c'est quand même peu fréquent.
L'éditeur doit apporter son aide au choix des fonctions, présenter les paramètres, etc.
Il doit surtout avertir des petites erreurs (warnings) lors de l'élaboration de son code.
Car ce sont souvent elles, qui accumulées rendent instables le programme et font qu'on passe des heures à le déboguer.
J'ironisais sur le confort, vim rebute pas mal de monde aux premiers abords (dans les faits, tu peux faire tout ce que tu dis, il y a des plugins pour, j'essaie jedi-vim pour le python en ce moment).
C'est mon attachement aux interfaces textuelles, et le fait d'utiliser régulièrement Linux sans interface graphique qui fait que je m'y suis habitué mais oui pour de plus gros projets, je passe sur un IDE. Cela dit, j'aime bien tout faire manuellement au départ, sans trop d'autocomplétion, pour que ça rentre. Vu que c'est un hobby, je ne suis pas dans un paradigme d'efficacité/rentabilité.
Moi j'aime bien Python.

J'ai fait du C++, du C, du Matlab/Simulink, du Java, du Python. Je ne suis bon en rien, mais je peux travailler avec tout.

Python est facile, clair, très bien maintenu et sa communauté est sa grande force. Son système de list comprehension surpasse le LINQ en termes de clarté et rend les one-liners plus clairs et plus fonctionnels ce qui n'est pas le cas dans les autres langages. Ce n'est pas mon langage de travail principal mais ça ne me dérangerait pas.
Tu parles plutôt de ton passage du typage dynamique au typage statique non ? Ou éventuellement à la gestion manuelle de la mémoire VS gestion automatique ?

Parce que la différence aujourd'hui pour le développeur entre savoir si ton langage est compilé ou interprété elle est assez faible:
- déjà parce que la plupart des langages compilés ont aujourd'hui des outils de build assez puissant, donc lancer un programme compilé ou interprété ça se résume le plus souvent à lancer une ligne de commande ou cliquer sur le bouton Run/Debug de ton IDE
- enfin parce que la distinction entre les deux est de plus en plus compliquée. Si par exemple Java a longtemps été classé facilement comme un langage interprété (via la JVM), avec l'ajout de compilateurs Just in Time (JIT), le distinguo est moins évident. Pareil pour le Javascript avec le moteur V8.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés