Un programmeur inexpérimenté a-t-il besoin d'un IDE? [fermé]

12

La lecture de cette autre question me fait me demander si je (en tant que programmeur PHP absolu débutant) dois rester avec WAMP et Notepad ++ ou passer à un IDE comme Eclipse.

Il est compréhensible que les développeurs qualifiés bénéficient d'un grand IDE brillant. Mais pourquoi un débutant absolu devrait-il utiliser un IDE? Les avantages l'emportent-ils sur le défi supplémentaire d'apprendre l'IDE en plus d'apprendre à se développer?

Mise à jour pour clarification:

Mon objectif est d'acquérir une expérience de programmation de base. En choisissant PHP et WAMP (et FogBugz et Kiln), j'espère éviter d'avoir à naviguer dans les spécificités du système d'exploitation difficiles / désordonnées, à compiler, etc. et à me concentrer uniquement sur les fonctionnalités de base comme un formulaire d'inscription d'utilisateur en ligne.

J'ai une bonne compréhension théorique de l'université il y a dix ans, mais aucune expérience pratique. Je veux y remédier avec un projet de loisir qui serait similaire à une application Web vendable dans le monde réel.

Il y a tellement de questions à poser. Tant de pièges dans lesquels je dois probablement me tromper. Cette question n'est qu'une pièce (la première!) De ce puzzle.

Torben Gundtofte-Bruun
la source
Cela dépend de ce que vous entendez par IDE ... Notepad ++ peut être utilisé comme IDE rudimentaire.
Odé le
10
Oui! Non! Je ne sais pas .. Allez avec ce qui vous convient!
Ben
1
la situation avec un éditeur simple est la référence - l'expérience commune à tous les programmeurs. Tout l'outillage en plus est juste cela - l'outillage en plus - donc vous devriez commencer à apprendre les bases pour apprécier ce que l'IDE peut vous aider.
J'ai couru un petit écran sur programmers.stacexchange.com. L'utilisation du mot «dépend» ou «dépendant» semble augmenter le nombre probable de votes tandis que les personnes répondant avec des phrases commençant par «je voudrais ...» ou commençant par «oui» ou «non» ont tendance à être rejetées. Astuce pour rédiger des articles: vous n'avez pas d'opinion claire sur quoi que ce soit.
Jason Sebring

Réponses:

21

Selon le type de programme que vous essayez de créer, un IDE peut rendre le processus entier, en particulier la construction et le déploiement, beaucoup plus facile. C'est particulièrement le cas lorsque vous utilisez des frameworks relativement complexes.

D'un autre côté, tout faire à la main améliore considérablement la compréhension de ce qui se passe sous le capot. Pour cette raison, créer quelques petits programmes "à la dure" est un bon exercice pour un noob.

user281377
la source
16

Un n00b doit-il utiliser un IDE? Cela dépend de votre objectif en tant que n00b. Voici quelques objectifs immédiats possibles:

1) Il suffit de commencer à apprendre un langage de programmation / quelque chose sur la programmation (introduction légère)

2) Devenez un maître et comprenez comment tout fonctionne (introduction aux poids lourds)

Pour 1), utilisez un IDE . Utiliser un bon IDE vous facilitera la vie. Pas plus dur. Apprendre à utiliser un IDE est rarement si difficile après l'avoir installé. Ensuite, pour compiler et exécuter votre programme, vous n'aurez qu'à cliquer sur un bouton "exécuter" ou quelque chose comme ça. Le débogage sera également plus facile ... cliquez simplement sur un bouton de débogage.

Pour 2), n'utilisez pas d'IDE (au début). Si vous voulez tout comprendre parfaitement, l'utilisation d'un débogueur et d'un compilateur en ligne de commande vous donnera plus d'informations sur le fonctionnement de tout. Ce sera plus difficile et pourrait être décourageant au début.

Casey Patton
la source
Comment l'utilisation d'un IDE ne vous permettrait-elle pas de mieux comprendre comment tout fonctionne? Vous manqueriez des options de ligne de commande du compilateur et des commandes de débogueur, mais ce sont les deux choses que vous pouvez apprendre plus tard dans une explication d'une page. Les Makefiles ne sont pas beaucoup plus difficiles non plus. Je ne peux pas penser à autre chose qui ne soit pas anodin.
Rei Miyasaka
3
Je ne dis pas qu'il y a une différence de jour comme de nuit, mais je ne classerais certainement pas les Makefiles et tout cela comme "triviaux" pour un nouveau développeur. Je ne dis pas non plus que vous allez être complètement inconscient si vous commencez avec un IDE. Je dis seulement que commencer par la ligne de commande vous donne une meilleure idée de la façon dont les choses fonctionnent.
Casey Patton
Eh bien, je veux dire, les Makefiles sont assez triviaux plus tard une fois que vous comprenez que la création de programmes implique généralement plusieurs étapes et beaucoup de fichiers - que les IDE vous apprendront de toute façon.
Rei Miyasaka
3
@ReiMiyasaka, les IDE vous l'enseignent-ils en cours de route? Mon impression est que de nombreux codeurs n'ont jamais compris ce qui se passe entre la saisie de code dans l'IDE et la production de code exécutable.
Winston Ewert
@ Winston Oui, ils le font. Il n'y a aucun moyen de ne pas remarquer qu'il se passe quelque chose qui rassemble des dizaines de fichiers de code et de bibliothèques. Apprendre le format exact des données qui décrivent les interactions est utile, mais encore une fois, c'est quelque chose qui peut être appris en quelques heures une fois qu'il est déjà compris que quelque chose se passe effectivement. Avez-vous déjà essayé d'enseigner des listes chaînées sans expliquer à quoi elles servent? Les listes liées ont beaucoup plus de sens pour les gens une fois qu'ils ont une raison de devoir en connaître les détails. Même chose avec les makefiles et les paramètres du compilateur et tout ça.
Rei Miyasaka
5

En tant que personne essayant d'apprendre une nouvelle langue sur un petit projet de loisir, je dirais que je m'en tiens à un éditeur de texte avec mise en évidence de la syntaxe.

Lorsque vous débutez, vous allez faire des erreurs. Vous oublierez un point-virgule quelque part ou mal orthographier un nom de variable. Sans et IDE, vous devrez vous concentrer uniquement sur la langue et la façon dont vous l'avez écrite. C'est un apprentissage précieux.

Un gros IDE brillant essaiera de vous faire gagner du temps en essayant d'attraper ces erreurs, ce qui vous prive de votre apprentissage. De plus, comme d'autres l'ont dit, l'apprentissage de l'EDI entraînera également une surcharge de votre apprentissage. Imaginez que l'IDE suggère quelque chose, vous vous demanderez pourquoi il fait la suggestion, ou même si c'est la bonne chose. Cela ne fera qu'ajouter de la confusion.

J'aime commencer une nouvelle langue avec juste l'éditeur de texte, puis je regarde tous les plug-ins Eclipse une fois que je suis assez confiant.

joatis
la source
4

le défi supplémentaire d'apprendre l'IDE

Vous voulez dire, la partie où l'IDE fait la plupart du travail pour vous?

Maintenant, je n'ai jamais utilisé d'IDE PHP, mais en supposant qu'ils fonctionnent de manière similaire à d'autres types d'IDE, ils vous font économiser énormément de travail. Le travail impliqué dans l'apprentissage de l'IDE sera trivial par rapport aux fonctionnalités que l'IDE vous évite d'avoir à faire vous-même. Des choses comme l'achèvement de code et la mise en évidence de la syntaxe sont des outils incroyablement utiles et complètement irremplaçables.

Quiconque code professionnellement le fait à l'aide d'outils tels que les IDE et pour une bonne raison.

DeadMG
la source
2
Je travaille avec PHP professionnellement et je n'utilise pas d'IDE, j'utilise Vim!
Gary Willoughby
1
@Gary VIM est un IDE.
plié
2
Non, c'est un éditeur. Définition d'un IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim n'est pas cela.
Gary Willoughby
1
Je suis à peu près sûr que Vim est livré avec des choses comme l'achèvement de code, ou peut être ajouté pour le faire, ce qui en fait à peu près un IDE à cet effet.
DeadMG
3
Il y a une grande différence entre VIM et un IDE. VIM ne cache pas les détails de ce qui se passe comme le fait un IDE. De nombreux avantages d'un IDE sont disponibles dans VIM. Mais appeler VIM un IDE n'est tout simplement pas correct.
Winston Ewert du
4

Je pense qu'un développeur PHP inexpérimenté serait beaucoup plus productif avec un IDE.

La question devrait être: les développeurs PHP expérimentés devraient-ils avoir besoin d'un IDE?

Gary Willoughby
la source
2
c'est en fait ce que je pensais que cela signifiait d'avoir mal
lu
4

En règle générale, je choisis comme ceci:

  • S'il s'agit d'une petite application avec peu de fichiers, respectez la ligne de commande.
  • S'il s'agit d'une grande application avec de nombreux fichiers, utilisez un IDE, car vous basculerez constamment entre les fichiers et pourrez bénéficier de la navigation rapide et des fonctionnalités de présentation (en particulier les langages orientés objet).

Apprenez à utiliser les deux le cas échéant. Commencez avec la ligne de commande.

David
la source
3

il y a quelques choses qui aideront n'importe quel programmeur dans n'importe quelle langue, quel que soit le niveau de compétence:

  1. mise en évidence de la syntaxe et mise en correspondance des accolades

  2. vérification de la syntaxe lors de la frappe (très pratique pour éviter la douzaine d'erreurs provenant toutes d'une seule ;accolade oubliée ou inadaptée)

  3. navigation aisée dans la documentation (mais cela n'a pas besoin d'être dans l'IDE lui-même),

    • les principales bibliothèques de toutes les langues auront une documentation en ligne à laquelle vous pourrez accéder dans votre navigateur,
    • mais la documentation interne (du projet sur lequel vous travaillez) ne le sera que si vous la mettez explicitement à disposition
  4. formatage automatique au seul style d'accolade vrai et espacement correct (vous passez donc moins de temps à appliquer ces règles) (encore une fois, cela peut être fait avec un outil extérieur)

seuls 1 et 2 doivent être dans l'IDE / l'éditeur

monstre à cliquet
la source
3

J'utilise toujours un IDE (Eclipse) et je le recommanderais même pour un débutant. Principaux avantages si vous débutez:

  • Commentaires instantanés sur le mauvais code (par exemple, erreurs de syntaxe dans le code)
  • Prend soin de mettre en place des projets à l'aide de conventions standard afin que vous n'ayez pas à vous soucier de la configuration / des spécificités du système d'exploitation, etc.
  • Peut souvent générer des exemples de code sur lesquels vous pouvez vous baser et apprendre
  • Vous évite d'avoir à vous souvenir de tout un ensemble d'options et d'invocations en ligne de commande obscures pour que vous puissiez vous concentrer sur le code.

Cependant, bien que je pense que vous devriez utiliser un IDE en général, je pense qu'il vaut la peine de faire au moins une ou deux exécutions manuelles de votre code sur la ligne de commande. C'est pour que vous compreniez ce qui se passe sous le capot. Cette compréhension vous aidera si vous devez déboguer des problèmes ultérieurement.

mikera
la source
1

L'autre question non posée: un programmeur PHP expérimenté a-t-il besoin d'un IDE?

Un IDE vous aide à automatiser le processus de construction - mais avec PHP, il n'y a pas de processus de construction. La mise en évidence de la syntaxe est une fonctionnalité très intéressante, mais vous n'avez pas besoin d'un IDE complet pour cela, de nombreux éditeurs de texte légers fournissent la mise en surbrillance.

Je fais mon travail PHP dans NetBeans, mais c'est uniquement parce que j'ai l'habitude de NetBeans. Je parie que je pourrais le faire aussi bien dans n'importe quel nombre d'éditeurs de texte.

Mike Baranczak
la source
1

Si vous vous attendez raisonnablement à ce que vous écriviez principalement du code au cours de votre vie, ou en enfer, même si ce n'est pas le cas - vous devriez obtenir un éditeur / IDE extensible et commencer à l'apprendre. Si vous ne pouvez pas vous permettre quoi que ce soit, allez avec Notepad ++ ou similaire - quelque chose qui vous permettra de commencer votre tâche de toute une vie de décider «comment j'aime mes raccourcis clavier» et d'apprendre les classiques.

Vos IDE d'outillage, comme je les appelle - Visual Studio, Eclipse, What-have-you, vont et viennent et évoluent, devenant souvent trop volumineux et non réactifs pour être utilisés lorsque vous voulez simplement laisser échapper du code ou masser / refactoriser de certaines façons.

Ainsi, vous avez votre éditeur "maison", celui qui vous accompagne toute votre vie, que vous aimez plus que votre copine.

Vous arriverez au point où il sera parfaitement naturel et productif de travailler sur quelque chose en utilisant à la fois votre IDE d'outillage et votre IDE de maison, en tirant parti du meilleur des deux mondes.

Mon IDE maison est SlickEdit, que j'ai utilisé et étendu au cours des 10 dernières années, en ce temps j'ai écrit plus de 120 modules de macro et j'ai plus de 1000 raccourcis clavier.

Je me souviens de tous? Non, probablement environ la moitié à un moment donné, peut-être 60%, mais les autres sont destinés à des tâches spécialisées, que je finis par rechercher à la demande.

Rappelez-vous, la vie est courte, et si vous faites le calcul sur n'importe quel grand projet, vous verrez que même si des extraterrestres bienveillants dictent télépathiquement un code parfait dans votre tête pour que vous tapiez 8 heures par jour - il faudrait encore MOIS pour écrire quelque chose de grand (sans éditeur intelligent, macros, modèles, etc.).

C'est pourquoi. Planifiez à long terme, ouvrez la voie vers l'avenir de temps en temps.

En fait, très souvent. Même si cela vous coûte maintenant.

marque
la source
1

Je ne peux que partager ma propre expérience, ainsi que quelques informations sur la façon dont cela affecte un développeur.

Tout d'abord, je dirai que j'aime travailler dans les deux types d'environnements. Que j'utilise Vim et un makefile avec GCC ou QtCreator / Visual Studio avec leurs environnements et compilateurs respectifs dépend uniquement du projet lui-même et de l'échelle de l'application.

Pour apprendre, j'utiliserai occasionnellement Vim simplement parce que je déteste ne pas savoir comment les choses fonctionnent et simplement partir et écrire quelque chose par ignorance. Lorsque j'ai appris à coder pour la première fois, je l'ai fait via C # et Visual Studio. Cela m'a appris les bases. Après un certain temps, cependant, j'ai décidé de prendre sur moi d'apprendre à utiliser Makefiles et un éditeur de texte décent.

Rei Miyasaka a déclaré dans un commentaire que n'importe qui peut apprendre à utiliser un Makefile en quelques heures avec rien de plus qu'une page d'informations. Je suis tout à fait en désaccord avec cela, surtout pour quelqu'un de nouveau. Cela peut prendre quelques jours (du moins, dans mon cas, cela a été le cas). Il convient également de noter que la plupart de la documentation sur les Makefiles s'étend sur des centaines de pages, et bien que vous puissiez obtenir une bonne introduction sur une seule page, savoir vraiment comment les utiliser prend beaucoup plus de temps et de lecture.

À mon avis, si vous êtes assez ambitieux et que vous venez de commencer à apprendre, lancez une distribution Linux (peu importe laquelle tant qu'elle a un bon gestionnaire de paquets et est relativement stable - je recommande Linux Mint ou même Debian lui-même) et apprenez C. Commencez avec un éditeur de texte (mise en évidence de la syntaxe, auto-indentation et prise en charge des numéros de ligne sont indispensables - tout le reste est purement préféré), en apprenant simplement comment appeler le compilateur via CLI. Une fois que vous avez obtenu au point où vous apprenez passé comment coder en utilisant un seul fichier source par projet est lorsque vous alorscommencer à apprendre à écrire un Makefile. Valgrind mérite également d'être repris (si vous écrivez en C / C ++, je ne sais pas s'il prend en charge d'autres langages de programmation). Après quelques mois de codage dans cet environnement, alors que vous entreprenez des projets plus importants, apprenez un IDE (de préférence quelque chose de FL / OSS) et vous devriez être prêt à partir.

La raison pour laquelle je suggère cela est que l'utilisation d'un IDE limite considérablement un programmeur lorsqu'il est en train d'apprendre. L'autocomplétion et la gestion de projet / build sont très bien, mais si vous n'avez aucune idée de la façon dont cela fonctionne sous le capot, vous allez être sévèrement limité en termes de débogage et / ou de comprendre pourquoi votre application n'est pas fonctionne correctement, surtout si c'est simplement à cause d'un paramètre de compilation ou de compilation incorrect spécifié par vous ou l'IDE lui-même.

À votre santé.

à propos de blanc
la source
-1

L'utilisation d'un IDE vous facilitera la vie. PHP a surtout beaucoup de fonctions incohérentes que la saisie semi-automatique dans les IDE peut aider beaucoup. De plus, avoir un débogueur dans votre IDE est vraiment inestimable ...

Il y a quelque chose de bien dans la simplicité de travailler avec des fichiers bruts dans un éditeur de texte, mais si vous cherchez à savoir ce que c'est que de produire une vraie application web, apprendre à utiliser les fonctionnalités d'un IDE sera une aide considérable dans le long terme.

Bunglestink
la source
-1

Dans mes cours d'informatique, nous n'avons pas commencé avec un IDE. C'est quelque chose que nous avons fait APRÈS avoir compris ce que nous faisions.

Les IDE ont tendance à s'abstraire trop pour les débutants et finissent par produire des imbéciles instruits. Au début, il est essentiel que vous compreniez bien ou que vous finissiez par penser uniquement dans l'IDE et que vous ne puissiez pas comprendre les choses de base sans lui. Vous serez également limité à ce que l'IDE peut faire. Certains IDE sont carrément malveillants en ayant de telles abstractions et en ayant leur propre paradigme que cela rend les gens plus stupides en l'utilisant. Cas dans les formulaires Web ponctuels pour ASP.NET.

Il y a quelque chose à dire pour démarrer soi-même.

Jason Sebring
la source
-4

Voici mon point de vue à ce sujet:

  1. Les débutants sont les seules personnes qui ont besoin d'IDE. C'est à cause du débogage - les débutants peuvent toujours avoir des problèmes pour comprendre comment fonctionne l'exécution du programme, et parcourir le code peut aider à cela.
  2. Les programmeurs Mediogre peuvent accélérer leur processus de programmation car les IDE fournissent des fonctionnalités qui vous permettent de naviguer plus facilement dans les grands référentiels source et de trouver où chaque symbole se trouve dans le code source. Ils n'ont plus besoin d' ide, mais cela facilite parfois la vie.
  3. Les programmeurs avancés n'ont pas besoin d'IDE. Ils l'ont fait suffisamment longtemps pour que l'interface utilisateur d'IDE soit trop lente pour eux - appuyer sur une touche et attendre la réponse prend trop de temps - une réponse instantanée est requise afin de ne pas perdre de temps. La navigation dans le code source n'est pas la priorité principale, car ils peuvent se rappeler où se trouve chaque morceau de code - ils ont lu tout le code avant de modifier quoi que ce soit.
tp1
la source
1
Je voterais si je le pouvais. Lorsque vous travaillez avec de grands projets, il n'est pas possible de tout garder dans votre tête. Vous n'avez pas nécessairement besoin d'utiliser une idée, mais avoir un ou plusieurs outils pour cela est un must.
Bwmat
@Bwmat, vous pouvez désormais
downvote