Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

confused

Frischling

  • »confused« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Solingen

Beruf: Fachinformatiker

  • Private Nachricht senden

1

16.06.2015, 10:05

Grundlagen Frage

Guten Morgen liebes Forum,

nachdem ich mich hier etwas umgeschaut habe, habe ich beschlossen mich hier anzumelden.

Zu meiner Person: Ich bin 23 Jahre jung, männlich und mache eine Ausbildung zum Fachinformatiker SysIntegration ( nach abgebrochenem Informatikstudium, da leider durch familiäre Probleme dringend Geld benötigt wurde)

Momentan bin ich rege interessiert an Programmierung in Java, jedoch bin ich mir nicht so ganz sicher wie ich vorgehen soll. Ich bin dabei, verschiedene Tutorials zu schauen / zu lesen, unter anderem das YouTube Video-Tutorial von "thenewboston".

Letztendlich habe ich mittlerweile einen einfachen Taschenrechner (ohne GUI) welcher die vier Grundrechenarten beherrscht und diese mit 2 Zahlen durchführen kann.

An den "Standardtutorials" gemessen habe ich momentan das Prinzip der Arrays verstanden ( nach Kopf / Fußgesteuerten Schleifen)

Natürlich würde ich gerne richtige Ergebnisse sehen, weiß aber nicht ob diese Grundlagen ausreichend sind, um mich bereits mit der GUI zu beschäftigen? Denkbar wären Dinge wie ein "kniffel-würfel-becher" der, ohne Spielblock, 5 würfel ausgaben anzeigt nach knopfdruck. Für einfache einsteiger anregungen wäre ich auch dankbar ;)

Könnt ihr mir ansonsten andere Tutorials empfehlen, welche man sich ( bei unbeschäftigter Zeit) auf der Arbeit durchlesen / anschauen kann?

Gerne würde ich auch Hilfe per Skype oder so etwas wie einen "Mentor" annehmen der Zeit und Lust hat, einen "Unerfahrenen" an die Hand zu nehmen. :search:

Liebe Grüße und vielen dank :thumbsup:
confused

Lares

1x Contest-Sieger

  • Private Nachricht senden

2

16.06.2015, 15:32

Wenn du in Java programmierst, soltest du mMn so früh wie möglich anfangen dich mit GUI zu beschäftigen, da ich zumindest GUI-Programmierung in Java sehr schwer finde, sobald es zu Untermenüs, Navigation, Layoutanpassung, etc. kommt.
Mich haben am Anfang die 3(?) unterschiedlichen APIs, die alle auf dem ersten Blick sehr ähnlich sind, irritiert und ich hätte die APIs ganz anders aufgebaut. Zu dem Zeitpunkt, wo das wirklich relevant war, hatte ich beireits Erfahrung in Java und mit Objekt Orientierter Programmierung.
Gerade wenn du das im Studium durchnimmst, solltest du so früh wie möglich anfangen, da nach den Grundlagensemestern davon ausgegangen wird, dass du sämtliche Aspekte der Programmierung beherrschst, oder dir zumindest innerhalb weniger Tage genug aneignen kannst, um dein Problem inerhalb des jeweiligen Projekts zu lösen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

16.06.2015, 15:53

Er sagte doch er habe das Studium abgebrochen...
Ich sehe das mit der GUI-Programmierung übrigens etwas anders. Ohne mit Klassen schon mal ausgiebig gearbeitet zu haben, macht GUI-Entwicklung aus meiner Sicht keinen Sinn. Arrays und Schleifen reichen da zum Verständnis bei weitem nicht. Listener, Interfaces, Vererbung, das ist wichtig bei GUI-Entwicklung.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

4

16.06.2015, 15:59

@Lares:
Ich muss zugeben, dass ich die Programmierung grafischer Oberflächen in Java nicht als schwer empfinde. Es gibt AWT und das darauf aufbauende Swing, welche standardmäßig vorhanden sind, wovon man idealerweise direkt Swing verwendet.
Und zu den von dir angesprochenen Beispielen:
  • Untermenüs stellen kein Problem dar. In sein JMenuBar packt man auf oberster Ebene JMenus, die wiederum JMenus für Untermenüs und JMenuItems für Menüpunkte beinhalten können.
  • Das Layout sollte man durch die Verschachtelung der richtigen Layoutmanager bestimmen. Wenn man das richtig macht, kann man seine Anwendungen so auch skalierbar halten, sodass sich alle Elemente wie gewünscht der Fenstergröße anpassen.
  • Ich bin mir nicht sicher, was genau mit "Navigation" gemeint ist, aber wenn dies über das reine Aus- und Einblenden von Elementen geschehen soll, dann sollte das mit dem richtigen Layout (richtige Verschachtelung der LayoutManager) kein Problem sein.
@confused:
Ein weiteres Beispiel einer Übungsaufgabe wäre ein einfacher "Taschenrechner": Man gibt 2 Operatoren und einen Operator ein, betätigt eine Schaltfläche und erhält das Ergebnis.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Lares

1x Contest-Sieger

  • Private Nachricht senden

5

16.06.2015, 16:48

Er sagte doch er habe das Studium abgebrochen...
Ich sehe das mit der GUI-Programmierung übrigens etwas anders. Ohne mit Klassen schon mal ausgiebig gearbeitet zu haben, macht GUI-Entwicklung aus meiner Sicht keinen Sinn. Arrays und Schleifen reichen da zum Verständnis bei weitem nicht. Listener, Interfaces, Vererbung, das ist wichtig bei GUI-Entwicklung.

Verlesen, dachte iwie er hätte nochmal nen Studium angefangen.
Zugegeben ich ging von einer Studiumssituation aus, was auch meine empfohlene "Lernmethode" beeinflusst. Einfach weil man als Neuling innerhalb kürzester Zeit einen Wissenstand erreichen muss, um überhaupt mit den Studienanforderungen mithalten zu können (es sei den man fügt ein paar Semester hinten dran).

Vielleicht habe ich hier auch einfach nen anderes Verständnis, da ich Java nicht als erste Sprache hatte. Aber Java hat für sehr viele Dinge vorgefertigte Lösungen. Ich finde man hat somit wesentlich früher mit APIs "Dritter" zu tun als in z.B: C++. Arrays sind hier ein gutes Beispiel: Welche Arrays wurden denn gelernt? Die klassischen [] oder vllt. doch eher ArrayList? Die Grundlagen zu lernen ist natürlich wichtig, aber ich bezweifle, dass man die Grundlagen von den High Level Konzepten getrennt lernen kann in Java, wenn man versucht über Internetressourcen zu lernen. Der Grund dafür ist, dass man beim Suchen nach der Lösung für ein Problem früher oder später auf die High Level Konzepte stoßen wird, auch wenn man die noch nicht braucht/lernen sollte.

Wenn man natürlich ein gut strukturierten Weg (in Form eines Buches o.ä.) vorgegeben hat, bei dem zuerst die Grundlagen und dann die High Level Konzepte abgefragt werden, sollte man den verfolgen. Ich ging nur nicht davon aus, dass Confused diesen Weg hat, da er sich ja sonst die Frage gar nicht stellen müsste, ob er schon mit GUIs anfangen soll.

@Sacaldur
Ich kenne AWT, Swing und JavaFX. Meines Wissens nach sollte man FX nehmen, da es zusätzliche grafische Features unterstützt. Bin hier aber kein Experte und möchte es auch ehrlich gesagt nicht mehr werden. Java ist nicht meine Sprache, ich bin froh dass ich damit im Studium nicht mehr arbeiten muss. Kann natürlich sein, dass GUI-Programmierung zeimlich einfach ist in Java, dann sehe ich aber auch kein Problem darin jetzt schon GUI-Entwicklung zu lernen. Der grafische Taschenrechner wäre hierbei, wie du schon sagtest, ein gutes Beispiel.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

16.06.2015, 22:31

@LetsGo: Wie BlueCobold schon sagte ist Gui nichts wenn man grad Schleifen und Arrays verstanden hat. Versuch bitte erst die Konzepte zu verstehen bevor du mit sowas anfängst. Du tust dir da selbst sonst keinen Gefallen. Klassen und Vererbung sind da schon eine sehr wichtige Grundlage. Vorher ist das einfach nicht sinnvoll.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

7

17.06.2015, 13:32

@LetsGo: Das behaupte ich aufgrund meiner Erfahrung unter anderem auch hier im Forum. Natürlich muss das nicht heißen und das darf jeder so regeln wie er möchte. Man macht sich das Leben nicht unbedingt einfacher. Für Swing musst du halt ne Menge davon anwenden können und wenn du keine Ahnung hast was eine Klasse ist oder wie du davon ableitest und Funktionen überschreibst etc dann stehst du wie der Ochs vorm Berge. Guck dir doch einfach mal die Threads hier an die erstellt werden. Die Leute programmieren seit 2 Wochen und wollen dann direkt mit OpenGL oder was weiß ich nicht was los legen. Ich sage bestimmt nicht dass man Jahrelang nur in der Konsole arbeiten darf, aber wenigstens gewisse Grundlagen müssen eben schon vorhanden sein. Und mal ehrlich. Klassen sind ein für Java so grundlegendes Konzept. Wenn du in Mathe noch nie Funktionen gesehen hast würde man dir auch nicht raten mit einer Kurvendiskussion anzufangen.
War von mir ja auch nur ein Vorschlag. Wenn er gern direkt mit Swing anfangen möchte dann soll er das tun. Aber ich glaube dennoch dass er sich selbst damit keinen Gefallen tun wird und sich teilweise sogar Fehler einschleichen die er hinterher schwierig wieder los wird. Ich hab damals auch etwas zügig zu komplexeren Dingen gehen wollen. Hab mir dadurch selbst viel Ärger eingehandelt den ich hinterher nur stressig wieder los geworden bin.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

confused

Frischling

  • »confused« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Solingen

Beruf: Fachinformatiker

  • Private Nachricht senden

8

17.06.2015, 17:44

heyho,

danke für die vielen Antworten, habe ich bei einer "neuling" frage nicht mit gerechnet da ich aus anderen Foren ( bezüglich anderer themen nebst der Programmierung) gewohnt bin: benutz die SuFu und lass uns in Ruhe!

Mag sich wer, einmal kurz, die folgende Abarbeitung der Themen in dem Youtube Tutorial anschauen und mir sagen, ob ich das in dieser Reihenfolge angehen sollte oder lieber etwas an anderer Stelle vorziehen sollte?

Youtube



In Java ist GUI Programmierung, wegen der mächtigen Tools eigentlich ziemlich einfach. (imho)
Ich würde mal nach JavaFx2 suchen und damit anfangen. JavaFX ist im Gegensatz zu AWT bzw. Swing nochmal weniger komplex und auf der anderen Seite auch mächtiger.
Warum Swing und AWT noch verwendet werden hat eigentlich vor allem historische Gründe.
von der JavaFX habe ich bisher nichts gehört, da wir damals im Studium auch mit Swing anfangen sollten. dann schau ich mir das später doch definitiv mal zuerst an wenn das "aktueller" ist.

Ein Buch zu Andoid Apps entwickeln habe ich zuhause, würde aber gerne zuvor das Standard Java etwas verstehen, denke damit fällt der Einstieg dann definitiv leichter.

Habt ihr noch einfache Programme zur Hand, die man sich anschauen kann? Habe mal nach Quellcodes von Spielen gesucht, aber darin finde ich mich noch nicht wirklich zurecht :whistling: ...


Gerne nehme ich, falls jemand Lust hat, auch Hilfe per Skype oder anderer Chats an.

Falls noch jemand gerade mit dem Lernen anfängt, hätte ich auch interesse daran vll was zusammen zu lernen :D .


LG

9

19.06.2015, 13:14

Hi,

die Inhalte des Tutorials sehen ja ganz brauchbar aus. Später kommt ja noch GUI-Entwicklung.
Mach dich erstmal mit den Grundlagen Vertraut. OOP, Vererbung, Interfaces usw.

Danach dann GUI, APIs, evtl. Netzwerk.

Quelltexte anschauen ist niemals falsch, aus eigener Erfahrung würde ich aber sagen, dass die meisten komplexeren Programme sicherlich für einen Anfänger etwas zu viel sind.

Lerne Programmieren in Ruhe und Schritt für Schritt, das ist meine Empfehlung. Es bringt nichts, wenn man irgend etwas vorzieht und dann aufgibt, weil man von der Komplexität erschlagen wird. Komplexe Software und APIs wirst du von selbst verstehen, wenn du Geduld hast und dranbleibst.

Wenn du das Programmieren an sich erstmal verstanden hast wirst du auch ohne Probleme andere Sprachen lernen können.

Aus meiner eigenen Erfahrung: Weniger ist mehr. Keep it simple. Auch wenn's stellenweise langweilig ist. Bleib bei einem Tutorial und lass dich nicht verwirren. Wenn du dann über ein Thema mehr wissen willst, kannst du dort weiter recherchieren.

10

20.06.2015, 11:00

Mag sich wer, einmal kurz, die folgende Abarbeitung der Themen in dem Youtube Tutorial anschauen und mir sagen, ob ich das in dieser Reihenfolge angehen sollte oder lieber etwas an anderer Stelle vorziehen sollte?

Wenn es Dir vor allem um die Grundlagen geht würde ich mir eher das hier anschauen: http://www.programmierkurs-java.de/ (evt.die UEs zum Hamster-Modell überfliegen, UE 1, UE 3 und UE 6 drehen sich nicht um's Hamster-Modell!)

Werbeanzeige