C language
The most common modern systems programming language to date, by Brian Kernighan and Dennis M. Ritchie (K&R); also the topic for the C language family. It's low-level, and the typing is rather weak. It was designed in the late '70s as a portable assembler for the PDP series (nominally compatible machines but with various word lengths), and it is still the state of the art in that area, although, as a systems programming language, it is more adapted to the PDP-11 than to modern architectures.In the late '80s, the small and elegant `K&R' C became the prey of an ANSI standards commitee; it is now ANSI Standard C.
Many people build typing systems on top of C. C++ was at first an extensions of C via a cfront preprocessors/code generator. Objective-C is derived from the GCC C compiler front end via the GCC abstract syntax tree interface.
It is very typical in C to create function pointers, and tables of function pointers to build OO concepts. The GNOME Glib for example builds an object layer on top of C with many interfaces to other languages. Objective-C and C++ solidify the layout of these structures without changing the underlying language drastically.
C# and Java are more distant relatives of C that give you many more user definable types and other advanced language features are and somewhat backwards compatible.
Via the GCC abstract syntax tree it is possible to do full extension to C like languages and inject meta-level code.
In the '80s, C (in our opinion wrongly) became the language of choice for general purpose programming. C offers absolutely no particular interest when cut from all its standard compilers and libraries, since you can no longer port existing software. As TUNES won't support any standard C library (at least as support for native code), and requires a different compiler anyway, because its semantics is so much different, C offers no interest on top of TUNES. Thus, C just has nothing to do with TUNES, except perhaps as a layer between TUNES and a POSIX compliant system, if TUNES is to be implemented as an application under such system (see the OTOP subproject).
The C language family:
- C# - Pronounced "C-Sharp", this is Microsoft's statically-typed C language family member intended to be an "evolution of C and C++" which Microsoft says is "simple, modern, type safe, and object-oriented
- C++ - C++ is an attempt to turn the C language into a high level, object-oriented programming language
- C-- - A portable assembly programming language, hence also a concrete VM; it is significant in being a variant of the C language that is much easier to generate code for, but it is not a sub or superset of C, however
- CLIPS - An acronym for C Language Integrated Production System; a programming language and an environment to development expert systems with three different programming paradigms: rule-based (declarative), object-oriented and procedural (imperative)
- Cyclone - Cyclone is a programming language, a Safe Dialect of the C language
- D - A programming language of the C language family, successor to C Language and C++
- Java - Java is a strongly- and statically-typed procedural, garbage-collected object-oriented programming language with syntax like that of the C language released by Sun Microsystems as a platform for hardware-independent applications, but only in a very limited sense
- Objective-C - An object-oriented programming language variant of the C language
- Small C - Small C is a C language subset, a minimal programming language
- Vault - A programming language of the C language family for security research
- C9X the ISO standard for C.
- C Standard Questions.
- Programming in C an online tutorial by Dave Marshall.
- Programming Style a collection of links about C and C++.
- Splint if you must code in such an unsafe language, we strongly recommend you ensure the type safety of your programs.
- the WIKIPedia entry for C.
- GCC: the famous GNU Compiler Collection, formerly the GNU C Compiler.
- LCC: a simpler alternative to GCC.
- LCC-Win32, LCC for Microsoft Windows.
- Jutta Degener's Page on Programming in C.
- The Intel C++ Compiler: known to produce faster binaries than GCC.
Pages in this topic: C# C++ C-- CLIPS Cyclone D Java Objective-C Small C Vault
Also linked from: `c Agnix AmigaOS Apostle AspectC/C++ BASIC Brian Kernighan C Compiler dlopen VM ccg Clump Confluence Continuation-Passing Style Dennis M. Ritchie EUMEL FISh Flua Foreign Function Interface Forklift Forth is NOT intrinsically slow Gont Grain hOp Icon Janus Libero Meta-System Transition Microkernel Microkernel Debate NIAL OCAML Parsing POSIX Process Programming Language Ravi Ruby SAC Security Sheep SWIG Topsy TUNES C-Translator Type System Unity Project Unix VxWorks Zero Memory Widget Zpl