www.wikidata.de-de.nina.az
C C minus minus ist eine sehr C ahnliche Programmiersprache bzw Zwischensprache zur Erzeugung durch Compiler Die Erfinder von C Simon Peyton Jones und Norman Ramsey beide Forscher auf dem Gebiet der funktionalen Programmierung erfanden C mehr zur Verwendung als Zwischensprache zum Maschinencode fur Compiler von Hochstsprachen denn als normal programmierte Sprache Anders als andere Zwischensprachen besteht C aus ASCII Text nicht Bytecode z B der Zwischencode von Java oder anderen Binarformaten C Paradigmen imperativErscheinungsjahr 1997Designer Simon Peyton JonesEntwickler Simon Peyton Jones Norman RamseyAktuelle Version 2 0 1 23 Februar 2005 Typisierung statisch schwachBeeinflusst von Cwww cs tufts edu nr c Inhaltsverzeichnis 1 Design und Geschichte 2 Typsystem 3 Sphinx C 4 ReferenzenDesign und Geschichte BearbeitenC wird als eine portable Assemblersprache genutzt die dafur bestimmt ist die Implementierung eines Compilers der sehr guten Maschinencode erzeugen soll zu vereinfachen indem der Compiler einfach C Code erzeugt und die Low Level Optimierung und Umsetzung einem C Compiler uberlasst Die Arbeit an C begann Ende der 1990er Da das Schreiben eines Codegenerators selbst schon schwierig ist und die Compiler Backends die damals den Forschern offen verfugbar waren komplex und schlecht dokumentiert waren schrieben viele Projekte Compiler die C Code erzeugten der originale Modula 3 Compiler funktionierte so ebenso fruhe Versionen des GHC C ist jedoch eine schlechte Sprachwahl als Zwischensprache fur funktionale Sprachen zum Beispiel besitzt C von Haus aus weder Garbage Collection noch eine effiziente Ausnahmebehandlung C ist eine einfachere straffer standardisierte Sprache als C die alle diese Features besitzt Die grosste Besonderheit an C ist ein Runtime Interface was das Schreiben beispielsweise von portablen Garbage Collectors Ausnahmebehandlungssystemen und anderen Laufzeit Erweiterungen ermoglicht die mit jedem C Compiler laufen Die Syntax von C lehnt sich stark an die von C an Jedoch sind in der Syntax einige C Eigenschaften entfernt oder geandert wie zum Beispiel variadische Funktionen Zeiger Syntax und Aspekte des Typsystems von C da diese bestimmte grundlegende Eigenschaften von C storen sowie die einfache Erzeugbarkeit durch Compiler und Code Generatoren erschweren Der Name C ist im Grunde ein Insiderscherz und dienen in C ahnlichen Sprachen zum In bzw Dekrementieren C ist eine auf C basierende Sprache mit im Vergleich zu C erweiterten Funktionen also ist C die Sprache C mit reduziertem Funktionsumfang C ist eine Zielsprache des Glasgow Haskell Compiler eine Anpassung der Sprache konnte die Haupt Zielsprache werden Einige C Entwickler darunter Simon P Jones Joao Dias und Norman Ramsey haben schon am Glasgow Haskell Compiler mitgearbeitet Typsystem BearbeitenWie in vielen Assemblersprachen wird jedwede hohere Typunterscheidung beispielsweise zwischen signed unsigned float Zeigern etc erst durch die Operatoren und anderen Sprachkonstrukte eingefuhrt Das Typsystem von C ist absichtlich so gestaltet dass es die Einschrankungen der Hardware eher wiedergibt als die Typsysteme hoherer Sprachen In C kann ein Wert der in einem Register oder einer Speicherzelle gespeichert ist nur einen Typ haben namlich den eines Bitvektors Ein Bitvektor ist ein polymorpher Typ und kann in verschiedenen Wortbreiten vorkommen z B bits8 bits32 oder bits64 Neben dem Bitvektor besitzt C auch den booleschen Typen bool der zwar bei Ausdrucken als Losung vorkommen und fur die Kontrolle des Programmflusses eingesetzt werden kann jedoch nicht in einem Register oder im Speicher gespeichert werden kann Sphinx C BearbeitenDer Name C wurde schon fur eine fruhere Programmiersprache genutzt die in den 1990ern von Peter Cellik fur x86 Computer entworfen wurde Sphinx C integriert x86 Assemblerelemente in C Referenzen Bearbeiten www cs tufts edu PDF Abgerufen von https de wikipedia org w index php title C amp oldid 210937611