java grundlagen was fehlt noch?

...komplette Frage anzeigen

8 Antworten

Listen (u.a. Aggregattypen wie Stack oder Tree), Enumerationen, Operatoren und Generics fehlen noch in deiner Aufzählung, die du hättest zusammenfassen und ordnen sollten (try-catch, throws gehören bspw. zur Kategorie Exceptions; aber vielleicht hast du das gemacht, weil dir da auch noch etwas fehlt?). 

Weitere Punkte, die dann aber langsam auch über die Grundlagen hinausgehen sind:

  • Reflection
  • Lambdas
  • Serialisierung allgemein (Streams, Datenbanken; ist gerade für die Programmierung von Spielen ein wichtiger Bestandteil)
  • XML Parsing (via DOM, SAX, StAX, usw.)
  • Server-Client-Verbindungen (Sockets, Webservices, etc.)
  • GUI-Entwicklung (mit Java Swing oder JavaFX)

So viel zur Sprache Java. Die Programmierung umfasst aber noch andere grundlegende Themen, die wichtig sind. Die Sprache ist lediglich ein Werkzeug, dessen Syntax nicht unbedingt wichtig ist. Die Logik dahinter und der Aufbau von Algorithmen dagegen schon.

Befasse dich unbedingt noch mit:

  • Code-Strukturierung und -ordnung, Konventionen
  • Debugging (eines der wichtigsten Themen)
  • Analyse- und Testverfahren (auch bezügl. Performance-Steigerung)
  • Problemlösung (Algorithmen erstellen) und Abstraktion
  • Programmdokumentation
  • Projektplanung (Analyse und Umsetzung eines Programms)

An sich ist das eine recht robuste Grundlage, die frage ist aber eher ob du bereits ein etwas aufwendigeres Programm nach den Regeln der Objektorientierung programmieren kannst.

Bedeutet, ob du den ganzen kram von Klassen, Interfaces über Regeln der Polymorphie bis hin zur generellen beachtung von CodeConventions auch korrekt verwendest...

Also ob du keine Codedublizierungs verursachst, jede Klasse auch wirklich nur ihre aufgaben erledigt und nicht den Job von jemand anderen mitausführt etc. etc.

Den Theoretischen kram hat man (Zumindest die Grundlagen wie du sie oben aufgezählt hast) recht schnell "gelernt", doch es kommt letzendlich drauf an wie du es umsetzt (Und ob das Ergebnis den "Grundlagen genügt")


Falls deine eigentliche Frage nur war, ob du endlich anfangen kannst ein Programm zu schreiben, dann entschuldige ich mich für den langen Text und sage dir:

Ja, mit den Stichwörtern oben hast du sehr vieles abgedeckt was zur entwicklung von Programmen benötigt wird.

MFG xGlumi

gut4fr5g4 18.08.2016, 15:44

ne habe schon, wie bei anderen hier bereits geschrieben, ein paar programme geschrieben, aber nach minesweeper (mein neustes projekt, was ich gestern fertig geschrieben habe) wollte ich anfangen weiter an den grundlagen zu lernen, aber wenn ich ja die grundlagen kann, dann kann ich ja weiter bei JavafX machen :D

LG

0

Das ist doch schon einiges dabei. (Auch wenn ich die Aufzählreihenfolge gruselig und die bloße Kenntnis von Datentypen und anderen Schlüsselwörtern generell nicht erwähnenswert finde) 

Jetzt folgende Themen könnten sein: GUI-Building mit Swing, Datenbankverbindungen (JDBC + SQlite), Parsen von XML und JSON,...

Sieht doch gar nicht so schlecht aus. 

Abgesehen von Operatoren und Möglichkeiten Code zu schreiben, würde ich zu Grundlagen noch andere Punkte zählen wie:

  • Namenskonventionen 
  • Geordneter Code (Sinnvoll getrennt, gut lesbar, nicht zuviel Code pro Methode)
  • Kommentare
  • JavaDoc
  • Codeaufteilung nach Objektorientierung (Ich weiß dass du da schon langsam Fortschritte machst, führe den Punkt aber dennoch der Vollständigkeit halber auf)
  • Verwenden von Breakpoints und eines Debuggers zur Codeanalyse und Fehlersuche
  • Tests (JUnit)
gut4fr5g4 18.08.2016, 15:49

Vielen Dank! :D Mal wieder eine Antwort, die man besser nicht bekommen kann! :D 

"Codeaufteilung nach Objektorientierung (Ich weiß dass du da schon langsam Fortschritte machst, führe den Punkt aber dennoch der Vollständigkeit halber auf)"

Du kannst das ruhig sagen ohne dich zu rechtfertigen :) Mich nerven nur die leute, die wie oftmals nicht in der frage gefragt, mir zum 100x mal sagen, dass mein code schlecht ist (was mir schon bewusst ist und was sich in 2 stunden nicht ändert), aber wenn man so sachlich und hilfreich, wie du antwortet, ist das überhaupt kein problem! :D

LG und einen schönen Tag noch

1
KnusperPudding 18.08.2016, 15:56
@gut4fr5g4

Anmerken würde ich noch, dass die Verwendung des Debuggers für dich das Nützlichste sein dürfte.

Damit du diesen sinnvoll und einfacher nutzen kannst, wirst du Methoden automatisch etwas leserlicher machen. 

einen schönen Tag noch

Danke und ebenso

2

Prinzpiell ist Programmieren denken, nicht coden in der oder der Sprache. Sprich Du musst wissen, wie du Programmabläufe und Klassen in UML Diagrammen, Programmablaufplänen etc. konzipierst. Das ganze dann in die oder die Programmiersprache zu übersetzen ist nur Fleißarbeit, da Du Syntax leicht nachschlagen kannst.

Um Programmierung grundsätzlich zu verstehen tuts auch Pseudocode, dazu brauchst Du nichtmal eine Programmiersprache zu können.

gut4fr5g4 18.08.2016, 15:51

ne habe schon einige spiele programmiert (siehe andere kommentare hier :D), aber wollte halt nachdem ich minesweeper fertig geschrieben habe weiter die syntax lernen

0

Kleinere, selbst geschriebene Programme. Das wäre für mich "Grundlage". Nicht irgendwelche tollen Anweisungen wie switch oder for und erst recht nicht Variablentypen wie int, double oder bool... o_O

gut4fr5g4 18.08.2016, 15:40

die programme die ich geschrieben habe: tetris, pacman, taschenrechner (wer nicht? xD), snake, minesweeper

0

Wie siehts mit deinen Englischkenntnissen aus? Wenn die gut genug sind würde ich dir die Seite Topcoder empfehlen! (www.topcoder.com) Dort gibt es Aufgaben usw. die du bewältigen kannst und wenn du mal gut genug bist kannste sogar noch "etwas" Geld verdienen ;)

gut4fr5g4 18.08.2016, 15:40

was hat das mit java zu tun? aber nagut ich steh so sicher 3 in englisch (gymnasium)

0
ZeroclawX 18.08.2016, 15:42
@gut4fr5g4

Englisch? Also erstmals: viele Informationen bezüglich der Informatik sind in Englisch und in diesem Berufsfeld wird man auch viel mit der Sprache zutun haben :) Eine 3 reicht aber vollkommen aus...und meiner Meinung nach sind Noten nicht so wichtig. Hauptsache und kannst in der Sprache lesen und schreiben/reden.

0
ZeroclawX 18.08.2016, 15:40

Das Problem ist halt dass sich viele NUR mit Tutuorials und Bücher durchschlagen und am Ende gute Programmierkenntnisse besitzen wollen. Aber Theorie allein hilft da net. Vorallem nicht wenn es ums Programmieren geht. Ich würde dir deshalb empfehlen diese besondere Seite von Topdcoder zu besuchen https://www.topcoder.com/tc?module=ProblemArchive und die Probleme lösen.

0
gut4fr5g4 18.08.2016, 15:42
@ZeroclawX

naja nur die syntax habe ich nicht gelernt, habe auch schon so einige spiele geschrieben: 

tetris, pacman, snake, minesweeper

0
ZeroclawX 18.08.2016, 15:44
@gut4fr5g4

Also wenn du solche Spiele programmiert hast dann sind deine Kenntnisse höchstwarscheinlich über dem Grundlagenniveau!

0
gut4fr5g4 18.08.2016, 15:46
@ZeroclawX

ja das ding ist meine codes sind nicht schön, ich habe oft wichtige regeln, wie objektoprientierung (zwar nicht komplett, aber schon ein wenig) vernachlässigt 

Aber sonst habe ich tatsächlich diese Spiele ohne große hilfe (nur wenn ich etwas noch nicht hatte in javaFX), selbst geschrieben

0
ZeroclawX 18.08.2016, 15:49
@gut4fr5g4

Dann arbeite einfach an den Sachen die die anderen vorgeschlagen haben! Und das du die Spiele programmiert hast ist ja schon ein Beweis fürs Können. Du kannst die Quellcodes der Programme auch in ein Javaforum posten und fragen ob es Verbesserungen gibt!

0
gut4fr5g4 18.08.2016, 15:53
@ZeroclawX

das mache ich hier öfters auch, aber ich kriege oftmals nur gesagt, wie sch3isse mein code ist, was mich nicht wirklich weiterbringt, aber so leute, wie @KnusperPudding sind dann eine recht gute abwechselung, da die immer guten Rat und sachliche Kommentare abliefern

0
ZeroclawX 18.08.2016, 15:56
@gut4fr5g4

Ein großes Problem auf dieser Seite sind diese typischen möchtegernkönner :( Tut mir echt dass du solchen Idioten, die etwas ohne Verbesserungsvorschläge schlechtreden begegnet bist. Ich empfehle dir deshalb deine Quellcodes auf professionelle Foren zu posten.

1

Konventionen und Dokumentation?

Was möchtest Du wissen?