Benötigt ein unerfahrener Programmierer eine IDE? [geschlossen]


12

Lesen Sie diese andere Frage macht mich fragen , ob ich (als absoluten PHP - Programmierer Anfänger) mit WAMP und Notepad - Stick sollte ++ oder zu einer IDE wie Eclipse zu wechseln.

Es ist verständlich, dass erfahrene Entwickler von einer großen, glänzenden IDE profitieren werden. Aber warum sollte ein absoluter Anfänger eine IDE verwenden? Übersteigen die Vorteile die zusätzliche Herausforderung, die IDE zu erlernen, zusätzlich zum Lernen, sich zu entwickeln?

Update zur Klarstellung:

Mein Ziel ist es, grundlegende Programmiererfahrungen zu sammeln. Durch die Auswahl von PHP und WAMP (und FogBugz und Kiln) hoffe ich, dass ich nicht in den kniffligen / chaotischen Betriebssystemspezifikationen und Kompilierungen usw. navigieren muss und mich nur auf grundlegende Funktionen wie ein Online-Benutzerregistrierungsformular konzentrieren muss.

Ich habe vor einem Jahrzehnt viel theoretisches Verständnis von der Universität, aber keine praktische Erfahrung. Abhilfe will ich mit einem Hobby-Projekt schaffen, das einer real verkaufbaren Web-App ähnelt.

Es gibt so viele Fragen zu stellen. So viele Fallen ich wohl haben , um in pfuschen. Diese Frage ist nur ein Teil (meine erste!) Dieses Puzzles.


Hängt davon ab, was Sie mit IDE meinen ... Notepad ++ kann als rudimentäre IDE verwendet werden.
Oded

10
Ja! Nein! Ich weiß nicht .. Mach mit, was für dich richtig ist!
Ben

1
Die Situation mit einem einfachen Editor ist die Basis - die Erfahrung, die alle Programmierer gemeinsam haben. Darüber hinaus ist alles Werkzeug nur das - Werkzeug darüber hinaus -, und Sie sollten sich mit den Grundlagen vertraut machen, um zu verstehen, bei welchen Aufgaben die IDE Ihnen helfen kann.

Auf programmers.stacexchange.com habe ich ein wenig Bildschirmarbeit geleistet. Die Verwendung des Wortes "abhängig" oder "abhängig" scheint die Wahrscheinlichkeit zu erhöhen, dass Stimmen abgelehnt werden, während Personen, die mit Sätzen antworten, die mit "Ich würde ..." oder mit "Ja" oder "Nein" beginnen, eher abgelehnt werden. Tipp zum Schreiben von Beiträgen: Haben Sie zu nichts eine klare Meinung.
Jason Sebring

Antworten:


21

Je nachdem, welche Art von Programm Sie erstellen möchten, kann eine IDE den gesamten Prozess, insbesondere das Erstellen und Bereitstellen, erheblich vereinfachen. Dies ist insbesondere dann der Fall, wenn Sie relativ komplexe Frameworks verwenden.

Auf der anderen Seite verbessert es das Verständnis, was unter der Haube passiert, wenn Sie alles von Hand machen. Aus diesem Grund ist es für einen Anfänger eine gute Übung, ein paar kleine Programme "auf die harte Tour" zu erstellen.


16

Sollte ein n00b eine IDE verwenden? Dies hängt davon ab, was Ihr Ziel als n00b ist. Hier sind einige mögliche unmittelbare Ziele:

1) Fangen Sie einfach an, etwas Programmiersprache / etwas über das Programmieren zu lernen (kleine Einführung)

2) Werde ein Meister und verstehe, wie alles funktioniert (Schwergewichtseinführung)

Verwenden Sie für 1) eine IDE . Die Verwendung einer guten IDE erleichtert Ihnen das Leben. Nicht schwerer. Das Erlernen der Verwendung einer IDE ist nach der Installation selten so schwierig. Zum Kompilieren und Ausführen Ihres Programms klicken Sie einfach auf die Schaltfläche "Ausführen". Das Debuggen wird auch einfacher. Klicken Sie einfach auf eine Debug-Schaltfläche.

Verwenden Sie für 2) (zunächst) keine IDE . Wenn Sie alles perfekt verstehen möchten, erhalten Sie mit einem Befehlszeilendebugger und einem Compiler einen besseren Einblick in die Funktionsweise. Dies wird schwieriger und könnte zunächst entmutigend sein.


Wie würde Ihnen die Verwendung einer IDE ein besseres Verständnis dafür vermitteln, wie alles funktioniert? Sie würden Compiler-Befehlszeilenoptionen und Debugger-Befehle verpassen, aber beides können Sie später in einer einseitigen Erklärung lernen. Makefiles sind auch nicht viel schwieriger. Mir fällt sonst nichts ein, was nicht trivial ist.
Rei Miyasaka

3
Ich sage nicht, dass es Tag und Nacht Unterschiede gibt, aber ich würde Makefiles und all das auf keinen Fall als "trivial" für einen neuen Entwickler einstufen. Ich sage auch nicht, dass Sie völlig vergessen werden, wenn Sie mit einer IDE beginnen. Ich sage nur, dass Sie, wenn Sie mit der Befehlszeile beginnen, eine bessere Vorstellung davon haben, wie die Dinge funktionieren.
Casey Patton

Nun, ich meine, Makefiles sind später ziemlich trivial, sobald Sie verstehen, dass das Erstellen von Programmen normalerweise mehrere Schritte und viele Dateien umfasst - welche IDEs Ihnen sowieso beibringen werden.
Rei Miyasaka

3
@ReiMiyasaka, bringen IDEs Ihnen das auf dem Weg bei? Mein Eindruck ist, dass viele Programmierer nie herausgefunden haben, was zwischen der Eingabe von Code in IDE und der Erstellung von ausführbarem Code passiert.
Winston Ewert

@ Winston Ja, das tun sie. Es gibt keine Möglichkeit, nicht zu bemerken, dass etwas passiert, das Dutzende von Codedateien und Bibliotheken zusammenbringt. Das genaue Format der Daten zu lernen, die die Interaktionen beschreiben, ist nützlich, aber es kann auch in ein paar Stunden gelernt werden, wenn bereits klar ist, dass tatsächlich etwas passiert. Haben Sie jemals versucht, verknüpfte Listen zu unterrichten, ohne zu erklären, wofür sie gut sind? Verknüpfte Listen sind für Menschen viel sinnvoller, wenn sie einen Grund haben, die Details zu kennen. Gleiches gilt für Makefiles und Compiler-Parameter und all das.
Rei Miyasaka

5

Als jemand, der versucht, in einem kleinen Hobbyprojekt eine neue Sprache zu lernen, würde ich sagen, sich an einen Texteditor mit Syntaxhervorhebung zu halten.

Wenn Sie zum ersten Mal anfangen, werden Sie Fehler machen. Sie werden irgendwo ein Semikolon vergessen oder einen Variablennamen falsch schreiben. Ohne und IDE müssen Sie sich nur auf die Sprache und die Art und Weise konzentrieren, wie Sie sie geschrieben haben. Das ist wertvolles Lernen.

Eine große, glänzende IDE wird versuchen, Ihnen Zeit zu sparen, indem sie versucht, diese Fehler aufzufangen, die Sie vom Lernen abhalten. Wie andere bereits gesagt haben, wird das Lernen mit der IDE auch Ihren Lernaufwand erhöhen. Stellen Sie sich vor, wenn die IDE etwas vorschlägt, werden Sie sich fragen, warum sie den Vorschlag macht oder sogar das Richtige ist. Dies wird nur Verwirrung stiften.

Ich mag es, eine neue Sprache nur mit dem Texteditor zu starten, dann schaue ich mir alle Eclipse-Plug-Ins an, wenn ich sicher genug bin.


4

die zusätzliche Herausforderung des Lernens der IDE

Sie meinen, der Teil, in dem die IDE den größten Teil der Arbeit für Sie erledigt?

Jetzt habe ich noch nie PHP-IDEs verwendet, aber vorausgesetzt, sie funktionieren ähnlich wie andere Arten von IDE, sparen Sie enorm viel Arbeit. Die mit dem Erlernen der IDE verbundene Arbeit ist im Vergleich zu der Funktionalität, die Sie durch die IDE erspart haben , trivial . Dinge wie die Vervollständigung des Codes und die Hervorhebung der Syntax sind unglaublich nützliche Werkzeuge und absolut unersetzbar.

Jeder, der professionell codiert, tut dies mit Hilfe von Tools wie IDEs und aus gutem Grund.


2
Ich arbeite professionell mit PHP und benutze keine IDE, ich benutze Vim!
Gary Willoughby

1
@ Gary VIM ist eine IDE.
rechts

2
Nein, es ist ein Editor. Definition einer IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim ist das nicht.
Gary Willoughby

1
Ich bin mir ziemlich sicher, dass Vim mit Code-Vervollständigung geliefert wird oder dazu hinzugefügt werden kann, was es zu einer IDE für diesen Zweck macht.
DeadMG

3
Es gibt einen großen Unterschied zwischen VIM und einer IDE. VIM verbirgt nicht die Details dessen, was wie eine IDE vor sich geht. Viele der Vorteile einer IDE sind in VIM verfügbar. Das Aufrufen von VIM als IDE ist jedoch nicht korrekt.
Winston Ewert

4

Ich denke, ein unerfahrener PHP-Entwickler wäre mit einer IDE viel produktiver.

Die Frage sollte sein, sollten erfahrene PHP-Entwickler eine IDE benötigen?


2
das ist eigentlich das, was ich dachte, dass es bedeutete, den Titel falsch zu
lesen

4

Als Faustregel wähle ich so:

  • Wenn es sich um eine kleine Anwendung mit nicht vielen Dateien handelt, halten Sie sich an die Befehlszeile.
  • Wenn es sich um eine große Anwendung mit vielen Dateien handelt, verwenden Sie eine IDE, da Sie ständig zwischen Dateien wechseln und von den Funktionen für schnelles Durchsuchen und Übersicht (insbesondere objektorientierte Sprachen) profitieren können.

Lernen Sie, beide bei Bedarf zu verwenden. Beginnen Sie mit der Befehlszeile.


3

Es gibt ein paar Dinge, die jedem Programmierer in jeder Sprache helfen, unabhängig von der Fähigkeitsstufe:

  1. Syntaxhervorhebung und Klammerabgleich

  2. Syntaxüberprüfung während der Eingabe (sehr praktisch, um das Dutzend Fehler zu vermeiden, die alle von einer einzelnen vergessenen ;oder nicht übereinstimmenden geschweiften Klammer stammen)

  3. einfaches Durchsuchen der Dokumentation (dies muss jedoch nicht in der IDE selbst sein),

    • Die Hauptbibliotheken jeder Sprache verfügen über Online-Dokumentation, auf die Sie in Ihrem Browser zugreifen können.
    • Die interne Dokumentation (aus dem Projekt, an dem Sie arbeiten) ist jedoch nur verfügbar, wenn Sie sie explizit bereitstellen
  4. Automatisches Formatieren auf den einen Klammerstil und den richtigen Abstand (damit Sie weniger Zeit damit verbringen, diese Regeln durchzusetzen) (dies kann wiederum mit einem externen Tool durchgeführt werden)

Nur 1 und 2 müssen sich in der IDE / im Editor befinden


3

Ich benutze immer eine IDE (Eclipse) und würde sie auch Anfängern empfehlen. Hauptvorteile, wenn Sie anfangen:

  • Sofortige Rückmeldung bei fehlerhaftem Code (zB Syntaxfehler im Code)
  • Kümmert sich um das Einrichten von Projekten unter Verwendung von Standardkonventionen, sodass Sie sich nicht um Konfigurations- / Betriebssystemspezifikationen usw. kümmern müssen.
  • Kann häufig Beispielcode generieren, auf dem Sie aufbauen und von dem Sie lernen können
  • Sie müssen sich nicht an eine ganze Reihe von geheimen Befehlszeilenoptionen und -aufrufen erinnern, damit Sie sich auf den Code konzentrieren können.

Obwohl ich denke, dass Sie im Allgemeinen eine IDE verwenden sollten, denke ich, dass es sich lohnt, mindestens ein oder zwei manuelle Ausführungen Ihres Codes an der Befehlszeile vorzunehmen. Dies ist so, dass Sie verstehen, was unter der Haube passiert. Dieses Verständnis hilft Ihnen, wenn Sie später Probleme beheben müssen.


1

Die andere, nicht gestellte Frage: Hat ein erfahrener Benötigt ein PHP-Programmierer eine IDE?

Eine IDE hilft Ihnen, den Build-Prozess zu automatisieren - aber mit PHP gibt es keine Build-Prozess. Syntax-Hervorhebung ist eine sehr nette Funktion, aber Sie brauchen keine vollständige IDE dafür, viele schlanke Texteditoren bieten Hervorhebungen.

Ich arbeite mit PHP in NetBeans, aber das liegt nur daran, dass ich an NetBeans gewöhnt bin. Ich wette, ich könnte es genauso gut in einer beliebigen Anzahl von Texteditoren tun.


1

Wenn Sie vernünftigerweise erwarten, dass Sie im Laufe Ihres Lebens hauptsächlich Code schreiben, oder wenn nicht, sollten Sie sich einen erweiterbaren Editor / eine erweiterbare IDE zulegen und mit dem Erlernen beginnen. Wenn Sie sich nichts leisten können, wählen Sie Notepad ++ oder ähnliches - etwas, mit dem Sie sich auf die lebenslange Aufgabe konzentrieren können, zu entscheiden, "wie ich meine Hotkeys mag", und die konventionellen zu erlernen.

Die Tooling-IDEs, wie ich sie nenne - Visual Studio, Eclipse, What-have-you - werden kommen und gehen und sich weiterentwickeln. Oft werden sie zu sperrig und reagieren nicht mehr, um sie nur zum Herausplatzen von Code oder zum Massieren zu verwenden / refactor es in gewisser Weise.

So haben Sie Ihren "Heim" -Editor, der Ihnen ein Leben lang zur Seite steht und den Sie mehr lieben als Ihre Freundin.

Sie werden an einen Punkt gelangen, an dem es vollkommen natürlich und produktiv ist, gleichzeitig mit Ihrer Tooling-IDE und Ihrer Home-IDE an etwas zu arbeiten und dabei das Beste aus beiden Welten zu nutzen.

Meine Home-IDE ist SlickEdit, das ich in den letzten 10 Jahren verwendet und erweitert habe. In dieser Zeit habe ich über 120 Makromodule dafür geschrieben und über 1000 Hotkeys sind in Betrieb.

Erinnere ich mich an sie alle? Nein, wahrscheinlich die Hälfte zu einem bestimmten Zeitpunkt, vielleicht 60%, aber die anderen sind für spezielle Aufgaben bestimmt, die ich auf Abruf nachschaue.

Denken Sie daran, das Leben ist kurz, und wenn Sie bei einem großen Projekt rechnen, werden Sie feststellen, dass selbst bei gütigen Außerirdischen, bei denen Sie telepathisch perfekten Code in den Kopf diktieren, um 8 Stunden am Tag zu tippen, das Schreiben noch MONATE dauert etwas Großes (ohne einen intelligenten Editor, Makros, Vorlagen usw.).

Deshalb. Planen Sie langfristig und ebnen Sie von Zeit zu Zeit den Weg in die Zukunft.

Eigentlich sehr oft. Auch wenn es dich jetzt kostet.


1

Ich kann nur meine eigenen Erfahrungen sowie einen Einblick in die Auswirkungen auf einen Entwickler geben.

Zunächst einmal sage ich, dass ich gerne in beiden Umgebungen arbeite. Ob ich Vim und ein Makefile mit GCC oder QtCreator / Visual Studio mit ihren jeweiligen Umgebungen und Compilern verwende, hängt ausschließlich vom Projekt selbst und dem Umfang der Anwendung ab.

Zum Lernen benutze ich gelegentlich Vim, nur weil ich es hasse, nicht zu wissen, wie Dinge funktionieren, und einfach aus Unwissenheit etwas zu schreiben. Als ich das erste Mal gelernt habe, habe ich es mit C # und Visual Studio gemacht. Dies brachte mir die Grundlagen bei. Nach einer Weile entschloss ich mich, den Umgang mit Makefiles und einem anständigen Texteditor zu erlernen.

Rei Miyasaka sagte in einem Kommentar, dass jeder innerhalb von ein paar Stunden lernen kann, wie man ein Makefile benutzt, nur mit Informationen, die nur eine Seite wert sind. Ich stimme dem von ganzem Herzen nicht zu, besonders nicht für jemanden, der neu ist. Dies kann einige Tage dauern (zumindest in meinem Fall). Erwähnenswert ist auch, dass die meisten Dokumentationen in Makefiles Hunderte von Seiten umfassen. Sie können zwar eine gute Einführung auf einer einzelnen Seite finden, aber das Wissen, wie man sie verwendet, erfordert viel mehr Zeit und Lesen.

Meiner Meinung nach, wenn Sie ehrgeizig genug sind und gerade erst angefangen haben zu lernen, rollen Sie eine Linux-Distribution (egal welche, solange sie einen guten Paket-Manager hat und relativ stabil ist - ich empfehle Linux Mint oder sogar Debian selbst) und lernen Sie C. Beginnen Sie mit einem Texteditor (Syntaxhervorhebung, automatische Einrückung und Zeilennummernunterstützung sind ein Muss - alles andere ist rein bevorzugt) und lernen Sie einfach, wie Sie den Compiler über CLI aufrufen. Sobald Sie an dem Punkt angelangt sind, an dem Sie nicht mehr lernen, wie Sie mit nur einer Quelldatei pro Projekt codieren, haben Sie es geschafft dannfange an zu lernen, wie man ein Makefile schreibt. Ebenfalls einen Besuch wert ist Valgrind (wenn Sie in C / C ++ schreiben, bin ich mir nicht sicher, ob es andere Programmiersprachen unterstützt). Nachdem Sie in dieser Umgebung einige Monate lang programmiert haben, lernen Sie bei größeren Projekten eine IDE (vorzugsweise FL / OSS), und Sie sollten einsatzbereit sein.

Der Grund, warum ich dies vorschlage, ist, dass die Verwendung einer IDE einen Programmierer stark einschränkt, wenn er gerade lernt. Autovervollständigung und Projekt- / Build-Management sind sehr hilfreich. Wenn Sie jedoch keine Ahnung haben, wie es unter der Haube funktioniert, sind Sie beim Debuggen und / oder Herausfinden, warum Ihre Anwendung nicht funktioniert, stark eingeschränkt ordnungsgemäß ausgeführt, insbesondere, wenn dies nur auf eine von Ihnen oder der IDE selbst festgelegte falsche Build- oder Compilereinstellung zurückzuführen ist.

Prost.


-1

Die Verwendung einer IDE erleichtert das Leben erheblich. Insbesondere PHP verfügt über viele inkonsistente Funktionen, bei denen die automatische Vervollständigung in IDEs sehr hilfreich sein kann. Außerdem ist ein Debugger in Ihrer IDE von unschätzbarem Wert ...

Die Einfachheit der Arbeit mit RAW-Dateien in einem Texteditor hat etwas Schönes. Wenn Sie jedoch lernen möchten, wie eine echte Webanwendung erstellt wird, ist das Erlernen der Funktionen einer IDE eine große Hilfe auf lange Sicht.


-1

In meinen Informatikkursen haben wir nicht mit einer IDE begonnen. Es war etwas, was wir getan haben, nachdem wir verstanden hatten, was wir taten.

IDEs neigen dazu, Anfängern zu viel zu entziehen und am Ende gebildete Narren hervorzubringen. Am Anfang ist es wichtig, dass Sie ein gutes Verständnis haben, oder Sie werden am Ende nur in der IDE denken und können grundlegende Dinge ohne sie nicht herausfinden. Sie sind auch auf das beschränkt, was die IDE leisten kann. Einige IDEs sind geradezu böswillig, wenn es darum geht, solche Abstraktionen zu haben und ein eigenes Paradigma zu haben, das die Leute davon abhält, sie zu verwenden. Beispiel für Point-Webformulare für ASP.NET.

Es gibt etwas zu sagen, um sich selbst zu booten.


-4

Hier ist meine Meinung dazu:

  1. Anfänger sind die einzigen, die IDE benötigen. Dies ist auf das Debuggen zurückzuführen. Anfänger haben möglicherweise immer noch Probleme, die Funktionsweise der Programmausführung zu verstehen, und das Durchlaufen des Codes kann dabei helfen.
  2. Mittlere Programmierer können ihren Programmierprozess beschleunigen, da die IDE-Funktionen Funktionen bieten, mit denen Sie einfacher in großen Quell-Repositorys navigieren und feststellen können, wo sich die einzelnen Symbole im Quellcode befinden. Sie haben nicht braucht mehr ide, aber es macht manchmal das Leben leichter.
  3. Fortgeschrittene Programmierer benötigen keine IDE. Sie haben es lange genug gemacht, dass die Benutzeroberfläche von IDE für sie einfach zu langsam ist - das Drücken einer Taste und das Warten auf eine Antwort dauert einfach zu lange - eine sofortige Antwort ist erforderlich, um keine Zeit zu verschwenden. Das Navigieren im Quellcode ist nicht die Hauptpriorität, da sie sich merken können, wo sich die einzelnen Codeteile befinden - sie haben den gesamten Code gelesen, bevor sie etwas geändert haben.

1
Ich würde abstimmen, wenn ich könnte. Bei der Arbeit mit großen Projekten ist es nicht machbar, alles im Kopf zu behalten. Sie müssen nicht unbedingt ein ide verwenden, aber mit etwas für dieses Werkzeug (e) ist ein Muss.
Bwmat

@ BWMAT, Sie können jetzt downvote
Pratik
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.