Krautkanal.com

Veröffentlicht am 2017-02-13 00:55:58 in /prog/

/prog/ 9925: Java Entwicklung mit dem Editor

iamgarth Avatar
iamgarth:#9925

Eher unfreiwillig muss ich mich aktuell mit Java (genauer Android) beschäftigen. Eigentlich bin ich C++(14+) Entwickler und (weil die Bezahlung stimmt) PHP Sklave. Unter C++ habe ich i.d.R. cplusplus.com auf dem dritten Monitor offen und ggf. noch die Doku der Lib bzw. des Frameworks welches ich derzeitig benutze. Ansonsten halt nur ein paar Terminals und nen vim.

Ich hatte schon die ganzen IDEs die Schlau-Bernd und das Zwischennetz empfehlen durchgearbeitet, fühlte mich aber dabei so als würde ich einem kranken alten Mann beim sterben zusehen (lag ggf. aber nur am Glossy Bildschirm). Den ganzen Krampf mit Gradle habe ich irgendwie ordentlich in ein Makefile gegossen bekommen, aber irgendwie fluppt das nicht mit dem Java.

Ich weiß was ich will, muss aber effektiv jede Klasse (selbst wenn ich den Namen kenne) durch Google jagen um das Package herauszufinden (für import wichtig) oder wie die API aussieht. Dabei laden ich dann häufig auf docs.oracle.com/javase/8/, die mangels ausreichender Doku teils mehr Fragen aufwirft als zu klären. Und auch nach über einem Monat habe ich da noch keinerlei System gefunden wie ich das Package einer Klasse herausfinde. Ich verstehe zwar wieso z.B. FileWriter und FileReader (vom Konzept her) in java.io kleben, finden es dann aber komisch, dass auch generische Dinge wie "Writer" und "Reader" dort sind. Andere Dinge wie "CharArrayReader" scheinen mehr wegen Patternmatching oder Implementierungsdetails bei Java.io herumzudümpeln. Überhaupt verstehe ich noch nicht so ganz was "Streams" mit "IO" zu tun haben. Also klar, gibt nen IOStream aber eigentlich ist ein Stream nur ein verkappter Iterator (mit Einschränkungen und Garantien) und der hat nichts mit IO am Hut. Und so gehts mir irgendwie bei allen Packages der StdLib.

Kann langjähriger Java-Bernd mir vielleicht einen Tipp geben nach welchem System die Klassen, Packages oder Methoden benannt sind? Oder eine schöne Doku nennen(analog zu cplusplus.com nur halt für Java)? Gibt es irgendwelche geheimen Tricks um sich den Käse zu merken oder intuitiver zu raten?

syntetyc Avatar
syntetyc:#9926

au backe

evandrix Avatar
evandrix:#9927

>>9925
Beim Lesen deiner Textwand stellte sich mir die Frage, wieso du bei der Java-Programmierung überhaupt soetwas wie Packagenames merken oder raten musst und sah erst dann, dass du ernsthaft versucht in Java mit einem gewöhnlichen Editor zu programmieren. Mein Rat: Lass es! Java hat so ziemlich die besten Entwicklungstools, die man sich für eine Programmiersprache wünschen kann. Es gibt mit IntelliJ und Eclipse zwei IDEs die beide sehr gut sind (auch wenn IntelliJ Geld kostet und Eclipse sich hin und wieder wie ein Arschloch verhält). Und wenn es die Vim-Keybindings sind, die du vermisst, so gibt es für beide IDEs Plugins, die das halbwegs anständig implementieren. Wenn du auf Krebs stehst, gibt es mit Netbeans sogar noch eine weitere krebsige IDE.

Außerdem ist gerade eine der Stärken von Java, dass es für jeden Mist irgendwelche Dritt-Libraries gibt, von denen auch so ziemlich jeder exzessiv Gebrauch macht. Da kannst du dann irgendwelche pauschalen Namensschemata für Packages sowieso völlig vergessen.

Tl;Dr: Stell dich nicht so an und gewöhn dich besser an die Vorstellung, dass Java ohne gescheite IDE nur was für Masochisten ist.

smenov Avatar
smenov:#9928

>>9927
>Tl;Dr: Stell dich nicht so an und gewöhn dich besser an die Vorstellung, dass Programmieren ohne gescheite IDE nur was für Masochisten ist.
Fixiert.

Würde mich nichtmal wundern, wenn OP noch davon geschrieben hätte, wie er für seine Programme Lochkarten gestanzt hat.

adhiardana Avatar
adhiardana:#9934

>>9927
Wie Bernd vielleicht schon gelesen hat, habe ich schon diverse IDEs ausprobiert (auch die von dir genannten). Trotz ausreichend Speicher, SSD und moderner i7 CPU fühlen sich diese IDEs alle an als würde man einen Rentner mit Rollator beim Aussteigen ins Auto beobachten. Sicher ist die Funktionalität hilfreich, hilft mir aber wenig, wenn ich dafür gefühlt den halben Tag auf die IDE warte.

Zurück zum eigentlichen Thema. Es ist ja nicht so, als wenn es zuerst IDEs gegeben hätte und Sun darauf sagte "Lasst uns die perfekte Sprache für IDEs schreiben!". Sun hat zunächst Java als Sprache entwickelt mit Konzepten die sich großteils gut automatisieren ließen, so dass IDEs für Java zu einem defakto Standard wurden. Entsprechend muss man nur diese Konzepte kennen um auf die IDE verzichten zu können.

Darum geht es mir auch und nicht um den erneuten Krieg der IDEs. Mir geht es nur darum zu erfragen ob Bernd zum einen eine brauchbare Alternative zur Oracle API Seite kennt und ob Bernd mir irgendwelche Tipps oder Tricks für die API bzw. die StdLib sagen kann. Danach darf Bernd gerne über IDEs diskutieren und wieso jene IDE überlegen ist.

BillSKenney Avatar
BillSKenney:#9935

>>9934
Warum willst du dich überhaupt so intensiv mit den Packages beschäftigen? Du scheinst echt zuviel Zeit zu haben. Vernünftig ist, sich die JARs gut zu organisieren, die man sich in sein Projekt holt. Wie diese intern ihre Packages organisiert haben ist gerade mal scheiss egal. Im Eclipse ist das Thema Packages mit der Tastenkombination Strg + Shift + o erledigt.

liang Avatar
liang:#9938

Es gibt eine ziemlich frickelige Eclipse-Vim-Brücke namens "eclim".

Der Hauptvorteil ist, dass du ein Kommando erhältst, dass dir automatisch die imports organisiert. Es gibt auch Autocompletion und so, aber wenn du kein Ruckeln willst, deaktivierst du das am besten.

eduardostuart Avatar
eduardostuart:#9942

IntelliJ und Eclipse

joshkennedy Avatar
joshkennedy:#9946

>Android ohne Android Studio programmieren
Bist du Masochist oder so? Geh doch lieber mal zu ner Domina, wenn du auf sowas stehst.

Zwing dich einfach mal dazu das zu benutzen, und informier dich auch, was für Dinge IntelliJ/AndroidStudio tun kann. Es lohnt sich.

Bernd Avatar
Bernd:#9949

>>9928
>Fixiert
So ein Unsinn

haydn_woods Avatar
haydn_woods:#9957

>>9949
Nager, bitte
Programmieren in notepad, emacs oder einer anderem verkrüppeltem Editor mag ganz okeh sein wenn man babby's ersten Taschenrechner zusammenbastelt, aber nicht, wenn man an etwas ordentlichem arbeitet.

linux29 Avatar
linux29:#9958

>>9957
Eben doch, weil andere Sprachen schlicht mitbringen oder erheblich vereinfachen, was Eclipse nachliefert. Und nicht nur weil ein guter Paketmanager enthalten oder das Dateimanagement superoffensichtlich ist. Sondern auch, weil du eben nicht nur einen Texteditor verwendest, sondern du verwendest einen Texteditor um - na was? - Texte zu editieren (DAS sollen die gut machen) und ANDERE Software um ANDERE Aufgaben zu erledigen. Aber klar, du kannst selbstredend auch ein zweites, weniger mächtiges OS in dein erstes OS laden, einfach weil du nie gelernt hast das zu bedienen.

irsouza Avatar
irsouza:#9959

>>9958
>Eben doch, weil andere Sprachen schlicht mitbringen oder erheblich vereinfachen, was Eclipse nachliefert.
Achja? Welche denn? Die Doku zu Java, welche von Oracle bereitgestellt wird, ist wohl die Beste, die es zu einer Programmiersprache überhaupt gibt. Wer damit nicht klar kommt, sollte wohl das Hobby wechseln.

Die C-Familie ist übrigens ohne gute IDE genau so schmerzhaft. Boost ist bekannt, ja?
Mit Sachen wie Dependency-Management, Build-Konfigurationen usw. will ich jetzt garnicht erst anfangen.

Und jetzt lern deine Packages auswending.

splashing75 Avatar
splashing75:#9960

>>9959
OFFENSICHTLICH sind Java UND die C-Familie vollkommen unbrauchbar ohne IDE. Was ist dein Punkt?

Und weshalb sollte ich Packages auswendig lernen? Wie behindert bist du?

RussellBishop Avatar
RussellBishop:#9962

>Mein Liebinglingsbausystem ist das einzig nutzbare Bausystem!
>Nein! Mein Liebinglingsbausystem ist das einzig nutzbare Bausystem!
Faden kann zu.

davidtoltesy Avatar
davidtoltesy:#9963

>>9962
Es wird doch gar nicht über Bausysteme geredet idf.

kennyadr Avatar
kennyadr:#9965

>>9960
> Die C-Familie ist übrigens ohne gute IDE genau so schmerzhaft. Boost ist bekannt, ja?

Okeh, fasteh ich nicht.

t. Vim und Boost Nutzer

mauriolg Avatar
mauriolg:#9968

Es gibt halt diese Informatiker die sich als so gute Informatiker sehen dass sie alles immer auf den Basics aufbauen müssen. Sie erkennen gar nicht das es unmöglich viel Zeit kostet und nicht wirtschaftlich ist. Aber gut. Es kann halt nicht jeder schlau sein.

Neuste Fäden in diesem Brett: