Journal Quel IDE pour quel langage

Posté par . Licence CC by-sa
Tags :
21
16
fév.
2018

Il y a trop longtemps, le débat sur les IDE se cristallisait entre VI et EMACS. Sur l'un, il fallait appuyer sur 3 touche en même temps, l'autre l'une à la suite de l'autre.

Par hasard, j'ai appris Emacs, et changer de réflexe sur les raccourcis est très compliqué (genre ctrl-x rt). J'ai beaucoup codé en C, et ocaml et perl dessus avec succès.

Puis j'ai fait du Java avec Eclipse. Il me manquait une tonne de fonctionnalité d'édition de base par rapport à Emacs, mais se rajoutait un des fonctions nouvelles très puissantes, comme l'auto-complétion depuis les library, qui suivait le typage et la syntaxe, la documentation par le survol (pas besoin d'aller chercher un fichier particuliers), le reformatage de code (factorisation de fonction depuis un bout de code). De retour sous Emacs, tout cela me manque.

J'ai fais aussi un détour sous Visual Studio pour le C++, où la navigation entre fichier (clic d'une fonction pour avoir sa déclaration), et le debuging visuelle était vraiment agréable.

Depuis que je code en go, j'aime de moins en moins Emacs, et sa tonne de fonction dont il faut se rappeler le nom pour les utiliser, si encore on sait qu'elle existe genre "global-auto-revert-mode".

Dans la grande étude de codingame, il parle des IDE préférés de leur codeur. cf : http://publications.codingame.com/codingame-2018-developer-survey/what-developers-want

J'ai du mal à imaginer un IDE sans associer le langage qui va avec. Le support de C++ dans Eclipse n'est pas du tout au même niveau que le Java, par exemple.

Visual Studio 42% Univers Microsoft
IntelliJ 30% Java
Visual Studio Code 27% de tout
Eclipse 25% Java
Atom 16% de tout
PyCharm 15% Python
NetBeans 9% Java ?
PhpStorm 7% PHP
Code::Blocks 7% C/C++/fortran
Xcode 6% Univers Apple
Cloud9 3% de tout dans le cloud
Other 16%

(désolé pour le vrac mais linuxfr ne supporte pas le fait d'embarquer des bouts de code externe :/)

Pour vous quel sont les couples "ultimes" IDE-langage ? Qu'est-ce que vous conseillez ? Qu'est-ce que vous déconseillez formellement ?

  • # Sublime ?

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

    Étonné de ne pas voir SublimeText dans la liste, tous les dev de ma boite l'utilisent.

    • [^] # Re: Sublime ?

      Posté par . Évalué à 4.

      Peut être parceque de base ce n'est pas IDE. Un subleme sans plugin ne sait pas faire grand chose (comme un Emacs ou un Vim). La puissance de ces editeur de texte vien de leur plugin. Par exemple j'utilise sublime avec anaconda pour faire du python. C'est tres puissant mais il me manque encore pas mal de fonctionalités de base des IDE (comme le debug).

      Dans mon équipe (python) on a un peu de pycharm mais la plus part des dev utilisent des editeur de textes "standards" Emacs/Vim/Sublime

    • [^] # Re: Sublime ?

      Posté par . Évalué à 2.

      Probablement tombé dans la catégorie "other".
      Pour moi c'est l'absence d'Android Studio qui me surprend un peu.

      • [^] # Re: Sublime ?

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

        Android Studio, c'est IntelliJ avec des plugins installés par défaut. Il doit donc être comptabilisé comme IntelliJ.

        La connaissance libre : https://zestedesavoir.com

  • # oui c'est par langage :P

    Posté par . Évalué à 4. Dernière modification le 16/02/18 à 13:02.

    pour java, y a pas photo, c'est intelliJ, tous mes collègues qui l'ont essayé le garde pour le java, quitte à avoir un eclipse à coté pour le c++, sauf un mais il code sous vim, ça compte pas.

    Pour c++, j'aurais du mal à être pertinent, bossant une une centOS de Mathusalem, j'ai pas pu tester visual studio code, qtcreator, ou même kdevelop alors je fais un tour d'horizon

    Pour Eclipse, je fais une allergie à cette usine à gaz
    Emacs-25.1.1 se débrouille pas trop mal en c++

    • j'ai un peu de complétion intelligente, et la complétion par recherche de passage similaire est très efficace aussi.
    • ebrowse fait des miracle, et permet d'avoir des vision synthétique des objets, et je n'ai pas trouvé d'équivalent sur les autres IDE.
    • flymake permet d'avoir les erreurs facilement
    • grep (M-x grep ) permet de faire des recherches très précises
    • les macros facile à faire et à modifier ;)
    • les bookmark
    • le tetris quand personne ne regarde
    • sa gestion du copier coller (kill ring, rectangulaire…)

    J'ai un peu testé clion y a un an, très prometteur, mais comme ma boite ne veut pas me payer une licence…

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # qtcreator pour le c et c++

    Posté par . Évalué à 9.

    QtCreator, pour le C et C++, me semble mieux qu'Eclipse sur les points suivants :
    - plus rapide à lancer, plus réactif
    - menus contextuels plus concis (Eclipse affiche des tas d'options grisées inutiles)

    • [^] # Re: qtcreator pour le c et c++

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

      QtCreator, pour le C et C++, me semble mieux qu'Eclipse sur les points suivants :

      J'ajouterai:
      - Excellent support des projets CMake
      - Integration avec GDB.
      - Consommation mémoire résonnable
      - Pas de JVM

  • # A peu près pareil que le top

    Posté par . Évalué à 4. Dernière modification le 16/02/18 à 14:12.

    IntelliJ Utimate - Java, oui, parce que c'est le pied pour un langage aussi verbeux que java d'avoir un outil qui aide autant. L'intégration JavaEE et Spring sont juste extraordinaires.
    Visual Studio - .Net & Cie, pareil parce que ça reste le plus confortable
    PHPStorm - PHP

    A noter qu'IntelliJ Ultimate a des plugins officiels équivalents à tous les langages supportés par les IDEs Jetbrains, donc si vous avez déjà une licence de ce produit et pas de budget, n'hésitez surtout pas à télécharger le plugin PHP ou Node, par exemple. Vous aurez alors 90% des features présentes dans PHPStorm ou Webstorm, ou tout autre IDE Jetbrains que vous désirez ardemment. C'est fait exprès par Jetbrains, donc profitez.

    • [^] # Re: A peu près pareil que le top

      Posté par (page perso) . Évalué à 4. Dernière modification le 16/02/18 à 17:02.

      Perso j'utilise Eclipse pour PHP, avec PDT et les PDT Extensions du PDT Extension Group - je suis presque (je dis presque, il manque deux trois petites choses) on-par avec PHPStorm.

      Il n'y a aucun autre IDE Open Source qui arrive à un tel niveau de fonctionnalités qu'Eclipse, que ce soit pour PHP ou tant qu'IDE multi-languages.

      Pour tout ceux qui pensent qu'Eclipse est une usine à gaz lente, ça fait des années que ce n'est plus vrai - ça marche très bien aujourd'hui. Comparativement avec PHPStorm que pas mal de mes collègues utilisent (attention, je ne troll pas, c'est un excellent produit) il y a pas mal de scénarios ou Eclipse est plus stable et plus rapide:

      • très gros projets sur du SSHfs: Eclipse indexe plus rapidement que PHPStorm (parfois même sans le SSHfs tout court),
      • debuggueur XDebug (toujours PHP) sur un système de fichier avec des chemins bizarres et autres liens symboliques: Eclipse ne perd quasiment jamais le contexte là ou PHPStorm parfois n'arrive pas (du tout) à retrouver la source et ne peut lancer les sessions de debug.

      Voilà voilà, je tiens à défendre Eclipse car contrairement à cet espèce de mythe infâme que j'entends partout, il n'est pas plus lent que pas mal d'autres produits. Et il est extrêmement fonctionnel (de plus très configurable).

    • [^] # Re: A peu près pareil que le top

      Posté par . Évalué à 3.

      Rooh le troll !!!
      Autant le dire tout de suite, IntelliJ, et tout les IDE qui tournent autour m'insupportent. Et traiter Eclipse d'UAG en comparaison faut vraiment pas avoir peur.
      Un IDE qui me demande 10000 trucs à chaque fois lors de l'install incapable de gèrer du multiprojet et … moche … et qu'il faut payer en plus, no mé Allooo
      Ca s'apparente à du Cargo Cult.

      Il y a plein de truc incomparables avec Eclipse mais le summum est bien Egit. C'est clairement le plugin graphique le plus abouti et les utilisateurs se SourceTree ou des pauvres feature des autres IDE ne lui arrivent tout simplement pas à la cheville. Couplé à Mylyn pour les connexions avec le bugtracking, ses contextes de travail en fonction du ticket, la concurrence est à 1000 lieues. (Remplir son commentaire de commit à la mano ..pffff)

      Niveau refactoring, inspection de code, j'ai vraiment rien à redire.
      Le seul truc qui me manque c'est le terminal intégré lorsque j'utilise des langages interprétés… De ce coté Visual Studio Code est vraiment à la hauteur (même pour le python)

      Bref allez payer votre dîme Jetbrains si ça vous chante ( (En java/python à part des batchs, on fait quoi avec la version community, Webstorm payant) mais pitié , lâchez les basks à Eclipse qui est sans doute un des projets communautaires les plus aboutis.
      "Real programmers use C. Real Java programmers use Eclipse"

      Et je ne parle pas de tous les projets hors IDE, pour la modélisation, et des Domain Specific Languages
      https://www.eclipse.org/papyrus/
      https://www.obeodesigner.com/en/download
      http://www.eclipse.org/Xtext/
      https://www.eclipse.org/modeling/
      Enterprise Architect, c'est un peu le IntelliJ de la modélisation au passage, rien sous le capot, pas respectueux des standards et …aussi moche

      On parlera encore moins des projets d'IDE cloud (et oui pourquoi se faire hier à installer un IDE en 2018)
      https://www.eclipse.org/che/
      https://orionhub.org/mixloginstatic/landing.html?redirect=https%3A%2F%2Forionhub.org%2F&key=FORMOAuthUser
      http://www.dirigible.io
      ….

      • [^] # Re: A peu près pareil que le top

        Posté par . Évalué à 4.

        Rooh le troll !!!
        Autant le dire tout de suite, IntelliJ, et tout les IDE qui tournent autour m'insupportent. Et traiter Eclipse d'UAG en comparaison faut vraiment pas avoir peur.
        Un IDE qui me demande 10000 trucs à chaque fois lors de l'install incapable de gèrer du multiprojet et … moche … et qu'il faut payer en plus, no mé Allooo
        Ca s'apparente à du Cargo Cult.

        Je ne connais plus vraiment eclipse (je suis entrain de réessayer pour voir), mais tu ne parle pas d'Intellij là… Il gère des "multiprojet" sans problème. les boites de dialogues sont plutôt simples, la beauté c'est une question de goût, mais pour être entrain de réessayer eclipse je préfère l'organisation intellij. Eclipse a une barre de boutons qui regroupe pleins de trucs là où intellij les places au plus prêt des outils dans leurs panneaux spécifiques. C'est peut être une question d'habitude ou j'ai peut être une customisation d'intellij que j'ai oublié. Par contre de mon bref essaie pour le moment a eclipse, j'ai toujours du mal avec le démarrage du projet : je ne sais pas choisir entre prendre un projet de source existante sans en faire un projet maven ou faire un checkout d'un projet maven depuis un dépôt. Je n'ai jamais compris l'intérêt du workspace non plus d'ailleurs.

        Intelij m'avait séduit par des micro fonctionnalité qui sont facile d'accès (il ne faut pas avoir fouillé les profondeurs de l'IDE pour les trouver) et qui sont bien sympathiques :

        • sélection > clique-droit > « compare with clipboard » juste génial pour faire des refacto ;
        • shift-shift pour chercher partout (tous les identifiants de ton projets, toutes les fonctions de l'IDE, tous les noms de fichiers, etc) ;
        • clique-droit sur un dossier > « Mark directory as » > source root/test root/resources root/test resources root : quand j'utilisais encore eclipse il y avait des fois où eclipse ne se décidait pas à comprendre qu'un dossier était des sources ou des tests et c'était très compliqué de lui faire comprendre ;
        • pour faire du remote debuging : je choisi de lancer le debugger, j'indique les informations qui m'intéressent (genre le nom d'hote et le port) et il me génère les paramètres à ajouter à la jvm pour que ça corresponde (ne plus avoir besoin d'un moteur de recherche c'est très pratique).

        Je verrais si eclipse a corrigé tout ça.

        • [^] # Re: A peu près pareil que le top

          Posté par . Évalué à 2.

          Honnêtement, les deux se valent. Chacun ont leur pros et leurs contres, à différents niveaux. Ça en devient une question de goûts/workflow tres specificique.
          Perso, je peux pas blairer IntelliJ, mais c’est une question de goût personnel. Ça reste un très bon ide.

          IntelliJ est vilain, point à la ligne. Si adopter le look du système n’est pas important pour toi, c’est pas un problème, mais pour certains c’est rédhibitoire.
          Eclipse pue du boudin sur la gestion des plugins, et était (pas essayé depuis longtemps) très très mauvais dès que tu sort du Java. Il paraît qu’intellij est bon là dessus.
          Eclipse gère le classpath entre projets très bien, la ou IntelliJ te force a passer par un mvn install (ce qui peut être vite relou selon ton setup).
          Eclipse gère mal les trucs du genre “tue la session précédente avant de relancer le projet), et tu te retrouve avec des blagues du genre “cant bind to port 8080, port already used”, et tu perds 20 minutes à comprendre pourquoi ton break point ne break pas.
          IntelliJ gère admirablement bien les features accessoires, genre auto completion dans tes configs spring par exemple (encore que ca devient de moins en moins utile/courant avec des setups modernes).
          Eclipse à des outils de gestion de pom diablement utile pour trouver la dépendance qui fout la chtouille à tirer une version qui va pas, pas trouvé ça chez IntelliJ.
          Je pense qu’on peut continuer la liste comme ça pendant longtemps.

          Bref, sur des outils de cette échelle, faut s’attendre à des choix de design qui ne plaisent pas à tout le monde.

          Linuxfr, le portail francais du logiciel libre et du neo nazisme.

    • [^] # Re: A peu près pareil que le top

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

      À noter que pour Scala, IDEA est excellent également, et ce même avec la version libre et gratuite Community.

  • # Mes couples gagnant

    Posté par . Évalué à 2. Dernière modification le 16/02/18 à 14:19.

    • Python: Pycharm Je ne connais pas mieux que Pycharm pour le developpement avec Python mais je n'ai pas tout essaye :)

    Pour ceux qui aime sublime il y a un mode "Distraction Free" associe a "plein ecran" qui devrait leur plaire.

    • RestructuredText (Sphinx documentation): Enki
    • Markdown: QOwnnote
    • Fortran: Emacs
    • Bash: Emacs/Vim
    • LaTeX: Emacs

    En fait je ne suis pas forcement bloque sur un editeur loin de la, sauf Pycharm que je trouve fabuleux quand tu veux developper en Python au dela du script "fast and dirty".

    On m'a dit aussi beaucoup de bien du couple:

    XML + Oxygen

    • [^] # Re: Mes couples gagnant

      Posté par . Évalué à 3. Dernière modification le 16/02/18 à 14:48.

      Pour Python, j'utilise Emacs avec
      - elpy
      - flycheck
      - py-autopep8

      comme indique dans ce tutorial (https://realpython.com/blog/python/emacs-the-best-python-editor/). Ca donne un résultat vraiment satisfaisant. Il manque peut etre un peu de refactoring pour etre vraiment bien, il faut jouer avec des packages comme iedit pour faire du renommage facilement.

      • [^] # Re: Mes couples gagnant

        Posté par . Évalué à 3.

        Emacs a eu pendant bien longtemps des bugs sur la colloration syntaxique de python qui etait bien penible (en gros long fichier tout partait en live) du coup je suis passe a autre chose :)

      • [^] # Re: Mes couples gagnant

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

        Comme beaucoup, j'utilise PyCharm (Pro) pour faire du Python.

        À vu de nez (je ne suis pas spécialiste Emacs), par rapport à PyCharm, il manque à ta configuration
        - la détection automatique pour exécuter du code (clic-droit sur une docstring : il propose de lancer doctest, sur un fichier normal : il propose le fichier normal, sur un fichier de tests : il propose unittest, etc.)
        - la gestion complète de Django et autres framework
        - la gestion de la couverture de code
        - l'inférence de type
        - les imports automatiques (copier-coller d'un bout de code, et là tu fais Alt-Entrée -> Entrée pour chaque import manquant, sans même être sur la bonne ligne)
        - la gestion du setup.py (par exemple tu ajoutes un package XXXX à ton setup.py, il propose de faire un pip install XXXX, ou au contraire si tu utilises YYYY, il te propose de l'ajouter à ton setup.py)

        • [^] # Re: Mes couples gagnant

          Posté par . Évalué à 3.

          Tu peux expliquer un peu ce que propose la gestion de Django ?

          On peut lancer n'importe quelle commande de manage.py (https://github.com/myfreeweb/django-mode et des choses dans elpy), on a des jinja-mode,… mais pas de proposition trop intelligente.

          Pour lancer un test particulier, on a elpy.

          Pour ajouter des imports, https://github.com/Wilfred/pyimport

          et plus sur http://wikemacs.org/wiki/Python si on est bricoleur, évidemment (mais du coup on reste dans Emacs, qui a org-mode, le support de tout plein de languages, git avec magit, etc, etc).

          • [^] # Re: Mes couples gagnant

            Posté par (page perso) . Évalué à 2. Dernière modification le 17/02/18 à 17:05.

            Par exemple détecter si tu utilises un template inexistant, si dans le template tu utilises des filtres ou des variables inexistantes. Du coup, ça propose également de l'autocomplétion intelligente sur les noms de templates et des filtres ou variables. Ça permet de détecter que tu as oublier de charger une bibliothèque de templatetags.
            Il propose de lancer les tests via Django quand tu fais un clic-droit sur un TestCase qui utilise la classe fournie par Django.

            L'autocomplétion est également adaptée en Python, elle fonctionne avec les modèles (par exemple, si je tape User.objects.filter(, il va proposer username=, username_in, username_gt, … bref tous les filtres SQL disponibles) et les URL.

            (et le README de pyimport m'a convaincu que PyCharm était beaucoup plus pratique pour ça :) )

    • [^] # Re: Mes couples gagnant

      Posté par . Évalué à -4.

      Mé mé.. c'est le même Albert qui trolle Zenitram lorsqu'il parle de Windows vs Linux pas prêt pour le desktop, qui défend un outil tellement bridé qu'il est inutilisable sans acquérir la version payante ?
      https://www.jetbrains.com/pycharm/features/editions_comparison_matrix.html

      OMG, il a vendu son âme au diable :D

  • # Kdevelop

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

    Je sais, le PHP n'est pas un vrai langage, mais il est quand même très utilisé…

    Pour ma part, quanta venait avec KDE3, puis kdevelop venait aussi dans ma distribution avec KDE4. Il intègre bien le débogage pas à pas avec php-xdebug, donne la documentation des fonctions à la volée, adopté!

    Donc

    php <-> Kdevelop

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Kdevelop

      Posté par . Évalué à 3.

      KDevelop est également très bon pour le C++, je m'en servais quand je travaillais sur KOffice/Calligra, il supporte des projets de taille déjà assez conséquente, et sa coloration syntaxique assez spécifique est juste excellente. La complétion est là, le refactoring est minimal mais suffisant pour pas mal de cas…

    • [^] # Re: Kdevelop

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

      Suite à ton message, j'ai installé kdevelop et le plugin php fourni dans ma distrib (kubuntu) et voulu essayer de faire du debuggage de php, et je n'ai pas trouvé comment faire. le bouton debug de la barre d'outils me fait un message d'erreur comme quoi le debuggage est seulement supporté pour les applications python.

      Il faut installer quelque chose de spécifique ? Comment fait-tu fonctionner xdebug dans kdevelop ?

  • # Surtout Visual Studio Code

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

    Je fais surtout du C# et du Rust, et je dois dire que je préfère VSCode pour les deux. Il y a une grosse dynamique autour de cet IDE, et tous les plugins sont nécessaires ; je n'ai besoin de rien d'autre. A chaque fois que j'utilise un langage, j'ai le plugin qui va bien.

    • [^] # Re: Surtout Visual Studio Code

      Posté par . Évalué à 5.

      Clairement Microsoft a fait du bon boulot, n'en déplaise à ses détracteurs.
      Il y a juste l'autocomplétion avec python/typescript/JS qui est parfois dans les choux avec les import et le support des virtualenv encore un peu roots

  • # Jetbrain

    Posté par . Évalué à 5.

    La suite Jetbrain.
    C'est toujours à peu près les mêmes raccourcis, et le même fonctionnement.
    Une multitude de plugins qui font le café, bref que du bonheur.
    Mais c'est pas libre, et c'est pas gratuit.

    • [^] # Re: Jetbrain

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

      pour le libre, ça dépend des langages : il y a des versions libres et gratuites d'IntelliJ et PyCharm.

      • [^] # Re: Jetbrain

        Posté par . Évalué à -2.

        Oui et dès que tu veux faire des trucs un peu sioux, tu craches au bassinet. Et viendez contribuer les copaings on s'occupe du business par contre.

  • # Language Server Protocol

    Posté par . Évalué à 7.

    A noter que ce couplage IDE/language est essentiellement base sur le support de features finalement assez basiques comme le code completion ou le syntax checking.

    Il y a ce projet de rendre (initie par Microsoft il me semble) d'ajouter une couche intermediaire afin que chaque IDE ne refasse pas le boulot dans son coin: https://langserver.org/

    Je ne sais pas si certains ont essaye et si ils ont des feedbacks a nous partager.

  • # Java+Intellij

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

    J'ai utilisé eclipse pendant deux ou trois ans. C'était abominable. Puis j'ai découvert Intellij avec le plugin vim, et depuis, je me porte mieux.
    J'ai aussi utilisé pendant un temps Eclim, qui permet d'interagir dans vim avec un Eclipse en mode serveur. C'était bien, mais j'ai dû arrêter pour des raisons de license au travail.

    Un souci que j'ai avec les plugins pour IDE/éditeur est que le système de build au travail est un truc fait-maison, et donc que généralement, y'a pas moyen de compiler les projects. (On a un plugin spécial pour intellij et eclipse qui est développé activement par la boîte.)

    • [^] # Re: Java+Intellij

      Posté par . Évalué à -4.

      Ce qui est abominable c'est IntelliJ pour d'autres. En même temps je suis plus Emacs que Vi et ça me fait marrer de voir les vim aficionados encenser la simplicité des IDEs Jetbrains … qui retrouvent les raccourcis Vi

  • # cloud9 ?

    Posté par . Évalué à 4.

    Quelqu'un a un avis sur cloud9 ? Avec codinggame, j'avais trouvé l'idée génial d'avoir un éditeur à distance : plus besoin de maintenir une suite d'outils à jour sur chaque machine de chaque développeur ou serveur de build : sauvegarde intégré, build intégré, bref, il y a avait potentiellement beaucoup d'avantage.

    "La première sécurité est la liberté"

    • [^] # Re: cloud9 ?

      Posté par . Évalué à 2.

      Je l'ai déjà posté un peu plus haut mais en libre tu as, entre autres: Eclipse Che
      https://www.eclipse.org/che/
      qui a le bon goût d'être supporté par un concurrent de Cloud9: CodeEnvy

      Cloud9 met à dispo du code source mais rien qui puisse permettre d'installer leur plateforme complète facilement en auto-hebergé ou en hosted dans une boîte par exemple.

      Sinon le concept est vraiment sympa car tu peux démarrer from scratch sans installer tous tes plugins (tu as des templates en fonction des technos). Toute ton équipe bosse avec la même config et le must est quand même conjointe sur un même fichier. Le pair programming à distance c'est le top. Par contre je n'ai jamais essayé que sur des tous petits projets …
      Pour Cloud9 par contre tu es assez lié à Github en terme d'intégration sauf à en passer par la ligne de commande

      Clairement les IDEs cloud sont l'avenir dans les DSI …

  • # Notepad++ !!!

    Posté par . Évalué à 3. Dernière modification le 16/02/18 à 19:13.

    Mes langages: python, c, assembleur, perl

    Pour l'instant, j'utilise à 95% Notepad++ pour des questions de vitesse et parce que je suis un ancien accro des fps/rpg donc utilisation de la souris pour tout:
    - et même Notepad++ sur les fichiers d'une cible Linux (accessible via Samba: machine virtuelle/pc physique sur le résal)
    - Visual Studio Code sur Linux (je commence)

    Ce que je déteste: la lenteur et le clavier, c'est à dire:
    - vi, vim, emacs, etc. (j'utilise nano sur les plateformes embarquées pour faire des tests, mais comme à la fin les modifications doivent être dans le GIT, j'évite les modifs sur la cible)
    - Eclipse: c'est lent
    - Atmel Studio, c'est devenu une usine à gaz qui est d'une lenteur et d'une lourdeur: j'essaye de tout faire passer par d'autres ports de debug plutôt que de passer par l'ide (en dernier recours)
    - Code Composer Studio (basé sur Eclipse): que pour le debug avec la sonde dans les phases de prototypage. Même chez TI, on évitait de l'utiliser (dans les premières versions…)

    Et les autres, sympathiques mais il n'ont pas réussi à tenir plus de 2 semaines sur mon PC:
    - PyCharm: j'ai essayé mais c'était trop lent pour moi malgré l'interface très sympathique
    - Atom, je ne sais plus pourquoi mais il m'a saoulé et je suis revenu à mon notepad++
    - QtCreator: je n'utilise que le designer pour prototyper des GUI. J'avais fait un petit projet en C++, il était agréable, moi qui ne suis pas aussi à l'aise en C++ que dans les autres langages

    Je passerais bien entièrement à Visual Studio Code pour l'édition…

    • [^] # Re: Notepad++ !!!

      Posté par . Évalué à 6.

      J’utilise Notepad++ aussi quand je suis sous Windows. Il est vraiment bien foutu. J’utilise entre autres l’export au format HTML, ça permet d’avoir de la coloration syntaxique pour un bout de code collé dans un mail ou dans une doc… un must !

      Sous Linux je n’utilise pas d’IDE non plus (je ne suis pas développeur, je code peu…), c’est Geany qui a ma préférence.

      Jamais pu me mettre à vim. Je connais le strict minimum pour pouvoir éditer un fichier mais je galère, je trouve pas ça facile de toujours savoir quel est le mode courant (même si en effet il y a '--INSERT--' écrit en bas quand on est en mode insertion…). nano est plus intuitif, même si du coup je me mélange entre le Ctrl+s pour enregistrer, qui fonctionne sur la plupart des programmes, et Ctrl+o, qui est le raccourci pour enregistrer sous nano… Si je me retrouve à éditer deux fichiers en même temps, l’un sous Notepad++ et l’autre sous nano, ça arrive souvent à m’agacer ! :)

      • [^] # Re: Notepad++ !!!

        Posté par . Évalué à 2.

        je trouve pas ça facile de toujours savoir quel est le mode courant

        Quand tu as un doute tu appuies 2x sur ESC et tu repasses en mode commande.

        • [^] # Re: Notepad++ !!!

          Posté par . Évalué à 3.

          C’est précisément ce réflexe que je n’arrive pas à acquérir. Et du coup, si tu veux être en mode édition il faut faire : "Esc, Esc, i" pour être en mode édition (i ou a…)

          Enfin bon, ce sont des histoires d’habitudes… J’ai trop pratiqué les contrôles au clavier à base de Ctrl+, et profité d’un pavé numérique pendant mon adolescence, pour adapter mon cerveau à la méthode vi…

          • [^] # Re: Notepad++ !!!

            Posté par . Évalué à 5.

            Franchement je ne comprends pas ce genre de réponse.

            Aujourd'hui tout le monde est convaincu que si je sais travailler sous des UNIX like ou pas c'est parce que j'ai commencé dessus. Par lassitude je ne démens plus, mais pour info je suis arrivé dans l'informatique pro au milieu des années 90, à ce moment là la grosse mode était NT4 !
            Pendant mes 6 premières années j'ai bossé sur NT4, 80% en tant que developper MFC (oui j'ai pas eu de chance) 5% à développer en proc*C sous HPUX 10.2 avec le 'vi' de l'époque pour écrite le code (là j'ai pensé que j'étais maudit), le reste était de l'admin basic NT4.

            J'utilisais peu le 'vi' original par rapport à Visual Studio, mais j'étais beaucoup intrigué par lui. J'ai fini par faire du proc*c à 100%, toujours sur HPUX10 et son 'vi'. A l'époque les admins ajoutaient toujours un 'set -o vi' dans le profil des comptes (les admins linux sont moins éclairés, ils oublient systématiquement de configurer '/etc/inputrc' correctement, mais c'est peut être un reproche à faire aux distribs).

            J'ai d'abord compris le mode vi par le shell, quand j'ai compris que les commandes étaient (presque) identiques entre 'vi' et le 'shell' en mode 'vi' j'ai adoré et je ne me suis jamais lassé. Par contre je n'ai pas de mal à comprendre qu'une personne qui est habituée à Windows ou aux destkops Linux avec leurs éditeurs ou il n'y a rien à apprendre pour taper du texte, ne puissent pas appréhender 'vi' ou il est nécessaire d'apprendre l'éditeur avant de ne pas faire grand chose.

      • [^] # Re: Notepad++ !!!

        Posté par . Évalué à 1.

        J’utilise entre autres l’export au format HTML, ça permet d’avoir de la coloration syntaxique pour un bout de code collé dans un mail ou dans une doc

        comment fais-tu cela ? je ne vois pas où est cet export html ?

      • [^] # Re: Notepad++ !!!

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

        J’utilise entre autres l’export au format HTML, ça permet d’avoir de la coloration syntaxique pour un bout de code collé dans un mail ou dans une doc… un must !

        Ça peut être pratique oui. Pour info c'est aussi possible avec vim, avec la commande :TOhtml.

    • [^] # Re: Notepad++ !!!

      Posté par . Évalué à 5.

      "utilisation de la souris pour tout" + "Ce que je déteste: la lenteur et le clavier"

      C'est paradoxal… Pour écrire tes programmes, tu passes forcément par le clavier donc tu passes ton temps à faire des allers-retours clavier <-> souris. Outre le fait que ça soit mauvais pour la santé (TMS) c'est aussi une perte de temps. Sachant que le clavier est inévitable pour écrire, autant tout faire dessus. C'est la raison d'être des raccourcis claviers et des éditeurs comme Vim et Emacs.
      (À moins que tu utilises aussi la souris sur un clavier virtuel !? Ou que tu tapes à une seule main, souris dans l'autre ? C'est difficilement imaginable)

      • [^] # Re: Notepad++ !!!

        Posté par . Évalué à 3.

        En effet, c'est communément le cas. Mais je fonctionne différemment !
        Je vais plus vite à copier-coller les noms de variables plutôt que de les retaper et de faire une erreur de nommage; à déplacer une ligne à la souris,
        Ensuite, le temps de la réflexion laisse largement le temps d'attraper la souris: le mouvement de la main est un mouvement physique qui ne me prend pas de "temps de cerveau" contrairement à devoir taper des lettres sur un clavier qui nécessite de réfléchir à la combinaison à effectuer. Pendant que vous pensez à celà, moi, j'ai le temps de relire ce que j'ai écrit et donc de penser uniquement à l'algorithme plutôt qu'à des commandes qui font travailler la mémoire !

        Ce qui est plus mauvais pour la santé, ce sont les souris, claviers, écrans et sièges fournis par l'employeur. Par exemple, je me suis acheté une souris qui me convenait pour le boulot (souris de gamer bien entendu!)
        Et le pire, ce sont les applications qui ne sont pas ergonomiques qui sont sources de stress, mais c'est un autre sujet…

        • [^] # Re: Notepad++ !!!

          Posté par . Évalué à 5.

          Je vais plus vite à copier-coller les noms de variables plutôt que de les retaper et de faire une erreur de nommage; à déplacer une ligne à la souris,

          Je vais plus vite en 2xcliquant sur le nom de la variable et en la collant par un click du bouton du milieu …

          Ensuite, le temps de la réflexion laisse largement le temps d'attraper la souris: le mouvement de la main est un mouvement physique qui ne me prend pas de "temps de cerveau" contrairement à devoir taper des lettres sur un clavier qui nécessite de réfléchir à la combinaison à effectuer.

          Gros tas de bêtises…
          Penses tu vraiment que les personnes habituées à taper sur un clavier réfléchissent à quelle touche elles doivent appuyer ? Bin non à la longue tu ne sais même plus ou sont les touches sur ton clavier tu appuies dessus sans penser aux lettres constituant le mot. C'est pareil pour les commandes. Pour descendre d'une ligne appuyer sur 'j' ou 'flèche bas' tu réfléchis pas plus, toi en plus tu perds du temps à choper la souris et à revenir sur ton clavier. Les raccourcies clavier (peu importe l'éditeur) te permette d'éviter de perdre du temps avec la souris.

        • [^] # Re: Notepad++ !!!

          Posté par . Évalué à 5.

          "Je fonctionne différemment" : c'est possible. Ou tu n'as simplement pas essayé d'apprendre et c'est compréhensible parce que oui ça demande du temps. Par exemple je code sous Linux depuis plus de 15 ans mais je me suis mis à Vim il y a 7 ans et ça n'est que l'année dernière que j'ai décidé d'apprendre les raccourcis claviers de Bash (Merci au posteur (bon j'utilisais qd même la recherche dans l'historique et le copier/coller))

          Le "temps de cerveau" dont tu parles n'est valable que durant l'apprentissage. Effectivement il y a certain temps d'adaptation pour être efficace avec ces éditeurs (et c'est valable pour tout. Si je te montre mon père utiliser une souris tu verras que ça n'est pas instinctif pour tout le monde…). Une fois les réflexes acquis, c'est automatique. Pas de temps de réflexion, comme toi avec ta souris. Sauf qu'on n'aura pas besoin de quitter le clavier.

          "Je vais plus vite à copier-coller les noms de variables plutôt que…"

          Ah mais en fait tu ne sais pas du tout comment fonctionnent les autres éditeurs. Tu penses qu'il n'est pas possible d'y faire de copier-coller ? De déplacer une ligne, un paragraphe, une colonne, lancer une recherche, remplacer, … ? Même hors éditeurs, on peut faire beaucoup de choses au clavier. Copier/coller , changer de fenêtre, lancer une appli, une recherche, enfin quasiment tout ! Ça n'est pas par hasard que les applications comportent des raccourcis clavier ou que les utilisateurs écrivent des addons pour retrouver l'usabilité de Vim dans leur navigateur : quand on connaît, c'est pratique. Les automatismes sont déjà là, on gagne du temps, on en perd pas à réfléchir à la prochaine combinaison ou à bouger le bras pour atteindre la souris.

          C'est ""normal"" d'être réticent à modifier une méthode qui fonctionne surtout si ça implique plusieurs heures de tâtonnement et d'apprentissage où l'on sera inévatiblement moins performant. Mais la récompense est au bout du chemin ;-)

          Sinon je te rejoins sur le matériel et plutôt qu'une souris de gamer j'utilise ça : https://www.ldlc.com/fiche/PB00224130.html
          Un genre de trackpad avec barre de pointage sous le clavier, ce qui minimise encore plus les déplacements.

        • [^] # Re: Notepad++ !!!

          Posté par . Évalué à 4.

          Par exemple, je me suis acheté une souris qui me convenait pour le boulot (souris de gamer bien entendu!)

          J'aurais plutôt pensé à une souris verticale là.

        • [^] # Re: Notepad++ !!!

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

          Tu copies-colles avec la souris uniquement ou en utilisant les raccourcis clavier (souvent ctrl-c/ctrl-v) ?
          Parce que quand on parle de tout faire au clavier, faire un copier-coller ça ne veut pas dire recopier le texte, il y a des raccourcis pour ça.

    • [^] # Re: Notepad++ !!!

      Posté par . Évalué à 1.

      Mes langages: python, c, assembleur, perl
      Ce que je déteste: […] le clavier […]

      Pourtant, écrire du code, c'est avant tout écrire : des mots, des idées, des phrases, des noms. Et pour bien coder, il faut écrire de la diversité (on évite généralement la duplication de code).

      La souris, c'est bien pour sélectionner parmi un choix restreint (liste déroulante, bouton à clicker, etc.) et pour faire défiler la page.

      • [^] # Re: Notepad++ !!!

        Posté par . Évalué à 1.

        Pour moi, écrire du code, c'est de coucher par écrit une pensée visuelle que j'ai dans la tête.
        Du code, c'est pour moi quelque chose d'extrèmement lent par rapport à l'algorithme que j'ai dans la tête qui n'est que visuel : des boîtes, des flèches, des cases, des diagrammes temporels…
        Si je pouvais éviter la case écriture, ça m'irait bien!
        Avec la souris, tu peux sélectionner des fragments de code de ligne, sélectionner des colonnes, copier, coller, dupliquer, déplacer du texte, ouvrir un fichier en le glissant-déposant.
        Le code se répète plus souvent qu'on. Ne le pense: par exemple, je tape l'entièreté de la structure d'un Switch-case, motif qui se répète et je fais glisser les valeurs de la structure énumérés que j'ai copié juste en dessous. Et ensuite, je tape le contenu…

        Mais à chacun sa façon d'optimiser sa vitesse d'écriture de code sans erreur !

      • [^] # Re: Notepad++ !!!

        Posté par . Évalué à 5. Dernière modification le 16/02/18 à 22:56.

        La souris, c'est bien pour […] faire défiler la page.

        Dans mes terminaux j’utilise Shift+PgUp et Shift+PgDown depuis quelques années, je trouve ça plus pratique que la molette. Et surtout, le mouvement de l’index pour actionner la molette c’est clairement le mouvement qui me ruine le plus le canal carpien… De la même manière, PgUp/PgDown (sans Shift) marche bien dans un navigateur.

        C’est mon ressenti, ce que me dis mon corps : la souris est clairement plus nocive que le clavier en terme de TMS…

  • # Atom

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

    En ce moment c'est celui que j'utilise le plus c'est assez fou comment il marche bien "out of the box"… m'enfin c'est peut être parceque j'écris beaucoup de YAML.

    • [^] # Re: Atom

      Posté par . Évalué à 2.

      Oui mais quand on veut faire un peu plus que du basique avec Git (log graphique, git diff plugin, …), qu'on veut pouvoir lancer l'interprète python (atom runner, …) et autre petits trucs du genre faut quand même creuser un peu.
      Le plus drôle c'est quand même celui-là:
      http://jesmodrazik.fr/articles/atom-crochet-accolade-fermant/

      Marrant que personnne ne parle jamais de brackets dans la veine des IDEs orienté webdev:
      http://brackets.io/index.html

      • [^] # Re: Atom

        Posté par (page perso) . Évalué à 1. Dernière modification le 18/02/18 à 10:24.

        Bizarre, j'utilise cet éditeur pour 80% de mes éditions (YAML, petit script python et shell) depuis 3 mois et je n'ai pas de soucis du genre… ça doit être réglé dans les dernières versions. Le seul reproche que lui ferait c'est que la non détection qu'un fichier ouvert dans l'éditeur a changé car j'ai changé de branche git.

        Sinon, git je l'utilise presque exclusivement en ligne de commande, même avec des IDE comme Eclipse ou Intellij ;-)

        As tu essayé bracket ? (je ne connais pas)

  • # Jupyter pour du python

    Posté par (page perso) . Évalué à 4. Dernière modification le 17/02/18 à 12:08.

    Une copine vient de me le faire découvrir et c'est plutôt pas mal comme outil pour coder rapidement en python.
    Bon je ne sais pas si techniquement on peut parler d'IDE à propos de jupyter (et je ne suis pas programmeur pro) mais comme on peut éditer un fichier .py et l'éxécuter, je me permets de vous le citer ici :)
    Bon we!

    • [^] # Re: Jupyter pour du python

      Posté par . Évalué à 2.

      Sympa pour faire de l'exploration de data (c'est fait pour) pour développer par contre c'est pas fait pour du tout mais pas du tout. Ils sont en train de faire un jupyter-lab pour compenser ce manque.

  • # IntelliJ non open-source

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

    Je suis très étonné du succès d’IntelliJ. Je ne dénigre pas l’outil, qui est très bon. Mais tous ces gens qui en sont si satisfaits ont-ils tous la licence nécessaire ? J’ai comme un doute…

    J’aimerais savoir : quel est votre IDE préféré open source pour Java ?

    • [^] # Re: IntelliJ non open-source

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

      La version Community, certes amputée est bien libre (Apache 2.0).

      • [^] # Re: IntelliJ non open-source

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

        Oui, mais tellement limitée, qu’il ne reste plus grand chose (ce qui n’est pas le cas de la version communautaire pour Python, Pycharm). Cf. tableau de comparaison :
        https://www.jetbrains.com/idea/features/editions_comparison_matrix.html

        Du Java sans JPA, sans Spring, sans AngularJS, etc. ça limite quand même pas mal l’usage…

        • [^] # Re: IntelliJ non open-source

          Posté par . Évalué à 2.

          J'ai du mal à comprendre le rapport entre Java et AngularJS

        • [^] # Re: IntelliJ non open-source

          Posté par . Évalué à 3.

          N'ayant jamais eu la version ultimate entre les pattes, j'aurais du mal à dire ce qu'elle apporte de plus par rapport à la "community edition" pour du java.

          Du Java sans JPA, sans Spring, sans AngularJS, etc. ça limite quand même pas mal l’usage…

          Ça dépend du projet :P, chez nous on en est encore à jboss sur centos5, pas de javascript, du swing dans tous les sens et du thrift pour appeler le c++(pre c++11).

          Pour le reste, suggestion, refactoring, correction de style, capacité à créer une classe de données sans avoir à écrire une ligne de code, juste en écrivant new Plic(toto, pika, tata, 45); et lui indiquant qu'il faut créer la classe, puis ses getteurs, il me suffit amplement.
          Ah oui et il vient avec un thème sombre disponible par défaut ;) Ah oui et sans oublier l'affichage de la syntaxe java 8 alors qu'on est encore en java 7 ;)

          L'un des inconvénient majeur d'éclipse, outre sa lourdeur ressentie, est l'interface gérant trop de langages, plugin… des menus trop longs, des options dures à trouver…
          typiquement, voila à quoi ressemblait les menus en 2011 http://vcpm.barti.fr/2011/02/08/serveur-svn-pour-windows-33-utilisation/, mais de ce que je vois chez mes collègue l'utilisant encore pour le c++ ça ne s'est pas arrangé;

          Il ne faut pas décorner les boeufs avant d'avoir semé le vent

          • [^] # Re: IntelliJ non open-source

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

            N'ayant jamais eu la version ultimate entre les pattes, j'aurais du mal à dire ce qu'elle apporte de plus par rapport à la "community edition" pour du java.

            Pour du Java pur pas grand chose, pour du Spring / Grails / etc. il y a des trucs très intéressants (par exemple pour Grails un support correct des templates gsp).

        • [^] # Re: IntelliJ non open-source

          Posté par . Évalué à 1.

          Du Java sans JPA, sans Spring […]

          Bof je vois mes collègues qui sont contents avec, mais j'en ressent pas le besoin et me sent pas moins efficace qu'eux.

    • [^] # Re: IntelliJ non open-source

      Posté par . Évalué à 1.

      Moi j'ai la license donc je suis en regle, je ne pirate pas par contre j'utilise l'outil le plus adapte a mon besoin, d'ou le fait que je sois sous linux (systeme stable que je peux configurer aux petits onions), KDE que je peux aussi configurer aux petits onions, Python (multi-plateforme qui a tout ce qui me faut pour mes developpements y compris sous linux) et pycharm car je trouve que c'est le meilleur editeur pour python. Il n'est pas parfait (rien ne l'est) mais ses defauts sont tres tres largement compense par ses qualites.

    • [^] # IntelliJ (& cie) non open-source mais gratuit pour les projets open-source

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

      À noter que si c'est pour développer un projet open-source, Jetbrains fournit des licences gratuites de tous leurs produits. Testé et approuvé lors du développement de Zeste de Savoir. Ça n'en fait pas un produit open-source, mais ça fait déjà sauter le problème du coût.

      La connaissance libre : https://zestedesavoir.com

    • [^] # Re: IntelliJ non open-source

      Posté par . Évalué à 3.

      Je suis très étonné du succès d’IntelliJ. Je ne dénigre pas l’outil, qui est très bon. Mais tous ces gens qui en sont si satisfaits ont-ils tous la licence nécessaire ?

      La version communautaire me suffit amplement; je refuse de recourir au viol de propriété intellectuel au niveau professionnel.

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: IntelliJ non open-source

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

      À peu près tous ceux que je connais ont réussi à se le faire payer par leur employeur, ou ont craqué à titre personnel. De mon côté, j'ai une license personnelle (mais je vais essayer d'en avoir une par le boulot).

  • # Emacs un jour, Emacs toujours

    Posté par (page perso) . Évalué à 6. Dernière modification le 17/02/18 à 14:10.

    Pour programmer en

    • OCaml que tu cites, aver tuareg, merlin et ocp-*
    • Shell, à cause de l'évaluation interactive.
    • Lisp avec Slime, à cause de tout.

    Pour avoir utilisé longtemps deux IDEs – Visual Studio et PHP Storm de Jet Brains – et bien je les trouve assez désagréable à utiliser. Pour l'un comme pour l'autre l'analyse de code et la complétion sont d'une lenteur quasi-prohibitive sur des grosses bases de code, voire carrément inutilisables. La configuration est assez difficile pour tout ce qui est exotique et la documentation pas franchement merveilleuse. (Je n'utilise plus, donc je n'ai plus d'exemples en tête, mais ça m'est quand-même arrivé plusieurs fois de vouloir ajouter des traitements à l'IDE ou lui demander de lancer une commande avant de commencer une session de débogage, par exemple.) Ensuite je suppose que c'est une affaire d'habitude mais les interface touffues avec des boutons partouts et des fenêtres coulissantes avec tout et n'importe quoi dedans, et bien ça me distrait énormément et je préfère largement travailler avec un éditeur qui montre du code et plus d'informations quand je lui demande plutôt que le contraire. Même en fouillant dans mes souvenirs je crois bien que je n'ai jamais eu le sentiment que les fonctions dans ces IDEs soient très faciles à trouver… bref quand je feux faire quelque chose qui sort de ma routine que ce soit avec Emacs ou un IDE il faut que tapote dans mon moteur de recherche préféré. (Et si on n'arrive pas à retrouver certaines fonctions dans la doc, que ce soit avec Emacs ou un IDE, et bien ce n'est pas interdit de prendre des notes ;) )

    P.S.: En ce qui concerne le reformatage de code ou les divers refactoring, dans mon Visual Studio pour C++ et bien ça n'y était pas et dans PHP-Storm même le renommage de méthode ou de variable membre se prend les pieds dans le tapis de temps à autres.

    • [^] # Re: Emacs un jour, Emacs toujours

      Posté par . Évalué à 2.

      Je trouve chiante et instable la façon de gérer les extensions emacs : cela a peut être changer mais pour moi, on est loin de npm/ go get /urpmi il s'agit toujours d'aller chercher une version à la main et modifier le fichier de config.

      Et une fois, le truc installé, il faut deviner tout seul comment le module marche. Il me semble que tuareg est fournis de base maintenant, mais il ne semble pas que tu peux "jumper" d'un fichier à l'autre pour trouver définition de code et usage de code. tu n'as pas auto-complétion sémantique ou de library (à moins d'ouvrir tout dans un buffer…) ou de refactoring, ou de vérification de la syntaxe en ligne.

      "La première sécurité est la liberté"

      • [^] # Re: Emacs un jour, Emacs toujours

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

        Je trouve chiante et instable la façon de gérer les extensions emacs : cela a peut être changer mais pour moi, on est loin de npm/ go get /urpmi il s'agit toujours d'aller chercher une version à la main et modifier le fichier de config.

        Instable je ne sais pas parceque je n'utilise quasiment que des extensions qui sont fournies par mon système de ports ou installable directement depuis Emacs. Après effectivement il faut souvent copier-coller quelques lignes dans son fichier dot.emacs. Comme on fichier `dot.emacs' est sous SCM je peux te donner le log des dernières années:

        2017-12-03 11:43:32 +0100 Allow long lines in Lisp
        2017-11-25 10:13:17 +0100 Add simplified window and frame navigation
        2017-11-02 16:56:33 +0100 Fix emacs configuration
        2017-11-02 08:07:47 +0100 Update for new system
        2017-09-25 14:46:37 +0200 Configure slime as in portacle
        2017-09-13 10:09:05 +0200 Install slime
        2017-06-06 15:16:11 +0200 Update emacs settings
        2016-12-12 10:34:45 +0100 Update merlin configuration
        2015-08-28 15:29:12 +0200 Update style
        2015-08-28 15:15:38 +0200 Record company PHP Style
        2015-06-02 09:21:04 +0200 Configure merlin and ocp-indent
        2015-06-02 08:47:35 +0200 Remove broken hunspell support
        2015-03-24 14:45:36 +0100 Add PHP mode
        2015-02-03 09:48:02 +0100 Change the font size on Darwin
        2014-03-03 10:37:44 +0100 Remove CEDET
        2014-03-03 10:34:05 +0100 Disable the tool-bar and the scroll-bar
        2014-03-03 10:23:38 +0100 Add trac-wiki
        2014-03-03 10:22:00 +0100 Add Markdown mode
        2013-08-18 08:36:18 +0200 Update key shortcuts
        2013-08-18 08:32:55 +0200 Correct the name of ocamldebug
        2013-08-04 16:20:14 +0200 Whitespace mode
        2013-08-04 16:03:04 +0200 Rework dot.emacs
        2013-07-20 19:07:20 +0200 Add slime
        

        (Généré avec git log --pretty='format:%ci %s').

        Pour quelqu'un qui travaille vraiment beaucoup avec Emacs, je ne l'ai jamais utilisé moins de 20h par semaine dans l'historique que tu vois, et qui se sait se satisfaire des réglages par défaut sans trop faire de customisation, je trouve que s'il s'agit d'un effort à faire, ce n'est pas non plus disproportionné.

        Et une fois, le truc installé, il faut deviner tout seul comment le module marche. Il me semble que tuareg est fournis de base maintenant, mais il ne semble pas que tu peux "jumper" d'un fichier à l'autre pour trouver définition de code et usage de code.

        La navigation de fichier à fichier peut effectivement laisser à désirer dans le réglage de base par rapport au confort de PHP Storm (sauter à l'implémentation etc.) mais cela dépend des modes. Par exemple Slime (pour CL) sait le faire, mais je crois que pour OCaml cela n'existe pas. (Pour C et le reste, je crois que l'outil magique est CEDET.)

        tu n'as pas auto-complétion sémantique ou de library (à moins d'ouvrir tout dans un buffer…) […], ou de vérification de la syntaxe en ligne.

        En ce qui concerne OCaml, merlin apporte tout cela: la syntaxe est testée à la sauvegarde et l'auto-complétion marche (en tout cas pas plus mal que dans les IDE que j'ai utilisé). Pour Lisp, slime fait assez bien cela – sauf la vérification de syntaxe mais en pratique on programme interactivement c'est à dire qu'on fait des va-et-viens constants entre le programme et la REPL et il y a un petit raccourci qui évalue la défintion en cours (C-M-x) ce qui rapporte les erreurs. L'approche des IDE de type Visual Studio ou PHP Storm donne plus d'information interactives, mais d'une c'est assez lent et de deux je n'ai jamais réussi à m'habituer à tous ces coloriages (genre rouge faute de syntaxe, violet pour une infraction à la coding guideline XY, orange pour ceci-cela) et les petits tooltips qui vont avec sont assez pénibles – je préfère l'approche de merlin par exemple qui met à jour cette information à la sauvegarde, c'est à dire à un moment que je choisis.

        tu n'as pas […] de refactoring […]

        Ça oui!

  • # trucs pour Emacs

    Posté par . Évalué à 4.

    salut,

    pour de la refacto sous Emacs: http://wikemacs.org/wiki/Python#Refactoring emacs-traad est évident à installer et propose quelques trucs.

    bien d'autres trucs dans ce lien.

    j'aime de moins en moins Emacs, et sa tonne de fonction dont il faut se rappeler le nom pour les utiliser

    Solutions: utilise la doc interne et recherche des fonctions, ou bien utilise helm ou ivy et swiper pour avoir une fuzzy complétion des commandes, triées par ordre d'utilisation, ou encore utilise which-key qui te montrera la liste de tous les raccourcis avec noms associés à partir d'un raccourci non fini. Par exemple tu tapes C-c parceque tu sais que ça fait des choses, tu attends 0.2 secondes et tu as une aide magnifique.

    Sinon, comment se passer de magit ??? https://magit.vc/ et org-mode ? Et le support pour n'importe quel language…

  • # Go

    Posté par . Évalué à 3.

    Pour Go tu devrais tester http://liteide.org/en/

    • [^] # Re: Go

      Posté par . Évalué à 2.

      vim + vim-go

      vim parce que je l'utilise depuis des décennies, où que ce soit pour quoi que ce soit… Je me pose rarement la question d'essayer autre chose.

      De temps en temps je bidouille un peu mon vimrc mais au bout d'un petit moment je reviens dessus et je fais le ménage, je ne sais plus pourquoi j'ai essayé tel ou tel plugin ou créé tel ou tel raccourcis que je n'utilise finalement pas.

      Ce que j'utilise le plus c'est un raccourci sympa pour :GoDef genre ,,

      Pour compléter le côté IDE j'ai pilu/fresh qui tourne dans un terminal à côté pour recompiler et relancer le programme à la moindre modif du coup c'est comme si j'avais un langage interprété.

  • # VSCode

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

    Je suis passé à VS Code il y a quelques mois pour faire du dev en JavaScript, ça a complètement remplacé Atom et Eclipse que j'ai utilisé par le passé. C'est vraiment un bon logiciel avec un développement soutenu et open source.

    Pour le Java, je suis encore sur Eclipse mais c'est parce que j'ai mes habitudes… J'ai pourtant une licence IntelliJ IDEA que j'ai gagné lors d'un JUG, mais je n'ai pas eu le courage de changer encore. Pourtant Eclipse m'insupporte avec sa lourdeur et ses bugs ! J'ai tenté VS Code pour faire du Java mais c'est beaucoup beaucoup trop limité pour le moment (sauf pour un mini projet).

  • # godot

    Posté par . Évalué à 4.

    Godot bien sur pour ceux qui fond des jeux multiplateformes.

    https://godotengine.org/

    godot

    https://youtu.be/XptlVErsL-o

    vous pouvez coder depuis : Windows, OS X, Linux, FreeBSD, OpenBSD and Haiku

    vers : iOS, Androi, Windows, macOS, Linux, UWP, *BSD, Haiku et : HTML and Web Assembly

    rien que ca…

  • # NetBeans

    Posté par . Évalué à 3.

    Principalement pour du web (php/html/js/xml/css).

    C'est pas le plus sexy, mais il juste fonctionne.
    J’espère que le passage sous le girond de l'Apache foundation, relancera la machine (surtout la communication).

  • # Spacemacs

    Posté par . Évalué à 2.

    Je programme essentiellement en Python, BASH, Makefile et Javascript (VueJS). À cela il faut ajouter pas mal de Markdown (mkdocs, pandoc) et YAML (Ansible, ldap2pg).

    J'utilise GNU/Emacs depuis plus de 10 ans et j'ai opté pour la configuration Spacemacs. Je suis étonné que personne n'en parle.

    Avec Spacemacs, j'arrive à être concentré, sans passer un temps fou à configurer le bousin. En plus, je pratique les raccourcis Emacs et VIM que je vais retrouver dans un BASH interactif ou un vi de secours via SSH. Donc Emacs me permet d'unifier mon interaction avec les machines.

    Pour Python, C'est toujours un peu laborieux la complétion dans les virtualenv. J'ajoute un py-workon dans .dir-locals.el. Je ne trouve pas ça idéal. Emacs a peur des .dir-locals.el et j'ai pas l'impression que l'autocomplétion aime cette bascule de venv d'un fichier à l'autre.

    Néanmoins, j'ai changé de boîte et je n'ai plus des bases de code énormissimes, je travaille exclusivement sur du logiciel libre et public. Ça change beaucoup :-).

  • # boite à outils

    Posté par . Évalué à 2.

    Mon activité d'archi système n'implique pas de développer en continu dans un seul langage. C'est plutôt manipuler des données ou écrire des scripts pour les récupérer ou faire des actions sur des équipements, construire des synthèses ou des reports. Je n'ai donc pas d'IDE mais plutôt une boite à outils.

    Mon couteau suisse est jedit qui possède de nombreuse fonctionnalités grâce à ses modules externes : édition en colonne (indispensable !), regexp, coloration syntaxique dans tous les langages, bon support des encodages, client sftp, client git, etc.

    Ensuite, toute une série d'outils plus spécialisés :
    * la ligne de commande pour invoquer les scripts et les coupler à toutes les commandes gnu
    * un tableur : libreoffice calc
    * des outils pour faire des diagrammes : yed, archi, plantuml, etc. ; et des présentations : marp
    * un IDE python pour debugger : pycharm

Suivre le flux des commentaires

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