Débat sur IDE (Eclipse) vs Editeur de code (Vi, Emacs)

Eléphant du PHP | 291 Messages

15 janv. 2008, 14:22

Franchement même si ce que tu dis est une veritable évolution du marché, je ne vois pas pourquoi un bon développeur Java sous Eclipse dirigeant son équipe avec brio serait un mauvais codeur C système sous Vi/Emacs (prenez ce que vous voulez !)

On peut être meilleur dans un domaine, parce que ça ne fait pas appel pour moi aux même compétences... Je ne suis pas spécialement bon en C/Unix dans mon école à part dans ce qui fait appel à du réseau, mais j'arrive à gérer très vite des projets demandant un haut niveau d'abstraction dans d'autres langages ; au contraire, certains des camarades excellent en bas niveau et ont du mal avec le haut niveau.

Tout ça pour dire que, par définition, PHP est loin d'être du bas niveau, mais qu'on peut tout de même décider soi même de l'utiliser comme bon nous semble (plutot imperatif ou plutot OO), et que l'utilisation d'IDE adapté est loin d'être une abération.

ViPHP
ViPHP | 4674 Messages

15 janv. 2008, 16:55

Bonjour tout le monde :)

Je me permets d'intervenir car je pense avoir un autre point de vue.
A la fac, on apprend à utiliser des logiciels comme Eclipse pour programmer en Java. Déjà, Java n'est pas un langage si mauvais que tu l'affirmes Nagol. Même si « historiquement » il a des raisons d'être mauvais, il permet au moins un approche très précise et fine de l'objet. Si après on veut faire vraiment de l'objet de façon avancée, on se tourne plus vers du C++ ou Objective C. Mais Java reste quand même une belle initiative de la part de Sun. Je ne pense pas qu'il faille critiquer tout le travail qu'il y a derrière. Il mérite plus que ça.
Retournons sur Eclipse. Les gens de ma promo n'ont aucune base (pour la plupart), ou alors faible, en Informatique. Si on les met sur Vi directement, ils ne vont rien comprendre, et perdre du temps. L'apprentissage du langage et ces notions sont suffisamment compliquées et prenantes en temps. Commencer par Eclipse, c'est une très bonne chose. Ça leur permet d'apprendre à utiliser un logiciel répandu, mais également de se focaliser sur les problèmes que peut engendrer le langage. Le débuggage par exemple, est assez bien fait dans Eclipse (pour le peu que j'en ai fais — je ressortais mon Vi quand la prof avait le dos tourné ;-) —).
Je suis persuadé que les outils évolues avec l'apprentissage, avec le savoir que tu as emmagasiné. J'entends par là que pour un réel débutant, Dreamweaver convient parfaitement. Il fait plusieurs choses en même, il permet de faire un code (crade) facilement etc. C'est là que nous devons intervenir, c'est de lui montrer qu'il existe Nvu (développé par Daniel Glazman), qui est largement meilleur, gratuit et open-source, et qui est également très suffisant.
Les petites guéguerres de programmeurs sur les langages ne les concernent pas à leur niveau ! Ils sont en apprentissage, on leur fournit un outil adapté à leur niveau. Je ne dis pas par là qu'Eclipse est fait pour les attardés ! Comprenez moi bien. Il facilite le travail, et c'est ce que beaucoup de monde recherche pour diverses contraintes (l'argent étant la principale àmha).

Pourquoi je n'aime pas Eclipse ? Parce que je n'ai pas suffisamment la main. Il fait trop de chose à ma place et je n'aime pas ça. Je suis un maniaque de l'espace, de la virgule, et j'aligne même les signes égal sur plusieurs lignes. Impossible de faire ça automatiquement dans Eclipse.
J'aime Vi (Vim 7.0 en vrai) car il me permet de faire exactement ce que je veux. C'est un outil que je trouve confortable, avec lequel je travaille très vite. Il est vrai que les choses sont plus graphiques dans un IDE, je l'accorde. Mais comme ce n'est pas un point important pour moi, je tranche pour la rapidité et le paramétrage. Vi est illimité dans les configurations. Encore faut-il connaître son langage de script (ressemble un peu à du C ...).

Ce que j'essaye de dire (très maladroitement, je vous l'accorde :P) c'est qu'il faut un outil adapté à nos besoins. J'aime le paramétrage à outrance car je veux un travail archi niquel, je choisis donc le logiciel qui me permet de le faire. Je veux un logiciel très léger, et multi-plate forme, je choisis en conséquence etc.

Eclipse est un très beau projet, avec une grosse communauté autour.
Comme l'a fait remarqué très judicieusement Mère-Thérésa, il faut aussi voir l'aspect du travail en groupe. Je ne sais si Vim permet ça, je travaille seul. Mais on peut toujours travailler à travers un SVN ou des outils du genre. Mais si Eclipse permet de faire ça nativement, ce n'est pas un choix à exclure.

On ne peut pas être aussi catégorique. J'ai des amis qui ne peuvent pas développer sans Eclipse car ils ont besoin d'avoir des arborescences, des aides, un débuggeur en temps réel etc. Moi ça a tendance à m'agacer très rapidement. On est humain, chacun à des besoins différents. Alors ça ne sert à rien de débattre pendant des années sur un sujet qui revient très régulièrement.

Comme on l'a également précisé Nagol, nous venons tous d'horizons très vastes. Même si je ne suis encore qu'à la fac, j'ai déjà des expériences professionnels. On ne peut pas prendre les gens de hauts en disant qu'on a travaillé avec l'UNESCO, des Ministères etc. C'est assez irrespectueux je trouve. Comprends moi bien, je ne te fais pas la moral, j'explique seulement (et calmement). On ne peut pas juger sur ça. Je connais des gens qui ont travaillé sur d'énormes projets et qui sont des nailles en Informatique. C'est ce qu'on appelle l'auto-proclamation, et en Informatique c'est extrêmement courant (une partie est due à l'approche aisée de PHP par exemple — attention, je ne dis pas que c'est mal —). Ce que je veux dire par là, c'est que tes expériences t'ont apporté quelque chose, et c'est une très bonne chose. Mais ce n'est pas un argument valable pour affirmer ce que tu affirmes.
Je prendrais comme exemple des amis suisses (adultes hein, pas des étudiants ;-)) qui travaillent pour Nesquik. Ça peut paraître ingras comme travail et pourtant ce sont des tronches comme j'en ai jamais vu. Ils travailleraient pour le gouvernement, on aurait plus de grève (quoi que ... ^^).

J'espère que tu as compris que l'expérience ne signifie pas tout. Comme l'intelligence. On peut être très intelligent et être un connard fini comme par permis.
Et également que le choix de l'outils avec lequel on développe ne reflète en aucun le niveau du programmeur (dans certaines limites, on se comprend. L'utilisateur de Dreamweaver n'a pas le même niveau que l'utilisateur de Vi, ne serait-ce qu'au niveau du respect des normes et standards. Mais là encore, on doit nuancer). Un outil est là pour répondre à un besoin. On peut transformer cet outil pour l'adapter à nos besoins. Après c'est une affaire de goût et de besoins.

Je suis calme et je n'agresse personne, je donne juste mon point de vue :).
Modifié en dernier par Hywan le 16 janv. 2008, 02:16, modifié 2 fois.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 janv. 2008, 17:43

=D>

Rien d'autre à ajouter.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 4674 Messages

15 janv. 2008, 17:49

Merci :). En revanche, il y a une faute dans le titre : c'est Eclipse et pas Eclispe (je fais souvent la faute). Et on peut ajouter Vi à Emacs, parce que bon ... ma religion m'interdit d'utiliser Emacs, et de le voir comme ça, seul, ça me rend mal :s ;-).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

16 janv. 2008, 10:46

C'est moi qui ai fait le titre, et je mets Emacs, parce que j'aime pas Vi :) voilà tout.
Mais bon, c'était pour situer le sujet.
Je vais changer un peu pour qu'on comprenne mieux...

Merci de ton intervention, très pertinente et maintenant que le débat est lancé, voilà ce que j'aimerais répondre.
A la fac, on apprend à utiliser des logiciels comme Eclipse pour programmer en Java.
Déjà, c'est faux. Je suis aussi passée par la fac, et j'ai appris à utiliser Emacs, sous une Debian, pour faire du PHP. Comme quoi, il ne faut pas généraliser.
Commencer par Eclipse, c'est une très bonne chose. Ça leur permet d'apprendre à utiliser un logiciel répandu, mais également de se focaliser sur les problèmes que peut engendrer le langage.
Là je suis à moitié d'accord : oui, pour Java, c'est une bonne chose de se focaliser sur le langage. Pour des langages comme PHP, le logiciel est plus dur à prendre en main que le langage :)
Pourquoi je n'aime pas Eclipse ? Parce que je n'ai pas suffisamment la main. Il fait trop de chose à ma place et je n'aime pas ça. Je suis un maniaque de l'espace, de la virgule, et j'aligne même les signes égal sur plusieurs lignes. Impossible de faire ça automatiquement dans Eclipse.
Cette fonctionnalité là n'est pas disponible, mais rappelons qu'Eclipse reste entièrement paramétrable et qu'on peut ajouter des fonctionnalités grâce au système de plugins.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
ViPHP | 3300 Messages

16 janv. 2008, 11:28

Bonjour tout le monde :)
Comme on l'a également précisé Nagol, nous venons tous d'horizons très vastes. Même si je ne suis encore qu'à la fac, j'ai déjà des expériences professionnels. On ne peut pas prendre les gens de hauts en disant qu'on a travaillé avec l'UNESCO, des Ministères etc. C'est assez irrespectueux je trouve. Comprends moi bien, je ne te fais pas la moral, j'explique seulement (et calmement). On ne peut pas juger sur ça.
A remettre dans le contexte quand même: on me dit "tu es qui toi d'abord pour parler comme ça tu dois avoir de "drôles" d'expérience", me semble naturel de préciser un peu la chose, maintenant j'ai pas pour habitude d'écraser mes interlocuteurs sous le poids de mes énumérations d'expérience hein :)

Je suis un peu déçu d'ailleurs que l'on ne comprenne pas ce que j'ai voulu dire. J'ai parlé d'évolution globale de l'informatique et on me répond qu'un outil est valable du moment qu'il nous convient?
On parle pas du tout de la même chose la, chcun est libre de ses choix, en revanche plus les gens seront à l'intention de savoir qu'ils existent ("aware" en anglais) dans un contexte global et que leur choix ont une influence sur l'avenir si minime soit-elle, plus on aura de chances de ne pas tomber dans la médiocrité.

Si vous voulez voir un film je vous conseille idiocracy, sous un aspect relativement commercial se cache un trésor de subversité qui étaye entièrement mon propos.

Bon sinon petite note, rappelez-vous que discuter et disputer sont étymologiquement le même mot, je reste constructif même si j'énerve faites de même :)
Fait du php depuis que ca existe ou presque :)

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

16 janv. 2008, 13:01

Le problème à mon avis n'est pas que ce que tu dis "énerve", c'est que tu sembles mener une guerre idéologique et afficher tes convictions comme si elles étaient une sorte de vérité universelle. Par exemple, je doute que beaucoup de gens comprennent quelque chose comme
C'est notre tâche que de comprendre et d'apprendre les choses complexes pour préserver l'intégrité de notre démarche
Pour moi c'est un peu comme dire que l'ASM* c'est mieux que PHP parce qu'on peut vraiment décaler ses bits. Pour faire un parallèle, c'est comme affirmer qu'un informaticien n'a pas le droit de faire "apt-get" et doit tout compiler à la main (attention, emerger c'est tricher). Mais en y réfléchissant, le temps qu'il a passé à recompiler, il aurait pu le passer à faire progresser l'informatique à la place.

Avoir des convictions, une idéologie, c'est utile si cela sert un but, mais lorsque l'idéologie devient le but, rien de bon ne peut en résulter, les décisions deviennent arbitraires parce qu'elles sont déconnectées de la réalité. Au fond, on s'en fiche que quelqu'un clique sur un bouton plutôt que de taper des lignes de commandes à rallonge si le résultat est le même. Peut-être que ça lui donnera plus de temps pour travailler sur son application.

À part ça, j'ai vu Idiocracy une fois ou deux, mais à part si quelqu'un s'est fait kicker dans les noix, j'ai du mal à faire le parallèle :-k Les gens qui utilisent des IDE n'ont pas décidé d'arrêter de réfléchir, ils ont décidé de réfléchir à des choses qui leur paraissent plus utiles.


* sur RISC, pour bien comprendre comment on extrait une racine carré avec OR/AND/NOT

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 janv. 2008, 13:14

A remettre dans le contexte quand même: on me dit "tu es qui toi d'abord pour parler comme ça tu dois avoir de "drôles" d'expérience",
Je dois admettre que la formulation était malheureuse, et ressemblait plus à une accusation. C'est pour ça que je l'ai changée dans le message, afin de coller à mon interrogation qui était plutôt : "dans quel contexte travailles-tu pour qu'un simple éditeur de texte puisse remplacer au pied levé moult outils collaboratifs."

Le message d'Hubert Roksor décrit très bien ce que je pense.

Et je suis d'accord pour dire qu'il vaut mieux commencer par coder à la main, et utiliser les outils disponibles petit à petit, lorsque le besoin survient et qu'on sait bien les utiliser, qu'on peut s'en passer en cas de problème.

C'est finalement la même chose que ce que nous avons toujours dit sur Dreamweaver : commencez par le Notepad, Dream pourra vous aider par la suite à condition que vous compreniez et sachiez retoucher le HTML généré.

ViPHP
ViPHP | 3300 Messages

16 janv. 2008, 14:14

C'est finalement la même chose que ce que nous avons toujours dit sur Dreamweaver : commencez par le Notepad, Dream pourra vous aider par la suite à condition que vous compreniez et sachiez retoucher le HTML généré.
Tout à fait, pour continuer sur l'exemple de dreamweaver c'est un outil qui peut être bon (personnellement je ne l'utilise pas mais peu importe) pour faire des maquettes etc mon message consistait à faire remarquer que malheureusement certains codeurs (y compris des professionnels) ne cherchent pas à connaitre le html en se contentant d'utiliser des outils wysiwyg, et je trouve ca dommage dans une optique de vision de l'évolution de la qualité moyenne des développeurs. L'idée est pas évidente à formuler mais c'est aussi précisément que possible l'idée que je voulais faire passer.

Après pour Java je suis aussi un peu inquiet de voir ça et la des Java addicts ne jurant que par Java parceque pour moi les langages tout intégré représente un danger. PHP 'est pas sans défaut (il en a même pleins) mais il a le mérite de représenter une sorte de synthèse des langages de programmation bas niveau, en fait j'irais même plus loin en disant que PHP est pédagogiquement intéressant pour apprendre un certains nombre de langages, le premier étant le C.
Fait du php depuis que ca existe ou presque :)

Eléphant du PHP | 217 Messages

16 janv. 2008, 14:53

Après avoir lu les intervention sur le thread, je trouve que la citation de Larry Wall(inventeur du langage Perl) en fait bien la synthèse :D
Les 3 principales qualités du programmeur sont la paresse, l'impatience et l'orgueil.(Camel book)

Eléphant du PHP | 291 Messages

16 janv. 2008, 14:59

PHP utile pour apprendre le C ???
C'est diametralement complètement opposé !!! À part la syntaxe, rien ne rejoins les 2 !!!

Typage, Gestion de la mémoire, objets, exceptions... ce qui est présent dans l'un est absent (ou très peu présent) dans l'autre....

ViPHP
ViPHP | 3300 Messages

16 janv. 2008, 15:42

PHP utile pour apprendre le C ???
C'est diametralement complètement opposé !!! À part la syntaxe, rien ne rejoins les 2 !!!
Ben justement :)
imagine apprendre le c après java c'est pas la même histoire, et puis aussi n'oublie pas que php est un langage procédural pas objet. N'oublies pas non plus que tu peux en C faire de l'objet (ok pas exactement de l'objet mais à peu prés). Enfin n'oublies pas que même si le typage en php est automatique il n'en reste pas moins présent et accessible au codeur (celui qui s'en soucie).
Fait du php depuis que ca existe ou presque :)

Eléphant du PHP | 291 Messages

16 janv. 2008, 15:56

Je ne te suis pas... si tu es d'accord avec moi, il n'y aucune raison de faire apprendre PHP avant le C, en espérant un enchaînement logique...

à la limite, apprendre le C puis PHP, mais l'inverse, j'imagine tres mal un bon code C à la fin... des casts de partout, de la gestion aléatoire de la mémoire...

Mais comme on parle de pédagogie, c'est vrai que ça dépend aussi énormément de tout ce qu'il y a autour (les élèves, le professeur, les autres cours, l'approche...)

ViPHP
ViPHP | 3300 Messages

16 janv. 2008, 16:02

je crois quand même que ca peut etre intéressant comme base en faisant évoluer l'apprentissage du php vers l'apprentissage du C.

Les aspects compliqués et difficiles à cerner dans le C sont absent de php comme on l'a dit donc ca laisse de grandes facilités d'apprentissage des structures de langages: test, boucles, variables, constantes etc. Trés honnêtement je suis quasi sur que ca peut être une approche intéressante pour une formation ou un cours en mode estudiantin (cad annuel), peut être + la deuxième option quand même parceque apprendre en 3/4 jours php c'est pas réellement possible...alors le C :)

Ceci dis je suis bien d'accord que coder du C comme on code du php ca ne donnerait pas grand chose de bon :)
Fait du php depuis que ca existe ou presque :)

ViPHP
ViPHP | 5924 Messages

16 janv. 2008, 16:26

Personnellement j'aurais tendance à préférer, de loin, un bon vieux éditeur de texte tout con plutôt qu'un machin comme Eclipse.

Un programmeur n'est pas là pour que le logiciel lui fasse le code à sa place, sinon, on ne l'appelle pas développeur mais utilisateur. Les utilisateurs ne comprennent rien aux ordinateurs, s'ils ont besoin des informaticiens, c'est pour que ces derniers fassent en sorte que l'ordinateur les comprennent un peu mieux.

Mais si jamais le développeur devient un bête utilisateur, il n'y a plus personne pour réfléchir à la manière dont le système réagira. C'est à dire qu'un logiciel qui fait tout à la place du développeur (déjà on n'a plus besoin de développeurs avec ça, vu que le logiciel fait tout :D ) ne fera jamais aussi bien que le développeur compétent, lequel aura fait en sorte d'optimiser le code, et maîtrisera beaucoup mieux le comportement de son programme.

En l'occurence, ce que je haïs particulièrement dans Eclipse (en java, je ne l'utilise pas pour php), ce sont les générations automatiques des classes, des méthodes d'accès aux membres privés, les quick fixes qui font croire que tu ne feras jamais d'erreur puisque c'est le logiciel qui te corrigera tout. Ce sont des fonctionnalités débilisantes. Ca n'a jamais tué personne de tapper soit même les noms des fonctions, la déclaration de la classe, et ça déresponsabilise complètement le développeur. S'il n'y a plus Eclipse pour nous générer les exceptions, est ce qu'on va savoir le faire ? Et c'est quoi ce code automatiquement généré, sont-ce des règles de codage. Je ne vois pas pourquoi un accesseur doit avoir le nom ou la forme décrétés par les développeurs d'Eclipse.

Donc, amhapeqntqmmsjsqvatpqdtfjrpqblfpnppmdlo* , un bon éditeur ce serait :
-Un éditeur de texte avec coloration (dans le genre smultron ou gedit), parce que la coloration c'est très utile mais pas superflu.
-Ou bien alors pour du C par exemple, un truc comme XCode, qui intègre les outils nécessaires et pas de superflu. Par exemple, c'est sympa dans un IDE d'avoir une interface graphique pour débugguer, ou bien alors une gestion de projet, mais la génération du code dans Eclipse, c'est complètement bidon.
-Mais il ne faut pas dénigrer des outils en terminal. Par exemple, il faut encore savoir développer (par exemple quand je me connecte en ssh sur 1and1) avec nano & cie (et pour du compilé appeler son gcc, son gdb, ou bien son javac, etc…), ou bien gérer le versionning directement avec SVN, faire ses makefile soit même…

* : À Mon Humble Avis Personnel Et Qui Ne Tient Qu'à Moi Même Si Je Sais Que Vous Avez Tort Parce Que De Toute Façon J'ai Raison Parce Que Bon Là Faut Pas Non Plus Pousser Mémé Dans Les Orties