Von Visual Basic auf C++?

Es gibt 45 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Von Visual Basic auf C++?

    Also ich bin sehr gut in VB und habe aber ein Problem meine Programme und Spiele gehen nicht auf anderen PCs also Ubuntu oder Mac, und darum will ich jetzt auf C++ umsteigen aber wollte fragen wie lange es dauert bis man c++ einigermassen kann mit meinem 1 Jahr VB kenntnisse, ich bin auch sehr motiviert was Programmieren angeht.

    Edit by Manschula: Aus dem Hauptforum verschoben

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    Das ist eigentlich bloß eine Gewöhnungsfrage.
    Falls Du schon mal C++ programmiert hast, wirst Du keine nennenswerten Probleme haben.
    Probleme wirst Du dann bekommen, wenn Du den VisualBasic-NameSpace zu intensiv nutzt.
    Setze Dich einfach hin und fang an zu schreiben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Checkmen schrieb:

    Also ich bin sehr gut in VB
    [...] mit meinem 1 Jahr VB kenntnisse

    Ja ja. Ich hab 10 Jahre VB Kenntnisse. Bin ich jetzt ultragut? Auf ner Skala von 1-10 würde ich mich irgendwo im Bereich 5-6 einstufen.

    Und wenn du plattformübergreifend SPIELE (sehr performanceintesiv, deswegen oft sehr hardware- bs betriebssystemnah) entwickeln willst, würde ich mich das noch mal gut überlegen.

    BTW: Da C++ ist das hier ... Off Topic
    Die Prinzipien (Schleifen, Bedingungen usw...) bleiben ja die selben, zumindest rein von der Funktionsweise. Wichtig ist es halt, dass du dich nicht zu sehr auf die VB Namespaces bzw. Syntaxen vertiefst.
    Ganz einfach gesagt: Programmierung bleibt die selbe, Schreibweise ändert sich. D.h. der Schwerpunkt wird sein dich mit der Schreibweise auseinander zusetzen.

    Was neu sein wird: Speicherverwaltung, Pointer, Referenzen, Objektorientierung, Templates, Meta-Templates,.. Und das ist ein ganzes Stück Arbeit

    ..Off-Topic!
    lg aetium

    aetium schrieb:

    Was neu sein wird: Speicherverwaltung, Pointer, Referenzen, Objektorientierung, Templates, Meta-Templates,.. Und das ist ein ganzes Stück Arbeit
    Wir reden hier vom Übergang von VB.NET zu C#.NET, nicht aber von C++ zu C#.
    In diesem Sinne sind VB.NER und C# absolut identisch.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Würd dir empfehlen hol dir nen Buch lies erstma Grundlagen durch also Klasse, Templates, Pointer, usw. wie eh schon erwähnt wurde. Wenn du das mal so verstanden hast gehts eigentlich fast von selbst und du kannst recht schnell damit gut umgehen. Der rest ist dann eben Übungssache und auch irgendwo Gewöhnungssache. Außerdem wenn du schon erfahrung mit ähnlich syntax gemacht hast gehts noch schneller. z.B muss man ja in c++ einen Befehl mit ; beenden und if end if gibts auch nicht sondern eben if{}. Aber eben wenn du dir das schon gewöhnt bist (z.B. von c#) fällts dir noch mal bisschen leichter weil du dich dann von der Syntax nicht sooo viel umgewöhnen musst. Natürlich gibt es vieles was es in c# nicht gibt ist mir schon klar :).

    Aber alles in allem würde ich sagen müsste man Grundlagen recht schnell verstanden haben.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Sehr gut in VB nach nur einem Jahr, nun das kann man nicht glauben, es sei denn du bist ein Naturtalent, dann dürfte dir der Umsteig nach C++ auch leicht fallen, das machste quasie im Schlaf.
    Ich habe auch über 10 Jahre VB bzw. Basic Erfahrung und kenne trotzdem noch nicht alles, ebenso habe ich Erfahrung in Java und PHP welche schonmal vom Syntax ähnlich wie C++ sind. Trotzdem sind C++ Applikationen für micht unglaublich schwer verständlich, weil man eben alles selbst managen muss. Deswegen beschränke ich mich auf C++ DLLs die ich dann in VB einbinde, das noch relativ simpel.

    Aber allgemein kann so eine Frage dir keiner Beantworten, niemand kennt dich, deine Fährigkeiten oder wie schnell du lernst. Was willst du von uns hören? 4 Tage? 5 Monate? 3 Jahre??
    Ich kann nur für mich sprechen, dadruch das ich langjährig in VB programmiert habe und auch mit JS schon einiges angestellt hatte, viel mir das "Lernen" von PHP relativ leicht. Wobei richtig KÖNNEN tue ich es erst jetzt, wenn überhaupt nach ~4 Jahren. Ebenso mit Java, wie es funktioniert hatte ich innerhalb von ~2 Tagen raus und innerhalb 1 Woche die Anwendung die ich programmieren musste fertig, weil außer die neuen Libraries musste man kaum was lernen, da ich den Syntax bereits kannte und wenn man richtig Programmieren kann, ist der Syntax nebensächlich. Das wie mit der gesprochenen Sprache, wenn man das Grundprinzip einer Sprache kann, kann man sogut wie jede Sprache relativ einfach erlernen.
    @aetium:
    TSchuldigung, hab ich absolut verwechselt.
    @TE:
    Dumm gelaufen.
    Du musst völlig von vorne anfangen. Schade, dass Du diese Reihenfolge gewählt hast. Hättest Du erst C++ gelernt, wäre die Umstellung von C++ auf .NET wesentlich einfacher.
    Das Problem ist tatsächlich, dass Du Dich um jeden Scheiß selbst kümmern musst. Allerdings passt die IDE im DEBUG auf, ob alle Pointer aufgeräumt worden sind.
    -----------------------------
    Ich hab mal gehört, dass man (allerdings ohne Kenntnis von .NET) ca. 2 Jahre braucht, um C++ zu verinnerlichen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Passiert.

    RodFromGermany schrieb:

    Ich hab mal gehört, dass man (allerdings ohne Kenntnis von .NET) ca. 2 Jahre braucht, um C++ zu verinnerlichen.

    Damit hat er nicht ganz unrecht und das PRoblem ist das C++ in einigen Dingen sehr eigen ist. D.h. du wirst Probleme haben, die du vorher nicht hattest, auch wenn du denkst, dass du alles richtig gemacht hast. Besonders natürlich der Umstieg von VB.NET auf C++. Würde fast behaupten von C# auf C++ ist um einiges leichter und dennoch ne ganz schön Mist Arbeit.

    Dennoch musst du die Erfahrung für dich selbst machen und entweder anfangen es zu lernen und das dann wirklich durch ziehen oder du lässt es komplett bleiben .

    @picoflop
    Er meinte nur, dass die IDE aufpasst, ob alle Pointer aufgeräumt wurden. Die VS IDE in Linux oder Mac.. ungeeignet. Allerdings bis er die Sprache gelernt hat, hat er denke ich ganz andere Sorgen ;)

    lg aetium

    picoflop schrieb:

    Er will Programme schreiben, die auf Win, Linux und Mac laufen. Und zum debuggen unter Linux bzw Mac ist die VS IDE irgendwie ungeeignet
    Setzt natürlich voraus, das Programm unter Win zu entwickeln und zu testen und zu optimieren, und erst dann auf die anderen Betriebssysteme zu portieren.
    In diesem Zusammenhang fällt mir da noch Qt ein, allerdings habe ich dazu eine schlechte Meinung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich hab mir mal jetzt C++ genauer angeschaut und festgestellt das die beiden Sprachen komplett anders sind, vb ist viel einfacher und ich glaube das man mit VB schneller Programme programmieren kann, und ich will noch was fragen ich bin 13 Jahre alt und wollte ein Spiel programmierer werden wenn ich älter bin und eignet sich Visual Basic dafür Spiele wie die hier zu programmieren: youtube.com/watch?v=y7UtBMig8NY&feature=fvst also wenn man ganz gut in VB ist?

    Checkmen schrieb:

    Ich hab mir mal jetzt C++ genauer angeschaut und festgestellt das die beiden Sprachen komplett anders sind, vb ist viel einfacher und ich glaube das man mit VB schneller Programme programmieren kann, und ich will noch was fragen ich bin 13 Jahre alt und wollte ein Spiel programmierer werden wenn ich älter bin und eignet sich Visual Basic dafür Spiele wie die hier zu programmieren: youtube.com/watch?v=y7UtBMig8NY&feature=fvst also wenn man ganz gut in VB ist?


    Ganz allgemein kann man mit so ziemlicher jeder Programmiersprache Spiele programmieren. Es kommt ganz darauf an was für Sachen man dazu benutzt, da du reine mit VB.NET zum Beispiel kein Spiel programmierst. Da kommen noch Tonnen von Features, LIBs usw.. dazu. Klar ist C++ eine Sprache mit der man sehr gut Spiele programmieren kann, aber ist es auch immer eine Frage des Geldes und es ist auch definitiv teurer für z.B. eine Firma ein Spiel mit C++ zu programmieren.

    Ein Rat zur Wahl der Programmiersprache: Du bist 13, hast somit noch komplett freie Wahl mit was du programmierst. Mach dich schlau mit was in welchen Bereichen programmiert wird, entscheide dann für dich was zu dir am besten passt und dann lerne es.

    lg aetium
    Also ich denke das zwar .NET für Anwendungsentwicklung vermehrt auftritt, aber ganz sicher nicht in der Spieleentwickelung, weil dafür einfach das FW zu langsam und überladen ist. Bei spielen geht es um resourcensparendes, möglichst direktes ansprechen der Hardware um optimale Ergebnisse zu erzielen.

    Ich an deiner Stelle würde einfach mal bei einer Games Academy nachfragen und vlt. ein Praktikum dort machen. Die werden bestimmt nicht mit reinem C++ dort programmieren sondern haben auch ihr eigenes Framework und Engines die sie nutzen. Aber allgemein ist die Sprache schon nah an C++ angelehnt.
    Aber einfach, so wie Basic ist es ganz sicher nicht. Zumal es nicht nur darauf ankommt die Sprache zu beherschen sondern auch weitreichende mathematische Kenntnisse von nöten sind um z.b. Perspektive richtig zu berechnen, Fallen von Objekten unter berücksichtigung der Physik usw. sicher wird vieles eine Engine abnehmen, aber vlt. muss man an dieser mal etwas optimieren und somit sind diese Kenntnisse sicherlich umbedingt notwendig.
    13... Ach, wie lange das her ist... ein Jahr
    Ich habe mich nach einiger VB.NET-Erfahrung auch an C++ gewagt, den Gedanken allerdings schnell wieder verworfen.
    Die Sprache ist in einigen Faktoren unglaublich kompliziert, wenn man sich nicht darin eingearbeitet hat, und schwer verständlich.
    Bis ich das ganze Zeug mit den Pointern verstanden habe, habe ich auch eine Weile gebraucht.
    Wenn du unbedingt plattformunabhängig programmieren willst, dann kann ich dir C++ schon ans Herz legen.
    Allerdings macht es meiner Meinung nach wenig Sinn, für Windows eine solche Sprache zu lernen, es sei denn, du willst Treiber oder etwas in der Art schreiben.
    .NET wird immer weiterentwickelt und immer mächtiger... wieso dann umsteigen? :)

    Wenn du Spiele programmieren willst, dann gibt es meiner Meinung nach nicht so extrem große Unterschiede zwischen einer .NET-Sprache und einer nativen Sprache wie C++.
    Die Bibliotheken der einzelnen Grafik-Engines sind überall ungefähr gleich zu bedienen. Natürlich muss der Umgang mit selbigen auch erst erlernt werden.
    Außerdem solltest du, wie Dodo schon erwähnte, gut in Mathematik sein, ein Spiel braucht jede Menge Berechnungen.

    Solltest du die Sprache wirklich lernen wollen, dann würde ich dir ein Buch ans Herz legen, online lernt man sowas einfach nicht gut.
    Ich kann dir leider nicht sagen, was für eines, aber du findest sicher einiges. :P
    Wirklicht wichtig ist es dich im Vorfeld zu erkundigen, was du wofür brauchst und ob du das machen willst.

    DENN: Das wohl gefährlichste in der Programmierung ist das ständige rumhampeln mit mehreren Sprachen. Dieses "Halbwissen" was du dann hast hilft dir absolut nicht weiter und es wird nie zu was wirklich "gutem
    " werden. Es ist wichtig sich ab einem gewissen Punkt zu sagen: SO, hiermit will ich jetzt programmieren, das ziehe ich durch und das werde ich primär machen. Es ist besser eine Programmiersprache RICHTIG gut zu berherrschen, statt 2 oder 3 nur so halb.

    Wenn du in die Spieleprogrammierung gehen willst, läuft es wahrscheinlich darauf hinaus, dass du früher oder später mit C++ oder einer ähnlichen Sprache zutun haben wirst.

    Fazit: Mache dir klar was du machen willst -> Informiere dich ausreichend, womit sich das umsetzen lässt -> lerne es! und nicht noch 2-3 andere Sprachen nebenher

    lg aetium :thumbup:

    BTW:
    Es gibt das Mono Project -> Das dürfte ggf besser geeignet sein, als händisch eine Plattformunabhängigkeit zu erzielen.

    Was aber wiederum bei DirectX großteils zu wünschen übrig lässt, im 2D Bereich dürfte das gut funktionieren, bei 3D ist aber leider noch relativ wenig implementiert...
    Ja ja. Ich hab 10 Jahre VB Kenntnisse. Bin ich jetzt ultragut? Auf ner Skala von 1-10 würde ich mich irgendwo im Bereich 5-6 einstufen.

    Gut da hätte ich mich jetzt auch eingestuft, aber wenn das so ist, muss ich wohl auf 3-4 oder 2-3^^(ca. 8 Jahre VB - aber mehr oder weniger selbstbeigebracht)...

    Heißt so viel wie:
    @TE: Lerne erstmal einen großteil von VB kennen, ich mach das ja jetzt schon relativ lange und kenn nur einen kleinen Bruchtei, vorallem weil immer neue Dinge hinzukommen(WPF z.B.)....
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    jvbsl schrieb:

    Heißt so viel wie:
    @TE: Lerne erstmal einen großteil von VB kennen, ich mach das ja jetzt schon relativ lange und kenn nur einen kleinen Bruchtei, vorallem weil immer neue Dinge hinzukommen(WPF z.B.)....


    Nichts für ungut, aber dieser Rat ist absolut unhilfreich -> Denn was er sucht lässt sich definitiv nicht damit erreichen indem er sich einfach weiter in VB einarbeitet. Zwar ist das hier ein VB-Forum, dennoch sollte die Frage eher Objektiv betrachtet und beantwortet werden, statt das ständig irgendwelche VB - Räte verteilt werden.

    lg aetium
    Falsch...

    Das ist definitiv mehr Hilfreich als das was du hier gepostet hast.
    Wenn man eine Sprache wirklich gut kann, dann ist der Umstieg auf jegliche andere Sprache auch insgeheim einfacher und vorallem auch richtig, denn erst dann kann man dort dinge ebenso anwenden.

    Und das was er sucht lässt sich definitiv mit VB .NET erreichen, .NET hat Zukunft und es ist gar nicht so unwahrscheinlich, dass es mehr Spiele werden, die in .Net programmiert worden sind - Es gibt bereits Spiele(ja auch 3D Spiele - von Firmen gemacht, die sogar verkauft werden) die in .Net sind...

    Außerdem wenn er etwas in VB lernt wird das in C++ nicht viel anders sein, die Verwendung von DirectX in C++ und MDX in .Net ist gar nicht mal so verschieden, bis auf die Übersicht vlt...
    Ebenso dürfte es mit WPF aussehen, was in C++ natürlich um einiges schwieriger ist zu bewältigen...

    Ich hab mal gehört, dass man (allerdings ohne Kenntnis von .NET) ca. 2 Jahre braucht, um C++ zu verinnerlichen.

    2 Jahre sind nichts, damit hat man vlt. mal die Syntax und ein paar Grundlagen, sozusagen ein Hello World Programm...

    Fazit: Wer Spiele selbst programmieren will, der holt mit C++ weder Performance, noch übersichtlichkeit, noch Geschwindigkeit beim schreiben raus, eher im Gegenteil...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---