Auch `C` möglich?


talas

Still Fresh
Joined
Jan 20, 2009
Messages
46
Hi,

Ich würde gerne Programme/Spiele für die Pandora entwickeln,
muss ich da zwangsläufig C++ nutzen oder kann ich auch nur C benutzen,
kenne mich in der Materie C noch nicht so gut aus bin da nämlich noch sehr
neu. Aber wenn alle Stricke reißen, kann ich ja immer noch Python benutzen,
da bin ich ja auch unterwegens... :lol:

MfG Jonas
 
C und C ++ haben sowiso den gleichen Compilirer du kannst sogar ein misch masch machen aber mach das besser nicht
 
nickik said:
C und C ++ haben sowiso den gleichen Compilirer du kannst sogar ein misch masch machen aber mach das besser nicht
Naja, das stimmt eigentlich nicht. Es gibt sogar C-Code den man mit nem C++-Compiler nicht kompilieren kann (Z.B. Variable-length arrays in C99).
 
warum scheust du dich eigentlich vor C++, bzw. warum nicht gleich C++?
 
Also ich werde demnächst mit GLBasic anfangen. Scheint mir für den Einstieg ganz gut zu sein und man kommt wohl schnell zu Erfolgen, wenn es darum geht einfache Games zu programmieren.
 
es gibt natürlich verschiedene ansatzweisen mit C/C++ lernt man gleich die Basics und verseteht alles. Ausserdem lernt man später extrem schnell anderes und es ist performentsstärker. Leider auch komplizierter und man ha länger bis man etwas hingekriegt hat.

Oder man lernt zuerst etwas einfaches um schnell mal einges zu machen und wenn man später mehr haben will kann man immernoch mehr machen.



Ich habe immer lieber gleich mit Grundlagen angefangen aber das überlass ich jedem selber.
 
Jan-Nik said:
nickik said:
C und C ++ haben sowiso den gleichen Compilirer du kannst sogar ein misch masch machen aber mach das besser nicht
Naja, das stimmt eigentlich nicht. Es gibt sogar C-Code den man mit nem C++-Compiler nicht kompilieren kann (Z.B. Variable-length arrays in C99).

Zur Klärung des "Problems":

"Bis auf das Schließen einiger gefährlicher Schlupflöcher in der Typbehandlung ... ist C als Untermenge in C++ enhalten. Ich behielt auch den von C vorgegebenen Schwerpunkt auf Spracheigenschaften bei, mit denen auf Low-level-Niveau die anspruchsvollsten Systemprogrammieraufgaben bewältigt werden können" (aus "Die C++ Programmiersprache" von Bjarne Stroustrup - Kapitel 1.4 - ISBN 978-3-8273-2823-6)
 
Kiste1985 said:
Jan-Nik said:
nickik said:
C und C ++ haben sowiso den gleichen Compilirer du kannst sogar ein misch masch machen aber mach das besser nicht
Naja, das stimmt eigentlich nicht. Es gibt sogar C-Code den man mit nem C++-Compiler nicht kompilieren kann (Z.B. Variable-length arrays in C99).

Zur Klärung des "Problems":

"Bis auf das Schließen einiger gefährlicher Schlupflöcher in der Typbehandlung ... ist C als Untermenge in C++ enhalten. Ich behielt auch den von C vorgegebenen Schwerpunkt auf Spracheigenschaften bei, mit denen auf Low-level-Niveau die anspruchsvollsten Systemprogrammieraufgaben bewältigt werden können" (aus "Die C++ Programmiersprache" von Bjarne Stroustrup - Kapitel 1.4 - ISBN 978-3-8273-2823-6)

Das stimmt so aber nur für C89. C99 ist definitiv nicht vollständig kompatibel mit C++ und das hat nichts mit gefährlichen Schlupflöchern zu tun. C99 bietet einige durchaus komfortable Eigenschaften, die es in C++ so nicht gibt, wie die schon genannten Arrays variabler Länge.
 
Stimmt, da C++ schon vor 1999 genormt wurde! ;)

Interessantes dazu:

"Die letzten Änderungen an C fanden im Jahr 1999 statt (ISO/IEC 9899:1999, auch kurz C99 genannt), also nach der Normung von C++, sodass dort eingeflossene Änderungen nicht in C++ berücksichtigt werden konnten. C-Compiler, die den Stand der ISO-Norm von 1999 umsetzen, sind aber noch nicht sehr verbreitet. Die theoretisch dadurch entstandenen Inkompatibilitäten spielen deshalb in der Praxis bislang keine große Rolle. Um dennoch einem Auseinanderdriften der Sprachen vorzubeugen, werden die Spracherweiterungen von C bei der in Arbeit befindlichen C++-Version berücksichtigt."

Quelle: http://de.wikipedia.org/wiki/C%2B%2B - Kompatibilität mit C

Also sollte mit der naechsten C++ Version der C99 Standard funktionieren.
 
Kiste1985 said:
Stimmt, da C++ schon vor 1999 genormt wurde! ;)

Interessantes dazu:

"Die letzten Änderungen an C fanden im Jahr 1999 statt (ISO/IEC 9899:1999, auch kurz C99 genannt), also nach der Normung von C++, sodass dort eingeflossene Änderungen nicht in C++ berücksichtigt werden konnten. C-Compiler, die den Stand der ISO-Norm von 1999 umsetzen, sind aber noch nicht sehr verbreitet. Die theoretisch dadurch entstandenen Inkompatibilitäten spielen deshalb in der Praxis bislang keine große Rolle. Um dennoch einem Auseinanderdriften der Sprachen vorzubeugen, werden die Spracherweiterungen von C bei der in Arbeit befindlichen C++-Version berücksichtigt."

Quelle: http://de.wikipedia.org/wiki/C%2B%2B - Kompatibilität mit C

Also sollte mit der naechsten C++ Version der C99 Standard funktionieren.

...und zum Schluß noch der wichtigste Fun Fact: Es gibt noch überhaupt keinen Compiler, der C99 100% unterstützt!!

Ja, nicht einmal die achso tolle GCC ist zu 100% C99 kompatibel; wers nicht glaubt, lese es in der Dokumentation nach. Vor allem besagte Arrays variabler Länge sind oft ein Streitthema; doppelt verlinkte Listen sind sowieso besser - programmiertechnisch sauberer und sicherer.
 
ElectronicPirate said:
doppelt verlinkte Listen sind sowieso besser - programmiertechnisch sauberer und sicherer.
So pauschal gesagt ist das einfach nur Unsinn. Es kommt stark auf den Anwendungsfall an, was geeigneter ist. Arrays sind beim Zugriff auf beliebige Elemente immer schneller als Listen. Dazu kommt, dass gerade doppelt verlinkte Listen auch noch mehr Speicherplatz brauchen, als Arrays. Wer sich ein wenig Mühe gibt beim Programmieren, wird es außerdem wohl hinbekommen nicht über Arraygrenzen hinweg zu lesen und zu schreiben.
 
wejp said:
ElectronicPirate said:
doppelt verlinkte Listen sind sowieso besser - programmiertechnisch sauberer und sicherer.
So pauschal gesagt ist das einfach nur Unsinn. Es kommt stark auf den Anwendungsfall an, was geeigneter ist. Arrays sind beim Zugriff auf beliebige Elemente immer schneller als Listen. Dazu kommt, dass gerade doppelt verlinkte Listen auch noch mehr Speicherplatz brauchen, als Arrays. Wer sich ein wenig Mühe gibt beim Programmieren, wird es außerdem wohl hinbekommen nicht über Arraygrenzen hinweg zu lesen und zu schreiben.

Das war auch nur auf Arrays variabler Länge bezogen; natürlich muss man da von Fall zu Fall entscheiden. Und wie gesagt, solange es nicht 100% unterstützt wird, finde ich, ist es keine echte Alternative.
 
Hallo,
also ich bin ganz ehrlich, habe lange nichts mehr an Programmen geschrieben.. Mein letztes Programm war ein kleines namenloses Minispiel auf dem C64, also Basic-C64. (und etwas Maschinencode, bzw. PEEKs und POKEs), ist also schon über 10 Jahre her..

Ich würde mich aber gerne demnächst an C oder sowas wagen.

Ich habe irgendwo gelesen, dass der Syntax von C durch die Erweiterung von C++ ergänzt wird.
Meine Frage ist: Wird denn überhaupt noch irgendwo C alleine verwendet, also macht es Sinn erst C zu lernen und dann mit C++ darauf aufzubauen?
Oder ist es sinnvoller wenn man gleich mit C++ anfängt?

Kennt vielleicht jemand das C++ von A bis Z von Jürgen Wolf? Ist das für jemanden wie mich empfehlenswert (absoluter C-Anfänger)?
http://cover.galileo-press.de/9783836214292.jpg
 
Oje, die Frage könnte einen C VS. C++ Flame starten :lol:

Nein, ein Hauptproblem, das Leute haben, die früher schon einmal programmiert haben und heute sozusagen neu auf C++ umsteigen, ist, dass sie Schwierigkeiten haben von der Strukturierten Programmierung zur objekt-orientierte Programmierung umzudenken. Objektorientierung ist ein Konzept, und ist an keine Sprache gebunden. Man kann durchaus auch in C objektorientiert programmieren; C++ bietet jeglich speziell darauf zugeschnittene Befehle, die umgekehrte für strukturierte Programme so ziemlich nutzlos sind.

Sprich, nochmals mit C zu beginnen halte ich nicht für ideal, da das wahrscheinlich deine strukturierte Denkweise wieder auffrischen wird. Ich würde mit C++ beginnen und mir das objektorientierte Konzept gleich aneignen.
 
Kann als Buch das C++ Kompendium von Martk & Technik empfehlen. Dort ist wirklich alles perfekt erklärt. Nicht so wie die meisten Bücher die alles ansatzweise rüberbringen. Das erschwert das Lernen dabei ungemein.
 
gut, ich danke Euch!
Dann werde ich mit C++ anfangen. Ob man nun von links nach rechts oder von rechts nach links umdenkt macht ja keinen Unterschied, später kann ich immernoch C lernen wenn ich das jemals brauchen sollte..
Das Buch habe ich bestellt, mal sehen ob ich noch lernfähig bin :wink: ..
 
Also C wollt ich auch erst lernen hab nun aber vor ein paar tagen entschieden doch c++ zu lernen...da ich das buch eh schon hier hatte.

Ich hab mir Notizbücher besorgt wo ich alles wichtige Aufschreibe und vermerke. Die Befehle etc notiere ich extra in einem anderen Notizbuch ähnlich einem Vokabelheft mit kurzer erklärung was diese jeweils tun.

Jedenfalls sollte man so Anfangen denke ich und das eben schön lernen und die Übungen durchgehen. Der rest kommt mit der Zeit von alleine. Anfangs wird einem nicht viel Erleuchtung geboten jedoch je weiter man im Buch vorranschreitet desto besser wird es. Nicht den Mut verlieren und dran bleiben. Ruhige Orte dafür aufsuchen.

Das was in den Notizblöcken niedergeschrieben wurde lernen und verstehen. Es können auch 5 Jahre vergehen bis man wirklich mal sinnvolle Programme schreibt.

Apropo Lernfähig...bin auch schon 22 Jahre alt...und zuviel vertrauen in meiner lernfähigkeit hab ich auch nichtmehr...jedoch irgendwann muss man ja mal wieder anfangen *lach*
 
Pommes said:
gut, ich danke Euch!
Dann werde ich mit C++ anfangen. Ob man nun von links nach rechts oder von rechts nach links umdenkt macht ja keinen Unterschied, später kann ich immernoch C lernen wenn ich das jemals brauchen sollte..
Das Buch habe ich bestellt, mal sehen ob ich noch lernfähig bin :wink: ..

Jetzt hab ich bei "links nach rechts" erst gedacht, du meinst die Parameterreihenfolge bei Funktionen...wollte schon losflamen! :p :p :p
 
Back
Top