Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 19

Thema: Programme für Anfänger

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.10.2004
    Beiträge
    12

    Question Programme für Anfänger

    Hallo zusammen!

    Ich programmier zwar schon seit einiger Zeit, aber sehr spezialisiert (z.B. JavaScript). Ich möchte meine Kenntnisse jetzt ausweiten. Vom Prinzip her kann ich programmieren (also kenne die Strukturen, z.B. was es mit Klassen, Vererbung und Polymorphie in der OOP auf sich hat), habe aber wenig Praxiserfahrung. Das waren immer so kleine Beispielprogramme mit anderen entwickelt (z.B. in der Schule). Ich kann also im Prinzip programmieren, habe aber wenig Erfahrung. Außerdem möchte ich jetzt C++ lernen.

    Deswegen meine Frage an euch: Was für Programme sind für Anfänger sinnvoll? Also nicht "Hallo Welt" oder ne Physikengine mit OpenGL , sondern Programme, die relativ leicht zu bewältigen sind und viele verschiedene Aspekte abdecken (z.B. nen Chat-Client für Netzwerkverbindungen). Sie sollten also nicht allzu schwer sein und nach dem Programmieren der Tools möchte ich alle wichtigen Bereiche gesehen und mit C++ implementiert haben, also z.B. LAN, Internet, GUI, Medieneinbindung, ...

    Langfristig habe ich übrigens vor, in die Spieleprogrammierung einzusteigen, aber anfangen sollte man damit vielleicht nicht .

    Vielen Dank schonmal für eure Antworten!

    Mörk

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ich persönlich fange bei einer neuen Sprache praktisch immer mit "Dateiparsen" an.

    D.h. zum Beispiel lesen und schreiben einer INI-Style Konfigurationsdatei.
    Das ist relativ simpel, gibt aber trotzdem einen guten Überblick über die Handhabung verschiedener Basisdatentypen in der jeweiligen Sprache, File IO, String-Operationen, assoziative Container (z.B. Maps), usw.

    Meiner Erfahrung nach ist das "Lesen" von Textformaten praktisch Bestandteil fast jeder Software, sei es Config, Import/Export, Output von Hilfsprogrammen, textbasierte Protokolle, etc.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zwangsweise habe ich damit angefangen, Logfiles auszuwerten.
    Wenn das Programm dann endlich "pariert", kann man es Stück für Stück "benutzerfreundlich" ausbauen.

    Mit dem Spieleprogrammieren in C++ würde ich warten, bis Trolltech mit seinen Bibliotheken im reinen ist. Sonst sind alle Erfahrungen auf diesem Gebiet für die Katz'.

    so long,
    Bluejay
    Geändert von BlueJay (30-08-2007 um 13:34 Uhr) Grund: Tastatur hakt mal wieder
    Eigentlich ganz einfach, wenn man's weiss!

  4. #4
    Registrierter Benutzer
    Registriert seit
    27.10.2004
    Beiträge
    12
    Ok, also es scheint recht nützlich zu sein, sich mit "Textverarbeitung" auseinanderzusetzen. Dann werde ich mal einen Parser für Ini-Dateien und XML bauen. Ich könnte dann mit Qt ne schöne GUI und nen kompletten XML-Editor bauen. Danke, damit bin ich erstmal beschäftigt!

    Zitat Zitat von BlueJay
    Mit dem Spieleprogrammieren in C++ würde ich warten, bis Trolltech mit seinen Bibliotheken im reinen ist. Sonst sind alle Erfahrungen auf diesem Gebiet für die Katz'.
    Was meinst du damit?

  5. #5
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Ich hatte mich vor 2-3 Jahren durch die Trolltech-Bibliotheken zur Spieleprogrammierung durchgebissen, fand sie auch ganz brauchbar und schnell.

    Nach einem Jahr musste ich erfahren, dass diese Bibliotheken nicht mehr unterstützt wurden.
    Trolltech bot erst mal ein Konvertierungsprogramm an, das aber jämmerlich versagte.
    Dann schrieben sie neue Bibliotheken, aber mit anderen Headern
    Und damit man das auch merkt, heissen die Methoden auch anders.

    Gleichzeitig hatte ich mich damals auf aRts eingeschossen, nur um zu hören, dass aRts in der nächsten Linux-Version nicht mehr unterstützt wird. Schon von KDE 3.3/3.4 nach KDE 3.5 verschwanden einige Headers aus der Library.

    Nö, die sollen erst mal Qt4/KDE4 auf die Beine kriegen samt Konzept, bevor ich wieder irgendwelchen Gehirnschmalz investiere.

    Derweil vergnüge ich mich mit Java und staune mittlerweile, dass die Uralt-Javascript-Spiele alle noch funktionieren!

    Also, wenn es unter den Nägeln brennt, und du unbedingt ein Spiel programmieren musst, nimm Java. Die Konzepte, die du dabei entwickeln musst, passen später auch für andere Sprachen.

    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von moerk Beitrag anzeigen
    Ok, also es scheint recht nützlich zu sein, sich mit "Textverarbeitung" auseinanderzusetzen. Dann werde ich mal einen Parser für Ini-Dateien und XML bauen.
    XML würde ich nicht selber parsen, das können die XML Parser viel besser und es ist dann immer noch genug datenspezifischer Aufwand dabei, d.h. die eigentlichen Nutzdaten aus dem DOM Baum oder dem SAX Parser rauszuholen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von BlueJay Beitrag anzeigen
    Nach einem Jahr musste ich erfahren, dass diese Bibliotheken nicht mehr unterstützt wurden.
    Qt3 wird ab heuer nicht mehr gewartet, was nicht heißt, dass nicht och genug Leute damit arbeiten.

    Gleichzeitig hatte ich mich damals auf aRts eingeschossen, nur um zu hören, dass aRts in der nächsten Linux-Version nicht mehr unterstützt wird. Schon von KDE 3.3/3.4 nach KDE 3.5 verschwanden einige Headers aus der Library.
    Das ist extrem unwahrscheinlich. aRts gehört zur KDE3 API und ist damit auch die ganze KDE3 Serie API und ABI stabil.
    Wird halt nicht mehr viel für diese API entwickelt werden, aber es wird schon noch einige Zeit im Umöauf sein (aktuelle "Enterprise" Distributionen kamen heuer raus, d.h. nächste Umstellungen in >2 Jahren)

    Nö, die sollen erst mal Qt4/KDE4 auf die Beine kriegen samt Konzept, bevor ich wieder irgendwelchen Gehirnschmalz investiere.
    Nicht dass ich jemanden davon abhalten möchte, Qt/KDE Spiele zu machen (die KDE Games Leute scheinen da ziemlich Spaß zu haben), aber oft benutzen Spiele keines der traditionellen GUI Frameworks, sondern eher Low-Level Sachen wie SDL und darauf aufbauenden Hilfsbibliotheken.

    Also, wenn es unter den Nägeln brennt, und du unbedingt ein Spiel programmieren musst, nimm Java. Die Konzepte, die du dabei entwickeln musst, passen später auch für andere Sprachen.
    Java ist überhaupt keine so schlechte Idee. Ein Freund von schreib gerade eines seiner Spiele nochmal neu in Java (vorher C++) und ist ziemlich begeistert, vorallem wegen der leichten Integration einer JavaScript Engine, usw.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  8. #8
    Registrierter Benutzer
    Registriert seit
    27.10.2004
    Beiträge
    12
    Zitat Zitat von anda_skoa Beitrag anzeigen
    Java ist überhaupt keine so schlechte Idee. Ein Freund von schreib gerade eines seiner Spiele nochmal neu in Java (vorher C++) und ist ziemlich begeistert, vorallem wegen der leichten Integration einer JavaScript Engine, usw.
    Also die Idee war ja, dass ich mich in C++ reincode. Das mit dem Qt war nur son Schnellschuss. Jetzt ratet ihr mir zu Java, obwohl ich noch nicht geschnallt habe, ob ihr Java oder JavaScript meint. Wie auch immer - ich habe mit C++ tatsächlich Ini-Dateinausgelesen. Allerdings auf Shellbasis, also ohne Qt.

    Wegen XML - es geht hier ja nicht um Produktivprogramme, sondern um etwas, dass ich selber schreibe, um die Sprache zu lernen. Wie auch immer - ich denke Sachen in Textdateien schreiben und aus ihnen rauslesen kann ich jetzt.

    Was für Programme schlagt ihr mir denn noch so vor?


    // edit: C++ brauche ich langfristig nicht nur für mich und Spieleprogrammierung, sondern auch für meinen Beruf. Deswegen bin ich so gebunden. Obwohl Java für private Zwecke vermutlich schöner ist (allein schon wegen der Portabilität....)
    Geändert von moerk (08-09-2007 um 11:17 Uhr)

  9. #9
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von moerk Beitrag anzeigen
    Jetzt ratet ihr mir zu Java, obwohl ich noch nicht geschnallt habe, ob ihr Java oder JavaScript meint.
    Java, aber das war mehr ein Nebenthread zwischen BlueJay und mir, sorry

    Allerdings auf Shellbasis, also ohne Qt.
    Commandline und Qt schließt sich ja nicht aus. Hab schon tonnenweise Serverdienste mit Qt gemacht

    Wegen XML - es geht hier ja nicht um Produktivprogramme, sondern um etwas, dass ich selber schreibe, um die Sprache zu lernen.
    Ich habe gemeint, dass es nicht zielführend ist, XML selber zu parsen, auch nicht zum Lernen, weil immer eine XML Parser API benutzt wird.

    Was für Programme schlagt ihr mir denn noch so vor?
    Das hängt im Wesentlichen von deiner unmittelbaren Zielsetzung ab.
    Sagen wir, dir ist Netzwerkhandling wichtig, dann kann man durchaus das übliche Chatclient/Chatserver Duo versuchen, oder man versucht sich an HTTP Requests (sowohl als Client als auch als Server, hat den Vorteil dass man mit einer "professionellen" Implementierung auf der anderen Seite testen kann)

    Im Falle von Netzwerk sollte man sich aber überlegen, ob man wirklich mit der C-Socket API arbeiten möchte, oder man nicht doch besser eine C++ Socketbibliothek benutzt.

    Speziell unter Linux, bzw. wenn Software leicht als Quellcode verfügbar ist, kann es auch Spaß machen, fremde Programme irgendwie umzubauen, z.B. einfache Netzwerkfähigkeit in ein Spiel einzubauen, das derzeit nur gegen Computer spielbar ist.

    Apropos Spiele: ein Freund von mir macht beim Lernen einer neuen Sprache oder auch neuer GUI Bibliotheken immer ein Schachspiel

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  10. #10
    Registrierter Benutzer
    Registriert seit
    27.10.2004
    Beiträge
    12
    Zitat Zitat von anda_skoa Beitrag anzeigen
    Java, aber das war mehr ein Nebenthread zwischen BlueJay und mir, sorry
    Aso, ok.

    Zitat Zitat von anda_skoa Beitrag anzeigen
    Commandline und Qt schließt sich ja nicht aus. Hab schon tonnenweise Serverdienste mit Qt gemacht
    Aso... klar - Qt ist ja nicht nur für Guis da. Ich meinte allerdings jetzt ohne Qt, also einfach cout.

    Zitat Zitat von anda_skoa Beitrag anzeigen
    Das hängt im Wesentlichen von deiner unmittelbaren Zielsetzung ab.
    Sagen wir, dir ist Netzwerkhandling wichtig, dann kann man durchaus das übliche Chatclient/Chatserver Duo versuchen, oder man versucht sich an HTTP Requests (sowohl als Client als auch als Server, hat den Vorteil dass man mit einer "professionellen" Implementierung auf der anderen Seite testen kann)
    Meine Zielsetzung bleibt immer noch Spieleprogrammierung. Allerdings wollte ich ja absichtlich etwas einfacheres vorher machen und Netzwerkhandling braucht man fürn Multiplayer ja auch. Also eine gute Idee! Außerdem habe ich vor ein paar Jahren schonmal einen Chatclient mit Delphi programmiert, also so ganz fremd ist mir der Gedanke nicht. Vielleicht programmiere ich mir ja auch ein Pidgin-Plugin für Imap-Abfragen (siehe anderen Thread).

    Zitat Zitat von anda_skoa Beitrag anzeigen
    Apropos Spiele: ein Freund von mir macht beim Lernen einer neuen Sprache oder auch neuer GUI Bibliotheken immer ein Schachspiel
    :O Aber doch hoffentlich ohne KI, oder?

    www.gamedev.org empfiehlt Tetris. Ich denke mal, da werde ich mich über kurz oder lang auchmal dranbegeben.

    Ok, dann habe ich erstmal Material. Danke!

    cu

  11. #11
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von moerk Beitrag anzeigen
    Meine Zielsetzung bleibt immer noch Spieleprogrammierung. Allerdings wollte ich ja absichtlich etwas einfacheres vorher machen und Netzwerkhandling braucht man fürn Multiplayer ja auch. Also eine gute Idee!
    Zum Thema Spiele und Netzwerkfähigkeit ist mir jetzt noch GGZ eingefallen
    http://www.ggzgamingzone.org/

    Hat gegenüber selbergestricktem Netzwerkcode den Vorteil, dass man das eigentliche Spielprotokoll mit XML beschreibt und den Netzwerkcode generieren lassen kann.

    Schadet natürlich nicht, wenn man das Know-How hat, es auch händisch machen zu können

    :O Aber doch hoffentlich ohne KI, oder?
    Soweit ich weiß ja, ohne KI. Allerdings hat ein Spiel mit fixen Regeln wie Schach den Vorteil, dass man eine KI jederzeit einfach portieren kann.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  12. #12
    Registrierter Benutzer
    Registriert seit
    27.10.2004
    Beiträge
    12
    Falls es irgendwen interessiert - versuche mich jetzt erstmal an einer einfachen Imap-Abfrage.
    Webentwickler (php, eZ publish)

  13. #13
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von anda_skoa Beitrag anzeigen
    Java ist überhaupt keine so schlechte Idee. Ein Freund von schreib gerade eines seiner Spiele nochmal neu in Java (vorher C++) und ist ziemlich begeistert, vorallem wegen der leichten Integration einer JavaScript Engine, usw.
    Oder umgekehrt wie bei mir grad.
    Wasserköpfe löschen, andere Köpfe austauschen, int und boolean nach var, fertig ist die Laube


    Also: Java ist, wenn es int und boolean u.s.w. heisst, bei javascript heisst das alles nur var.
    Java besteht auf Typenunterscheideung, Javascript nimmt im Zweifelsfall immer Typ String und nennt das dann automatische Typumwandlung.

    Javascript ist es dann, wenn es einen Browser mit DOM as GUI benutzt, Java nimmt MIDP, AWT oder Swing.


    Java und Javascript gibt es für fast alle betriebssysteme
    Geändert von BlueJay (12-09-2007 um 16:39 Uhr)
    Eigentlich ganz einfach, wenn man's weiss!

  14. #14
    Registrierter Benutzer
    Registriert seit
    27.10.2004
    Beiträge
    12
    JavaScript kenne ich von der Arbeit her... leider...

    Ich finde die Sprache extrem problematisch - unsauber was Variablen angeht, nicht standarisiert (bzw. einige Browser *hustIEhust* unterstützen es nicht richtig, es gibt Sicherheitslücken und es läuft nicht gerade schnell.

    Java ist irgendwie das genaue Gegenteil dazu (bis auf Performance vielleicht). Auf jeden Fall bin ich ein Feind von JavaScript.
    Webentwickler (php, eZ publish)

  15. #15
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von moerk Beitrag anzeigen
    JavaScript r...
    Ich finde die Sprache extrem problematisch - unsauber was Variablen angeht,
    Ist doch ganz einfach: es gibt nur String, alles andere sind Ausnahmen

    nicht standarisiert
    ecma-262 sei dir ans Herz gelegt:
    http://www.ecma-international.org/pu...s/Ecma-262.htm

    es läuft nicht gerade schnell.
    Trotzdem schlägt es Java, zumindest im Browser.
    Die grausame Keyboard-Unterstützung liegt an den Browsern, wobei das Pärchen IE/keydn sogar ganz brauchbar ist. Mozilla beschränkt sich ja auf keyup.

    Und du hast JavaME noch nicht erlebt, wie es beim Einlesen eines einzelnen Bytes ein Integer zurückgibt, dafür dann ein Float bei ceil und floor. Bei Division zweier Integers wirft es dann ganz das Handtuch, äh, eine Exception, wenn das Modulo >0 ist.

    Tja, diese blöden Handys verstehen aber nun mal leider kein Javascript.
    Und die Interaktion puren Javas mit dem Keyboard ist um Klassen besser als das Browsergefrickel, was für Spiele ein k.o.-Kriterium sein könnte.
    Eigentlich ganz einfach, wenn man's weiss!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •