Auch `C` möglich?


talas

Newbie
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
 

nickik

Still Fresh
Joined
Sep 22, 2008
Messages
505
C und C ++ haben sowiso den gleichen Compilirer du kannst sogar ein misch masch machen aber mach das besser nicht
 

Jan-Nik

Active Member
Joined
Jan 5, 2009
Messages
534
Location
Germany
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).
 

Joker

Still Fresh
Joined
Mar 10, 2003
Messages
2,423
warum scheust du dich eigentlich vor C++, bzw. warum nicht gleich C++?
 

crosspoint

Member
Joined
Dec 18, 2008
Messages
1,152
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.
 

nickik

Still Fresh
Joined
Sep 22, 2008
Messages
505
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.
 

Kiste1985

Newbie
Joined
Mar 31, 2009
Messages
60
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)
 

wejp

Member
Joined
Nov 14, 2005
Messages
1,475
Website
wejp.k.vu
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.
 

Kiste1985

Newbie
Joined
Mar 31, 2009
Messages
60
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.
 
Joined
Jun 12, 2009
Messages
597
Age
31
Location
Aachen
LOCATION
Aachen
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.
 

wejp

Member
Joined
Nov 14, 2005
Messages
1,475
Website
wejp.k.vu
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.
 
Joined
Jun 12, 2009
Messages
597
Age
31
Location
Aachen
LOCATION
Aachen
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.
 

Pommes

Newbie
Joined
Jul 22, 2009
Messages
8
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
 
Joined
Jun 12, 2009
Messages
597
Age
31
Location
Aachen
LOCATION
Aachen
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.
 

Gurumeditation

Still Fresh
Joined
Jan 30, 2006
Messages
2,089
Age
33
Location
Leipzig , Germany
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.
 

Pommes

Newbie
Joined
Jul 22, 2009
Messages
8
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: ..
 

Gurumeditation

Still Fresh
Joined
Jan 30, 2006
Messages
2,089
Age
33
Location
Leipzig , Germany
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*
 
Joined
Jun 12, 2009
Messages
597
Age
31
Location
Aachen
LOCATION
Aachen
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
 
Top