Programmation, ligne commande / graphique

Salut à tous.
À l’école, en section informatique de gestion.
On nous apprend à utiliser vim avec ces centaines de commandes/raccourcies, en ligne de commande :017

Je me demandes dans quelles conditions vous programmez au boulot ?
(ligne commande, graphique, vim)
(droit, choix, système d’exploitation utilisé, logiciels)

Par choix :
[ul]
[li]GNu/linux Debian Stable[/li]
[li]gvim[/li]
[li]intelliJ[/li]
[li]shell, shell, shell[/li][/ul]

Par obligation :
[ul]
[li]jdeveloper[/li][/ul]

sur nos serveurs, aucun interface graphique n’est installée, et aussi par choix car vim est vraiment puissant…

bonjour

j’utilise vim pour écrire mes cours en latex et mes programmes python (au lycée).
J’utilise cependant geany avec mes élèves.

Tu programme directement sur tes serveurs de prod :119 :119 :119

A mon DUT nous avions que des terminaux connectés a un bon gros serveur (moins puissant que les PC actuel :016 ) connexion en xdg et un interface minimal qui nous permettait juste de lancer de multiple console, donc pas d’explorateur de fichier ou autre 8) pas de fond d’écran personnalisé ou autre fioriture, les ressources étaient économisées au max.

Et puis quand j’ai commencé le monde pro je n’ai jamais retrouvé ça, toujours des machines oindows ou mieux des session Citrix, que du bonheur en barre quoi :116

La grande majorité des entreprises que j’ai fréquentées utilisent Eclipse, quelques unes IntellJ, et NetBeans une seule fois pour faire des POCs sans plus. Sinon une autre qui utilisait PL/SQLDeveloper, mais c’était un cas spécifique.

L’interface console est réservé aux serveurs et juste pour la modification de fichier de conf, aucune programmation. :006 Tout est fait en amont sur des machines de tests

[quote=“Mimoza”]A mon DUT nous avions que des terminaux connectés a un bon gros serveur (moins puissant que les PC actuel :016 ) connexion en xdg et un interface minimal qui nous permettait juste de lancer de multiple console, donc pas d’explorateur de fichier ou autre 8) pas de fond d’écran personnalisé ou autre fioriture, les ressources étaient économisées au max.
[/quote]veinard, nous on avait que des terminaux non graphiques (couleur ambre) :stuck_out_tongue:
Y’avait bien un émulateur X-Win sur les PC Win95 mais c’était leeeeeeeent :033

[quote=“Mimoza”]
Et puis quand j’ai commencé le monde pro je n’ai jamais retrouvé ça, toujours des machines oindows ou mieux des session Citrix, que du bonheur en barre quoi :116 [/quote]

Je vois très bien ce que tu veux dire :whistle:

[quote=“Mimoza”]La grande majorité des entreprises que j’ai fréquentées utilisent Eclipse, quelques unes IntellJ, et NetBeans une seule fois pour faire des POCs sans plus. Sinon une autre qui utilisait PL/SQLDeveloper, mais c’était un cas spécifique.

L’interface console est réservé aux serveurs et juste pour la modification de fichier de conf, aucune programmation. :006 Tout est fait en amont sur des machines de tests[/quote]

Je suis resté fidèle a scite et geany mais j’avoue qu’un simple vi suffit largement pour écrire du petit script.

emacs partout.

vim en terminal pour scripts perl/python/tcsh, des documents LaTeX. La coloration syntaxique c’est de la bombe (vim gère même pour des langages de prog proprio en variantes de LISP), et compiler en ligne de commande en lisant les messages d’erreur sur la sortie standard c’est le top.

Non ce n’est pas de l’élitisme réactionnaire : tout ça est bien découpé parce qu’on ne mélange pas l’éditeur, le compilateur, le débuggeur, le tout dans une interface graphique clickodrome qui provoque plus de confusion qu’autre chose. Le tout sur une distrib GNU/Linux avec plusieurs bureaux virtuels et des émulateurs de terminaux à onglets, avec fond foncé et en avant l’aventure ! L’avantage d’utiliser un éditeur de texte plutôt qu’une usine à gaz d’IDE dédié c’est aussi la facilité de comprendre l’utilité et le fonctionnement d’un gestionnaire de version (svn, git, perforce), ensuite la façon de travailler n’est pas dépendante de l’IDE.

Maintenant je peux dire ça car je traite principalement du fichier texte (préparation de simulation, analyse de résultats, automatisation de tâches diverses, glue entre différents softs proprio appelés en ligne de commande…), j’imagine que pour des programmes avec interface graphique l’IDE peut pas mal aider :wink:

Moi j’adore ce qui est tiling/onglet/graphique.

Vim, je l’aime pas à cause du fait qu’on doit activer les actions au clavier, trop côté ligne de commande.
Même la version graphique, presque rien n’y change, juste quelques icône de raccourci au menu haut, mais le centre comme une console, sa fait bizarre.

J’aime bien geany par exemple, avec les onglets, simple d’utilisation de configuration, la souris pour faire rapidement les choses, etc.
Avec i3 wm, mode tiling, onglet etc c’est top.

Espérant avoir le choix de ce que je pourrais utiliser après mes études, l’idée inverse me rend pas très à l’aise…

Allez c’est repartis…

vim qui « ne mélange pas l’éditeur, le compilateur, le débuggeur », il possède tout de même une commande make qui utilise cc (un lien symbolique généralement pointant vers gcc) pour compiler. Les IDE c’est ça, un ensemble d’outils qui savent cohabiter ensemble pour t’aider dans ton travail (avoir une vue du contenu d’une base de données en même temps que le code peut être pratique par exemple). C’est aussi très clairement ce que permet emacs (il suffit de voir l’intégration de gdb dans emacs pour comprendre qu’on est en présence d’un peu plus qu’un éditeur de texte (il en fait plus qu’eclipse avec la possibilité de faire MUA et lecteur de musique par exemple)).

Tu fais un amalgame entre un outil (l’IDE) et son usage (ne pas chercher à comprendre ce que l’on fait). J’espère que tu ne reproche pas aux politiques de confondre P2P et téléchargement illégale…

Dans les faits Java est un langage verbeux et statiquement typé, mais extrêmement bien outillé. Sa syntaxe simple permet à des programmes d’en faire une analyse statiques poussée et de donner des possibilités de refactoring poussée qu’on retrouve dans peu de langages. C’est ce qui fait qu’on retrouve un grand nombre d’IDE pour Java. À l’inverse C++ est une horreur à parser (il existe très peu de parseur C++ dans le monde) et la complexité du langage fait que même les compilateurs ne suivent pas forcément (un peu de métaprogrammation et c’est le compilateur qui plante).

Mais je m’égare les ide rendent cohérents entre eux un ensemble de logiciels (lever un warning lors d’un commit si l’analyse statique voie une erreur par exemple), le fait de s’en servir sans chercher à le comprendre est une idiotie que je n’ai vu qu’en cours.

@kripteks > Je suis content de voir un avis un peu divergeant. :slightly_smiling:
La dernière fois que j’ai essayé geany (il y a longtemps) je le trouvais un peu simpliste, il a évolué ? On me dis aussi du bien de kate et gedit eux aussi peuvent être pas mal je crois.

Ne faisant rien de sérieux je m’y connais pas aux besoins requis.
En tant qu’amateur avec php etc: ouvrir, écrire, fermer + onglet + colorisation, je demandes rien de plus et geany est parfait.

Pour un peu plus pousser, codeblocks est sympa, dépends du besoin et de la façon de faire les choses.

[quote=“MisterFreez”]
vim qui « ne mélange pas l’éditeur, le compilateur, le débuggeur », il possède tout de même une commande make qui utilise cc (un lien symbolique généralement pointant vers gcc) pour compiler. Les IDE c’est ça […][/quote]

— Oui, tu peux exécuter n’importe quelle commande du terminal à partir de vim.
— Non, tu n’es pas limité par le menu de barre de tâche selon les choix de l’éditeur du soft, ni à ses raccourcis clavier prédéfini.

Vim propose à qui veut une totale flexibilité pour optimiser son interface indépendamment du langage de programmation : créer des raccourcis clavier, appeler une commande quelconque depuis l’éditeur (pas que make), ou modifier un fichier de syntaxe à des fins de colorisation c’est possible.

Sinon Geany avait l’air pas mal aussi, avec une barrière à l’entrée plus basse. L’idée reste similaire : un éditeur de texte qui supporte la coloration syntaxique, gère les onglets… facilite la vie pour éditer du texte en somme (j’ai fouiné la dernière fois il y a 4-5 ans en utilisant Zenwalk), pas de truc spécifique à un langage unique… Ça change des Visual Basic et Visual Studio :078 .

Digression autour de LaTeX :
(Microsoft n’a pas le monopole de l’IDE mal pensé)

Texmaker est un bon exemple d’IDE foireux : le paramétrage de la séquence de compilation est inutilement compliquée par une interface graphique confuse, les messages d’erreurs sont réinterprétés à la sauce Texmaker et n’ont rien à voir avec la sortie de pdflatex (en 2009, parfois avec des retours qui n’ont rien à voir avec le problème, j’espère que ça a changé), via Texmaker la compilation est laxiste si bien que le même code n’est pas compilable dans un autre environnement, et on ne parle pas du lecteur de pdf intégré qui réinvente très mal la roue.

Tout ça crée beaucoup de confusion. Maintenant je recommande Texworks pour les débutants et windowsiens, alors que j’ai rédigé ma thèse avec Texmaker.

[quote=“bobo38”][quote=“MisterFreez”]
vim qui « ne mélange pas l’éditeur, le compilateur, le débuggeur », il possède tout de même une commande make qui utilise cc (un lien symbolique généralement pointant vers gcc) pour compiler. Les IDE c’est ça […][/quote]

— Oui, tu peux exécuter n’importe quelle commande du terminal à partir de vim.
— Non, tu n’es pas limité par le menu de barre de tâche selon les choix de l’éditeur du soft, ni à ses raccourcis clavier prédéfini.

Vim propose à qui veut une totale flexibilité pour optimiser son interface indépendamment du langage de programmation : créer des raccourcis clavier, appeler une commande quelconque depuis l’éditeur (pas que make), ou modifier un fichier de syntaxe à des fins de colorisation c’est possible.[/quote]
Arrête le FUD s’il te plaît. Tu dis réellement n’importe quoi.
N’importe le quel des 3 gros IDE que je connais (eclipse, netbeans et intelli) permettent de lancer n’importe quelle commande via le raccourcis qui te ferra plaisir. La palme est pour eclipse, je ne sais pas ce qu’eclipse ne peut pas faire, par exemple tu peut utiliser vim comme éditeur dans emacs. Dans eclipse ça s’appelle les external tools et tu peut définir un raccourcis (pour lancer un programme ou non) spécifique à un projet ou global, tu va pouvoir paramétrer assez finement le dossier dans le quel il est lancé certains paramètres de manière dynamiques choisir si c’est un raccourcis globale ou qui n’existe que si tu es dans certaines vu (dans l’éditeur de texte par exemple) tu peut choisir de le lancer en background ou non et de lui attribuer ou non un terminal (ou de rediriger sa sortie standard dans un fichier).

Ils permettent de modifier la coloration à loisir et de définir avec plus ou moins de finesse ses règles de codage (là il faut féliciter idea qui a le truc le plus simple que j’ai vu (bien plus que n’importe quel autres)) (tu met les accolades ouvrantes à la ligne ? soit tous les codes snipets le prennent en compte, tu veux que les constantes aient un identifiant en majuscule ? c’est parti). Ce qu’ils ne font pas par code snipets, ils le présentent sous formes de warnings dans ton code.

Je ne dis pas que les IDE c’est parfait, je dis que tes arguments sont nuls. Les IDE c’est lourds c’est lents c’est compliqué à prendre en main quand on s’est habitué à vim/emacs, on peut préférer lancer manuellement les commandes à la main, mais dire qu’ils ne sont pas capable de faire quelque chose d’aussi trivial que ce que tu présente c’est du FUD et c’est se moquer de communautés en particulier d’une communauté assez gigantesque qu’est celle d’eclipse (je n’aime pas eclipse, mais il ne faut pas pour autant nier ses qualités).

[quote=“MisterFreez”]
Arrête le FUD s’il te plaît. Tu dis réellement n’importe quoi.
N’importe le quel des 3 gros IDE que je connais (eclipse, netbeans et intelli) permettent de lancer n’importe quelle commande via le raccourcis qui te ferra plaisir. […et toutes les autres fonctionnalités…] [/quote]

C’est cool tout ça ! Excuse-moi de ne pas être au courant de tout : la dernière fois que j’ai essayé Eclipse ça m’a paru une usine à gaz et j’ai jeté l’éponge après 10 minutes. OK, je n’ai pas lu la doc, ce n’était de toute évidence pas adapté à mes besoins.

Le pompon c’est qu’avec la magie de l’école et du notepad de Windows, je ne me doutais même pas à l’époque qu’un éditeur de texte suffisait à faire de la programmation. Donc :
0 – je trouve ça très bien la démarche dans l’école de kripteks
1 – même si forcer les étudiants à utiliser vim je trouve ça limite (tout comme les gens qui conseillent à des débutants d’utiliser vim pour modifier son /etc/apt/sources.list :wink:, mais c’est aussi un plaisir sur ce forum)
2 – du coup j’essaie de donner des explications (2ème paragraphe de mon premier post), excuse-moi…

Ma cible c’est plutôt les Visual Basic, Visual Studio et les Texmaker (dit dans mon dernier post). Dans ces cas-là, je dis « mieux vaut préférer un combo éditeur de texte + compilation en ligne de commande à un mauvais IDE ». Bah, des trucs où tu peux vite subir les choix des éditeurs…

J’étends cela aussi « quel que soit l’IDE, fût-il bon » pour les projets perso ou petits : une interface spécifique ne se justifie pas de mon point de vue. Ensuite, je ne nie pas que cela puisse apporter des gains de productivité pour les pros qui font ça toute la journée… (sous-entendu à la fin de mon premier post), puisque je fais de l’automatisation globalement assez seul dans mon coin en manipulant essentiellement des fichiers texte et que l’informatique n’est pas mon cœur de métier (dit à la fin de mon premier post, « humilité » tout ça…).

FUD ? Qui fait du FUD ? Je pense que dans le fond, on est d’accord à la lecture de ton dernier paragraphe… :008

[quote=“bobo38”][quote=“MisterFreez”]
Arrête le FUD s’il te plaît. Tu dis réellement n’importe quoi.
N’importe le quel des 3 gros IDE que je connais (eclipse, netbeans et intelli) permettent de lancer n’importe quelle commande via le raccourcis qui te ferra plaisir. […et toutes les autres fonctionnalités…][/quote]
C’est cool tout ça ! Excuse-moi de ne pas être au courant de tout : la dernière fois que j’ai essayé Eclipse ça m’a paru une usine à gaz et j’ai jeté l’éponge après 10 minutes. OK, je n’ai pas lu la doc, ce n’était de toute évidence pas adapté à mes besoins.[/quote]
Le problème ce n’est pas de ne pas être au courant, mais de conjecturer sur ce que tu ne sais pas. Je ne blamerais jamais quelqu’un qui ne sait pas quelque chose, par contre quelqu’un qui répand des choses inexactes voir fausses sans savoir c’est autre chose (mais ce n’est pas pire que celui qui répand des choses inexactes voir fausses en sachant).

Pas moi. Je suis contre le fait de forcer quelqu’un à utiliser un logiciel. Forcer à utiliser un éditeur de texte est une bonne chose lors de l’apprentissage, mais apprendre vim n’apporte pas grand chose fasse à l’apprentissage d’emacs ou gedit.

Tu ne me verra jamais sciement et volontairement contraindre quelqu’un à utiliser un logiciel en particulier. Chacun est libre d’utiliser de mauvais outils :slightly_smiling:

De ce que je vois, je suis nettement plus ouvert que toi sur le sujet (je lis la doc (comme pour vim ou emacs, j’en utilise,…).

Donc on est d’accord !! C’est ce que je me tue à dire… Utiliser un éditeur de texte avec un minimum de fonctionnalités, dont au minimum la coloration syntaxique, de concert avec des compilateurs/interpréteur standalone, c’est utiliser un « IDE minimal et générique » (comme tu as eu raison de le souligner dans ta 1ère intervention, vim peut aussi lancer des compilations, et je n’avais jamais vu les choses sous cet angle). Qu’importe le langage, on pourra toujours réutiliser cette même recette. En soi c’est une bonne pratique, parfaitement adaptée à un environnement pédagogique (mon point n°0).

Ensuite chacun utilise l’éditeur de texte qu’il souhaite. Mon point n°1 était orienté dans ce sens… comme le démontre mon intervention dans le fil en lien.

Dans la vie professionnelle, on fait avec l’environnement… Pour ma part, j’ai toujours expliqué que le code était du plain text, que je le modifiait avec vim, tout en disant qu’il est possible d’utiliser nedit (dispo sur les Red Hat du taf) ou tout autre éditeur de texte. Seul un collègue utilisait emacs, d’une façon qui faisait envie, mais je n’ai jamais pris le temps de m’y intéresser.

Bref, je crois avoir répondu à la question de kripteks.

j’avoue ne pas comprendre pourquoi l’apprentissage d’emacs ou gedit apporte plus que vim???

Mes collègues informaticiens utilisent souvent eclipse, surtout pour les projets colaboratifs.
Je trouve qu’eclipse est un peu gros mais je ne désespère pas un jour de comprendre comment cela fonctionne.

Et puis en fin tu as pensé aux enfants d’ouganda, :mrgreen: c’est bien que l’on enseigne vim à l’école.

Je me sers principalement de Kate. Une liste de fichiers ouverts sur le côté, de la coloration syntaxique, la gestion de l’indentation, une autocomplétion minimale (en fonction de ce que tu as déjà tapé dans tes documents ouverts, hein, pas contextuelle), de la recherche/remplacement par regex, pas vraiment besoin de plus. Pour tout le reste j’ai ma console (Yakuake) que j’appelle d’une seule touche clavier (touche “bureau” sur le TypeMatrix, qui me génère un Méta+D) ou même la console intégrée à Kate (F4) pour certaines tâches.

D’ailleurs depuis quelque temps je suis obligé de bosser sous une variante de Netbeans pour du développement embarqué en C, bah je souffre. Une fois qu’on enlève tout le bordel inutile, il ne fait absolument rien de plus que Kate, mais il prend dix fois plus de temps pour le faire (rien que changer d’onglet peut être toute une aventure de plusieurs secondes). Beurk.

Pour ma part je bosse avec Sublime Text pour programmer, j’aime tellement que je me suis acheté une licence. :049

Sinon Vim quand j’ai besoin de toucher a des fichiers de conf!

Je bosse sous Debian (maison, serveurs), mais depuis peu dans l’entreprise où je suis, c’est windows (mais toujours avec Sublime Text) car malheureusement ils ont du migrer leurs logiciels de Linux à windows…