Bücher zu Java?

  • Also gut, ich hab sogut wie keinerlei Programmier-kenntnisse... in der AHS hab ich zwar das Wahlpflichtfach Informatik 3 Jahre gehabt, aber ausser Abschreiben war da nichts...

    Hab jetzt AlgoDat usw... Was ist die einfachste Möglichkeit Java zu erlernen? Gibt es einen Buchtipp oder soetwas in die Richtung?...

    Reicht es, wenn ich Java lerne, oder sollen noch andere Programmiersprachen abgedeckt werden?

    (\ _/)
    (O.o) copy bunny to help
    (> <) him achieve world domination
    /_I_\

  • Fang' mal mit einer Programmiersprache an. Eines nach dem anderen. Da Java am häufigsten auf der Uni verwendet wird solltest du auch damit anfangen. Der Umstieg auf andere Sprachen ist dann relativ einfach sobald man eine verstanden hat.

    Bücher-Threads sollte es schon genug geben. Hier in der Programmier-Ecke und im EPROG-Subforum. Benutze die Suchen-Funktion.

    Die einfachste Möglichkeit ist nach meiner Erfahrung mit Nachhilfe zu lernen - ich sage das nicht zur Eigenwerbung, sondern sehe es einfach an meinen Schülern - nach 3-4 Wochen sitzt meistens der Stoff, paar Wochen mehr Übung festigen ihn. Natürlich kann man sich die Dinge aber auch problemlos selbst beibringen. Das kann schon mal etwas dauern.

  • Ich kann dieses Buch sehr empfehlen. (Ist glaub ich grad in der neuesten Auflage im LMZ erschienen) Da steht eigentlich alles drin, was man auf der uni in Programmierhinsicht brauchen könnte und mehr.

    "I don't think that Debian can really compete with Gentoo. Sure it might be okay, but when it comes to dependencies, you probably are still going to have to get them all on your own. Or is there something like portage in the Debian world as well?"

  • Zitat von Lillipip


    Hab jetzt AlgoDat usw...

    Was hat das mit Java zu tun? Verlangen sie jetzt Java-Kenntnisse in AlgoDat? Bei mir war Java nur in einer LVA zwingend erforderlich, naemlich EPROG.

    Zitat von Lillipip


    Reicht es, wenn ich Java lerne....

    Wofuer soll es reichen? Nur die wenigsten LVAs auf der TU verlangen Java-Kenntnisse, falls Du das meinst.

    EDIT: Ahja, DSLAB faehrt auch mit Java!

  • Zitat

    Ich kann dieses Buch sehr empfehlen.


    Danke für die Information.. werd mir das Buch ansehen und wahrscheinlich auch kaufen :cool:

    Zitat

    Verlangen sie jetzt Java-Kenntnisse in AlgoDat?


    Naja, in AlgoDat haben sie gesagt, dass es empfohlen wird, Java zu können und da ich nix kann, werd ich damit beginnen...

    Zitat

    Bei mir war Java nur in einer LVA zwingend erforderlich, naemlich EPROG.


    Tja... ähhh... die hab ich verabsäumt... mache sie aber nächstes Semester nach.

    Zitat

    Wofuer soll es reichen? Nur die wenigsten LVAs auf der TU verlangen Java-Kenntnisse, falls Du das meinst.


    Naja, ich glaube nicht, dass ich ohne Programmierkenntnisse auskomme und irgendwo muss ich doch beginnen...

    (\ _/)
    (O.o) copy bunny to help
    (> <) him achieve world domination
    /_I_\

  • Zitat von Lillipip


    Naja, ich glaube nicht, dass ich ohne Programmierkenntnisse auskomme und irgendwo muss ich doch beginnen...


    Das ist klar. Java ist halt ziemlich low-level und fuer die Implementierung der meisten Algorithmen aus z.B. AlgoDat sehr schwerfaellig und letztlich ungeeignet. Ich empfehle das Buch Core Java 2 Volume 1, von Horstmann und Cornell.

  • Java ist low-level? C++ is noch mehr low-level als java. Java sorgt mit seinem Garbage Collector sogar für automatisches entfernen auf nicht mehr verwiesene Objekte. Das versteh ich nicht unter low-level. Vielleicht meinst du ja was anderes als ich, aber low level ist Assembler und Maschinencode.

    @ Lillipip: Ich würde C++ empfehlen.

    640K ought to be enough for anybody. :eek2:

  • Im Vergleich zu z.B. Haskell ist Java wirklich low-level. Alle funktionalen Sprachen haben eine höhere Abstraktion. (Sag ich ganz ohne Wertung, was besser ist, da ich selbst auch hauptsächlich OO Sprachen verwende).

    In OOP wird übrigens auch Java verwendet, nur zur Ergänzung der Liste. SE gibts auch mit Java (wenn auch nicht zwingend).

    Dipper dipper dii dipper dii dipper dii duuu

  • Also gut, ich gehe Medieninformatik und muss dafür irgend eine Programmiersprache können... kann mir wer sagen, welche am geeignetsten ist und welche man am meisten verwendet und, welche relativ leicht zu lernen ist :shinner:

    (\ _/)
    (O.o) copy bunny to help
    (> <) him achieve world domination
    /_I_\

  • Ok Medieninformatik. Du wirst viel mit Bildverarbeitung und Computergrafik zu tun haben. Also wärs meiner Meinung nach eindeutig C++.

    @ sauzachn: Ja kann sein, aber Java ist eine Hochsprache und im allgemeinen sehe ich das nicht als low-level, aber kann gut sein, dass es wer komplett anders sieht :)

    640K ought to be enough for anybody. :eek2:

  • Zitat von Spockman

    Das ist klar. Java ist halt ziemlich low-level und fuer die Implementierung der meisten Algorithmen aus z.B. AlgoDat sehr schwerfaellig und letztlich ungeeignet. Ich empfehle das Buch Core Java 2 Volume 1, von Horstmann und Cornell.


    Low-Level .. ois kloa. Schon überhaupt was mit Java gemacht? Aber man könnte ja vorschlagen, Lisp zu lernen .. damit findet man sicher später ne Arbeit.

  • Zitat von Lillipip

    Ok, dann versuche ich mir C++ anzulernen... gibts auch einen Buchtip?


    C++ ist nicht relativ leicht zu lernen. In Java kannst du weniger Unfug anstellen, du brauchst es ohnehin für EPROG (außer du belegst EPROG auf der Hauptuni). Der direkte Einstieg in C++ kann ziemlich hart sein, da dort viel möglich ist, was auch zu vielen Fehlern führen kann. Wenn du aber mit C++ zurecht kommst, wirst du mit Java keine Probleme haben.

  • @ JohnFoo: Je mehr Fehler man macht, desto mehr lernt man. Vielleicht bin nur ich der Meinung, aber je weiter unten in der Hierarchie man anfängt, desto besser ist das Verständniss fürs programmieren. Es soll ja nicht darum gehen eine Syntax zu lernen, sondern das programmieren. Deswegen find ichs auch schade, dass Eprog mit java beginnt. Java ist einfach zu mächtig für den Anfang.

    640K ought to be enough for anybody. :eek2:

  • Zitat von Swoncen

    @ JohnFoo: Je mehr Fehler man macht, desto mehr lernt man. Vielleicht bin nur ich der Meinung, aber je weiter unten in der Hierarchie man anfängt, desto besser ist das Verständniss fürs programmieren.


    So kann man's auch sehen. Aber wer gerade lernt will schneller Erfolge sehen. Bei C++ werden im Durchschnitt (hab ich mal wo gelesen) 5 mal mehr Fehler programmiert als in anderen Sprachen. Was dann ziemlich frustrierend werden kann. Dazu kommt noch, dass man in C++ die C- und C++-Bibliotheken verwenden kann. Und sich dann schlechten Stil angewöhnt, weil man es einfach nicht besser weiß (natürlich kann ein gutes Buch helfen).

    Zitat

    Es soll ja nicht darum gehen eine Syntax zu lernen, sondern das programmieren. Deswegen find ichs auch schade, dass Eprog mit java beginnt. Java ist einfach zu mächtig für den Anfang.


    Aber was Java kann, kann C++ auch. Templates, Function-Pointer, selbstdefinierte Operatoren, eingebundener Assembler-Code, Konstrukte wie friend - das kann alles ziemlich verwirren. Exceptions kann man, muss man aber nicht verwenden. Insgesamt ziemlich verworren. Und während man noch grübelt sammeln sich die alten Objekte im Speicher weil man den Destruktor falsch geschrieben oder ganz vergessen hat ;).

    Mit Fehlern lernt man sicher mehr, aber man sollte sich klar sein, dass bei C++ VIELE Fehler warten. Und ich bin nicht der Meinung, dass schwerer auch besser ist. Mit einer Sprache wie C++ kann ich mich immer noch beschäftigen, wenn ich die Prinzipien der OO-Programmierung mit Java erlernt habe. Studienkollegen von mir sind den Weg gegangen, der Umstieg hat dann nicht viel Probleme gemacht, da zumindest die Grundlagen bekannt waren.

  • Ist sicher von Typ zu Typ verschieden. Das man mit Java schneller lernt liegt sicher daran, dass man mit C++ anfangs viele Fehler macht. Wenn man aber nur Java lernt, wird man Erfahrungsgemäß an vielen Stellen nicht wirklich wissen was genau passiert, auch wenns funktioniert. Ich hab voriges Semester auch Eprog Nachhilfe gegeben und hab oft auch Dinge anhand von Beispielen in C++ erklärt. Ich hatte zwar nur 2 Schüler, aber einer hatte eine 1 und er war wirklich blutiger Anfänger. Wenn ich mich nur auf Java gestützt hätte, wäre nicht so viel Hintergrundwissen möglich.

    Was die Fehler am Anfang angeht: Wenn man sich auch damit beschäftigt, wie man den Debugger benutzt, wird man schnell auf seine Fehler kommen. Ich hab mir Java erst vor einem Jahr wirklich angesehen und ich habs bisher nicht zusammengebracht den Debugger in Eclipse zum laufen zu bekommen. Und zwar deswegen, weil ich für mich nicht viel Sinn sehe mit Java zu programmieren und mich daher wenig damit beschäftigt habe.

    Aller Anfang ist schwer, derjenige der probiert wirds schaffen, ob Java oder C++. :thumb:

    640K ought to be enough for anybody. :eek2:

  • Zitat von JohnFoo

    Low-Level .. ois kloa. Schon überhaupt was mit Java gemacht? Aber man könnte ja vorschlagen, Lisp zu lernen .. damit findet man sicher später ne Arbeit.


    Schon mal mit Haskell (oder eben einer anderen funktionalen Sprache) programmiert? Quicksort in 2 Zeilen? Wie viele in Java? Na also, da ist schon noch ein großer Unterschied vorhanden.

    Bitte mich aber nur als advocatus diaboli zu sehen! Ich programmiere auch viel lieber objektorientiert. Allein schon, weil ich für "Programmiersprachen" eine Datenbank in Haskell schreiben musste... I/O ist nicht besonders nett.

    btw JohnFoo: Hier (und generell an der Uni) gehts nicht nur (oder eigentlich: gar nicht) darum, dass man Sprachen für einen Job verwerten kann.

    Wie schauts eigentlich mit Ruby oder so was aus? Ist für den Einstieg noch mal eine Hürde weniger als Java. Ansonsten würd ich auch noch ein Auge auf C# werfen. Um C++ solltest du am Anfang einen großen Bogen machen - allein die Frage, wann man einen Zeiger und wann man eine Referenz verwenden soll, soll schon Familien zerstört haben.

    Dipper dipper dii dipper dii dipper dii duuu

  • Ich kenn Haskell nicht, also wie sieht ein Quicksort dort aus?
    C# ist sicher auch interessant...

    Zitat

    allein die Frage, wann man einen Zeiger und wann man eine Referenz verwenden soll, soll schon Familien zerstört haben.

    lol =)

    640K ought to be enough for anybody. :eek2:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!