Hilfe beim Einstieg

EyYo

Neues Mitglied
Hallo,
ich möchte mit Java anfangen. Das SDK habe ich mir gerade installiert doch dann kommt schon das erste Problem, ich soll bei oracle meine Anschrift eingeben, kann ich das SDK auch ohne die Aktivierung des Kontos verwenden und somit die Anschrift nicht angeben ?

Welchen Editor nehme ich am besten als Einsteiger ? Ich bin erst 14 und habe keinerlei Erfahrung mit Java, ich habe bisher nur ein bisschen mit VB 2008 hantiert, aber in Visual Studio klickt man ja mehr als man programmiert ;)

Ich würde mich über Hilfe freuen.
 
G

Gast2

Gast
Das JDK kannst du auch ohne Registrierung herunterladen.
Ich habe damals in der Uni mit dem Java-Editor angefangen, du bekommst damit schon etwas Hilfe was syntaxhighlighting angeht etc.
Die ersten Schritte solltest du aber auf der Konsole machen.
 

Asgar13

Bekanntes Mitglied
Zu empfehlen sind die Editoren, auch IDEs genannt:

1. Eclipse
2. Netbeans
3. Idea

gibt natürlich auch andere. (Die meisten in diesen Forum haben eclipse, wenn ich es so richtig weiß)

Zum Thema:

Nimm lieber das JDk, statt das SDK.
 

obb

Mitglied
Gerade für Anfänger kann ich wärmstens eine Kombination aus Notepad++ und javac (der Konsolencompiler im JDK) empfehlen. Ich finde es ist anfangs recht ratsam mit primitiven Werkzeugen zu programmieren, da man so die Hintergründe ein bisschen besser versteht, als jemand der gleich mit einer aufgeblähten IDE loslegt.​
Edit: Solltest Du aus der Linux-Ecke kommen, kann ich Dir auch den GCJ empfehlen. Damit kannst Du deine Java-Programme direkt in Binärcode kompilieren, was vielleicht ein bisschen mehr Spaß macht, als deine Programme immer mit java xyz über die Konsole aufzurufen.​
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
Ich hab direkt mit Eclipse angefangen und es hat mir nicht geschadet :). Wie man über die Konsole kompiliert und/oder jar-files erstellt ist nett zu wissen, aber imho nicht essentiell (wer macht das heute noch händisch oO?). Die IDE nimmt einem zwar ein wenig was ab, reizt aber auch zum weiterlernen an. Eben weil man direkt sieht, welche Methoden man noch verwenden könnte oder welche Klassen es noch gibt.
 
V

vanny

Gast
Ich finde auch, dass man zum Java lernen keine Console/Texteditor -Kenntnisse benötigt, da kann man heutzutage ruhig mit ner schicken IDE anfangen.

Wenn man es benötigt, dann kann man sich sowas auch im Nachhinein aneignen.
 

obb

Mitglied
Wie man über die Konsole kompiliert und/oder jar-files erstellt ist nett zu wissen, aber imho nicht essentiell (wer macht das heute noch händisch oO?).
Also das sollte in meinen Augen wirklich jeder können, der sich mit Programmierung befasst. Absolute Basics!
 
S

Spacerat

Gast
Nimm lieber das JDk, statt das SDK.
???:L Hätte da gerne mal den Unterschied erfahren. Akaik ist das, auf was du dort SDK beziehst das Java SDK oder kurz das JDK. Obwohl da gab es glaub' ich auch noch Unterschiede in den Versionsnummern. So ist z.B. die Bezeichnung "Java SDK 7" das Komplementär zum "JDK 1.7".
 

Dit_

Bekanntes Mitglied
Absolute Basics kurzgefasst:
1. Öffne Konsole
2. Erstelle Datei HalloWelt.java
3. Schreibe Programmcode in die Datei, am besten Editor(Windows) benutzen, dieser bietet überhaupt keine Hilfsmittel ist genau das was man am anfang braucht...
4. Abspeichern
5. Schließen
6. gebe in der Konsole
Code:
javac HalloWelt.java
7. gebe in der Konsole
Code:
java HalloWelt.java
8. FERTIG


OK du beherrschst jetzt die absolute Basics.
Lade Eclipse runter und verschwende keine Zeit mit der Konsole. Gerade am Anfang muss Programmieren Spass machen...
 

obb

Mitglied
Jo genau! Bloß keine Gedanken über Zusammenhänge machen. Wen interessiert schon wie der Code zur ausführbaren Datei wird? Hauptsache ich hab mir schnell mein Programm zusammengeklickt, alle Stellen die rot unterstrichen waren mit dem Quickfix behandelt und auf "Run" geklickt. Jetzt kann ich mir auf die Schulter klopfen und so tun als hätte ich auch nur den blassesten Schimmer von dem was ich da gerade gemacht habe.​
Programmieren sollte wirklich Spaß machen. Das tut es meines Erachtens auch mit einem normalen Editor, der Syntax-Highlighting mitbringt. Dennoch finde ich es gut, wenn man sich gerade am Anfang die Zeit nimmt, anfallende Fehler von Hand zu beheben. Der Lerneffekt ist so einfach weitaus größer und man bekommt ein besseres Gefühl dafür übersichtlichen und gut strukturierten Code zu schreiben.​
Fazit: Man macht sich einfach mehr Gedanken über das was man da genau tut. Und das ist an sich doch keine schlechte Sache oder?​
 

diggaa1984

Top Contributor
naja, ich finde ma muss nich unbedingt den Urschleim auf der Konsole üben .. programmieren im Editor, der nix unterstreicht und nur Highlighting besitzt ist dahingegen völlig ok :) .. da sieht man ja immer erst beim Compilieren die Fehler und nicht schon während der Eingabe (ich hatte dazu Scintilla, und habe es auch immernoch für Miniprogramme, wo ich mir sicher bin das die sich in 10min runterschreiben und nich dolle anspruchsvoll sind).

Bezüglich der Buildprozesse finde ich es wichtiger sich mit Tools wie Maven zu beschäftigen, die einem da viel Arbeit abnehmen, das ist mehr wert als rumgehacke auf der Konsole :) .. man muss das Rad ja nicht neu erfinden ... allerdings ist auch immer die Frage, wie komplex das Projekt ist und ob der Einsatz solcher Tools lohnt.
 

frapo

Bekanntes Mitglied
Absolute Basics kurzgefasst:
...
7. gebe in der Konsole
Code:
java HalloWelt.java
...

Klassisches Eigentor ;)

Die Zeile 7 muss
Code:
java HalloWelt
heißen.

OK du beherrschst jetzt die absolute Basics.
Lade Eclipse runter und verschwende keine Zeit mit der Konsole. Gerade am Anfang muss Programmieren Spass machen...

Eben an obigem sieht man, wie wichtig es für Anfänger ist nicht einfach nur stumpf auf eine nette IDE zu setzen :toll:
 

frapo

Bekanntes Mitglied

Also der Thread in dem Link ist von 2007.., damals lief das ganze noch unter Sun. Da hat sich seitdem ja einiges geändert.

Zwischen JDK und SDK dürfte es 'mittlerweile' keinen Unterschied mehr geben(die haben doch eh nie parallel existiert, soweit ich mich erinnere?), da SDK schlichtweg nicht zum Download angeboten werden ;)

Siehe Java SE Downloads

Ach ja, musste mich bei einem Download gerade übrigens nicht registrieren.
 

babuschka

Top Contributor
Es ist zwar jedem selbst überlassen ob er sich direkt eine IDE holt oder zuerst mit einem Editor und Javac loslegt, in den meisten Lehrbüchern wird aber geraten ersteres erst nach dem Durcharbeiten der Grundlagen zu machen.

Hat sicherlich alles seine Vor- und Nachteile, ich für meinen Teil werde noch ein paar Wochen bei Notepad++ bleiben und dann in Richtung Eclipse gehen.
 

Asgar13

Bekanntes Mitglied
Also der Thread in dem Link ist von 2007.., damals lief das ganze noch unter Sun. Da hat sich seitdem ja einiges geändert.

Zwischen JDK und SDK dürfte es 'mittlerweile' keinen Unterschied mehr geben(die haben doch eh nie parallel existiert, soweit ich mich erinnere?), da SDK schlichtweg nicht zum Download angeboten werden ;)

Siehe Java SE Downloads

Ach ja, musste mich bei einem Download gerade übrigens nicht registrieren.

Habe heute ein JDK aufgesetzt musste mich nicht registrieren.
 
T

Tomate_Salat

Gast
@obb:
Wer sich für eine Sprache interessiert, wird sich früher oder später auch die Hintergründe dazu ansehen. Aber mal ernsthaft: javac [dateiname] kann man sich binnen Sekunden anlesen, darüber brauchen wir eigentl. nicht disktutieren. Wieviele Anfänger können mit einer IDE umgehen und kennen QuickFix? Die Realität schaut so aus: viele Anfänger haben lange Probleme eine Exception zu lesen+auszuwerten. Eine IDE ist für Anfänger oft eindeutiger. BTW: ich glaube nicht, dass der Anfänger sein Hirn ausschaltet, sobald er die IDE startet. Letzendlich lernt man Programmieren durch Programmieren und das kann man imho am besten mit einer IDE.
 
D

Dow Jones

Gast
Na, ich schätze mal mit Grundlagen ist doch nicht das starten eines Programms in der Konsole gemeint. Es geht doch eher um das Wissen über Packages, imports und static Methoden. Und später über Exceptions, Listener und all den anderen Kram halt, den einem die IDE auf Mausklick hin in den Code einfügt. Wer seinen Code mit einem simplen Texteditor schreibt muss sich mit solchen Dingen zwangsläufig mal eben auseinandersetzen bevor er sein erstes "Hallo Welt" fabriziert. Und eben dieses grundlegende Wissen hilft einem bisweilen beim weiteren Verständnis der Sprache. Daher halten es viele Leute (mich eingeschlossen) für sehr nützlich wenn man sich schon frühzeitig wenigstens eine rudimentäre Vorstellung davon verschafft.
Wenn man sich andererseits in erster Linie darauf verlässt das die IDE den eigenen Code schon so anpassen wird das er läuft - naja, mag funktionieren, ist aber nicht so "gut" wie selber zu wissen wie es geht. Man neigt dann aus Bequemlichkeit ja eher dazu das erlernen der Grundlagen immer weiter aufzuschieben.

Schlussendlich wird dir aber freilich jeder Ratgeber denjenigen Ratschlag geben, der seiner persönlichen Erfahrung nach am zweckdienlichsten ist - und daran ändert sich auch durch lange Debatten nichts. Dabei ist es eigentlich egal ob du nun mit Netbeans oder dem Notepad anfängst, zumindest ist keins von beiden ein irreversibler Fehler. :)
 
S

Spacerat

Gast
Also der Thread in dem Link ist von 2007.., damals lief das ganze noch unter Sun. Da hat sich seitdem ja einiges geändert.
Zwischen JDK und SDK dürfte es 'mittlerweile' keinen Unterschied mehr geben(die haben doch eh nie parallel existiert, soweit ich mich erinnere?), da SDK schlichtweg nicht zum Download angeboten werden ;)
Mittlerweile ist gut... es gab' bis auf die Namensgebung soweit ich weis nie einen. Seit dem JDk1.2 gibt es das, weil Java seitdem auch den Namen "Java Platform 2" hat, die Versionsnummern aber bis heute noch 1.x sind. Unterschiede gibt es afaik nur in den Paketen Java2 SE, EE und ME.
Und dem Link folgend gibt es ja auch keine eindeutige Erklärung und die Seite von Sun existiert auch nicht mehr.
 

Dit_

Bekanntes Mitglied
Jo genau! Bloß keine Gedanken über Zusammenhänge machen. Wen interessiert schon wie der Code zur ausführbaren Datei wird? Hauptsache ich hab mir schnell mein Programm zusammengeklickt, alle Stellen die rot unterstrichen waren mit dem Quickfix behandelt und auf "Run" geklickt. Jetzt kann ich mir auf die Schulter klopfen und so tun als hätte ich auch nur den blassesten Schimmer von dem was ich da gerade gemacht habe.​
Programmieren sollte wirklich Spaß machen. Das tut es meines Erachtens auch mit einem normalen Editor, der Syntax-Highlighting mitbringt. Dennoch finde ich es gut, wenn man sich gerade am Anfang die Zeit nimmt, anfallende Fehler von Hand zu beheben. Der Lerneffekt ist so einfach weitaus größer und man bekommt ein besseres Gefühl dafür übersichtlichen und gut strukturierten Code zu schreiben.​
Fazit: Man macht sich einfach mehr Gedanken über das was man da genau tut. Und das ist an sich doch keine schlechte Sache oder?​

stimmt alles,
ich wollte nur eins sagen.
Solche Sachen kann man einfach nachlesen und wenn es sein muss auszuprobieren, Sache von 3 minuten. Der Vorschlag über längere Zeit damit zu arbeiten ist... na ja... Außerdem sagen manche, dass Assemler & Co wirklich Basics ist... Also wie tief soll man da als Anfänger gehen?
Also ich weiß wirklich nicht welche Vorteile bringt es einem, zu wissen, wie man über die Konsole *.java komplieren kann. Außer wenn man über Putty auf dem einem VServer was schnell ausprobieren möchte, aber wer sowas macht hat schon Grundwissen... glaube ich.
 

Xeonkryptos

Bekanntes Mitglied
Ich kann meinen Vorredner nur Recht geben. Es gibt verschiedene Meinungen, was besser ist bezüglich dem Erst-Compilieren durch die Konsole, aber wenn man ehrlich ist, nach 2-3x compilieren mit der Konsole hat man das raus und kann dann schnell sich eine nette IDE suchen, die das selbständig macht.

Zu empfehlen habe ich zu Anfang keine der ganz großen IDEs wie Eclipse oder Netbeans sie sind. Ich empfehle hingegen Notepad++, welches Text-Highlighting hat, den JavaEditor, da dieser für die Schulen und Universitäten gemacht wurden, die nicht zu viel wie Eclipse, etc bieten, aber dennoch genug, um sich mit allen wichtigen Dingen eigenständig zu beschäftigen. JavaEditor bietet Text-Highlighting, eine Anzeige der Blöcke, finde ich bei größeren Programmen, so wie großen Verschachtelungen nicht gelungen, aber für einen Anfänger vollkommen ausreichend, eigenes compilieren und Methodenvorschläge für die Punktnotation, aber halt keine Codecompletion, kein Einrücken, keine Fehlerbehandlung während dem eigenen "Schreiben" (Alles Dinge, die man selbst erstmal erlernen sollte!).

Alles in allem ist es gut für Anfänger und zu empfehlen, bevor man sich dann an Eclipse und den Rest heranwagt.
 
D

Dow Jones

Gast
Außerdem sagen manche, dass Assemler & Co wirklich Basics ist... Also wie tief soll man da als Anfänger gehen?
Die Einstellung das Assembler wirklich Basic ist habe ich ja schon lange nicht mehr gehört. :D
Aber wenn ich so darüber nachdenke ist das eigentlich eine - vom theoretischen Standpunkt her - interessante Frage: Ab welchem Stadium, wenn überhaupt, sollte ein Java-Neuling wissen was ein Bit ist? :reflect:
Doch das sollten wir nicht hier erörtern, das führt dann doch zu weit weg vom eigentlichen Sinn dieses Threads.

Also ich weiß wirklich nicht welche Vorteile bringt es einem, zu wissen, wie man über die Konsole *.java komplieren kann.
Vermutlich herzlich wenig. Aber um das kompilieren in der Konsole geht es uns doch auch nicht. Ich selber befürchte halt das es bei Verwendung einer ausgewachsenen IDE zu Szenarien wie diesem kommen kann:

1) Neuling lässt sich von IDE einen Coderahmen erzeugen
2) Neuling tippt sein Hello-World in die fertige static void main methode
3) Neuling möchte sein Programm erweitern indem er - wie er es irgendwo gelesen hat - eine zweite Methode und ein paar Variablen zu seiner Klasse hinzufügt
4) Das Programm läuft nicht. Die IDE sagt das die Methoden und Variablen static sein müssen. Neuling hört auf IDE und verwendet überall static.
5) Programm läuft, Neuling freut sich

=> Neuling hat gelernt das man vor alle Variablen und Methoden static schreiben muss und wird dies in Zukunft auch immer machen. Das scheint die Java-Syntax ja so vorzugeben.

Das mag anfangs ja klappen, aber spätestens wenn Neuling mal Klasseninstanzen verwenden möchte wird er Probleme bekommen. Er hat irgendwo gelesen das er [c]myInstance.doSomething()[/c] schreiben soll, aber das läuft nicht. Wieder hat die IDE einen Ratschlag parat: Es muss [c]MyClass.doSomething()[/c] heissen. Der Code lässt sich damit auch tatsächlich kompilieren, nur tut das Programm nicht was es tun soll. Neuling ist ratlos und frustriert. Und ob er dann noch auf die Idee kommt mal nachzuforschen was static bedeutet..? :rtfm:

Naja, so in dem Stil könnte die Geschichte weitergehen. Oder auch nicht; möglicherweise traue ich dem "gemeinen Java Neuling" ja auch nur zu wenig zu. Doch ich denke es besteht eine gute Chance solche Situationen zu vermeiden wenn man sich gleich zu Beginn schon vorstellen kann was static void main eigentlich bedeutet.
 
V

vanny

Gast
Ich als Anfänger wäre jetzt verwirrt ^^ aber schönes Beispiel Jones :lol:

Mal ehrlich, Java lernen heißt für mich, sich mit dem Thema zu beschäftigen, Tutorials oder Bücher zu lesen und den Stoff umzusetzen.
Zumindest war es bei mir so und ich hab auch direkt mit eclipse angefangen, bzw. eher mit der trockenen Theorie, so dass ich schon wusste, was es mit der main auf sich hat, bevor ich auch nur eine Zeile Code geschrieben hatte.
Als ich dann in eclipse beim Erstellen der Klasse einfach das Häkchen bei "create main" einchecken konnte fand ich das schon echt nett und ich mache es heute noch so:p

Nunja wie überall zählt wohl auch hier in erster Line RTFM:rtfm: (oder besser die API:oops:)

Gruß Vanny
 
S

Spacerat

Gast
Bravo vanny! Jeder wie er am besten kann. Es sei denn man belegt einen Java-Kurs, da sollte man mitziehen.
Assemmbler ist wirklich Basic
Das lest noch mal in Ruhe und lasst es euch auf der Zunge zergehen... :lol: ...ok, man weis ja, wie es gemeint ist ;)
 
G

Gassst

Gast
viele Anfänger haben lange Probleme eine Exception zu lesen+auszuwerten. Eine IDE ist für Anfänger oft eindeutiger.
Genau, sieht man ja regelmäßig an den Threads wie
"Hilfe, eclipse unterkringelt mir das Rot!!!!????"
oder
"Java ist kaputt, Fehlermeldung lautet: 'Unresolved compilation error: xyz'"

Deine Einschätzung geht also arg an der Realität vorbei.
 
T

TheRealSpikee

Gast
7. gebe in der Konsole
Code:
java HalloWelt.java

Daran sieht man ja das DU die Basics perfekt berherschst.

Warscheinlich hättest du auch mal mit Notepad und CMD anfangen sollen ...

@TO
Man merkt dir dein Alter an : die Registrierung ist WERBUNG ...

*wie oft muss man das diesen Kindern eigentlich noch sagen ... ?*
 
T

Tomate_Salat

Gast
Deine Einschätzung geht also arg an der Realität vorbei.

Ich lese wesentlich mehr Threads, in denen Exceptions entweder komplett ignoriert werden (also nicht gepostet) oder die immer wiederkehrende Frage: "wieso gibt das eine NPE?" (am besten noch ohne Source) als die Frage nach: "Eclipse unterkringelt mir das Rot".

Oder habe ich etwa behauptet, dass sich mit einer IDE ein Anfänger niemals ein Problem haben wird?
 

darekkay

Bekanntes Mitglied
4) Das Programm läuft nicht. Die IDE sagt das die Methoden und Variablen static sein müssen. Neuling hört auf IDE und verwendet überall static.
5) Programm läuft, Neuling freut sich

Haha, das erinnert mich tatsächlich an meine ersten (Selbst-)Versuche :D

Aber das liegt weniger an der IDE, als an der Voreiligkeit, die ich beim Lernen neuer Sprachen habe. Ich habe 2-3 Jahre in Delphi programmiert, habe mir dementsprechend auch nur die (Syntax-)Basics von Java angeschaut und war dann ready to go. Solche Peinlichkeiten muss man in dem Fall durchmachen.
Und es gibt glaube noch mehr Beispiele für Probleme mit notepad+javac, sodass ich immernoch Eclipse MIT entsprechendem Lehrbuch empfehlen würde. Wer wirklich lernt, wofür static steht, der wird nicht auf die blöde Idee kommen, einfach alles static zu machen. Und wer nur seine Uni-Hausaufgabe lösen will, der wird ohnehin die ganze Aufgabe mit allen 5.5 Punkten des Bettelns hier posten.
 

tuttle64

Bekanntes Mitglied
Ob mit oder ohne IDE anfangen, da kann man lange darüber diskutieren und auch geteilter Meinung sein.

Als Java Einsteiger habe ich auch direkt mit Eclipse begonnen und zwar begleitet durch die Tutorials in meiner Signatur. Als Anfänger habe ich nicht alles verstanden, aber begleitet durch die Videos habe ich sämtlichen Code zum Laufen gebracht. Danach ist mein Interesse an Java gestiegen und habe mir einige gute Bücher gekauft resp. als PDF vom Web geholt. Zur Zeit bereite ich mich auf den Sun Certified Java Programmer (SCJP), mittlerweile auf Oracle Certified Java Programmer umgetauft, vor.

@Dow Jones: Deinem Szenario kann ich leider nicht zustimmen. Ein heutiger Anfänger gehört ja meistens zur Google-Generation und wird nach java static suchen und u.a. auf diesen Link stossen: http://www.java-forum.org/stichwort-static/1353-bedeutet-static.html
 
Zuletzt bearbeitet:
T

Tomate_Salat

Gast
Wer wirklich lernt, wofür static steht, der wird nicht auf die blöde Idee kommen, einfach alles static zu machen.

dito. Außerdem ist nicht die IDE(sei es Notepad++ oder Eclipse) zuständig dafür, dass der Programmierer die Sprache lernt. Dafür gibt es entsprechende Fachlektüre. Aber ok: Gegenbeispiel:
Parameter sollte man immer final behandeln (vllt gibt es Ausnahmen, aber diese sind mir nicht bekannt). Stellt man Eclipse richtig ein, dann setzt es beim Speichern immer das fehlende final vor die Parameter. Somit ist der Entwickler gezwungen, diese immer auch als final zu behandeln. Vllt gewöhnt er sich dadurch nicht an, final vor die Parameter zu schreiben, aber er gewöhnt sich an, wie man mit den Parametern zu arbeiten hat. (Ja, ich bin mir im klaren: wohl kein Anfänger wird sich die IDE so einstellen)
 

Crian

Top Contributor
Ich finde, man sollte nicht zu spät auf eine gute IDE wechseln. Wenn man sich schon "gemütlich" anderweitig eingerichtet hat, lernt man sonst die vielen, gewaltigen Vorteile vielleicht gar nicht mehr schätzen, weil man irritiert ist, da alles ungewohnt ist.
 
G

Gasssst

Gast
Ich lese wesentlich mehr Threads, in denen Exceptions entweder komplett ignoriert werden (also nicht gepostet) oder die immer wiederkehrende Frage: "wieso gibt das eine NPE?" (am besten noch ohne Source) als die Frage nach: "Eclipse unterkringelt mir das Rot".
Richtig, aber inwiefern hat das irgendetwas mit IDE vs. keine IDE zu tun? Das ist jawohl ein Problem beider Gruppen gleichermaßen. Wenn du Exceptions schon als Beispiel anführen willst, dann eher gegen die IDE, da du wenn du mit der Konsole arbeitest die Exceptions oder Compilerfehlermeldungen gar nicht übersehen kannst, während du die Eclipse Konsole überhaupt nicht benutzen/lesen musst, wenn du nicht willst.

Stellt man Eclipse richtig ein, dann setzt es beim Speichern immer das fehlende final vor die Parameter. Somit ist der Entwickler gezwungen, diese immer auch als final zu behandeln. Vllt gewöhnt er sich dadurch nicht an, final vor die Parameter zu schreiben, aber er gewöhnt sich an, wie man mit den Parametern zu arbeiten hat.
Nichts für ungut, aber das ist genau der falsche Weg. Wenn die Parameter automatisch final gemacht werden ist der Lerneffekt genau gleich Null, ähnlich zu dem anderen Beispiel Felder statisch zu machen, wenn Eclipse das so vorschlägt. Sich daran gewöhnen, und vielleicht später imitieren, tut ein Anfänger dann womöglich - Java lernen tut er allerdings so nicht.
 
T

Tomate_Salat

Gast
Richtig, aber inwiefern hat das irgendetwas mit IDE vs. keine IDE zu tun? Das ist jawohl ein Problem beider Gruppen gleichermaßen. Wenn du Exceptions schon als Beispiel anführen willst, dann eher gegen die IDE, da du wenn du mit der Konsole arbeitest die Exceptions oder Compilerfehlermeldungen gar nicht übersehen kannst, während du die Eclipse Konsole überhaupt nicht benutzen/lesen musst, wenn du nicht willst.
Mir geht es darum, dass du während der Entwicklung schon siehst, wo Fehler auftauchen werden und wo nicht. Damit spart man sich die x-tausend fehlgeschlagenen Compilier-vorgänge und man kann sich mehr auf seine Fachliteratur konzentrieren. Um die NPE und ihre Freunde kommen beide Parteien nicht herum, da hast du recht.

Nichts für ungut, aber das ist genau der falsche Weg. Wenn die Parameter automatisch final gemacht werden ist der Lerneffekt genau gleich Null
Sehe ich nicht so. Der Entwickler wird später wahrscheinlich die finals niemals händisch setzen (was in Zeiten der IDE auch nicht nötig ist), aber er wird die Parameter so behandeln. Damit ist schon einiges gewonnen.
 

xehpuk

Top Contributor
Es geht doch eher um das Wissen über Packages, imports und static Methoden. Und später über Exceptions, Listener und all den anderen Kram halt, den einem die IDE auf Mausklick hin in den Code einfügt. Wer seinen Code mit einem simplen Texteditor schreibt muss sich mit solchen Dingen zwangsläufig mal eben auseinandersetzen bevor er sein erstes "Hallo Welt" fabriziert.
Wie verhindern IDEs die Aneignung dieses Wissens? Packages sind nichts weiter als Ordner (oder?), imports werden auch in der IDE benötigt (nur beim Einbinden über die Code Completion wird der import automatisch gesetzt) und einen Zusammenhang zwischen static und IDEs sehe ich auch nicht.
Zu Exceptions ist zu sagen: Gut, dass man try-catch oder throws über einen Quickfix bekommt. Alles andere wäre unproduktiv.

Der Unterschied zwischen "IDE-Kringeln" und Fehlermeldungen von javac auf der Konsole ist doch nur, dass man bei der Konsolenausgabe erst im Quelltext nach der betroffenen Stelle suchen muss (wieder Zeitverlust).
 

darekkay

Bekanntes Mitglied
Ich finde auch nicht, dass man mit "man sollte erstmal die Grundlagen mit einem Texteditor lernen, da die IDE vieles automatisch macht" argumentieren sollte. Es ist sogar ein Argument FÜR eine IDE - denn was habe ich davon, wenn ich am Anfang alles per Hand importiere, wenn ich später ohnehin täglich mit meiner IDE arbeiten werde und Strg+Shift+O (oder gar auto-import beim Speichern) mein bester Freund sein wird. Es ist ja nicht so, dass man für den Fall, "man würde irgendwann auf eine IDE verzichten müssen", aufgeschmissen sein wird, da dieser Fall eben niemals eintreten wird. Und ich werde auch niemals zum Vergnügen kommen, javac.exe direkt aufzurufen - wozu denn auch? Ich weiß, was es macht, und das ist das Einzige, was ich darüber wissen muss und will.

Java lernen + IDE benutzen > Java lernen + keine IDE benutzen > IDE benutzen
 

Ark

Top Contributor
Ich finde auch nicht, dass man mit "man sollte erstmal die Grundlagen mit einem Texteditor lernen, da die IDE vieles automatisch macht" argumentieren sollte. Es ist sogar ein Argument FÜR eine IDE - denn was habe ich davon, wenn ich am Anfang alles per Hand importiere, wenn ich später ohnehin täglich mit meiner IDE arbeiten werde und Strg+Shift+O (oder gar auto-import beim Speichern) mein bester Freund sein wird. Es ist ja nicht so, dass man für den Fall, "man würde irgendwann auf eine IDE verzichten müssen", aufgeschmissen sein wird, da dieser Fall eben niemals eintreten wird.
Hast du denn so gelernt, wie du es hier gerade für richtig hältst? Fühlst du dich auch sicher in der Anwendung der Sprache? Ich will damit nicht behaupten, dass dein Ansatz komplett falsch wäre. Aber falls du selbst nicht so (oder zumindest so ähnlich) gelernt hast, wie du es gerade vorschlägst, solltest du sehr vorsichtig sein. Ich bin der Meinung, dass man solche Lernprozesse (wie hier: Lernen einer Programmiersprache) selbst durchgemacht haben muss, da man wohl nur aus eigener, unmittelbarer Erfahrung sagen kann, ob ein Lern- bzw. Lehransatz taugt oder nicht. Wenn man etwas nicht selbst so lernen kann (weil man es z.B. schon gelernt hat), sollte man wenigstens andere gefragt haben, die auf entsprechende Weise lernen mussten.

Ich selbst musste mir z.B. VHDL beibringen, und das machte ich (mangels Zeit) sogleich in einer passenden IDE, die mir viele Codeteile generiert hat. Das war ein wesentliches Problem für mich, denn da mir die IDE das "Denken in der Sprache VHDL" abnahm, konnte ich nicht lernen, worauf es beim Schreiben von VHDL-Code wirklich ankommt. Selbst einfachste Sachen habe ich (trotz IDE) nur unter großen Anstrengungen hinbekommen, obwohl (a) mir völlig klar war, was ich erreichen wollte, (b) ich wusste, auf welche Knackpunkte ich achten musste (Hardware ist nun einmal etwas anderes als Software) und (c) ich ähnliche Konstrukte bereits aus Software-Programmiersprachen (von Assembler bis Java) kannte.

Darum mein Fazit (aus eigener Erfahrung): Lerne (solche Sachen) aus unmittelbarer Erfahrung. Auch die Drecksarbeit gehört dazu, wenngleich sie mühselig ist. Es ist normal, wenn man nicht alles auf Anhieb kann. Aller Anfang ist schwer. Aber wenn man nicht anfängt, kann man den Weg nicht finden.

Und chinesische Schriftzeichen zu schreiben, lernt man nicht, indem man sie nur anguckt.

Ark
 

darekkay

Bekanntes Mitglied
Ich selbst musste mir z.B. VHDL beibringen, und das machte ich (mangels Zeit) sogleich in einer passenden IDE, die mir viele Codeteile generiert hat. Das war ein wesentliches Problem für mich, denn da mir die IDE das "Denken in der Sprache VHDL" abnahm, konnte ich nicht lernen, worauf es beim Schreiben von VHDL-Code wirklich ankommt.

Und was ist daran schuld gewesen:
a) Die IDE
b) Deine "Schlampigkeit" (nicht böse gemeint)

Du gibst der IDE die Schuld, weil du keine Zeit hattest, die Sprache richtig zu lernen?

Ich habe meine Meinung bereits zusammengefasst:
Sprache lernen + IDE > Sprache lernen + keine IDE > IDE

Ich habe gleich mit Eclipse angefangen. Wieso sollte ich denn auch per Hand alle nötigen Imports eintragen, die meine IDE selbstständig macht? Wieso sollte ich mühselig das Programm immer und immer wieder kompilieren, um nacheinander alle Compilierfehler angezeigt zu bekommen, wenn mir meine IDE diese noch vor dem Compilieren anstreichen kann?

Was du als "Drecksarbeit" bezeichnest, sehe ich einfach nur als Zeitverschwendung an. Es kommt natürlich auf die Person an. Wenn diese den einfachen Weg nimmt und das Lernen der Sprache aufgibt, weil ihm die IDE ja "alles abnimmt", dann ist die Person selbst schuld, und nicht die IDE. Ich persönlich möchte schließlich die Sprache lernen, und keine Zeit mit bsp. Tippfehlern verschwenden, die mir ein normaler Texteditor nicht sofort anzeigt.

Das einzig Negative an der IDE selbst, was mir einfällt, wäre der riesige Umfang für einen Neuling, der noch niemals programmiert hat. Hier müsste das entsprechende Lehrbuch mitdenken, und auf den ersten paar Seiten die allerwichtigsten Funktionen beschreiben (Projekt erstellen, Pakete anlegen, Klassen hinzufügen, "play" drücken). Hat man dann erstmal die Grundlagen drauf, kann man sich langsam in die zahlreichen Funktionen, die eine IDE bietet, einarbeiten.
 

Ark

Top Contributor
Und was ist daran schuld gewesen:
a) Die IDE
b) Deine "Schlampigkeit" (nicht böse gemeint)

Du gibst der IDE die Schuld, weil du keine Zeit hattest, die Sprache richtig zu lernen?
Normalerweise setze ich beim Lernen mehr auf Qualität als auf Quantität. Meine Erfahrung hat mir bisher Folgendes gezeigt (mal am Beispiel erklärt): Nehmen wir mal an, ich lerne in einem Jahr etwas im Bereich Mathematik und eine Fremdsprache (z.B. Japanisch). Wenn ich das erste halbe Jahr nur für Mathe und das zweite halbe Jahr nur für Japanisch lerne, werde ich am Ende des Jahres für Mathe ein besseres Verständnis haben als für Japanisch, selbst wenn ich im zweiten Halbjahr nicht mehr aktiv etwas für Mathe mache. Wenn ich dagegen sowohl für Mathe als auch für Japanisch über das ganze Jahr parallel lerne (also gleiche Menge Lernstoff wie in der ersten Alternative, aber über längeren Zeitraum verteilt), werde ich am Ende des Jahres sowohl in Mathe als auch in Japanisch ein besseres Verständnis entwickelt haben, als es bei ersten Alternative je möglich wäre. Warum? Weil das Gras nicht schneller wächst, wenn man daran zieht.

Nun zurück zum konkreten Fall: Ich entschied mich (entgegen meiner gerade angeführten Erfahrung) dazu, doch nur viel oberflächlich zu lernen, weil mir, wie gesagt, schlicht die Zeit fehlte, um ein tiefes Verständnis dafür zu entwickeln. Dies führte dazu, dass ich zwar zunächst viel aufnahm, aber sehr schnell an eine gewisse Grenze stieß, die ich eben nicht mehr mit Quantität, sondern nur noch mit Qualität überwinden würde. Wie gesagt: normalerweise würde ich so nicht vorgehen, aber damals war das Wann wichtiger als das Wie. Mir war auch klar, dass es mich so auf lange Sicht mehr Zeit kosten würde, als wenn ich es gleich "richtig" gemacht hätte.

Die IDE kann nichts dafür, dass ich mich aus Zeitgründen gezwungen sah, diesen (auf kurze Sicht besseren, aber auf lange Sicht schlechteren) Weg zu gehen. Was ich aber (in Bezug auf das Thema hier) dazu sagen will: ich bin beide Wege gegangen, und ich habe für mich festgestellt, dass mich der lange und mühsame Weg weiter bringt als der kurze und einfache. Warum ich mich für den einen oder anderen Weg entscheide, spielt dabei keine Rolle. Was zählt, ist die Erfahrung beim Lernen, und die muss jeder selbst machen, denn wie du ja schon richtig bemerkt hast: Es kommt auf die Person an.

Ark
 

darekkay

Bekanntes Mitglied
Ok, ich geb's auf - ich kann deinen Vergleichen keinen Inhalt entnehmen, der zu dem Thema "IDE oder keine IDE" passt. Das Lernen an sich hat mit diesem Thema rein gar nichts zu tun. Für die ersten Kapitel, die du dir durchliest, brauchst du noch nicht mal einen Computer. Möchtest du dein gelerntes Wissen anwenden, dann kannst du entweder deine Zeit mit Dingen verschwenden, die dir später sowieso die IDE abnimmt, oder du lässt sie dir gleich abnehmen - und zwar ohne jegliche Auswirkung auf das Aneignen von Wissen, was immernoch unabhängig von dem Programm stattfindet. Und du kannst nicht im Ernst behaupten, du lernst mehr Sinnvolles, Berufsrelevantes, wenn du einen Texteditor nimmst.

Oder es mit deinem Beispiel auszudrücken: wenn du gleichzeitig Java und Eclipse lernst, wirst du "am Ende mehr Wissen über beides haben, als es bei ersten Alternative je möglich wäre. Warum? Weil das Gras nicht schneller wächst, wenn man daran zieht." Selfowned?
 

frapo

Bekanntes Mitglied
@darekkay
Vielleicht solltest Du so langsam einfach mal ruhigere Töne anschlagen. Gegenüber Ark jetzt 'komisch' zu werden, muss einfach nicht sein.

Du hast Deine völlig legitime eigene Meinung und von dieser möchtest Du auch nicht abrücken - musst Du ja auch nicht. Leute die hier für Anfänger(und auch nur zum Anfang!) die Konsole empfehlen, haben ihre ebenso berechtigten Gründe, wie Du mit Deiner IDE-Empfehlung - akzeptiere doch bitte einfach das es andere Meinungen und Erfahrungen gibt. Es geht hier schließlich nicht um Religion und das Bekehren.

Ok, ich geb's auf . . .
Da zitiere ich Dich übrigens sehr gerne.
Es macht einfach keinen Sinn mit Leuten zu reden, die nicht imstande sind nachzuvollziehen, das nicht jeder Mensch dieselben Erfahrungen gemacht hat, wie man selber.

Ich habe früh gemerkt das es hier nicht um eine Diskussion auf Augenhöhe gehen soll, drum habe ich mich aus der Diskussion auch früh verabschiedet ;).

Die besten Grüße
frapo
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Den versteh ich jetzt nich!?
Eigentlich recht simpel; Man kann etwas auf zwei Arten lernen. Autodidaktisch oder in einem Kurs. Während man als Autodidakt sich selbst sein Lerntempo bestimmt und vllt. auch gleich nach dem obligatorischen "Hello World" von der Konsole-Notepad-Konstellation zu einer IDE wechseln kann, ist man in einem Kurs an das Tempo des "Vorbeters" gebunden.
 
Zuletzt bearbeitet von einem Moderator:

darekkay

Bekanntes Mitglied
@darekkay
Vielleicht solltest Du so langsam einfach mal ruhigere Töne anschlagen. Gegenüber Ark jetzt 'komisch' zu werden, muss einfach nicht sein.

Wo wurde ich denn bitte "komisch"?

Ich akzeptiere logischerweise eine andere Meinung. Ich hab doch selbst ein Argument erwähnt, der für einen Texteditor spricht (weniger komplex/kompliziert, als eine IDE). In dem langen Beitrag von Arg konnte ich aber keinen passenden Inhalt entnehmen, da er über das Lernen spricht, was doch mit der Wahl seiner Programmierumgebung nun mal nichts zu tun hat...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
A Hilfe beim Java-Einstieg Java Basics - Anfänger-Themen 3
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
I Hilfe beim löschen von Buchstaben. Java Basics - Anfänger-Themen 1
I Hilfe beim löschen schon Buchstaben. Java Basics - Anfänger-Themen 4
J Hilfe beim "Verknüpfen" von zwei Klasse Java Basics - Anfänger-Themen 15
B Hilfe beim Kreisberechnungsprogramm Java Basics - Anfänger-Themen 6
D Hilfe beim übersetzen in der Klasse Throwable Java Basics - Anfänger-Themen 2
S Datentypen Hilfe beim Typecasting Java Basics - Anfänger-Themen 7
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 8
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
H Hilfe beim Programmablaufplan Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
P Hilfe beim einlesen eines Textes Java Basics - Anfänger-Themen 11
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
D Hilfe beim SDF Datum Ausgabe Java Basics - Anfänger-Themen 20
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
P HILFE !!! erste aufgabe beim programmieren Java Basics - Anfänger-Themen 13
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
V Hilfe beim implementieren von Iterator Java Basics - Anfänger-Themen 5
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
Developer_X Hilfe beim umbauen von Strings Java Basics - Anfänger-Themen 4
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
G Fehler beim Ausführen HILFE! Java Basics - Anfänger-Themen 12
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
A Hilfe beim "übersetzen" Java Basics - Anfänger-Themen 7
O Linux - Fehler beim kompilieren - HILFE Java Basics - Anfänger-Themen 4
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
S Hilfe beim Einlesen Java Basics - Anfänger-Themen 6
K Hilfe beim starten eines Programms! Bitte helfen. Java Basics - Anfänger-Themen 8
D Hilfe beim Übergeben vom JTextfield Java Basics - Anfänger-Themen 2
E hilfe beim code Java Basics - Anfänger-Themen 3
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G Hilfe zur einer Aufgabe: Datumsüberprüfung beim Gregorianis Java Basics - Anfänger-Themen 2
K Brauche Hilfe beim Programmieren eines Funktionsplotters Java Basics - Anfänger-Themen 3
B Hilfe beim Schüler-Project Java Basics - Anfänger-Themen 4
G Hilfe beim addieren(Anfänger) Java Basics - Anfänger-Themen 12
F Hilfe beim Zeichnen in JPanel Java Basics - Anfänger-Themen 2
L Kompletter Neuling: Hilfe beim ersten Java Versuchen Java Basics - Anfänger-Themen 12
F Hilfe beim erstellen von Jar files! Java Basics - Anfänger-Themen 2
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben