Wie entwickle ich mich in mehr Sprachen mit weniger IDEs?

8

Ich möchte meinen Computer so einrichten, dass ich in .net, C #, Java, ActionScript, JS / CSS und funktionalen Sprachen wie Scala oder Haskell entwickeln kann. Ich möchte dies jedoch mit der geringsten Anzahl von IDEs mit vollem Funktionsumfang tun, um zu lernen / Programme, die Festplattenspeicher auf meinem Computer belegen / mehrere IDEs gleichzeitig ausführen.

Mit welchen Programmen kann ich die Anzahl der IDEs mit vollem Funktionsumfang minimieren, die ich lernen / verwenden muss? (Wenn Eclipse beispielsweise alle diese Frameworks verarbeiten könnte, wäre dies eine gültige Antwort.)

Bearbeiten: Scheint, dass diese Frage noch viele Jahre später getroffen wird. Heute (2018) verwende ich Visual Studio Code als meine "einzige IDE, um sie zu regieren".

Bob
quelle
Was benutzt du aktuell?
Kevin D
8
Wenn Sie Ressourcen sparen möchten, bezweifle ich, dass Eclipse die Antwort ist.
back2dos
5
Die Ressourcen, um die ich mir Sorgen mache, sind mein Gehirn mehr als mein Computer :)
Bob
5
Versuchen Sie, all diese Entwicklungen im Editor zu machen, und lassen Sie uns dann wissen, wie es Ihrem Gehirn geht :-)
Thomas Stock
4
Sehen Sie, wenn Sie ein erfahrener Profi sind, finden Sie Notepad möglicherweise gut genug für alle Ihre Bedürfnisse
Pankaj Upadhyay

Antworten:

2

Das Unternehmen Jetbrains verfügt über eine Reihe von IDEs mit denselben ergonomischen Prinzipien und denselben Tastaturkürzeln usw. Sie decken alle Sprachen ab, über die Sie sprechen. Aber die meisten von ihnen sind nicht frei.

Mein Vorschlag lautet also:

Simon Jodet
quelle
1
Haben sie eine starke Community für Unterstützung? Ich hörte eine Bemerkung, dass "man ein Raketenwissenschaftler sein muss, um ein Projekt einzurichten", was die Jetbrains-Software betrifft.
Bob
Sie sind wirklich gut. Ich habe eine Antwort auf eine Schimpfe auf Twitter bekommen. Sie haben jedoch Recht, das Einrichten eines Projekts ist zunächst etwas seltsam, aber nicht so sehr wie bei Eclipse.
Simon Jodet
R # ist keine IDE; Es ist eine Erweiterung für Visual Studio.
Andy
22

Lerne Vim oder Emacs. Mit beiden können Sie nahezu jede Sprache programmieren. Sie werden nicht die Krücken haben, die von einigen IDEs bereitgestellt werden, aber Sie brauchen sie wirklich nicht. Sie können ein besserer Programmierer werden, wenn Sie sich mehr auf Ihr Gehirn verlassen und weniger intelligent sind.

Beide vimund emacsverfügen über eine Vielzahl von Funktionen und Erweiterungen (oder Plugins), um das Codieren zu erleichtern (einschließlich APIs, die Sie nicht "blind auswendig lernen" müssen). Viele Programmiersprachen (auch akademische) haben ihren emacsModus und / oder vimPlugins oder Erweiterungen. Und viele Linux-Distributionen verpacken diese.

Bryan Oakley
quelle
39
Mein Gehirn hat eine bessere Verwendung als der Versuch, APIs auswendig zu lernen. Aber danke.
Bob
11
Amen tausendmal, @Bob. Ich bin aufgrund von Intellisense ein besserer Programmierer, da neben den Methodensignaturen, Rückgabetypen und Klassenhierarchien der APIs, mit denen ich mich befassen muss, mehr Kapazität für andere Dinge vorhanden ist. Meiner Meinung nach ist dies der größte Produktivitätsgewinn der letzten 15 Jahre.
Adam Crossland
5
Emacs bietet Intellisense mit CEDET , obwohl sie es "Smart Code Completion" nennen.
Jwernerny
3
Obwohl ich den Ansichten des Posters zur Verwendung von IDE nicht zustimme, ist dies der richtige Weg für die neueren und / oder weniger beliebten Sprachen, die keine guten IDEs haben. Das OP denkt an Scala und Haskell und möchte möglicherweise andere Nicht-Mainstream-Sprachen ausprobieren. In diesem Fall sind Vim oder Emacs die beste Wahl.
David Thornley
5
Für Java (und C #) möchten Sie eine IDE; Sie helfen sehr. Dies liegt daran, dass sie in Bezug auf Sprachen ziemlich bürokratisch sind. Andere Sprachen benötigen IDEs nicht in nahezu gleichem Maße, sodass vim und emacs dort eine hervorragende Wahl treffen.
Donal Fellows
13

Ich würde nicht versuchen, für meine gesamte Entwicklung eine nicht optimale IDE zu verwenden. Ich würde meine Zeit lieber damit verbringen, die beste IDE für die Sprache zu lernen, anstatt eine einzelne IDE zu hacken / zu optimieren, damit Sie sie für etwas verwenden können, für das sie nicht vorgesehen war.

Hier gibt es keine Silberkugel.

Sie benötigen Visual Studio für die .NET-Entwicklung. Für die Flash-Entwicklung benötigen Sie Adobe-Tools.

Für Java und JS / CSS empfehle ich Jetbrains IntelliJ IDEA und Webstorm. Dort werden Tools vom selben Hersteller hergestellt, daher sind sie ähnlich, ziemlich funktionsreich, aber die Lernkurve ist in Ordnung. Sie belegen auch nicht so viel Speicherplatz, wenn dies wirklich eines Ihrer Anliegen ist.

Wie von FinnNk hervorgehoben, können Sie die meisten (alle?) IntelliJ-IDEs für die Verwendung von Visual Studio-Tastaturkürzeln konfigurieren ... oder Sie können Visual Studio für die Verwendung von IntelliJ-Tastaturkürzeln konfigurieren.

Thomas Stock
quelle
Vielen Dank. IntelliJ IDEA führt auch Actionscript dev durch. Also brauche ich Visual Studio und IntelliJ oder Eclipse (da das Erlernen von IntelliJ ide bisher ein bisschen schmerzhaft war). Wo passt Scala / Haskell dazu?
Bob
Es gibt Eclipse-Plug-Ins für Scala und Haskell , und ich wäre nicht überrascht, wenn es für Netbeans etwas Ähnliches gäbe .
TMN
Ich habe keine Erfahrung mit Scala / Haskell. Wieder würde ich nach Dingen wie "best scala ide" googeln und sehen, welches Ihren Anforderungen am besten entspricht. PS: Sie können WebStorm überspringen und JS / CSS mit Visual Studio entwickeln. Es ist eine anständige IDE für die Webentwicklung und mit dem Resharper-Add-In erhalten Sie eine automatische Vervollständigung in JS und Css. (Es gibt auch kostenlose Plug-Ins dafür.)
Thomas Stock
@TMN das Netbeans Scala Plugin ist in der Entwicklung
yannis
1
Ich möchte hinzufügen, dass Sie die meisten (alle?) IntelliJ-IDEs für die Verwendung von Visual Studio-Tastaturkürzeln konfigurieren können ... oder Sie können Visual Studio für die Verwendung von IntelliJ-Tastaturkürzeln konfigurieren.
FinnNk
6

Eclipse kann mit den meisten der von Ihnen genannten Sprachen umgehen :

Unabhängig davon ist Eclipse keine gültige Option, da sich die meisten der oben genannten Plugins in verschiedenen Alpha-Zuständen befinden und das Ausführen einer Eclipse-Instanz mit allen Ihre Hardware enorm belasten würde.

Selbst mit großartiger Hardware bieten die Plugins selten alles, was eine spezialisierte IDE bietet. Außerdem sehe ich keinen gültigen Grund für die Ausführung mehrerer IDEs. Für wie viele Plattformen können Sie gleichzeitig codieren? Wenn Sie hauptsächlich Code lesen möchten, der in verschiedenen Sprachen geschrieben wurde, oder relativ kleine Programme schreiben möchten, können Sie Notepad ++ wählen , das die Syntaxhervorhebung für eine beeindruckende Anzahl von Sprachen unterstützt .

Um jedoch tatsächlich in den von Ihnen genannten Sprachen zu programmieren, würde ich empfehlen, verschiedene IDEs zu verwenden:

Adobe Flash Builder und Aptana Studio basieren auf Eclipse. Wenn Sie sich also für diese entscheiden, erhalten Sie zumindest ähnliche IDEs.

Yannis
quelle
Vielen Dank. Ich bin schrecklich darin, Fenster zu schließen. Ich bin ein virtueller Packrat. :(
Bob
1
Improve C # scheint seit fast 8 Jahren tot zu sein !!
Newtopian
@Newtopian Nun ja, das ist es :) Wie auch immer, der Sinn der Antwort war, Eclipse aus verschiedenen Gründen NICHT für alles zu verwenden. Wir können ihnen das Fehlen eines C #
-Plugins
@ Bob Linux + Gnome mit zwei 30 "Bildschirmen bietet Ihnen (mit 4 Desktops) mehr als genug Bildschirmfläche :)
jwenting
@ Bob, hast du etwas dagegen, Kachel-WMs zu verwenden (z. B. Stumpwm, Ratpoison usw.)?
SK-Logik
2

Ich persönlich finde, dass Eclipse die beste mehrsprachige IDE ist. Abgesehen von der hervorragenden Java-Unterstützung für Java gibt es für die meisten anderen wichtigen Sprachen, die als Plug-Ins verfügbar sind, eine ziemlich ausgereifte Entwicklungsunterstützung.

Es gibt hier eine lange Liste von Sprachen, die ich sicher erweitert habe, seit dieser Artikel geschrieben wurde.

Auch sind nicht nur die Sprachen wichtig: Sie müssen auch Folgendes berücksichtigen:

  • Build- / Abhängigkeitsmanagement-Tools wie Ant und Maven
  • Quellcodeverwaltung (Git, CVS, SVN usw.)
  • Verwaltung von Ressourcendateien (XML-Konfiguration, Bilder usw.)
  • Projektmanagement-Tools (Backup, Dokumentation, Aufgabenverwaltung usw.)

Wenn man all dies berücksichtigt, ist es definitiv ein Gewinn, sich an eine einzige primäre IDE zu halten.

mikera
quelle
1

Für Sprachen, in denen sie vorhanden sind, verwenden Sie am besten erstklassige IDEs - sie unterscheiden sich nicht wirklich. Siehe andere Antworten für Vorschläge.

Für diejenigen, die dies nicht tun, empfehle ich die Verwendung eines schwereren Texteditors - wie z. B. Emacs (der auch als Dateisystembrowser, E-Mail- und Nachrichtenleser, Spieleplattform, Generator für Geburtstagsgrüße usw. usw. fungiert). . Diese haben oft anständige Plugins / Einstellungen / Modi, mit denen Sie das meiste von dem bekommen, was eine einfachere IDE Ihnen bietet.

FinnNk
quelle
1

Beachten Sie, dass die Verwendung von IDE ein Thema des Heiligen Krieges ist.

Verwenden Sie das beste Werkzeug für den Job. Wenn eine IDE gut in Sprache X und nicht in Sprache Y ist, verwenden Sie sie nur für X und holen Sie sich etwas anderes für Y. Im Vergleich zu so ziemlich jedem Computerspiel, das Sie möglicherweise von der Stange nehmen, ist IDE nichts für Ihre Festplatte und Ihr System RAM kann nicht damit umgehen. Ich werde hinzufügen, dass eine IDE beim Probieren einer neuen Sprache das Herumspielen erleichtern kann. Haben Sie keine Angst, diejenige zu finden, die zum Job passt. Android Java ist ein gutes Beispiel dafür - wenn Sie nur einen Vorgeschmack haben möchten, gibt es nichts Einfacheres als Eclipse / Android, um Ihre Füße nass zu machen.

anon
quelle
Danke und ich stimme zu. Ich bin jedoch gerade auf der Suche nach gut genug und um die anderen Anforderungen zu erfüllen, nach denen ich gefragt habe. Ich möchte gleichzeitig lernen und mich entwickeln, damit ich sehen kann, was mir gefällt und was nicht.
Bob
1

Ich bin mir nicht sicher, ob dies eine großartige Idee ist. Das Wechseln von einer Sprache in eine andere ist normalerweise ein vollständiger Kontextwechsel, und die Kosten hierfür können nur durch eine IDE kompensiert werden, die für die Arbeit mit dieser Sprache optimiert ist.

Natürlich gibt es Emacs, aber wenn Sie nicht bereit sind, ein halbes Jahrzehnt zu investieren, um es wirklich zu verstehen, werden Sie Probleme haben, eine mehrsprachige IDE zu finden, die in Bezug auf die meisten Sprachen bestenfalls mittelmäßig ist.

Mein Vorschlag:

  • SharpDevelop für C # und FlashDevelop für ActionScript (und haXe, wenn Sie dazu neigen). FlashDevelop wird hauptsächlich mit SharpDevelop geschrieben, sodass Sie feststellen, dass das Verhalten zwischen ihnen relativ konsistent ist. Insbesondere FD hat einen sehr geringen Platzbedarf, eine blitzschnelle automatische Vervollständigung und Benutzeroberfläche und startet auf meinem Computer in etwas mehr als 5 Sekunden.
  • Java und Scala funktionieren perfekt in einer IDE. Ob dies IntelliJ, NetBeans oder Eclipse ist, ist eher eine Frage der persönlichen Präferenz oder der Religion.
  • Tatsächlich wird CSS in den meisten IDEs unterstützt. Sie möchten wahrscheinlich einen HTML-Editor verwenden, der Zen-Codierung ermöglicht (FD), vorzugsweise einen der Editoren, die Sie sowieso verwenden, und Ihr CSS im selben Editor schreiben. Gleichzeitig möchten Sie vielleicht herausfinden, welche der IDEs in Ihrem Toolset WENIGER CSS unterstützen , da dies wirklich Zeit spart. Wenn die Wahl zwischen weniger oder mehr, aber mit Unterstützung einer IDE besteht, ist erstere meiner Meinung nach günstig.
  • JS wird in gewissem Umfang auch von allen IDEs unterstützt. Sie können dies in FlashDevelop tun. Oder Sie verwenden stattdessen tatsächlich haXe, das von FD gut unterstützt wird. Oder Sie möchten sich CoffeeScript ansehen und eine IDE finden, die dafür geeignet ist (Eclipse hat ein anständiges Plugin, möglicherweise auch andere IDEs).
back2dos
quelle
0

Ich bin der Meinung, dass es am besten ist, für jede Sprache / jedes Sprachpaket ein eigenes Tool zu haben. Aber für einige (z. B. CSS + JS) - es macht keinen Sinn, auch nur eine IDE zu haben - reicht ein Texteditor mit Syntaxhervorhebung aus.

Für Windows - versuchen Sie Notepad ++ . Unter Linux - Emacs , Vim (die eine eigene Lernkurve haben) - oder auch nur Gedit .

Schauen Sie sich die neuesten NetBeans an - die plattformübergreifende Unterstützung unterstützt eine Reihe von Sprachen, kann jedoch etwas träge sein. Aptana Studio ist das, was ich derzeit für die Webentwicklung verwende.

Val Redchenko
quelle
0

Schauen Sie sich das Microsoft Langauge-Serverprojekt an. Die Idee ist, dass versucht wird, die sprachspezifischen Details vom Editor / der Idee zu entkoppeln. Sie können also die Sprachserver-Implementierung für beispielsweise C # oder Elixir und einen Client für VisualStudio und Emacs erstellen, und beide Editoren können alle Sprachen verwenden.

Es wird noch nicht jede Sprache unterstützt, aber viele werden es unterstützen, und es wird in Zukunft für Redakteure / IDES und Sprachen viel einfacher sein, sich gegenseitig zu unterstützen

Zachary K.
quelle