Wege zu Programmieren - Wie soll ich weitermachen?

  • Wege zu Programmieren - Wie soll ich weitermachen?

    Hallo!

    Ich habe ein par dringende Fragen an echt Experten:
    Ich selbst bin schon seit knapp 2 Jahren c/c++ Programmieren, weiss aber nicht wie ich jetzt weitermachen
    soll.
    Ich habe mich SEHR ausführlich mit der WinAPI (mit Hilfe von Charles Petzolds legendären Werks "Windows
    Programmierung") auseinander gesetzt.
    Allerdings ist es einfach viel VIEL zu aufwändig direkt mit der Windows API vernünftige Programme
    in einer angemessenen Zeit zu schreiben, man braucht ja alleine für ein par Controls mit passenden
    Reaktionen mehrere Seiten.
    Ich brauche wirklich einen Wegweise, der mir zeigt was ich lernen soll!

    Folgende Dinge sind mir besonders wichtig.
    -Ich suche eine Möglichkeit, den Programmkern in C/C++ zu schreiben, und das Layout irgendwie
    mit einer RAD umgebung oder einer einfachen Programmiersprache zu gestalten.
    -Ich möchte auch Grafiken programmieren, ich weiss dass das mit C und DirectX gut geht, allerdings
    habe ich bis jetzt nur sehr oberflächliche Literatur gefunden
    -Ein Thema das mich schon seit Ewigkeiten begeistert ist künstliche Intelligenz, kennt ihr vernünftige
    Literatur?
    -Welche Sprachen sollte ich noch lernen, was sollte man als angehender Informatiker (ich habe schon
    lange vor diesen Weg zu gehen) alles können?

    Es wäre sehr nett wenn ihr mir gewisse Tipps und evtl. auch Verweise auf vernünftige Bücher geben
    könntet.

    Ich selbst habe mir z.B. mal überlegt c# zu lernen, und dann mit Windows Forms oder den WPF zu programmiern,
    was haltet ihr von dieser Möglichkeit?


    Ich habe immer gehört/gelesen C/C++ wäre eine absolute Allround Sprache, was muss ich denn lernen um
    sie wirklich auf alle Gebiete der informatik anwenden zu können? Wie kann man z.B ohne die Windows Sockets
    webanwendungen programmieren?

    wie gesagt folgendes kann ich bereits ganz gut:
    -Grundlegendes C und auch C++ (habe beites unabhängig voneinander behandelt)
    -Die Verwendung der Windows API

    _Außerdem ein wenig Assembler umgang mit WPF so wie etwas SQL und auch java etc. lesen kann ich eigentlich so gut wie alle Sprachen

    Tja ich hoffe ich habe jetzt nichts vergessen, fals doch schreibeich es noch nachträglich hierhin.

    mfG
    Uso
  • UsoHolger schrieb:

    -Ich suche eine Möglichkeit, den Programmkern in C/C++ zu schreiben, und das Layout irgendwie
    mit einer RAD umgebung oder einer einfachen Programmiersprache zu gestalten.

    Mir würde jetzt spontan Visual C (.NET?) von Microsoft einfallen. IIRC kann man sich dann die Oberfläche in Visual Studio nach Belieben zusammen klicken.

    UsoHolger schrieb:

    Wie kann man z.B ohne die Windows Sockets
    webanwendungen programmieren?

    Webanwendungen? Ich glaube du verwechselst da etwas. Webanwendungen sind Anwendungen, die normalerweise im Browser laufen, z. Bsp. dieses Forum oder auch noch Silverlight/Flash Programme. Ich denke du meinst eher ein Programm mit Netzwerkfähigkeit.
    Zu den Sockets: Ich empfinde Sockets (gibts übrigens nicht nur unter Windwos ;) ) als ein sehr angenehmes Feature. Hast du dir mal den genauen Verbindungsaufbau zwischen 2 PCs mittels TCP/IP angeschaut? Also auf OSI-Level 3, 4 und evtl. 5? Dann wirst du wissen, welche Arbeit dir durch Sockets abgenommen werden.
    Andererseits wüsste ich jetzt nicht auf Anhieb, wie man sich seine eigenen IP-Pakete bauen kann. Aber das wird bestimmt irgendwie gehen, auch wenn ich dir davon nur abraten kann.

    EDIT:
    Mir ist gerade noch Qt in den Sinn gekommmen. Im Bereich C++ ist es sehr beliebt und bietet auch einen Designer an, mit dem du alles zusammen klicken kannst. Dazu wird noch ein (komplettes?) Framework mitgeliefert, welches dir das Leben in vielen Bereichen vereinfacht.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Deadman44 ()

  • Hallöchen.

    Mich haben die Fragen Welche Sprachen sollte ich noch lernen, was sollte man als angehender Informatiker (ich habe schon
    lange vor diesen Weg zu gehen) alles können?
    und Ein Thema das mich schon seit Ewigkeiten begeistert ist künstliche Intelligenz, kennt ihr vernünftige
    Literatur?
    irgentwie angesprochen.

    Programmieren tuh ich seit meinem 14´ten Lebensjahr und hab damal´s mit Basic & Pascal angefangen:o)

    Damals war´s übrigens alles noch viel einfacher und übersichtlicher als es heute der Fall ist. Da zählten noch einfache Graphen-Berechnungen bzw. Ausgaben auf dem Monitor. Wenn man mit dem Programmieren etwas erreichen will, so jetzt meine Sicht, dann sollte man nicht einfach drauf losprogrammieren, sonder´n sich den objektorientierten Gedanken für Folgeimplementationen auch auf dem Blatt Papier vor Augen halten. Nicht nur, weil die eigene Übersicht besser nach zuvollziehen ist, sonder´n auch weil Schnittstellen im Code für andere Programmierer interessant sein können.

    Die Programmiersprache an sich ist meisten´s "nur" praktische Erfahrung, um das entsprechende Problem mit dem PC zu lösen. Niemand würde die http-Anfragen für die eigene Interenetseite auf reinem C implementieren, obwohl´s hier auch einige K.O.nsorten gibt. Java ist z.B. ziemlich Plattformunabhängig und Perl in vielen Fällen gut für Linux/Unix-Anwendungen.

    Zu den "künstlichen Intelligenzen" kann ich jedem empfehlen sich die mathematischen Grundlagen wie "Logik & Mengenlehre" anzuschauen. Fuzzy-Logik, Petrinetze, Mealy- und Moore-Automaten & letztendlich auch die Wahrscheinlichkeitsrechnung gehöhren dazu. Es gibt da tausende von Themen, welche in Richtung künstliche Intelligenz gehen, wo man dann auch im Internet viele Ansätz findet. Wichtig dabei für die PC-Maschine ist, das die Menge der "entscheidbaren" Probleme "beschränkt" ist...;)
  • Deadman44 schrieb:

    Zu den Sockets: Ich empfinde Sockets (gibts übrigens nicht nur unter Windwos ;) ) als ein sehr angenehmes Feature.


    Ich denke er meint mit den Sockets das Microsoft MSDN Sockets.
    Wenn man auf die Nachteile von Sockets verzichten möchte, sollte man sich mit dem Thema Middleware beschäftigen. Für stark parallelisierbare Programme z.B. MPICH oder für den Embedded-/ bzw. Automation-Bereich DDS.
    Ist meiner Meinung nach ein sehr interessantes Thema. Eine gute Übersicht über Middlewareansätze und Implementierungen gibt es z.B. hier.
  • Möchte das Thema jetzt hier nicht runter reißen, denn das "thread"-thema in der Gegenüberstellung Web-Anwedung/Mehrprozess-Systeme ist ein -imho- interessantes thema, wenn auch nur für die nächsten 10Jahre...*uh-oh*

    Bei den Socket´s hab ich nur das Problem, dass ein "socket-overflow" immer erst dann relevant wird, wenn "simple-way" genutzt wird & die MS-Variante des hardware-bereiches imho "marekting-usability" hat...prozessor-socket
  • oh mann ich muss echt n Brett vorm kopf gehabt haben...
    ich habe mich schon mal oberflächlich mit den WPF beschäftigt, das buch (von Petzold) hab ich mal wieder rausgesucht und nur die Einleitung gelesen und dann fällts mir wieder ein:
    .net, die wpf windows forms etc. GEHT DOCH AUCH MIT c++!!!!

    in mein Hirn war irgendwie eingebrant: .net->c#, aber das ist ja nur eine der unterstützten sprachen...
    oh man ich hätte nur nachdenken müssen...
  • Der Umstieg auf C# lohnt sich unter Umständen trotzdem, da sehr viele Ressourcen die man im Internet auf C# oder VB basieren. Außerdem hat C++ einige hässliche Eigenschaften und moderne sprachliche Mittel fehlen teilweise außerdem ist der Umstieg recht einfach, man muss sich syntaktisch kaum Umstellen. Wenn du beruflich in Programmieren möchtest inst .NET sicher keine so schlechte Idee.

    Zu den Büchern, ein Standardwerk der Künstlichen Intelligenz ist Artificial Intelligence - A modern Approach von Russel und Norvig. Ich habe zwar nur für eine Klausur darein geguckt, man kommt wohl kaum drum herum.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]