Java lernen, nur wie.. ?

cb_1os

Lieutenant
Registriert
Juli 2008
Beiträge
576
Hallo,

ich würde gerne die Programmiersprache Java lernen.
Mein Problem ist, dass ich meist faul bin und es dann auf sich beruhen lasse.
Vor paar Wochen / Monaten habe ich mal angefangen, das E-Book "Java ist auch eine Insel" zu lesen. Jedoch habe ich nach wenigen Abschnitten wieder aufgehört, da es einfach zu kompliziert ist für einen Neueinsteiger, es setzt Fachwissen voraus. Seitdem habe ich nichts mehr gelesen.

Deshalb meine Frage:
Gibt es ein Buch / E-Book, das mir komplett ohne Vorwissen, Schritt für Schritt, Java erklärt und mir die Programmiersprache beibringt ?

Hoffe ihr könnt mir helfen.

Grüße
 
Ich finde das E-Book "Java ist auch eine Insel" auch nicht sehr gut für den Einstieg, ist aber eben ne persönliche Meinung und Empfindung. Ich nutze, auch aufgrund meines Studiums, folgendes Buch: Klick

Da du bei Java auch die OOP mit benötigst und ich da am Anfang auch überhaupt kein Land gesehen habe kann ich ich dir dieses Buch mit ruhigem Gewissen empfehlen. Mir hat es sehr geholfen, gerade bei OOP. Weiterer Vorteil ist, das es zu diesem Buch auch eine Webseite gibt auf der du weitere Beispiele und Aufgaben findest.

mfg
 
ich selbst hab java durch das script von der uni gelernt und das rrzn buch (nur für studenten erwerbbar) habe aber einen bekannten (15 jahre alt) der java aus dem von dir angesprochenen buch gelernt hat

auf welcher plattform entwickelst du denn ?

bei windows empfehle ich dir den JOE (entwicklung eingestellt aber tolle schlanke ide für den einstieg) wenn du zuvor das aktuellste java JDK (achtung nicht nur die runtime JRE) installier hast findet er bei der anschliessenden JOE installation automatisch den javac (javacompiler)

dann kannst du auch schon quellcode schreiben und mithilfe der buttons übersetzen


also einfach am ball bleiben und nicht so schnell aufgeben

achso den JOE findest du hier -> www.javaeditor.de/
 
Ich dachte an Eclipse, habe gehört, das soll sehr gut sein.

Wie gesagt, ich habe keinerlei Wissen von der Materie (außer ein bisschen HTML...). Deswegen bringt mir das von mir oben angesprochene Buch nichts, weil es Java anhand von Beispielen erklärt, dessen Hintergrund / Bedeutung ich nicht verstehe.
 
eclipse ist für den anfang schon sehr hart weils eben sehr unübersichtlich ist für den einsteiger
hast du denn schon eine jdk installiert ?

ansonsten programmieren fällt einem nicht in den schoß man muss schon was dafür tun

ich habe gerade das javainsel inhaltsverzeichnis überprüft und muss sehen das die eigentliche javaprogrammierung erst bei kapitel 2.2.3 beginnt das sollte dir ja aufgefallen sein oder ?
 
@ damon6:
Ja, eigentlich schon.
Nur die ganzen Erklärungen über Klassen etc. verstehe ich halt nicht.

Naja, vielleicht sollte ich mir das Buch doch noch einmal anschauen. Da wird ja auch mit Eclipse gearbeitet.
 
ja das ist leider doof mit den ganzen klassen erklärung eben weil man polymorphie überladen usw erst alles sehr viel später braucht aber zu beginn ist ein kleines bischen klassentheorie wichtig weil man eben gleich anfängt und überall klassen einsetzt

ja die arbeiten mit eclipse für ihre codebeispiele aber ist halt sehr viel grösser und bietet viel mehr funktionen als JOE joe ist nur fürs reine coden gemacht worden da gibts keine projektorganisation oder anderen gui murks :)

in etwa vergleich mit pelles c (für c einsteiger) eclipse nimmt einem zu viel arbeit ab mit autovervollständigen usw da lernt man nicht effektiv genug also eher was für leute die schon java proggen können und nicht immer alles bis zum ende tippen wollen

egal du beisst dich schon durch
 
Da stimme ich damon6 voll zu. Gerade am Anfang sollte es nur ein Editor (evtl. Notepad++) mit Syntaxhighlighting sein. So viel Luxus muss sein. Kompiliert wird über die Konsole.

Eine mächtige IDE wie Eclipse braucht man wirklich nur für große Projekte.

Ich selbst nutze am liebsten den Editor wenn ich nur mal schnell ein Java Programm schreibe. Also wenns nichts großes ist.

Und Java basiert nun mal auf Klassen. Das ist nun mal die Objekt orientierte Programmierung wie weiter oben schon beschrieben wurde. Klar kann man auch nichtobjektorientert in Java programmieren. Aber dann muss man sich die Frage stellen, ob es Java sein muss.
Deshalb ist die Theorie über Klassen unumgänglich.
 
ähm ja nickfath... hast du überhaupt vorher was programmiert?

die sache ist die, für den kompletten einsteiger ist java nicht gerade freundlich.
hab selbst mit PHP angefangen (was natürlich nicht empfehlenswert ist aber ist ab version 4 auch OOP möglich)ansonsten ist java wie jede programmiersprache. musst du halt einarbeiten, anders geht nicht.
 
Programmieren braucht einen starken Charakter und Willen.

Hinsetzen, erstes Buch/Tutorial lesen, nichts verstehen.
Hinsetzen, zweites Buch/Tutorial lesen, nichts verstehen.
Hinsetzen, drittes Buch/Tutorial lesen, nichts verstehen.
Jetzt fängst du wieder mit dem ersten an.
Es ist ein iterativer Prozess und das Wichtigste wird nach einiger Zeit das Programmieren selbst, da man die Theorie mit der Zeit auch versteht. Üben, üben und üben.

http://www.gailer-net.de/

You are a pro or a noob, that's life!
 
naja hab alles durch rumprobieren gelernt... und viel debuggen :P obwohl es bei eclipse sehr böse mit dem debuggen ist. würde dann ehe den netbeans nehmen, da dieser genauer ist!
 
roker002 schrieb:
naja hab alles durch rumprobieren gelernt... und viel debuggen :P obwohl es bei eclipse sehr böse mit dem debuggen ist. würde dann ehe den netbeans nehmen, da dieser genauer ist!

Was verstehst du in diesem Zusammenhang unter "genauer"?
 
genauer... dass ich die übersicht von globalen und lokalen vars immer im überblick habe. vielleicht habe ich den feature bei eclipse noch nicht gefunden, aber die ansicht beim debuggen ist schon recht mager wenn man diese mit VS 08 vergleicht. habs aber auch mit netbeans nur kurze zeit gearbeitet, deswegen muss ich mich auch entschuldigen wenn ich eine falsche feststellung gemacht habe :P
 
nickfath schrieb:
Mein Problem ist, dass ich meist faul bin und es dann auf sich beruhen lasse...

Da liegt das Problem und nicht an den Büchern, Java oder sonstwas. Programmieren kann man nicht so "einfach" von heute auf morgen lernen. Man kann sich nicht einfach sagen "habe kein bock, aber wenn ich jetzt Java schnell lernen könnte... wäre nicht schlecht".

Du musst dich schon mal länger hinsetzen und dich damit auseinander setzen. Die Java Insel Buch ist klasse, auch wenn da nicht alles 100 mal erklärt wird. Deswegen kommt es auf dich an, dass du nebenbei noch googelst und dann wenn es noch unklar ist in Foren fragen stellst. (wobei ich sagen muss, dass wenn man noch nie programmiert hat vielleicht die Insel zur seite legen sollte. Das richtet sich zwar am Anfang auch an Java anfängern, aber der Autor setzt voraus, dass man schon mal was programmiert hat).

Dir wird kein Buch oder online Tutorial der Welt helfen wenn du dich nicht länger damit auseinander setzen kannst. Man muss halt einige Sachen 4-5mal durchgehen und eventuell mal mehr als 15min dranbleiben.

Edit: Habe gerade nochmal in die Insel reingelesen. Also es wird am Anfang sogar gezeigt wie man mit Eclipse arbeiten kann. Du könntest theoretisch schon was coden. Wo genau hattest du da Probleme? Da könnten wir eventuell was dazu sagen.
 
Zuletzt bearbeitet:
Hallo,

also ich kann nur sagen, dass man am Anfang nicht unbedingt mit einem kahlen Editor und der Kommandozeile anfangen sollte das Programmieren zu lernen.
Für Java kann ich folgendes Buch empfehlen:
http://www.amazon.de/Das-Einsteigerseminar-Objektorientierte-Programmierung-Java/dp/3826674146/ref=sr_1_5?ie=UTF8&s=books&qid=1252541825&sr=8-5

Und ich persönlich würde dir empfehlen mit Eclipse anzufangen. Es ist vielleicht am Anfang etwas schwierig zu verstehen, aber einfach ein Projekt zu erstellen und anschließend zu compilieren ist dort auch nicht schwieriger und du steigst gleich mit der richtigen Entwicklungsumgebung in die Programmierung ein.

Am Ende muss man aber einfach sagen, dass du ohne Übung und selber Programmieren nicht weiter kommen wirst. Probier einfach aus viele Beispiele am Anfang nach zu programmieren und diese weiter zu entwickeln. Dann wirst du auch einen Fortschritt merken und kannst weitere Tutorials und Anleitungen nachvollziehen :)
 
Es gibt eine sehr gute Serie von O'Reilly namens Von Kopf bis Fuß, die sich mit verschiedenen Themen aus der Softwareentwicklung befasst, unter anderem auch mit Java. Der Stoff ist didaktisch genial aufbereitet und wird humorvoll sowie grafisch salopp untermalt. Außerdem gibt es am Ende eines jeden Kapitels einen umfangreichen Übungsteil mit Kreuzworträtseln, Codeschnippseln und anderen Spielereien mit verschiedenen Schwierigkeitsgraden.

Programmieren ist keine leichte Sache, man muss sich schon hinsetzen und durchbeißen. Man muss auch akzeptieren können, dass man oft etwas nicht auf Anhieb versteht. Aber wenn man dranbleibt, lichtet sich irgendwann der Nebel und man hat eine Freude daran, sofern man gerne kreativ ist, oder ganz einfach eine Vorliebe für analytisch logisches Problemlösen besitzt.

Wenn du der Sache mit der Entwicklungsumgebung aus dem Weg gehen möchtest, kannst du ja mal einen Blick auf C# werfen, da stellt sich die Frage nicht so sehr. Die Sprache ähnelt Java stark, sodass nach dem Erlernen der einen Sprache der Umstieg auf die andere leicht fällt. Auch zu C# gibt es ein Von Kopf bis Fuß, das ich zwar nicht selber kenne, von dem ich aber nur Gutes gehört habe. In C# kann man mit Microsofts XNA beispielsweise relativ leicht Spiele programmieren, ohne sich um den ganzen Low-Level Rahmen kümmern zu müssen.

http://www.oreilly.de/catalog/hfjava2ger/

Viel Spaß,
Michael
 
Wenn du der Sache mit der Entwicklungsumgebung aus dem Weg gehen möchtest, kannst du ja mal einen Blick auf C# werfen, da stellt sich die Frage nicht so sehr.

wieso nicht ? ich denke mal da stimmen mir viele zu das ziel des erlernes einer programmiersprache doch meist ist sauber und sicher quellcode zu schreiben - mal ganz abgesehen von der implementierung komplexer algo´s

wäre es da nicht von vornherein besser man schreibt seinen quellcode komplett selbst als sich erstmal von visual studio sein projektcode automatisch erzeugen zu lassen? zudem tippt man dann doch nie den quellcode vollständig sondern im falle von c# wenn ich mich nicht irre -> "console.w" und schon wird einem angeboten "writeln" also nimmt einem die ide viel zu viel arbeit ab um das zeugs richtig zu erlernen.

ist halt meine persönliche meinung ka wie ihr das seht
 
ich denke mal da stimmen mir viele zu das ziel des erlernes einer programmiersprache doch meist ist sauber und sicher quellcode zu schreiben

Und die Autovervollständigung sorgt dafür, dass alle diese Faktoren begünstigt werden. Man lernt schneller die Klasseneingenschaften kennen, weil man nach dem Klassennamen einfach nur einen Punkt setzt und durch die vorhandenen Felder und Methoden blättern kann. Man gewöhnt sich an das Bild von sauber formatiertem Code, weil ein einheitlicher Stil vom Editor erzwungen wird. Es macht Spaß einfach mal ein paar Programme schreiben und ausführen zu können, ohne zwingend auf der Kommandozeile den Quellcode compilieren und linken zu müssen, obwohl einen dieser Vorgang anfangs viellicht gar nicht interessiert. Wer einfach nur mal sehen will was geht, wird sich womöglich frustriert abwenden. Schade. Wer ohne große Kenntnisse ein kleines Programm zusammenschustert und F5 drückt, wird sich freuen. Das motiviert.

wäre es da nicht von vornherein besser man schreibt seinen quellcode komplett selbst als sich erstmal von visual studio sein projektcode automatisch erzeugen zu lassen?

Besser für das Gedächtnis, ja. Und automatisch wird nur der langweilige Code erzeugt. Hinter dieser Automatisierung steckt schließlich ein Gedanke. Dieser Reinheitsgedanke, den ich bei dir vermute, ist verständlich, aus didaktischer Sicht aber nicht sinnvoll. Abgesehen davon, dass Programmieranfänger schon schwer genug zu motivieren sind, sollte das Ziel nicht sein Methodenaufrufe zu memorisieren, um alles "komplett selbst" schreiben zu können, sondern Lösungen zu finden und produktiv zu sein. Wenn man irgendwann zu der Erkenntnis gelangt, dass man hierfür mit dem vi Editor besser bedient ist, als mit irgendeiner globigen IDE, dann soll es so sein.

Wie auch immer, das war gar nicht mein ursprünglicher Gedanke. Es ist einfach so, dass es bei Java verschiedene Lösungen wie NetBeans, Eclipse, oder javac auf der Kommandozeile gibt. Bei C# ist das einheitlicher, weil hier überwiegend Visual C# verwendet wird.

Beste Grüße,
Michael
 
ich muss dazu sagen das ich als student in fachrichtung softwaretechnik eben von grund auf gelernt hab und vorher hatte ich auch vs erfahrung und fürs bischen was zusammen klicken und ne gui designen wars ok - für ernsthaftes erlernen der sprache wars leider nix - weil zu viel im hintergrund passiert das man nicht mitbekommt
 
als editor könnte ich noch bluej empfehlen. ist eigentlich recht einfach gehalten aber dennoch komplex genug, um auch mal mehr als nur eine einzelne klasse erstellen zu können. zudem finde ich den debugger ziemlich hilfreich, da man bei fehlermeldungen recht genau nachvollziehen kann, wieso ein fehler auftritt.

ansonsten kann ich nur sagen, dass eine programmiersprache zu lernen recht zeitintensiv ist und man auch teilweise sehr abstrakt denken muss. und gerade java wird meines erachtens recht schnell sehr komplex, wodurch man lange zeit überhaupt nichts kapiert, weil zuviel zusammenkommt. und eine lektüre über java zu lesen reicht meist auch nicht, da die meisten autoren die sachverhalte jeweils anders erklären. mir hat es geholfen, einfach mehrere erklärungen zum thema zu haben, woraus ich mir dann selbst mein eigenes bild stricken konnte. und dummerweise fängt die sache meiner erfahrung nach auch erst an diesem punkt des verständnisses an, spaß zu machen bzw. ist es ein erleichterndes gefühl, wenn man javacode einfach lesen kann, ohne ständig in der javadokumentation, lehrbücher oder sonstwo nachlesen zu müssen. aber nicht umsonst nennt man das ganze programmierSPRACHE, weil wie bei einer richtigen sprahce muss man ein gefühl dafür entwickeln, wie man bestimmte regeln anwendet.
 
Zurück
Oben