Sondage Quel langage utilisez-vous le plus au quotidien ?

Posté par (page perso) . Licence CC by-sa
Tags : aucun
8
3
août
2015

Admin. sys., admin. réseau, développeurs front-end et/ou back-end, vous avez sûrement un langage de prédilection mais dans les faits, quel est celui dont vous votre chef ne peut pas se passer ?
Langages de scripts pour automatiser des tâches ou langage compilé pour envoyer du lourd ?
Code à l'arrache pourvu que ça marche ou code respectueux des design patterns ?

  • PHP parce que je suis bricoleur :
    279
    (9.3 %)
  • Java : c'est pas moi, c'est un grand qui m'a dit de le faire ! :
    293
    (9.7 %)
  • C parce que je suis contre les objets :
    405
    (13.4 %)
  • Assembleur car je ne sais compter que sur 2 doigts : 0 et 1 :
    44
    (1.5 %)
  • Bash parce que je n'ai que faire de porter mon script sur autre chose qu'un système à base de noyau Linux :
    409
    (13.6 %)
  • Python ou Perl parce que j'aime télécharger 50 bibliothèques avant de coder :
    760
    (25.2 %)
  • Javascript, je suis à la mode :
    134
    (4.4 %)
  • Français, j'aime pas la programmation mais j'aime répondre aux sondages :
    470
    (15.6 %)
  • Galactique parce que la force est avec moi :
    219
    (7.3 %)

Total : 3013 votes

La liste des options proposées est volontairement limitée : tout l'intérêt (ou son absence) de ce type de sondage réside dans le fait de forcer les participants à faire un choix. Les réponses multiples sont interdites pour les mêmes raisons. Il est donc inutile de se plaindre au sujet du faible nombre de réponses proposées, ou de l'impossibilité de choisir plusieurs réponses. 76,78% des sondés estiment que ces sondages sont ineptes.
  • # Je suis bricoleur

    Posté par . Évalué à 5.

    et je code en C# avec une varlope de 22".

  • # C++

    Posté par . Évalué à 10.

    C++, parce que je sais programmer dans plein de paradigmes et choisir le bon ;)

  • # Bash linux-only ?

    Posté par . Évalué à 7.

    Bash parce que je n'ai que faire de porter mon script sur autre chose qu'un système à base de noyau Linux

    Gni ? Bash fonctionne sur tout un tas d'autres systèmes que les Linux dont Windows et FreeBSD au moins.

    • [^] # Re: Bash linux-only ?

      Posté par . Évalué à 10.

      On parle de vrais systèmes, là, pas de jouets pour gosses.

    • [^] # Re: Bash linux-only ?

      Posté par (page perso) . Évalué à 1. Dernière modification le 04/08/15 à 00:09.

      Je n'irais pas jusqu'à dire que Bash fonctionne très bien sous Windows, mais sous *BSD et Darwin c'est indéniablement le cas! :) Sinon, je ne code pas en même si je fais du shell script une bonne partie de la journée! :)

      • [^] # Re: Bash linux-only ?

        Posté par . Évalué à 4.

        sh tant qu'à faire cela évite d'installer 50 000 librairies GNU sur FreeBSD.

    • [^] # Re: Bash linux-only ?

      Posté par (page perso) . Évalué à 0.

      À travers Bash il semble qu'il était plutôt sous-entendu GNU : GNU Bash avec GNU sed, GNU grep… ainsi que util-linux. Car le shell est rarement suffisant.

      Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt

      • [^] # Re: Bash linux-only ?

        Posté par . Évalué à 3.

        Tu peux tout pareil installer sed et grep ailleurs que sous Linux. Quand à util-linux, évidemment sous xBSD, Solaris, Windows ou Haiku, ça va pas t'être très utile.

        De là à aller sous entendre que c'est rarement possible d'écrire un script bash sans dépendre de util-linux, c'est un peu fort de café. coreutils je veux bien que ce soit difficile de faire sans, mais on peut justement l'installer ailleurs.

        Non vraiment, bash (+coreutils +grep) est fonctionnel sur bien d'autres systèmes que Linux.

        • [^] # Re: Bash linux-only ?

          Posté par . Évalué à 0.

          À mon avis vous n'avez pas la même distrib tous les deux.

          Ce que tu dis est à peu près vrai vrai sur une Débian, encore que des commandes comme flock sont vite nécessaire pour faire un truc sérieux en shell, mais plutôt faux sur Redhat/Fedora, qui inclus kill ou su dans util-linux.

          En plus t'as souvent besoin d'autre packages encore en plus. Genre (sur Débian) find et xargs sont dans findutils. Je suis sûr qu'il y en a d'autres mais je n'ai pas envie de chercher.

  • # OCaml

    Posté par (page perso) . Évalué à 8.

    En OCaml parceque j'aime ça! :)

    • [^] # Re: OCaml

      Posté par (page perso) . Évalué à 2.

      C'est également un langage que j'aime beaucoup, autant par son expressivité que sa rigueur. Malheureusement, je n'ai pas la possibilité de l'utiliser au quotidien, et je crois que je n'aurai pas la possibilité de l'utiliser au travail. Personne ne connais, sauf des: « ah oui j'en ai fait un peu en école d'ingé », et je ne peux pas non plus me permettre d'écrire du code que je serai le seul à maintenir…

      C'est dommage, mais c'est la vie. J'espère que le tournant viendra un jour !

  • # Bash et Powershell

    Posté par . Évalué à 4.

    Bash et Powershell parce que dans les 2 cas je n'ai rien à installer sur les serveurs, et que je ne fais jamais des trucs très poussés.

  • # C avec assembleur inline

    Posté par . Évalué à 7.

    Parce que mon code dois tourner sans OS et qu'il me faut par moment contrôler tout à l'instruction près.

    • [^] # Re: C avec assembleur inline

      Posté par (page perso) . Évalué à 0.

      Le C, ça sert juste a faire un main plus facilement. :D

      • [^] # Re: C avec assembleur inline

        Posté par . Évalué à 1.

        Même pas tant que ça.

        Le projet sur lequel j'ai bossé jusqu'en juillet re-utilisait du code où la fonction main était appelée après l'utilisation plusieurs fichiers ASM bien lourd (le genre que tu n'as pas envie de/ne peux pas comprendre).

        Après, c'était plutôt logique étant donné que le code devait tourner sans OS, mais j'étais quand même heureux que je ne devais uniquement coder en ASM les parties critiques du code.

  • # En Perl

    Posté par (page perso) . Évalué à 7.

    Car c'est dans les bonnes marmites qu'on fait les meilleurs soupes ;)

    • [^] # Re: En Perl

      Posté par . Évalué à 3.

      et surtout parce que les expressions régulières c'est trop de la balle !!

    • [^] # Re: En Perl

      Posté par (page perso) . Évalué à 5.

      Perl, parce que c'est un langage dynamique que je peux modifier à la volée.

      Perl, parce que j'aime un langage où la portée des variables est claire (pour les 'my' à partir de la ligne où elle est définie jusqu'à la fin du bloc) et multiple (portée lexicale (my), portée dynamique (our, local)). JavaScript, Python : beurk…

      Perl, parce que j'aime vérifier à la compilation les typos (noms de variables) avec 'perl -c'. Python : beurk…

      Perl, parce que je peux indenter mon code comme je veux pour en faciliter la lecture. Et j'aime la ponctuation. JavaScript : quelle merveille (ironie) les règles sur l'insertion automatique de point-virgules !

      Perl, parce que en plus d'apprécier le langage, j'en vis (je suis payé à développer en Perl 5 à longueur de journée).

      Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt

      • [^] # Re: En Perl

        Posté par (page perso) . Évalué à 2.

        Perl

        Ah, enfin la voie de la sagesse…

        Ça ne t'a pas choqué que l'auteur du sondage mélange le grand Perl avec l'autre truc de jeunes, tu sais, celui qui se plante pour un TAB de travers ?

        * Ils vendront Usenet^W les boites noires quand on aura fini de les remplir.

  • # Bash

    Posté par . Évalué à 2.

    Because bash.

  • # V8

    Posté par (page perso) . Évalué à 3.

    Je m'éclate en javascript avec NodeJS et les I/O non-bloquants

    http://perfwatcher.org

    • [^] # Re: V8

      Posté par (page perso) . Évalué à 5. Dernière modification le 04/08/15 à 10:49.

      Je m'éclate en javascript avec NodeJS et les I/O non-bloquants

      Je préfère l'interface de OCaml/Lwt qui utilise des monades, c'est bien plus propre et facile à maintenir que les callbacks de NodeJS qui poussent le programmeur à programmer en spaghetti ou que les promises auxquelles on peut penser comme à des monades mais qui n'ont pas une interface très pratique.

    • [^] # Re: V8

      Posté par (page perso) . Évalué à 1.

      On peut faire du mono-thread avec des I/O non bloquants avec bien d'autres choses que node.js.

      En ce qui me concerne, Perl 5 avec AnyEvent. Et je parle bien de vrai code en prod qui scale.

      Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt

  • # Python

    Posté par . Évalué à 3.

    Bonjour à tous et toutes,

    J'ai choisi Python pour son côté "plus facile à lire" et son bon classement parmi les différents langages de programmation (cf Tiobe Index).

    Bonne journée à tous et toutes.

    • [^] # Re: Python

      Posté par (page perso) . Évalué à 4.

      J'aime beaucoup le « batteries included » de Python et sa popularité qui font que bien souvent il y a quelque part une bibliothèque qui nous fait gagner un temps fou.

      Programmer en Python fait souvent gagner beaucoup de temps, ce qui est précieux, et ce qui en fait mon langage principal, même si je fais plutôt mes scripts en shell (en sh, mais c'est souvent du script assez simple, sinon je pars sur Python).

      Et même en dehors du dév ça sert: combien de fois je me suis servi de "python -m SimpleHTTPServer" pour partager un fichier sur le réseau local.

      Autre point fort, dû à sa popularité: bien souvent dans les logiciels (libres) il y a possibilité de faire des greffons en python.

      • [^] # Re: Python

        Posté par . Évalué à 7.

        J'aime bien Python également mais sa schizophrénie 2.x et 3.x est assez fatiguante.

        • [^] # Re: Python

          Posté par . Évalué à 7.

          Bonjour à tous et toutes,

          Je suis tout à fait d'accord avec Le Beauf, la rupture Python 2.x / Python 3.x est compliquée à gérer. Il faut cependant reconnaître que Python 3 datant de 2008, aujourd'hui en 2015, la plupart des bibliothèques ont été portées.

          Il reste toujours le cas particulier de maintenance d'un logiciel existant sous Python 2.x ou l'utilisation d'une bibliothèque non portée, mais pour un nouveau développeur, il est préférable de passer tout de suite à Python 3, la branche 2.x n'étant plus appelée à beaucoup évoluer.

          Bonne journée à tous et toutes.

  • # Golang !!

    Posté par . Évalué à 7.

    Avec Go car c'est un langage qui dope votre productivité !
    Il a pour lui:
    Multi plateforme, open source avec une belle communauté réactive, performant (http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest-firstlast.png) et même très prochainement encore mieux avec le nouveau GC de la version 1.5 qui doit sortir ce mois,la concurrence (le plus élégant et simple de tous les langages que je connaisse), type statique, fortement typé, structurel, possibilité de faire de l'objet via les interfaces, un très pratique linkage statique, les librairies standards très fournies depuis la version 1.4, l'outil de formatage de code par défaut (go fmt) qui permet d'avoir un code très lisible, et je pourrais encore données pleins d'exemples. Il doit bien avoir 2-3 défauts, mais bon il a tellement de qualités !

    • [^] # Re: Golang !!

      Posté par . Évalué à 5.

      Perso je trouve pas mal de code Go illisible / moche (c'est subjectif). Une fois habitué, c'est sûrement lisible, mais bon… :/ Exemple :

      sig := <-sigs

      Et je trouve ça vraiment pas facile à écrite en azerty.

      Je préfère largement Ruby : très lisible, et c'est fou ce qu'on peut faire niveau OO / metaprog. :)

      "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

      • [^] # Re: Golang !!

        Posté par . Évalué à 3.

        Effectivement, je ne mettrai pas spécialement la lisibilité de go en avant car c'est surtout une affaire de goût et d'habitude.
        Par contre, la concurrence, son déploiement simple (un seul binaire) sont, pour moi et parmi d'autres choses, des gros avantages.

      • [^] # Re: Golang !!

        Posté par (page perso) . Évalué à 3.

        Perso je trouve pas mal de code Go illisible / moche (c'est subjectif). Une fois habitué, c'est sûrement lisible, mais bon… :/ Exemple :

        sig := <-sigs
        

        Je pense que c'est plus une question d'habitude. Pour moi, cet extrait est parfaitement clair. Je concède cependant volontiers que Go n'a pas l'élégance de Ruby mais il n'en a pas moins une syntaxe claire et lisible.

        Et même si je ne partage pas l'enthousiasme débordant du camarade du dessus, je pense que Go est un très bon langage qui s'apprend vite et permet d'être efficace avec relativement peu de lignes de code (notamment par le fait que la bibliothèque standard est très bien fournie) pour un langage qui se veut relativement bas niveau. Ses plus gros points forts sont, à mon sens, son approche de la concurrence, ses performances et sa simplicité.

        • [^] # Re: Golang !!

          Posté par . Évalué à 2. Dernière modification le 06/08/15 à 09:23.

          Et même si je ne partage pas l'enthousiasme débordant du camarade du dessus, je pense que Go est un très bon langage qui s'apprend vite et permet d'être efficace avec relativement peu de lignes de code (notamment par le fait que la bibliothèque standard est très bien fournie) pour un langage qui se veut relativement bas niveau. Ses plus gros points forts sont, à mon sens, son approche de la concurrence, ses performances et sa simplicité.

          Tous ces points là sont aussi présents dans Rust il me semble, sans compter le côté "on fait tout pour avoir un code sûr". A choisir, je préfère me mettre à Rust qu'à Go (pas encore fait ni l'un ni l'autre).

          "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

          • [^] # Re: Golang !!

            Posté par (page perso) . Évalué à 4.

            J'ai toujours dans ma TODO list de tester un peu Rust (au même titre que Haskell, Ada et Scala de manière plus sérieuse) mais je pense que ce langage n'a pas la simplicité pour soi, au contraire de Go, bien qu'il possède d'autres avantages (sur le papier en tout cas).
            Quelqu'un qui a un peu d'expérience en programmation s'y retrouvera très vite en Go (il est possible d'être productif après une journée, et je parle selon mon expérience personnelle) tandis qu'il faut à mon avis plus de temps avec Rust (mais je ne peux pas confirmer de ma propre expérience pour ce cas).

          • [^] # Re: Golang !!

            Posté par . Évalué à 2.

            Pour avoir touché au deux, Rust est effectivement un bon langage mais il est quand même plus difficile à appréhender que Go, déjà il y a deux fois plus de mots clef à connaitre: 52 pour Rust contre 25 pour Go, il est plus jeune et pour le moment moins bien documenté, les librairies standard sont beaucoup moins fournies, nettement moins de projets en cours et la communauté est bien moins grande, donc plus difficile de trouver des infos et exemples de code.
            Sinon il est prometteur mais dans l'immédiat, Go a quand même une longueur d'avance, déjà pas mal de projets d'envergures en production et d'autres à venir.
            Liste de projets: https://github.com/golang/go/wiki/Projects
            Après les goûts et les attentes de chacun peuvent être différentes, mais pour mon cas perso je n'ai jamais été bloqué très longtemps en développant en Go.

          • [^] # Re: Golang !!

            Posté par . Évalué à 3.

            Faut quand même ajouter que rust a aussi un point supplémentaire : c'est très compliqué, et la syntax est verbeuse. Je me retrouve de plus en plus à revenir à ocaml parce que ça me saoule de faire du rust.

  • # Ruby

    Posté par (page perso) . Évalué à 5.

    Ruby parce que j'adore appliquer des méthodes à des nombres comme un sagouin !

    • [^] # Re: Ruby

      Posté par . Évalué à 2.

      puts "+#{1.to_s}"
      Pareil !

  • # ca a l'air bête

    Posté par . Évalué à 5.

    Le français …

    • [^] # Re: ca a l'air bête

      Posté par . Évalué à 1.

      et quand j'ai envie d'emmerder les personnes chargées de la maintenance du code, fortran (norme 77) est toujours amusant…

  • # PHP

    Posté par (page perso) . Évalué à 3.

    PHP pour partager mes "superbes créations" au monde entier à l'aide d'un simple navigateur

    La majeure partie des morts l'était déjà de son vivant et le jour venu, ils n'ont pas sentis la différence.

    • [^] # Re: PHP

      Posté par . Évalué à 7.

      Générer une page web, c'est juste renvoyer une chaîne de caractères qui contient un code html. Tous les languages peuvent le faire.

      • [^] # Re: PHP

        Posté par (page perso) . Évalué à 1.

        Effectivement, j'utilise également du javascript avec NodeJS. C'est simplement un argument parmi tant d'autres. En soi, je me suis simplement plus tourné vers PHP, sans raison particulière. Mais je touche un peu à tout, pas forcément bien d'ailleurs .

        La majeure partie des morts l'était déjà de son vivant et le jour venu, ils n'ont pas sentis la différence.

  • # Goto++

    Posté par (page perso) . Évalué à 6.

    En goto++ pour que personne ne comprenne ce que je code.

    • [^] # Re: Goto++

      Posté par . Évalué à 3.

      Et puis c'est un langage ultra-rapide. La page d'accueil de leur site a été générée par goto++ en «  2 heures et 73 minutes par un troupeau de castors ».

  • # C, parce que je suis pour les objets !

    Posté par (page perso) . Évalué à 8.

    ATTATION, publicité !

    Avec HWA, je programme mes microcontrôleurs en pur C (C11) avec des instructions orientées objet qui acceptent un nombre variable d'arguments et le code produit ne souffre d'aucune pénalité.

    Parce que, par exemple, pour configurer un compteur sur un AVR, je préfère largement écrire (et lire) ça que chercher quelles valeurs je dois mettre dans quels registres :

    #define COUNTER    hw_counter0
    #define CLKDIV     8
    
    ...
    
    hwa_begin_from_reset();
    hwa_config( COUNTER,
                clock,     prescaler_output(CLKDIV),
                countmode, loop_up,
                bottom,    0,
                top,       compare0
                );
    hwa_write( hw_rel(COUNTER, compare0), 0.001 * hw_syshz / CLKDIV );
    hwa_turn_irq( COUNTER, overflow, on );
    hwa_commit();

    Avec ça je peux changer de compteur (voire de microcontrôleur) facilement, sans avoir à rechercher dans la doc les bits à modifier.

    Je devrais commiter sous peu une version qui supporte les Atmel AVR ATtinyX4, ATtinyX5 et ATmegaX8. Ensuite je m'attaque au STM32F103.

    « J'ai pas Word, j'ai pas Windows, et j'ai pas la télé ! »

    • [^] # Re: C, parce que je suis pour les objets !

      Posté par (page perso) . Évalué à 1.

      pas mal pas mal ! Ca repose sur avr-gcc à ce que je vois. Une dispo pour les ATTinyX13 ?
      Parce que maintenant que je sais lire une doc de microcontroleur, j'aimerai apprendre à m'en passer :3

      • [^] # Re: C, parce que je suis pour les objets !

        Posté par (page perso) . Évalué à 1.

        Je viens de jeter un coup d'œil à la doc, il a l'air assez proche du tinyX5. Donc on doit pouvoir se satisfaire des classes déjà existantes et le portage ne devrait pas être bien compliqué.

        Il serait intéressant que vous fassiez le portage vous-même. Cela me servirait à finaliser un document expliquant comment faire un portage (je l'ai commencé mais il faut l'éprouver). Partant ?

        « J'ai pas Word, j'ai pas Windows, et j'ai pas la télé ! »

    • [^] # Re: C, parce que je suis pour les objets !

      Posté par (page perso) . Évalué à 1.

      Oui, il y a tout à fait moyen de faire du semi-orienté objets en C « normal », et du vrai orienté objets avec un object system comme GObject.

      En C pur, une classe est une structure. Pour créer un objet (l'instance d'une classe), on alloue dynamiquement la structure. La variable self est un simple pointer, qu'on passe en premier argument à chaque fonction. Pour faire du polymorphisme, on peut créer sois-même une vtable, c'est-à-dire une structure contenant des pointeurs de fonctions.

      Avec un object system, on peut faire plus de choses facilement, comme avoir des interfaces, des classes abstraites, l'héritage, etc. Mais en C ça demande un peu de « code de remplissage » (boilerplate), puisque la syntaxe du C n'est pas prévue pour ça.

      « Un animal d'une atterrante stupidité : il est persuadé que si vous ne le voyez pas, il ne vous voit pas non plus » (H2G2)

  • # Java + Maven + Spring Boot c'est pire

    Posté par . Évalué à 8.

    Python ou Perl parce que j'aime télécharger 50 bibliothèques avant de coder

    Mort de rire 50 bibliothèques à télécharger avant un hello world, c'est pas grand chose par rapport à ce que le javaïste moyen subit.

  • # LaTeX

    Posté par (page perso) . Évalué à 10.

    le français et LaTeX parce que je rédige une thèse…

  • # Java, enfin non mais presque

    Posté par (page perso) . Évalué à 3.

    Je bricole pas mal avec le langage de macro d’ImageJ, qui est loin d’être mon langage préféré mais qui m’est plus ou moins incontournable, puisque mes collègues et moi-même sommes de gros utilisateurs de ce logiciel.

    Du coup, j’ai répondu Java, parce qu’ImageJ est écrit en Java et qu’il m’arrive d’y toucher aussi, pour des tâches trop complexes pour être implémentées avec le seul langage de macro.

    Mais je saisis le moindre prétexte pour faire des trucs en Python.

  • # rubyy

    Posté par . Évalué à 2.

    php, parce que je suis un branleur ?

    Perso c'est ruby, c, c++, js :) (et pis un peu de rust, parce que j'adore les erreurs de compile)

  • # Assembleur car je ne sais compter que sur 2 doigts : 0 et 1

    Posté par . Évalué à 10.

    Personnellement, pour 0 et 1, je n'utilise qu'un seul doigt. Et avec mes dix doigts, je peux compter de 0 à 1023. En pratique, j'en utilise rarement plus de huit.

  • # Vb

    Posté par (page perso) . Évalué à 2.

    Ben oui : en vb … et sous Access en plus.
    Pas le choix, car je supporte un logiciel écrit sous Access.
    Sinon je fais pas mal de PHP, mais en règle générale avec le framework Code Igniter.

    • [^] # Re: Vb

      Posté par . Évalué à 1.

      Ha ben moi aussi ! Je commençais à me sentir seul.
      VB6/Access, on a encore plein de produits sur ces outils qui tournent depuis 20 ans et que l'on maintient.

      Dans l'ordre de fréquence d'utilisation actuellement :
      - VB.NET
      - C
      - Assembleur
      - SQL (Si si demandez à DB Admin, c'est un langage !) sous SQLServer
      - VB6
      - PowerShell
      - PHP
      - Bash

      Ben oui quoi, je suis développeur (PC et embarqué) mais aussi admin (avec l'attirail MS AD, Exchange, … et Linux)
      Et ce n’est pas incompatible, des fois un peu dur à cause de la dispersion mais c'est tout de même intéressant :)

  • # JCL/COBOL

    Posté par . Évalué à 5.

    Parce que je bosse pour les maîtres du monde

    • [^] # Re: JCL/COBOL

      Posté par . Évalué à 2.

      Les maîtres du monde, ce sont les banquier ou IBM ?
      En même temps ça change rien…

    • [^] # Re: JCL/COBOL

      Posté par . Évalué à 1.

      Idem, mais quand je rentre chez moi je suis heureux de retrouver mon Smalltalk (Pharo).

  • # Esthète

    Posté par . Évalué à 4.

    Perl, c'est le plus beau à regarder sous vi en couleur.

  • # Fortran

    Posté par (page perso) . Évalué à 4.

    Fortran, parce-qu’à force de le côtoyer dans le milieu scientifique on finit par l’apprécier et que je n’ai trouvé aucun autre langage qui se prête aussi bien au calcul scientifique : compilé, performant, type "tableau" de base connu du compilateur ce qui facilite beaucoup de situations (allocation dynamique, dépassements, débogage). En plus, si on ne reste pas coincé au siècle dernier on de l’objet mas trop mal foutu par dessus. Ça remplace avantageusement le C, tout en restant simple et compréhensible.

    Seul défaut, peu de code d’exemple disponible pour apprendre les bonnes pratiques qui vont avec le langage, et de ce côté là, les codes de calcul scientifique sont souvent catastrophiques.

    • [^] # Re: Fortran

      Posté par . Évalué à 4.

      Seul défaut, peu de code d’exemple disponible pour apprendre les bonnes pratiques qui vont avec le langage, et de ce côté là, les codes de calcul scientifique sont souvent catastrophiques.

      Heureusement, il y a des bons livres à ce sujet:

      • Norman S. Clerman et Walter Spector. Modern Fortran: Style and Usage.
      • Michael Metcalf, John Reid et Malcolm Cohen. Modern Fortran Explained.
      • Arjen Markus. Modern Fortran in Practice.
      • Damian Rouson, Jim Xia et Xiaofeng Xu. Writing Scientific Software: A Guide to Good Style.
      • Oliveira Suely et David E. Stewart. Scientific Software Design: The Object-Oriented Way.
    • [^] # Re: Fortran

      Posté par (page perso) . Évalué à 3.

      Fortran, parce-qu’à force de le côtoyer dans le milieu scientifique […]

      Inutile d'invoquer des raisonnements compliqués, FORTRAN est le langage des vrais programmeurs! Tous ceux qui n'utilisent pas FORTRAN sont des bouffeurs de quiche! ;-)

    • [^] # Re: Fortran

      Posté par (page perso) . Évalué à 8.

      Bah les best practices sont assez évidentes, pour t'en inspirer tu peux par exemple regarder les sources de lapack ou d'a peu près tout ce qu'on trouve sur netlib

      • pas de nom de fonction de plus de 6 caractères parce que sinon ça casse la compat avec le FORTRAN IV
      • eviter de bloater le code avec des subroutines superflues, on peut faire beaucoup en n'utilisant que des GOTO
      • CAPS LOCK A FOND PARCE QUE C4EST PLUS LISIBLE QUAND C4EST EN MAJUSCULES
      • [^] # Re: Fortran

        Posté par (page perso) . Évalué à 8.

        CAPS LOCK A FOND PARCE QUE C4EST PLUS LISIBLE QUAND C4EST EN MAJUSCULES

        Soit tu as utilisé SHIFT sois tu es sous Windows :D

        • [^] # Re: Fortran

          Posté par . Évalué à 2.

          Soit c'est une bépo master race ;)

  • # ADA

    Posté par (page perso) . Évalué à 9.

    Ada parce que j'aime bien quand le compilateur trouve toujours une excuse pour ne pas compiler.

    • [^] # Re: ADA

      Posté par . Évalué à 1.

      Bah, quoi, tu n'aimes pas les messages d'erreurs à la "Ça, c'est du code C que tu as écrit." ?

      • [^] # Re: ADA

        Posté par (page perso) . Évalué à 3.

        En fait j'ai appris la programmation (ou plus exactement l'algorithmique) à la fac avec TP en ADA. Je ne connaissais aucun langage à l'époque, même pas le C. Et le compilateur ADA est très strict est gueule tout le temps. Par contre quand ça compilait, on était presque certains d'avoir quelque chose de propre.

  • # Haskell

    Posté par (page perso) . Évalué à 5.

    Parce qu'en ce moment je prototype beaucoup et que ce langage me permet d'être super efficace, faire moins d'erreur et avec des performances correctes.

    Après je reecrirais en C++ parce que c'est ce que nous utilisons dans notre compagnie.

  • # En Windev !

    Posté par . Évalué à 3.

    En windev, car c'est pas cher, drôlement bien foutu, multiplateforme.

    Et en plus il y a des photos de coquines photoshopées sur chaque page de leur doc commerciale / aide.

    • [^] # Re: En Windev !

      Posté par (page perso) . Évalué à 1.

      Ha, ça ils savent attirer le barbu les Montpelliérains de WinDev.

      Mais, j'ai eu plusieurs retours de dev qui l'utilisent quotidiennement, pas content : trop de bugs bloquant, évolution difficile, difficile de faire quelque chose qui n'était pas prévu dans WinDev …
      C'était il y a quelques années, les choses ont du s'améliorer.

      • [^] # Re: En Windev !

        Posté par (page perso) . Évalué à 5.

        C'était il y a quelques années, les choses ont du s'améliorer.

        Non :(

      • [^] # Re: En Windev !

        Posté par (page perso) . Évalué à 3.

        La plus grosse difficulté, selon moi, avec les projets developpés avec WinDev, vient du fait que les personnes qui les gèrent n'ont qu'un bagage très limité en developpement.

        En clair, ils ne connaissent pas les design patterns, les algorithmes classiques de parcours de données et ne savent pas optimiser leurs structures de données.

        J'ai dû migrer des projets de WinDev vers RoR ; le chef de projet n'avait même plus le code source, et a tout juste retrouvé les identifiants de la base de données. J'ai dû "tricher" pour pouvoir utilisé un MVC dans des tables dédiées avant de transformer les enregistrements dans les tables de l'application (qui étaient utilisées par d'autres applications auxquelles il n'était pas question de toucher).

        Bref, parfois, l'avis qu'on se fait d'un langage dépend d'avantage des gens et projets qui nous l'ont fait découvrir que des caracteristiques dudit langage.

        Cela doit expliquer pourquoi je deteste Python à ce point…

        • [^] # Re: En Windev !

          Posté par . Évalué à 1.

          Bonjour

          Tout à fait d'accord avec toi.
          Globalement, l'outil n'est pas si pourri que ça (venant de Vb6, visual studio, Progress).
          Pour de l'appli de type ERP (pour le monde windows uniquement), cela va même plutôt bien.
          Pour de l'appli liée à du matos (RFID par exemple), ça se complique mais c'est encore jouable.

          Je trouve que cela s'est considérablement amélioré.
          Il reste néanmoins beaucoup de limitations qui force à se creuser les méninges ainsi qu'une politique commerciale à gerber.
          Et surtout, je ne parle pas de leurs outils mobile et web.

          En général et comme avec tout outil, le problème vient de la personne.

          • [^] # Re: En Windev !

            Posté par . Évalué à 2.

            J'ai arrêté Windev ça fait 19ans.
            A l'époque j’interfaçais de la RFID et des automates en C avec l'IHM/DataBase en Windev.
            C'était pas mal mais lourd pour la maintenance et les mises à jours.
            ça a du progresser mais au jour d'aujourd'hui dans le monde Windows, je conseillerais sans hésiter .NET (C# ou VB).

            Un peu plus nuancé sur la partie WEB car asp.net bien que très bien en tant qu'outil de dev, nécessite un gros apprentissage, n'est pas très réactif coté client et pour l'hébergement il y a moins de choix.

            Après tout dépend de l'usage, il n'y a pas de langage miracle, seulement des outils adaptés à un besoin.

    • [^] # Re: En Windev !

      Posté par . Évalué à 4.

      Voilà qui ne va pas aider à lutter contre le sexisme en informatique ;)

  • # R

    Posté par . Évalué à 3.

    Parce que je fais des stats au quotidien, parce que le CRAN, parce que le vectoriel c'est juste génial… bon ça manque de la lisibilité d'un Python, mais ça a d'autres avantages.

    Ça, ce sont les sources. Le mouton que tu veux est dedans.

    • [^] # Re: R

      Posté par . Évalué à 2.

      Bonjour à tous et toutes,

      @ Liorel :

      Il est possible de faire sous Python les mêmes calculs statistiques que sous R, du fait d'un certain nombre de bibliothèques dédiées (pandas, scikit-learn, statmodels, numpy, scipy, matplotlib, nltk, sympy, …).

      De ce point de vue, pour les statistiques et la data science, il semblerait que Python soit sur le point de supplanter R (moins de bibliothèques spécialisées pour la statistique, mais des bibliothèques dans presque tous les domaines) parce qu'il permet beaucoup plus rapidement une mise en production (du fait de sa polyvalence, mais aussi de sa relecture plus facile et de sa portabilité).

      Bonne journée à tous et toutes.

  • # Ladder, List ou Litteral

    Posté par . Évalué à 2.

    … sous PL7-Pro, Unity et Step7.
    Même encore un peu de Step5, pour la maintenance !

    Ça compte ?…

    • [^] # Re: Ladder, List ou Litteral

      Posté par (page perso) . Évalué à 3.

      Ayant une formation d'automaticien et ayant travaillé longtemps dans l'industrie, j'abonde dans ton sens. Ce sont des langages de programmation presque comme les autres.

      Pour moi à l'époque c'était plutôt FBD (Function Bloc Diagram) voir, CEI_61131-3 et la version anglaise IEC 61131-3

      • [^] # Re: Ladder, List ou Litteral

        Posté par . Évalué à 1.

        "Presque comme les autres", oui !
        Dans Unity Pro XL, on peut coder ses DFB en C, cela dit.

        J'ai pondu aussi une petite supervision en PHP/Javascript, c'est plus dans le moule ;)

  • # En prolog…

    Posté par . Évalué à 4.

    Parce que les « if » ça craint !

  • # En Templeet

    Posté par (page perso) . Évalué à 9.

    Mais bon j'ai dû mettre ça entre parenthèses.

  • # [Joke]

    Posté par . Évalué à 4.

    Java : c'est pas moi, c'est un grand qui m'a dit de le faire ! :

    Il n'y a pas une faute ?
    un grand ou un gland ? Ok, je sors …

  • # Et Pascal ?

    Posté par (page perso) . Évalué à 5.

    Un des premiers langages que j'ai utilisé, un monstre sacré, et il a été oublié !

    Pourtant il y a une communauté bien active, avec Free Pascal et Lazarus, et même si je n'utilise plus depuis des années (Turbo Pascal 7 puis Delphi à l'époque), ce qu'ils ont réussi à faire a l'air bien sympa: http://www.lazarus-ide.org/.

    • [^] # Re: Et Pascal ?

      Posté par . Évalué à 2.

      Comme je suis un "jeune", et que je découvre la programmation, j'aimerai te poser une question. J'ai effectivement souvent entendu parler de Pascal (et pas uniquement le philosophe ;) ). Je serai intéressé à avoir des réponses aux questions suivantes :

      -Est-ce que le Pascal est encore utilisé aujourd'hui dans l'entreprise ? Si oui, dans quel contexte.
      -Chaque langage a un domaine de prédilection, quel est ce domaine pour le Pascal ?
      -S'il s'agit véritablement d'un monstre sacré, comment se fait-il que ce langage n'est plus aussi populaire maintenant ?

      Merci.

      • [^] # Re: Et Pascal ?

        Posté par (page perso) . Évalué à 3.

        -Est-ce que le Pascal est encore utilisé aujourd'hui dans l'entreprise ? Si oui, dans quel contexte.

        Delphi (un environnement de dev Windows basé sur Pascal) était présent en entreprise dans les années 90.
        https://www.embarcadero.com/fr/products/delphi

        .NET a achevé d'enterrer Delphi.

        -Chaque langage a un domaine de prédilection, quel est ce domaine pour le Pascal ?

        À l'époque (années 80), l'apprentissage de la programmation. C'est avec Pascal que je m'y suis mis sérieusement.

        -S'il s'agit véritablement d'un monstre sacré, comment se fait-il que ce langage n'est plus aussi populaire maintenant ?

        Les langages dynamiques sont plus performants aujourd'hui qu'à l'époque, et il ont pris la niche du secteur de l'apprentissage.

        Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt

      • [^] # Re: Et Pascal ?

        Posté par (page perso) . Évalué à 8.

        Comme je suis un "jeune",

        hé ho, moi aussi ;)

        • Est-ce que le Pascal est encore utilisé aujourd'hui dans l'entreprise ? Si oui, dans quel contexte.

        Les questions d'entreprise c'est pas à moi qu'il faut les poser, mais je pense que ça l'est oui, ne serait-ce que par l'héritage de Delphi (il doit y avoir encore pas mal d'applications spécialisées dans les entreprises). J'ai un amis qui travaille avec Delphi et apparemment il y a de la demande.

        • Chaque langage a un domaine de prédilection, quel est ce domaine pour le Pascal ?

        C'est un langage compilé, plutôt propre, et si Lazarus est aussi bien qu'il en a l'air, ça doit permettre à quelqu'un de faire des applications très sympas très rapidement, même sans être un dév professionnel qui passe sa vie à lire de la doc technique, avec le multi-plateforme en prime. Mais bon je n'ai pas utilisé Pascal depuis bien 10 ans, alors je ne sais pas trop si ça a évolué et ce que vaut tout ça aujourd'hui.

        -S'il s'agit véritablement d'un monstre sacré, comment se fait-il que ce langage n'est plus aussi populaire maintenant ?

        Les succès et échecs, surtout dans l'informatique, ça n'est pas toujours lié aux qualités techniques. Il y a des effets de mode, des erreurs stratégiques (Commodore si tu m'entends), des abus de position, et un facteur chance.

        Dans le cas de Borland qui était la boîte phare pour les IDE et le développement en général dans les années 90, ils ont très très mal vécu le passage à l'an 2000. Ils ont essayé de sortir Kylix qui était une version GNU/Linux de Delphi, mais ils ont très mal géré ça (surtout sur une plateforme aussi fournie en outils de développements libres et puissants). De l'autre côté Microsoft était particulièrement agressif avec Visual Basic et Visual Studio, et l'arrivée d'internet n'a probablement pas aidé non plus.

        Mais Pascal dans mon souvenir est un langage relativement propre et bien pour débuter.

        Aujourd'hui je conseillerais plutôt Python pour différentes raisons, mais on n'apprend pas les principes de compilation, de pointeurs, etc avec. Je pense que Pascal reste un bon choix pour apprendre.

        Puis faut voir aussi que ce sont les usages qui dictent les langages et technos: tu veux contribuer à Kde tu vas plutôt te mettre au C++ et à Qt. « C » a explosé parce qu'il permettait de compiler sur les différents unix (de ce que j'en ai entendu, je n'étais pas né: tu vois que je suis jeune !), et son héritage historique fait que c'est très utilisé aujourd'hui, bien plus que Pascal.

        Le web s'impose partout parce qu'il permet de bien centraliser les applications et contrôler les utilisateurs (hein quoi ? On n'est pas vendredi ? Ah et alors ?), du coup javascript s'est imposé en même temps.

        Java déjà très utilisé a eu un regain d'intérêt énorme parce que Android.

        Les exemples sont nombreux, et c'est pas toujours lié aux qualités techniques, sinon tout le monde utiliserait Python.

        • [^] # Re: Et Pascal ?

          Posté par . Évalué à 2.

          Ne pas oublier qu'en 2005 Borland a sorti une grosse version de Delphi avec "beaucoup nouveauté" mais surtout avec une grande quantité de bug ! Ils ont perdu un gros paquet de monde avec cette fichue version…
          Depuis Embarcadero, qui a racheté les produits de développement, tente de remonter la pente et les dernières versions marchent très bien. Tu peux compiler ton projet pour Windows, MacOS, iOs et Android.
          Je suis resté coincé à la version de 2010 et je ne peux pas m'amuser avec Android.
          Du coup, je m'amuse avec Qt et Ubuntu touch \o/

        • [^] # Re: Et Pascal ?

          Posté par . Évalué à 1.

          Merci beaucoup pour ces explications utiles !

  • # codage en C et C++

    Posté par . Évalué à 2.

    En C lorsque je fais de l'embarqué, sinon en C++ bien sûr, avec QT, c'est le pied

    • [^] # Re: codage en C et C++

      Posté par . Évalué à 6.

      QT

      QuickTime ?!

      Tu voulais dire Qt ?

      "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

  • # Bash

    Posté par . Évalué à 1.

    Parce que c'est le dénominateur commun à tout ce que je fais sur un ordinateur.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.