C languageThe 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.
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
- 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.
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