Gute Tutorials und Api gesucht

  • Hallo ich habe bereits vor 2 Monaten angefangen mich mit C# auseinander zu setzen. Jetzt habe ich die Grundlagen (Arrays, Integer <- Dateityp, Console write, read, abfragen, while, Button click, taschenrechner, wecker, ...) schon sehr gut drauf. Auch wie man Daten erstellt und drum herum weiß ich. Aber das was ich so gerne will, ist mehr. Tutorials auf Deutsch die mir folgendes erklären:


    - Verbinden mit Datenbanken
    - Benutzername/Passwort abfrage (per Datenbank)
    - Die Datenbank soll online sein (immer aktualisieren)
    - Umgang mit x-achse und y-achse (Beispiel: pong game)
    - Remote Dienste, ...


    Und dann suche ich noch die Api und dazu Tutorials. Ich weiß Google doch, aber ich hab gegooglet bisher nur 350 brauchbare Tuts, die ich bereits durch hab! Und die meisten sind immer ums selbe Thema.


    Weiß einer ne gute Seite mit Videos oder verdammt guter Erklärung? Wäre sehr hilfreich, weil würde gerne C# lernen, da ich momentan alles lerne. Ich hab jetzt VB.Net gut drauf und auch AutoIt, jetzt will ich C# (danach Java, danach C++ und dann CSS). Weil wen man jung ist kann man bekanntlich noch am besten lernen später habe ich dafür keine Zeit & Lust.


    Hoffe es kommen brauchbare Antworten, wie ich es normal gewohnt bin :)


    mfg take

  • Da hast du dir aber viel vorgenommen :)


    Zum Verbinden mit Datenbanken suchst du am besten mal nach c# + mySQL in Google, so direkt kenne ich da auch kein gutes Tutorial. Im letzten Coding Contest ist allerdings ein recht gutes entstanden, dass die Datenbankverbindung über PHP regelt. Wenn das noch nicht veröffentlich wurde, frage ich mal beim Autor nach, wie's damit aussieht.
    Was du mit Umgang mit X/Y Achse meinst, ist mir allerdings nicht klar. Wenn du ein kleines 2D Game programmieren möchtest, dann such am besten mal nach XNA. XNA ist auf c# Basis aufgebaut, dürfte man also schnell reinkommen, wenn man c# beherrscht.
    Und was du mit "dem Umgang mit der Api" meinst verstehe ich auch nicht ^^


    Falls du deine c# Kenntnisse noch ausbauen möchtest, kann ich dir das Galileo OpenBook empfehlen.

  • Sehr interessant das Book, ich werde es mir wenn ich genug Geld zur Verfügung habe kaufen :)


    Hab die Api samt Vorlagen, Erklärungen, ... gefunden (Jeweils VB und C#)


    Ich hab letztens bereits versucht XNA zu downloaden, aber immer gescheitert kennt jemand ein gültigen und funktionstüchtigen Download Link (download bricht bei mir Hälfte ab)


    Dongdong damit hast du mir auch gleich die 2D Game Frage beantwortet.


    Jemand noch weitere interessante bevor ich das Galileo OpenBook kaufe?


    PS: Zu der Sache mit viel: Ich hab dazu noch gut 20 Jahre Zeit und wenn ich es dann kann bin ich stolz sobald ich c# drauf habe, dann ist c++ und java sehr einfach und dazu XNA auch. Meistens unterscheiden sie einige Sprachen nur wenig zwischen VB und C# sieht man ja auch Ähnlichkeiten (Beispiel: Konsolen)


    Für jede Hilfe bin ich froh :)

  • [...] sobald ich c# drauf habe, dann ist c++ und java sehr einfach und dazu XNA auch. Meistens unterscheiden sie einige Sprachen nur wenig zwischen VB und C# sieht man ja auch Ähnlichkeiten (Beispiel: Konsolen)

    Mit der Behauptung wäre ich vorsichtig. VB und C# sind halt Beide .Net und unterscheiden sich nur von der Syntax. Am Ende sollte sogar der selbe Code rauskommen. C++ und Java sind noch was anderes, die aber mit C# nur noch die Syntax gemein haben. Besonders als .Net Programmierer werden dir einige Sachen in C++ und vorallem in C schwer fallen und nicht direkt einleuchten.


    http://create.msdn.com/en-us/resources/downloads
    Scroll 'n bisschen runter und lad dir das XNA Game Studio runter


    MfG

  • - Verbinden mit Datenbanken
    - Benutzername/Passwort abfrage (per Datenbank)
    - Die Datenbank soll online sein (immer aktualisieren)
    - Umgang mit x-achse und y-achse (Beispiel: pong game)
    - Remote Dienste, ...


    Anstatt spezifisch auf das eine einzugehen solltest du dir vielleicht lieber das "Komplettpacket" anschauen.


    Bei deinen Datenbank-Fragen wäre das SQL.
    Bevor du mit Datenbanken arbeitest, solltest du dir im klaren sein was eine Datenbank ist, wozu man sie benötigt und was Alternativen sind.
    Danach liest du dich am besten mal in SQL ein. Wenn du später C# mit SQL verbindest und dann keine Ahnung hast was diese und jene Fehlermeldung bedeutet, oder warum diese Abfrage nicht funktioniert, dann fehlen dir einfach Grundlagen.
    Danach kannst du damit beginnen Verbindungen aufzubauen und kleine Testprogramme zu schreiben.


    X & Y Achse:
    XNA ist da schon richtig, sofern du dich für die Spieleprogrammierung interessierst.
    Alles andere basiert auf reine Mathematik und dem System.Drawing Namespace des .NET Framework.


    Und ebenfalls beim Remote-Tool:
    Bevor du nun wie ein Gestörter probierst eine Verbindung mit einem anderen Programm aufzubauen, schau dir Sockets an.
    Lerne für was sie da sind & was man mit ihnen alles anstellen kann.
    Für grössere "Remoting-Tools" oder Netzwerkapplikationen ist es von Vorteil dass du weisst wie Daten hin- und hergesendet werden.
    Du weisst was ein byte, word, etc ist - erkennst den Sinn eines Packet-Protokolle u.v.m.


    Kurz:
    Du nimmst dir viel zu viel vor für den Anfang.
    Fang bei den Grundlegenden Dingen an, die du später in deine Tools einbauen kannst.


    cheers & good luck ;)
    Dipointed

  • Ich kenne ja bereits die Grundlegenden Dinge wie Abfragen und wie man sie machen muss und wie man Fehler verhindert, ...


    Ich weiß das ich viel vorhabe, aber ich benötige genau das alles. Und ich kann ja bereits etwas mit Datenbanken machen nur verbinden mit etwas anderem ist mir leider immer schwer gefallen, ich weiß nicht, aber ich schaffe es meistens nur nach 100 Anläufe eine Verbindung zwischen 2 Programmen herzustellen (VB.Net auch wenn es so simpel ist).


    Ich hab ja mir ne Liste erstellt wie ich am besten vorgehe erst HTML (abgeschlossen, auch wenn es keine Programmiersprache ist), dann VB.net (abgeschlossen :)) dann C# (Grundlegende Dinge gelernt und nun bei OpenBook), danach will ich C++ und Java machen. Ich werde sicher Jahre brauchen, aber das wird es mir wert sein ein anderen helfen zu können, dass macht mich immer extrem glücklich.


    Achja großen dank an DongDong ich bin nun bei Kapitel 2 sehr interessant, waren Dinge die ich nicht wirklich kannte drinnen.



    So lese dann mal weiter...

  • Wenn du c# kannst, musst du java nicht mehr lernen


    Wasn das für ne Aussage? Das ist absoluter Quatsch. Ich weiß, dass viele Java und C# in eine Schublade kloppen, vermutlich weil es gewisse rein optische Gemeinsamkeiten gibt, aber nur weil man eine Sprache kann, kann man nicht zwangsweise die andere. Beide Sprachen haben weder was mit einander zu tun, noch sind se gleich aufgebaut. Die einzige Gemeinsamkeit, die beide Sprachen haben ist die Tatsache, dass beide nicht allein lauffähig sind, sondern in Laufzeitumgebungen ausgeführt werden. Genauso wird auch gerne C++ mit in die Schublade geworfen. Das "richtige" C++, nicht der CLI-Kram von M$, hat nun wirklich gar nichts mit C# oder Java am Hut. Was auch oft gerne verwechselt, verglichen und zusammengeworfen wird sind Java und JavaScript und das ist genau son Käse.


    Wenn man mehrere Sprachen kann, dann kann man sich bei den anderen Sprachen viele Dinge zusammenreimen, was das explizite Lernen mehr in den Hintergrund fallen lässt, das heißt aber noch lange nicht, dass man die "neue" Sprache dann auch nur ansatzweise beherscht. Deswegen muss man sie genauso lernen und genauso lernen zu verstehen wie sie funktioniert. Syntaktische Ähnlichkeiten bedeuten noch nicht, dass die Sprachen genauso funktionieren und schon gar nicht, dass man sie beherscht.


    take
    Wieso willst du eigentlich all die Sprachen lernen? Ich kauf dir nicht ab, dass du es nur aus dem "Helferlein"-Grund machen willst. Viele Sprachen zu beherschen ist zwar an sich toll, aber man muss sich auch mal überlegen in wie fern das Sinn macht. Zum Beispiel wirst du C und C++ wohl kaum wirklich anwenden, da diese Sprachen in ihrer Grundform nicht so einfach zu handhaben sind wie z.B. C# oder Java. Sowas wie DLLs laden oder auf den RAM zugreifen (was hier sehr begehrt ist) ist mit Java so ohne weiteres auch nicht möglich. Deshalb benutzen viele am liebsten C# und ich beführchte, dass du auch bei der Sprache hängen bleiben wirst. Die Zeit, die man investiert, um mehrere Sprachen zu erlernen könnte man auch nutzen um sich mit ein oder zwei Sprachen umso intensiver zu befassen oder generell sich erweiterte Kenntnisse in dem Bereich anzueignen, was die Produktivität in mehreren Hinsichten ungemein steigert.

  • Akeshihiro : Natürlich nicht damit ich nur Helfen kann. Ich will ja selber auch was erreichen und auch mir selber was machen können. Ich hab ja vor einige Träume von Programmen zu erfüllen. Ich will dann meine Software immer als Freeware anbieten und ne rießen Bibliothek aufstellen :) vielleicht auch mal ne Premium Version, aber das eher weniger.


    Ich hab auch die Befürchtung, dass ich später will und die nötige Lust/Zeit nicht auftreiben kann.


    andrehaehnel : Ich will Java lernen weil es Platformunabhängig ist und C# ist nur bedingt auf anderen Systemen verwendbar.

  • Hab ich gemerkt, da ich bis Kapitel 25 den Großteil schon Kannte hab ich das Buch etwas überflogen.


    Und nun macht es wieder Spaß. Weil ich denke die hunderte von Videos zu C#, VB.Net haben gereicht. Ich weiß ja was die Datentypen sind und wie man mit Arrays schreibt.


    @andre (wenn ich das so schreiben kann): Mir wurde aber vorhin geschrieben, dass die nur vom Syntax gleich sind?

  • Wenn du c# kannst, musst du java nicht mehr lernen

    :punish:



    take
    Ich hoffe doch für dich dass du die Grundlagen bereits kennst.
    Was ich dir aber anrate ist, dass du den vollen Funktionsumfang von einzelnen Klassen & Objekten (bspw. Sockets, Threads, ...) kennst, bevor du etwas erstellt was darauf aufbaut.


    Aber schon die Aussage

    Zitat

    Hab ich gemerkt, da ich bis Kapitel 25 den Großteil schon Kannte hab ich das Buch etwas überflogen.

    zeigt mir, dass du lieber gleich zu den "Grossen tollen Dingen" gehen willst & das andere vernachlässigst. - Aber das ist wohl bei den meisten so. :)


    cheers

  • Syntax eher nicht (ist ähnlich) aber die Model das der Sprache zu Grunde liegt ist nach meiner Einschätzung nahezu identisch.
    So kannst du c# code ohne großes nachdenken zu java portieren.


    Wiedersprecht mir aber das ist meine Einschätzung.


    @Traumfänger: Da spricht der geborene theoretische Informatiker. Alles lernen und dann umsetzen.
    Das finde ich aber für meinen Teil sehr unpraktisch weil sich mir so keine große Herausforderung stellt und außerdem enstehen nur durch Unwissen neue Denkvorgänge zur Realisierbarkeit.


    Learning by doing ist für mich immer noch die beste Methode.


    Desweiteren ist ein Smiley wohl keine argumentative Antwort ^^

  • Syntax eher nicht (ist ähnlich) aber die Model das der Sprache zu Grunde liegt ist nach meiner Einschätzung nahezu identisch.
    So kannst du c# code ohne großes nachdenken zu java portieren.


    Wiedersprecht mir aber das ist meine Einschätzung.



    Wenn du mir sagst, was du genau mit Model meinst.


    €: Im Gegenteil. Das macht nunmal die Erfahrung aus.
    Wenn du an grösseren Projekten teilnimmst, und dir dann Grundlagen fehlen - dann wünschst du dir, du hättest dir ein bisschen mehr Zeit geschenkt um das Grundwissen zu festigen.
    Qualität > Quantität -> Und das SOWIESO in der Software Entwicklung.

  • Naja im Prinzip grobes OOP. Dabei fallen aber viele Sachen raus wie zB Pointer da die eine Sprache Systemabhängig machen. Es sind eigentlich alle Lösungen in c#, genau so in Java umsetzbar.


    Wenn ich eine Aufgabe bekomme werde ich mich zu dem Zeitpunkt mit dem Thema beschäftigen. Das heißt aber nicht das ich alle Klassen und deren Bestandteile auswendig lernen werden nur weil ich eine Methode benutze.

  • Wenn du nicht bereit bist eine argumentative Diskussion zu führen ist das ok.


    Ich meinte übrigens mit dem Beispiel Pointer das dir viel von dem Framework an sich abgenommen wird und das ich da bei Java und C# in sofern Parallelen sehe, dass du zB C# Projekte allein schon deswegen nicht in C++ übersetzen könntest weil du in C# nie um den Speicherverbrauch gekümmert hast.

  • Ich hab doch schon gesagt, dass Java und C# nichts gemeinsam haben und was Pointer jetzt damit zu tun haben weiß ich auch nicht, zumal diese nix mit Systemabhängigkeit zu tun haben.

    Zitat

    Es sind eigentlich alle Lösungen in c#, genau so in Java umsetzbar.

    Das ist soweit richtig, aber nicht nur mit Java, sondern auch mit allen anderen möglichen Sprachen. Daran kannst du nicht festmachen, dass beide Sprachen gleich sind.


    Abgesehn davon driftet das ganze hier total ab.