Welcome to the C and C++ Beginners WikiEdit
This wiki aims to be the prominent first stop for C and C++ beginners similar to what http://perl-begin.org/ is for Perl Beginners.
The C Beginners WikiaEdit
The C programming language is a popular low-level, yet mostly portable programming language which, while not being as popular as it used to be for general-purpose programming, it still has many legitimate uses and is especially popular for writing operating system kernel codes, systems' programming and servers, artificial intelligence, self-contained tools with few dependencies (including a lot of open-source software ), and finally programs where speed or memory consumption are critical.
This wiki aims to point the programmer who is interested in learning C (or one of its derivative languages such as C++) into high-quality and recommended resources. Note: we do not recommend learning C as your introductory language, and you should look into popular high-level and dynamic languages such as Perl, Python or Ruby instead before you learn C as a useful stepping stone. However, we believe that every programmer who is serious about becoming a better programmer should learn C at a point.
- Tutorials - recommended online tutorials.
- Books - recommended books, both offline and online.
- Portability and Abstraction Libraries - code less, do more and run on more places (including some "exotic" and "non-standard" systems such as both Microsoft Windows and POSIX systems).
- Profiling and Optimizing - make your code faster or find out why it's slow or memory hungry.
- Assembly - the next level in low-level programming and understanding of modern computers (while purposely being non-portable and requiring high maintenance).
- Kernel development
- Systems Programming - servers, processes, threads, signals, networking, sockets, etc. etc.
- Scripting Languages - usable ways to power up your C program so you won't work so hard.
- Secure Programming - be safe, or alternatively find out if you're not.
- The ##C on Freenode Wiki - a wiki maintained by the participants in Freenode's ##C IRC channel, under a non-determined licence.