Programmiersprachen
- Loma
- Ultimatives Flascherl
- Beiträge: 8055
- Registriert: 21.07.2006, 16:47
- Wohnort: Flascherl
- Kontaktdaten:
Programmiersprachen
Hallo!
Auch wenn es für das Erstellen von Adventures wohl nicht unbedingt notwendig ist, habe ich dennoch angefangen, mich für Programmiersprachen zu interessieren.
Meistens liest man, dass C++, obwohl recht kompliziert, mehrheitlich verwendet wird.
Das, was ich in letzter Zeit öfter gesehen habe ist C#.
Gibt es einen Unterschied zwischen den beiden? Wenn ja, welchen?
Obwohl das zwar keine spezifisch die Adventure-Erstellung betreffende Frage ist, hoffe ich dennoch, daß ihr sie mir vielleicht beantworten könnt.
Liebe Grüße
Auch wenn es für das Erstellen von Adventures wohl nicht unbedingt notwendig ist, habe ich dennoch angefangen, mich für Programmiersprachen zu interessieren.
Meistens liest man, dass C++, obwohl recht kompliziert, mehrheitlich verwendet wird.
Das, was ich in letzter Zeit öfter gesehen habe ist C#.
Gibt es einen Unterschied zwischen den beiden? Wenn ja, welchen?
Obwohl das zwar keine spezifisch die Adventure-Erstellung betreffende Frage ist, hoffe ich dennoch, daß ihr sie mir vielleicht beantworten könnt.
Liebe Grüße
Ich denke, also spinn' ich.
Ich spinne, also mal' ich.
Ich male, also denk' ich.
"Never leave for the last minute what you can get away with not doing at all." (Pepe the King Prawn)
Ich spinne, also mal' ich.
Ich male, also denk' ich.
"Never leave for the last minute what you can get away with not doing at all." (Pepe the King Prawn)
- DieFüchsin
- Adventure-Gott
- Beiträge: 4406
- Registriert: 12.03.2004, 16:55
Also wenn du ein ordentliches Spiel erstellen willst, und nicht nur mal herumprobieren, kommst du um den Umgang mit ner Programmiersprache nicht herum. In AGS komm ich mit meiner einjährigen C++ Erfahrung (soo schwer ist das ganze auch nicht) ganz gut hin, wenn ich nicht weiter weiß wurde mir bisher immer ganz lieb geholfen.
C# sagt mir nichts.
C# sagt mir nichts.
Danke, Adventuretreff! <3
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
Hier stand noch nie etwas peinliches. Keine Ahnung, worauf sich die nachfolgenden Posts beziehen...
Zuletzt geändert von Fightmeyer am 04.09.2006, 13:51, insgesamt 2-mal geändert.
-
- Adventure-Gott
- Beiträge: 2678
- Registriert: 19.08.2005, 17:16
- Der Wanderer
- Verpackungs-Wegwerfer
- Beiträge: 89
- Registriert: 05.05.2005, 22:59
- Wohnort: Mittelerde
C# (see sharp) hat nichts mit C++ zu tun.
Und ehrlich gesagt würde ich eher C verwenden. C++ ist gerade für Anfänger oft etwas zu schwierig, um die Vorteile auch zum Vorteil nutzen zu können, und nicht nur, um zig Seiten extra Code zu erzeugen.
Ansonsten wäre auch BlitzBasic ganz gut geeignet denke ich mal, und einfacher als C/C++.
Wenn es möglichst viele Platformen erreichen soll (also nicht nur Windoze), wäre eine Kombination von C und SDL sinnvoll, da es das für fast alle Platformen gibt, und eine Portierung dann mehr oder weniger auf ein Re-Compile hinausläuft.
Und ehrlich gesagt würde ich eher C verwenden. C++ ist gerade für Anfänger oft etwas zu schwierig, um die Vorteile auch zum Vorteil nutzen zu können, und nicht nur, um zig Seiten extra Code zu erzeugen.
Ansonsten wäre auch BlitzBasic ganz gut geeignet denke ich mal, und einfacher als C/C++.
Wenn es möglichst viele Platformen erreichen soll (also nicht nur Windoze), wäre eine Kombination von C und SDL sinnvoll, da es das für fast alle Platformen gibt, und eine Portierung dann mehr oder weniger auf ein Re-Compile hinausläuft.
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
Es ist falsch.
Ausführliche Antwort:
C# ist eine Art Weiterentwicklung von C++ und ist wohl im Zusammenhang mit .NET auf Microsofts Mist (ist jetzt nicht negativ gemeint) gewachsen. C# ist meiner Meinung nach eine Mischung aus C++ und Java. C++ und Java sind sich ja von der Syntax her relativ ähnlich, aber unterscheiden sich technisch stark. Java ist (meiner Meinung nach) etwas einfacher, da man sich nicht mit Pointern und Speicherfragen rumscheren muss. Diese Konzepte übernimmt C#, aber teilweise hat man noch die Möglichkeiten, die C++ bietet. Der Hauptunterschied ist aber, dass Java-Quelltext nicht in ein direkt lauffähiges Programm übersetzt wird. Stattdessen muss der übersetzte Code von einem Interpreter interpretiert werden. Das hat den Vorteil, dass kompilierte Java-Programme plattformunabhängig sind, aber den Nachteil, dass sie langsamer laufen. C++ Programme werden direkt unter Windows z.B. in eine .exe Datei übersetzt, die direkt so ausgeführt werden kann. C# wird per .NET Framework auch wieder in eine Zwischensprache übersetzt, allerdings soll der zugehörige Interpreter auch schneller sein. Im übrigen lassen sich mittels .NET viele verschiedene Quelltexte kompilieren, z.B. auch Java oder C++ Quell-Dateien. Außerdem bietet C# durch das .NET Framework noch spezielle zusätzliche Funktionen wie z.B. speziellen Sicherheitsfunktionen.
Na, ich denke, das reicht erstmal. Sollte zu mindestens 75% stimmen.
Hier die Kurzform:
C# ist eine Kombination aus Java und C++. C++, C# und Java sind meiner Meinung nach gar nicht so unähnlich. Auf jeden Fall kannst du, wenn du eine von diesen Sprachen gut beherrscht, relativ einfach auch eine der anderen Sprachen erlernen. Welche von diesen Sprachen du nun lernst, ist meiner Meinung nach egal. Zu allen gibt es genügend Lernmaterial im Netz. Ich persönlich habe mit Java angefangen und denke, dass Java oder C# für den Anfang einen Tick besser geeignet sind als C++, da du dir keine so großen Gedanken um Pointer machen musst.
Es gibt natürlich auch noch andere Sprachen. Eine einfache Programmiersprache für Windows ist z.B. Delphi. Damit hast du am Anfang vermutlich schnellere Erfolgserlebnisse, aber die andern drei Sprachen sind weiter verbreitet und in Forschung und Wirtschaft deutlich wichtiger. Daher würde ich dir zu ihnen raten.
Ausführliche Antwort:
C# ist eine Art Weiterentwicklung von C++ und ist wohl im Zusammenhang mit .NET auf Microsofts Mist (ist jetzt nicht negativ gemeint) gewachsen. C# ist meiner Meinung nach eine Mischung aus C++ und Java. C++ und Java sind sich ja von der Syntax her relativ ähnlich, aber unterscheiden sich technisch stark. Java ist (meiner Meinung nach) etwas einfacher, da man sich nicht mit Pointern und Speicherfragen rumscheren muss. Diese Konzepte übernimmt C#, aber teilweise hat man noch die Möglichkeiten, die C++ bietet. Der Hauptunterschied ist aber, dass Java-Quelltext nicht in ein direkt lauffähiges Programm übersetzt wird. Stattdessen muss der übersetzte Code von einem Interpreter interpretiert werden. Das hat den Vorteil, dass kompilierte Java-Programme plattformunabhängig sind, aber den Nachteil, dass sie langsamer laufen. C++ Programme werden direkt unter Windows z.B. in eine .exe Datei übersetzt, die direkt so ausgeführt werden kann. C# wird per .NET Framework auch wieder in eine Zwischensprache übersetzt, allerdings soll der zugehörige Interpreter auch schneller sein. Im übrigen lassen sich mittels .NET viele verschiedene Quelltexte kompilieren, z.B. auch Java oder C++ Quell-Dateien. Außerdem bietet C# durch das .NET Framework noch spezielle zusätzliche Funktionen wie z.B. speziellen Sicherheitsfunktionen.
Na, ich denke, das reicht erstmal. Sollte zu mindestens 75% stimmen.
Hier die Kurzform:
C# ist eine Kombination aus Java und C++. C++, C# und Java sind meiner Meinung nach gar nicht so unähnlich. Auf jeden Fall kannst du, wenn du eine von diesen Sprachen gut beherrscht, relativ einfach auch eine der anderen Sprachen erlernen. Welche von diesen Sprachen du nun lernst, ist meiner Meinung nach egal. Zu allen gibt es genügend Lernmaterial im Netz. Ich persönlich habe mit Java angefangen und denke, dass Java oder C# für den Anfang einen Tick besser geeignet sind als C++, da du dir keine so großen Gedanken um Pointer machen musst.
Es gibt natürlich auch noch andere Sprachen. Eine einfache Programmiersprache für Windows ist z.B. Delphi. Damit hast du am Anfang vermutlich schnellere Erfolgserlebnisse, aber die andern drei Sprachen sind weiter verbreitet und in Forschung und Wirtschaft deutlich wichtiger. Daher würde ich dir zu ihnen raten.
„Es müsste immer Musik da sein, bei allem was du machst. Und wenn's so richtig Scheiße ist, dann ist wenigstens noch die Musik da. Und an der Stelle, wo's am allerschönsten ist, da müsste die Platte springen und du hörst immer nur diesen einen Moment.“ (Floyd, Absolute Giganten)
-
- Adventure-Gott
- Beiträge: 3360
- Registriert: 27.02.2004, 20:49
Genau aus diesem Grund würde ich nur zu C oder C++ raten, weil eigentlich nur diese Sprachen (neben Fortran, daß aber nur noch aus historischen Gründen Verwendung findet) im wissenschaftlich-technischen Bereich benutzt werden.max_power hat geschrieben:aber die andern drei Sprachen sind weiter verbreitet und in Forschung und Wirtschaft deutlich wichtiger. Daher würde ich dir zu ihnen raten.
Die Zukunft von C# als Microsofts Eigenkreation ist sowieso fraglich, Java ist primär eher für Web- und Präsentationszwecke geeignet. Es kann zwar auch für Spiele und Anderes genutzt werden, (es gibt auch einige kommerzielle Adventure), ist aber doch ziemlich langsam.
-
- Komplettlösungsnutzer
- Beiträge: 14
- Registriert: 04.03.2006, 21:00
- Wohnort: Nähe Ulm
Als Anfänger würde ich C, C++ und Delphi meiden. Delphi als einfache Programmiersprache zu bezeichnen ... Delphi mag etwas anders aussehen als C oder C++ ist aber im Grunde seeeeeeehr ähnlich.
Und Meiden deshalb, weil man sich als Anfänger nicht immer im Klaren darüber ist, wo nun Speicher aktuell belegt ist und freigegeben werden muss und wo nicht.
C# und Java unterscheiden sich eigentlich auch recht deutlich, sind aber ähnlich genug das ich mal grob behaupten kann: Sind beide relativ einfach zu lernen.
Diese beiden Sprachen benötigen allerdings beide eine Laufzeitumgebung auf einem Rechner. Das schlägt mit zwischen 15-25mb zu buche.
Zum Thema Interpretieren: Beide werden zur Laufzeit übersetzt und laufen daher in ausreichender Zeit. Das Thema ist schwierig weil es so ein paar Lager im C/C++ und Java Bereich gibt, die sich da gerne Prügeln. (Wenn man mal davon absieht das es C-ler und C++-ler sich meistens auch streiten ^^ )
Also ich habe bisher alle diese Sprachen mal anprobiert und benutze momentan hauptsächlich Java (Grund: Verfügbarkeit von Bibliotheken).
Abgekürzt: Nimm C# oder Java
Und Meiden deshalb, weil man sich als Anfänger nicht immer im Klaren darüber ist, wo nun Speicher aktuell belegt ist und freigegeben werden muss und wo nicht.
C# und Java unterscheiden sich eigentlich auch recht deutlich, sind aber ähnlich genug das ich mal grob behaupten kann: Sind beide relativ einfach zu lernen.
Diese beiden Sprachen benötigen allerdings beide eine Laufzeitumgebung auf einem Rechner. Das schlägt mit zwischen 15-25mb zu buche.
Zum Thema Interpretieren: Beide werden zur Laufzeit übersetzt und laufen daher in ausreichender Zeit. Das Thema ist schwierig weil es so ein paar Lager im C/C++ und Java Bereich gibt, die sich da gerne Prügeln. (Wenn man mal davon absieht das es C-ler und C++-ler sich meistens auch streiten ^^ )
Also ich habe bisher alle diese Sprachen mal anprobiert und benutze momentan hauptsächlich Java (Grund: Verfügbarkeit von Bibliotheken).
Abgekürzt: Nimm C# oder Java
- Treibholz
- Profi-Abenteurer
- Beiträge: 862
- Registriert: 29.05.2004, 14:49
- Wohnort: Kassel
-
- Adventure-Gott
- Beiträge: 3360
- Registriert: 27.02.2004, 20:49
Da du den Disput ja angefangen hast:
Fazit: Ich empfehle auf jeden Fall C oder C++, auch wegen der im Vergleich zu C# besseren Portabilität und Zukunftssicherheit und vor allem wegen der wesentlich höheren Geschwindigkeit (Java im Speziellen ist sehr lahm und einige Interpreter auch fehleranfällig).
Wenn das Erlernen von C/C++ wirklich zunächst zu schwer sein sollte (was ich nicht glaube), würde ich als Anfänger dann doch eher zu Pascal/Delphi greifen als zu Java.
(Jetzt müssen sie sich entscheiden.)
Wenn man zunächst nur relativ einfach programmiert und keine Zeigerverschachtelung, Klassen oder Ähnliches verwendet, ist das auch als Anfänger kein Problem.Dante hat geschrieben:Und Meiden deshalb, weil man sich als Anfänger nicht immer im Klaren darüber ist, wo nun Speicher aktuell belegt ist und freigegeben werden muss und wo nicht.
Da dürfte es für C und C++ aber wesentlich mehr Bibliotheken geben!Also ich habe bisher alle diese Sprachen mal anprobiert und benutze momentan hauptsächlich Java (Grund: Verfügbarkeit von Bibliotheken).
Fazit: Ich empfehle auf jeden Fall C oder C++, auch wegen der im Vergleich zu C# besseren Portabilität und Zukunftssicherheit und vor allem wegen der wesentlich höheren Geschwindigkeit (Java im Speziellen ist sehr lahm und einige Interpreter auch fehleranfällig).
Wenn das Erlernen von C/C++ wirklich zunächst zu schwer sein sollte (was ich nicht glaube), würde ich als Anfänger dann doch eher zu Pascal/Delphi greifen als zu Java.
(Jetzt müssen sie sich entscheiden.)
- Loma
- Ultimatives Flascherl
- Beiträge: 8055
- Registriert: 21.07.2006, 16:47
- Wohnort: Flascherl
- Kontaktdaten:
Hallo!
Da sag ich als erstes mal ein ganz großes DANKESCHÖN für eure wertvollen Antworten!
Ich weiß zwar nicht so ganz genau, ob ich wirklich alle Ausführungen vollkommen verstanden habe , aber ihr habt mir auf alle Fälle weitergeholfen.
Ich habe bereits angefangen, mich ein bisserl mit C++ zu beschäftigen (die Sache mit den Zeigern hat schon was Kopfrauchendes). Da ich aber in Bezug auf dieses neue XNA Game Studio Express auf C# gestoßen bin, wollte ich mich vergewissern, ob ich meine Gehirnzellen auch nicht umsonst strapaziere, wenn ich mich in C++ einarbeite.
Jedenfalls vielen lieben Dank.
Liebe Grüße
Da sag ich als erstes mal ein ganz großes DANKESCHÖN für eure wertvollen Antworten!
Ich weiß zwar nicht so ganz genau, ob ich wirklich alle Ausführungen vollkommen verstanden habe , aber ihr habt mir auf alle Fälle weitergeholfen.
Ich habe bereits angefangen, mich ein bisserl mit C++ zu beschäftigen (die Sache mit den Zeigern hat schon was Kopfrauchendes). Da ich aber in Bezug auf dieses neue XNA Game Studio Express auf C# gestoßen bin, wollte ich mich vergewissern, ob ich meine Gehirnzellen auch nicht umsonst strapaziere, wenn ich mich in C++ einarbeite.
Jedenfalls vielen lieben Dank.
Liebe Grüße
Ich denke, also spinn' ich.
Ich spinne, also mal' ich.
Ich male, also denk' ich.
"Never leave for the last minute what you can get away with not doing at all." (Pepe the King Prawn)
Ich spinne, also mal' ich.
Ich male, also denk' ich.
"Never leave for the last minute what you can get away with not doing at all." (Pepe the King Prawn)
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
-
- Komplettlösungsnutzer
- Beiträge: 14
- Registriert: 04.03.2006, 21:00
- Wohnort: Nähe Ulm
Hat es. Ich meinte auch mehr im qualitativen Sinn. Bitte das jetzt nicht falsch verstehen, es gibt eine Menge sehr gut programmierter C/C++ libs.Wintermute hat geschrieben:Da dürfte es für C und C++ aber wesentlich mehr Bibliotheken geben!
Schonmal ein Java-Programm geschrieben ?Wintermute hat geschrieben:Fazit: Ich empfehle auf jeden Fall C oder C++, auch wegen der im Vergleich zu C# besseren Portabilität und Zukunftssicherheit und vor allem wegen der wesentlich höheren Geschwindigkeit (Java im Speziellen ist sehr lahm und einige Interpreter auch fehleranfällig).
Geschwindigkeitsvorteile von C zu C# bringen einem, um mal im Adventure-Bereich zu bleiben, doch wenig. C kann seine Stärke beim Software-rendern ausspielen. Der Rest braucht eigentlich kaum Dampf (wohlgemerkt im Normalfall). Und wenn ich schnell Rendern + Software will, dann nehm ich Assembler
Hmm, ich bin mir nicht sicher inwiefern Delphi "einfacher" ist. Man hat zwar ein "Unit"-Konzept und tippt viel mehr, aber ansonsten ?Wintermute hat geschrieben: Wenn das Erlernen von C/C++ wirklich zunächst zu schwer sein sollte (was ich nicht glaube), würde ich als Anfänger dann doch eher zu Pascal/Delphi greifen als zu Java.
Ah um nicht ganz offtopic zu sein:
Ich nehme mein Statement von oben zurück, lern lieber C. Bringt dir zukünftig auf jedenfall mehr.
-
- Adventure-Gott
- Beiträge: 3360
- Registriert: 27.02.2004, 20:49
Einigen wird uns darauf, daß Fortran schlecht und grauenhaft zu programmieren ist. (Ist halt der Dinosaurier unter den erweiterten Programmiersprachen.)
Kennt eigentlich einer von euch LabView?
Das ist eine grafische Programmierumgebung, die vor allem im Bereich der Meßtechnik Verwendung findet. Die Programmierweise ist vollkommen anders als in allen anderen Sprachen, da sie nicht sequentiell oder befehlsgebunden sondern datengebunden und parallel abläuft; man kann sich die Programme als extrem komplexe Logikgatter vorstellen.
Der eigentliche Programmcode hat Ähnlichkeiten mit Schaltkreisen.
Hier ein Beispiel (aus der Wikipedia):
Kennt eigentlich einer von euch LabView?
Das ist eine grafische Programmierumgebung, die vor allem im Bereich der Meßtechnik Verwendung findet. Die Programmierweise ist vollkommen anders als in allen anderen Sprachen, da sie nicht sequentiell oder befehlsgebunden sondern datengebunden und parallel abläuft; man kann sich die Programme als extrem komplexe Logikgatter vorstellen.
Der eigentliche Programmcode hat Ähnlichkeiten mit Schaltkreisen.
Hier ein Beispiel (aus der Wikipedia):
-
- Komplettlösungsnutzer
- Beiträge: 38
- Registriert: 01.05.2006, 21:14
- Wohnort: Gießen
Auch nicht ganz richtig. C# arbeitet mit dem .NET Framework soweit richtig aber das .NET Framework verwendet keinen Interpreter sondern einen Compiler. Der entscheidende Unterschied zwischen dotNet und herkömmlichen Sprachen ist, dass dotNET mit sogenanntem managed Code arbeitet. Das heißt, wenn man seinen Source nun in eine .exe kompiliert, wird ein p-Code erzeugt, also ein Zwischencode, kein Hochsprachencode aber auch kein Maschinencode. Das kennt man ja von vielen alten Basic-Compilern. Aber dieser Code wird nicht interpretiert, wenn die .exe gestartet wird, sondern er wird zum Zeitpunkt des Ausführens vom Framework in Maschinencode kompiliert und dann ausgeführt. Der Vorteil liegt darin, dass das Framework vor dem Kompilieren prüfen kann, ob der Code Dinge tut, die ihm nicht erlaubt sind, z.b. Dateien manipulieren. .NET ist in erster Linie ein neuer Sicherheitsstandart, der erlauben soll wildfremde Programme aus dem Netz zu saugen ohne dabei Angst haben zu müssen sich nen Virus einzufangen. In der Praxis gibt es aber leider schon viele funktionierende dotNET-Infektoren. Ausserdem entfernt sich .NET vom Model der objektorientierten Programmierung hin zum Klassenmodel.max_power hat geschrieben:Es ist falsch.
C# ist eine Kombination aus Java und C++. C++, C# und Java sind meiner Meinung nach gar nicht so unähnlich. Auf jeden Fall kannst du, wenn du eine von diesen Sprachen gut beherrscht, relativ einfach auch eine der anderen Sprachen erlernen. Welche von diesen Sprachen du nun lernst, ist meiner Meinung nach egal. Zu allen gibt es genügend Lernmaterial im Netz. Ich persönlich habe mit Java angefangen und denke, dass Java oder C# für den Anfang einen Tick besser geeignet sind als C++, da du dir keine so großen Gedanken um Pointer machen musst.
Es gibt natürlich auch noch andere Sprachen. Eine einfache Programmiersprache für Windows ist z.B. Delphi. Damit hast du am Anfang vermutlich schnellere Erfolgserlebnisse, aber die andern drei Sprachen sind weiter verbreitet und in Forschung und Wirtschaft deutlich wichtiger. Daher würde ich dir zu ihnen raten.
Ich persönlich bin ein alter BASIC-Fan. Nutze im Augenblick PureBasic: http://www.PureBasic.de/