permacomputing

Source repository for the main permacomputing wiki site
git clone http://git.permacomputing.net/repos/permacomputing.git # read-only access
Log | Files | Refs

commit 2a7223f708f0dcd07ea6902561e5ef2a2d9e726a
parent 97ae16144c2c7861cead4815e773f0031316521a
Author: viznut_web <viznut_web@web>
Date:   Thu,  2 Jun 2022 16:25:57 +0200


Diffstat:
AC.mdwn | 35+++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+), 0 deletions(-)

diff --git a/C.mdwn b/C.mdwn @@ -0,0 +1,35 @@ +**C** is a general-purpose programming language created in the 1970s for the system programming needs of the [[Unix]] operating system. + +The main benefit of C is that it is ubiquitous and quite mature. There are C compilers for nearly any imaginable processor architecture, and relatively old code often compiles quite well. + +Compiled C code is generally quite resource-efficient. The speeds of compiled languages are often compared to C. + +There are also languages whose compilers can produce C code to be compiled by a C compiler. These languages thus benefit from the optimization features and platform support of the C compilers: + + * [[Nim]] + * [[V]] + +Interpreted languages implemented in C: + + * [[Lua]] + * [[Perl]] + * [[Ruby]] + * [[Python]] + +As a language, C has many problems that subsequent languages have tried to fix with varying degrees of success. Examples of such languages: + + * [[C++]] + * [[Objective-C]] + * [[D]] + * [[Go]] + * [[Rust]] + * [[Nim]] + +Compilers: + + * GCC + * Clang + * [[Zig]] has a C/C++ compiler that produces much smaller binaries (even static ones) than the mainstream GCC and Clang toolchains. + * [Open Watcom](http://www.openwatcom.org/) is a C/C++/Fortran compiler usable for targeting legacy x86 operating systems such as [[DOS]]. + * [Tiny C Compiler](https://bellard.org/tcc/) is a small (100+ KB) standalone C compiler for "modern" x86 and ARM targets (i.e. [[Linux]] but not [[DOS]]). + * [vbcc](http://www.compilers.de/vbcc.html) is an optimizing C99 compiler particularly suitable for some legacy targets such as [[68000]] and [[6502]].