• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Erfahrungen eines JS-Anfängers mit Eclipse für JavaSript

bis

New member
@Albu hat mir mehrfach in anderen Fäden empfohlen, Eclipse einzusetzen. Danke nochmal dafür. Damit habe ich heute begonnen, und ich will stichwortartig von meinen Erfahrungen berichten:

1) Installation
Lief problemlos. Etwas - positiv - verwirrend war, daß es keine klassische Installation war. Da sollte Micro$hit mal von lernen. Man kann auch problemlos den ganzen Ordner verschieben, ohne von der Scheiß Registry bestraft zu werden (wenn ich den Kerl mal erwische, der diesen Unsinn erfunden hat....)

2) JS-Editor
Ich habe JSEclipse gewählt (es gibt noch einen anderen). Man wird auf die Adobe Seite geführt, denn dieser Moloch hat 2006 das rumänische Unternehmen aufgekauft, das diesen Editor mal entwickelt hat - und dann wohl die Entwicklung auch gleich eingestellt, denn die letzte Version ist von 2007. So killt man den Wettbewerb. Typisch Yankees! Alles Verbrecher...

Die kostenfreie Version gibt's aber nicht bei Adobe, sondern (legal) anderswo.

Meine Erwatungen sind hoch, denn Eclipse hat einen guten Ruf. Bin gespannt.....!

3) Erstes Spielen
Nun ja, die Eingabefelder könnten präziser erklären, was da wo passieren soll. Aber das ist meist so, daß man wie der Ochs vor der neuen Kuh seht.

4) Versuch, Editoren zu "spawnen" (kenne grad kein deutsches Wort dafür)
Erste große Enttäschung: Das scheint nicht zu gehen. Ich bin an das Basis-Fenster gefesselt. Eintrag in Eclipse-Foren, ob/wie das geht. Menüs und Hilfe sagen nix.

Sollte das nicht gehen, wäre das ein ko-Kriterium für mich, denn ich kann nicht in einem oder max. zwei kleinen Fenstern arbeiten. Ich brauche Platz, Platz, Platz und den habe ich auf meinen 4 Montoren.

Kann mir nicht vorstellen, daß sowas nicht gehen soll, daß man die Benutzer vergewaltigt, in diesem einen Basis-Fenster zu bleiben. Schaun mer mal, was an Foren-Antworten kommt.

5) Mehrere Instanzen von Eclipse
Nee, geht nicht. läßt sich nicht austricksen. Das Ding will, daß man alles in dem einen kleinen Basis-Fenster macht. So ein Blödsinn! Das konnte andere schon vor 30 Jahren besser.

6) Wo sind die Senders und Implementers?
Nächster Schock: Ich hab ein paar Klassen reingeladen und will mal sehen, wo eine Methode/Funktion verwendet wird (senders). Das ist, was mir bei normalen Editoren am meisten fehlt.

Nix, nada, niente, rien, nietsch in den Menüs. Auch nix über andere Implementers dieser Methode und nix über Klassen-Referenzen.

Das ist das 1x1 der Programmierung! Wie kann man ohne leben??!!!??

Also: Wieder Foren-Eintrag. Noch kam nichts. (Natürlich steht darüber auch nichts in der Doku oder den Foren).

Langsam komme ich mir wie ein Exot von einem anderen Planeten (Smalltalk) vor.

Ich warte mal und gehe derweil zurück auf den guten simplen Editor, von dem ich immerhin meine 6-8 Instanzen öffnen kann.

Mehr demnächst.
 
zu 2) JSEclipse kenne ich nicht, ich habe einfach den Update Mechanismus verwendet und dort vom voreingestellten Standard-Repository die Javascript Developer Tools installiert. Keine dubiosen Seiten, keine Rumgesuche, installieren, neu starten und glücklich sein (in Deinem Fall dürfte der letzte Punkt allerdings wegfallen).
zu 3) ???
Deine Vorstellung von einer vernünftigen IDE dürfte nur Smalltalk erfüllen.
zu 4) Programmieren hat was mit Tippen zu tun. Nicht so sehr damit Fenster mit der Maus über vier Monitore zu schubsen. Es ist schön, dass Du glaubst bei 60-80 offenen Fenstern (exakte Zahlen habe ich jetzt nicht nachgeschaut) noch den Überblick zu besitzen. Aber normalerweise hat ein Programmierer in der Nicht-Smalltalk-Welt ein Projektfenster (ein abgespeckter, modifizierter oder erweiterter Dateibaum) und eine MDI Oberfläche für die geöffneten Dateien. Ich persönlich habe da i.d.R. durchaus 5-10 Dateien parallel auf, die ich mittels Tastaturkürzel (das übliche Ctrl-Tab) im schnellen Zugriff habe (= "durch-tabben" kann). Wenn ich jetzt berücksichtige, dass eine Datei mehrere "Protokolle" enthält, dann komme ich wohl auch auf 60-80, aber in wesentlich weniger Fenstern.
Mit anderen Worten: K.O.
Apropos: Squeak hat auch nur ein riesiges, großes Fenster und darin einen eigenen Windowmanager, der völlig anders reagiert und arbeitet, wie das System aussenrum. Ich kann dort auch keine Fenster rausziehen und auf einen anderen Screen verschieben, ich kann nur das Squeak Fenster auf alle Monitore aufziehen, um dann in dem Ding zu arbeiten. Brauche ich dann ein Browser Fenster, oder eine andere Software, dann ist das Riesenfenster im Weg. Ziemlich unhandlich.
zu 5) Kann man Squeak zweimal starten, um das gleiche Projekt und die gleichen Instanzen zu bearbeiten? (ich spreche hier nicht von einem per SCCS synchronisierten Projekt, weil sowas kann jede IDE)
zu 6) Also zumindest in meiner Version kann ich von einem Funktionsaufruf irgendwo im Quelltext mittels F3 direkt zur Definition dieser Funktion springen.
Alle Aufrufer kann man über die Suchfunktion ermitteln lassen, welche explizit einen Javascript-Bereich enthält. Dadurch kann die Suche gezielt in Javascript Dateien z.B. nach Bezeichnern suchen. Natürlich steht auch die normale Suche parat, welche alle Projektdateien oder sogar projektübergreifend nach beliebigen Begriffen suchen kann, und das ohne dafür den Hund anhauen zu müssen (Du nutzt ja offenbar Windows).

Wenn man sich also ein bißchen auf die Sprache und die Tools einstellt, dann hat man mit Eclipse ein sehr gutes Werkzeug, für umme (= lau). In Deinem Fall bedeutet das: Eclipse ist völlig ungeeignet für eine ernsthafte Javascript Entwicklung (wobei man das Javascript auch weglassen kann).
Ein Smalltalk Plugin für Eclipse gibt es ja offensichtlich nicht, das wäre ja auch der falsche Ansatz: Ein Smalltalk Editor in Java geschrieben, das geht ja mal grad gar nicht!
 
Hallo Albu,

danke für Deine Kommentare. Ich antworte mal drauf:

zu 4) Programmieren hat was mit Tippen zu tun.
Eben nicht - oder weniger. Programmieren (in der o-o Welt) sollte primär wiederverwenden sein. Das heißt, man sollte mehr und länger suchen als tippen. Code-Studium und Suche sind viel wichtiger als tippen. Mein Lieblingsjob ist es, Code wegzuwerfen (refactoring), d.h. aus zwei, drei oder mehr Methoden eine generische zu machen. Das geht - mit den richtigen Tools - fast immer ud es macht meistens viel Sinn.

Ziele: Mehr Klassen, kleinere (winzige) Methoden, per Saldo viel weniger Code.

Übrigens ist es in der Smalltalk-Welt allgemeine und unbestrittene Erfahrung vieler, daß gute Klassen-Bibliotheken nur so entwickelt werden: duch mehrfaches Refactoring (deshalb auch viel Xtreme Einsatz, um die Ergebnisse nach Änderungen prüfen zu können). Je höher, desto generischer, je tiefer, desto konkreter. Bei mir liegt der Durchschitt bei 8-10 Vererbungs-Ebenen (max. bei 16)!!!

Das mit den 30-60 (schrieb ich, etwas weniger als Du annahmst) Fenstern, das ist schon ok, wenn die richtig und sinnvoll angeordnet sind. In jedem ist i.d.R. nur eine Methode (manchmal in mehreren Klassen) oder max ein Teil einer Klasse.

Mein Problem bei den JS-Tools (nicht JS selbst Schuld) ist es einfach, den Überblick zu behalten. Dafür bin ich zu blöd. Soviel kann ich mir nicht merken. Darum hatte ich bisher für alle größeren Klassen einen eigenen Editor plus einen für die kleineren oder weniger benötigten. Das hoch und runter springen darin, das nervt mich schon, weil ich schnell den Überblick verliere. Und ich brauche vor allem die Senders regelmäßig und das vermisse ich unheimlich. Implementors noch nicht, weil ich noch nicht vererbe. Kommt aber noch.

Zu Squeak
Das ist eine Spiel-Version, die in den Tools deutlich primitiver ist als das Original (VisualWorks) oder der IBM Clon (VisualAge for Smalltalk). Allerdigs hat Squeak ein sensationelles Font-Handling. Sonst aber deutlich simpler. Ich stimme Dir zu. Ich arbeite auch nicht mit Squeak. Es wird auch m.W. nirgends für professionalle Lösungen einsetzt außer von der Quelle, Disney, die damit ihre Parks und Figuren steuern sollen.

Zu Deiner Frage: Ich glaube schon, daß man zwei VM von Squeak simultan laufen lassen kann. Bei VW (VisualWorks) geht das definitiv. Aber natürlich kann man nicht mit dem selben Image und Change File arbeiten. Das gäbe "gehächselte" Daten. Natürlich kann man meherer Fenster auf eine Methode oder Klasse öffnen. Changes werden per Event an die anderen weitergeleitet. Ansonstenmuß man die Changes aus einem Image raus filen und ins andere rein. VW und IBM haben da starke SCCS Systeme, besonders das von IBM soll Klasse sein (Envy). Ich kenne es nicht.

Also was ich bei Eclips wirklich vermisse, das sind die diversen Fenster. Wenn das nicht geht, dann bleibe ich lieber bei einem Editor pro Klasse, auch wenn der Editor simpler ist.

Ein Smalltalk Plugin wäre wirklich der falsche Ansatz. Richtig, das wäre purer Unsinn.

Also, ich warte mal die Reaktionen ab. Wenn das mit den Fenstern nicht geht, dann bleibe ich für's Tippen erst mal bei den simplen Editoren und setze Eclipe vielleicht für SCCS und Prjekt-Management ein. Mal sehen.

Je mehr Erfahrung ich sammle, umso mehr sehne ich mich nach einer JS-Programmierung in Smalltalk, sprich einer Übersetzung. Ansätze gibt es (in Squeak) aber da müßte noch einiges reingesteckt werden, um das richtig lauffähig zu machen. Das könnte ich selbst nicht, weil ich kein technisch-mathematischer Entwickler bin, sondern "kommerzieller Verbal-Logiker". Also bitte keine Bits, kein Lex, Awk, Yacc und solche Sachen.

Gruß
 
Zuletzt bearbeitet:
Also, ich warte mal die Reaktionen ab. Wenn das mit den Fenstern nicht geht, dann bleibe ich für's Tippen erst mal bei den simplen Editoren und setze Eclipe vielleicht für SCCS und Prjekt-Management ein. Mal sehen.

Sämtliche Seitenfenster kannst du auf mehrere Monitore verteilen. Einfach den Reiter anklicken und wegziehen. Mit dem Editor geht das allerdings nicht, sprich du kannst immer nur eine Datei anzeigen lassen.
 
Weiter mit meinen Erfahrungen mit Eclipse

7) Zeilen-Nummern einschalten
Um parallel mit Eclise und mehreren Instanzen eines simplen Editors arbeiten zu können, versuche ich, die Zeilen-Nummern in Eclise einzuschalten.

Dabei stelle ich fest:
Gravierender Unterschied zwischen Hilfe und Implementierung. Was die Hilfe behauptet, gibt es nicht in den Accessibility Preferences. Use characters to show changes on line number bar" existiert nicht, nur "Use characters to show changes in vertical bar" - und das ist was ganz anderes.
Allerdings entdecke ich dann noch anderswo, nach enigem Suchen, "Show line numbers" und das funzt sogar. Toll, wenigstens etwas.

8) Exlipse zeigt Klammer-Inhalte an
Ein erster Aha-Effekt: Man kann das Klammern-Chaos in JS mit Eclipse etwas besser beherrschen, denn man kann sich den Inhalt und damit die Reichweite der Klammern anzeigen lassen. Merke: Diese Scheiß-Klammern halte ich für den größten Crap nicht nur in JS, auch in anderen Sprachen. Einfach alltäglicher Irrsinn. Für menschliche Hirne nicht geeignet, wenigstens nicht für meins. Andere mögen Genies sein.

Das geht viel simpler und übersichtlicher durch die de-fakto Praxis, wie sie in Smalltalk durch die extrem kleinen Methoden üblich ist. Was in JS et al in eine Klammer kommt, das besteht bei uns aus einer oder meist mehreren Methoden. Je kleiner, desto besser.

Also das ist der erste Fortschritt. Bisher muß ich JS-Code in Smalltalk reinladen, um den Bereich von Klammern feststellen zu können (macht Smalltalk auch für fremden Code, wir sind ja nicht so).

9) Opening a file in read-only mode seems not possible (pardon, da war ich automatsch in EN gewechselt, ich laß es mal so)
That's not nice: there seems to be no way to protect an opened file from being changed. My little editor is well capable of this, Eclipse obviously not. At least there is no such checkbox in the file loader.

10) Gute Nachricht aus einem Forum: Spawning Fenster geht und zwar so:
Window->New Window, then drag the new instance of the workbench to where
you want it. Be careful not to shut down your first instance because
anything you've changed in the last instance to be shut down will be
remembered the next time you launch Eclipse.

Damit wäre mein ko-Kriterium vom Tisch. Freut mich. Ich hatte mir wirklich nicht vorstellen können, wie so viele Leute in so einem "nur einem" kleinen Fenster arbeiten.
 
Sämtliche Seitenfenster kannst du auf mehrere Monitore verteilen. Einfach den Reiter anklicken und wegziehen. Mit dem Editor geht das allerdings nicht, sprich du kannst immer nur eine Datei anzeigen lassen.
Danke für den Tip. Ich hatte das mit dem mittleren Editor-Fenster versucht und das ging nicht.

Hab's noch mal probiert: Reiter und Rahmen gehen zwar mit auf den anderen Monitor, schnappen dann aber zurück, wenn ich die Maus loslasse. Mal sehen, vielleicht eine der 3.565 Einstellungen? Nee, nix gefunden.
 
Zurück
Oben