Comprehensive Resource to C Programming
This resource provides background information on object-oriented programming and serves as guide to the best guides and tutorials available on the internet for C, C++, and C#. Included is a brief discussion of the topic followed by resources and descriptions for each sub-category.
Object-Oriented Programming
Object-oriented programming (OOP) refers to a paradigm of programming which utilizes objects, which are data structures that consist of data-fields and methods along with their interactions, to design applications and programs, that other programs can access only by calling the said objects procedures and functions that were permitted to be called by an outsider. Historically, OOP was developed in the 1960's as a means to increase manageability in a setting where hardware and software were getting exponentially more complex. Therefore, an object-oriented program is can be explained as a group of objects, this is in contrast to a conventional model, in which programs are viewed as a list of subroutines that need to be performed.
The C programming language has a surprising ability to maintain popularity as an essential learning tool for anyone seeking to learn how to program, despite the development of many new programming languages.
- Computer Programming Basics - A really good resource for those seeking information on the very basics of programming.
- OOP lesson - Great tutorial for those who need to learn the key concepts.
- OOP Tutorials - A very content rich directory of languages and tutorials on all the major OOP languages.
- OOP Tutorial -Another interesting tutorial addressing key concepts.
C Programming Language
The C programming language has a surprising ability to maintain popularity as an essential learning tool for anyone seeking to learn how to program, despite the development of many new programming languages. The original C was intended as a imperative systems implementation language, which allows the programmer to precisely define each step in the performance of various tasks. The C compiler also allows for low-level access to the memory. This provides for language constructs that map will to the machine code. This feature made C very useful for applications that were coded prior as assembly language. What adds to the flexibility of C is that it's design also encourages machine independent programming. A well written C program can be compiled for a large number of platforms and operating systems, without significant changes to source code.
- C Reference Manual - Great reference for C syntax.
- C Programming - Great site with lots of information- very comprehensive material for both C and C++, includes updates with RSS feed option, resources for those starting out and advanced.
- Intro. to C Class - Class notes introducing major concepts.
- C: Language, Algorithm, and Data-Structure - A very well organized introductory tutorial
- Programming using C - Tutorial that starts with the easy and quickly builds to more complex concepts.
- C: Advanced Techniques - PDF book of advanced techniques using C.
- History of C - A interesting article on the history of C.
C++ Programming Language
The C++ Programming language began as an enhancement to C, called C with Classes; it received its current title in 1983. Known as one of the most popular programming languages ever created, it is used widely within and beyond the software industry. C++ has an impressive amount of application domains, ranging from systems software to the creation of virtual environments. Although C++ began out of the original C, there are several cases in which code that is valid for C is invalid for C++. Also of note, is that in 1998, C++ was standardized by the C++ Standards Committee.
- C++ Syntax Reference - Reference library resource.
- C++ Syntax Reference (final) -This is the Final Draft International Standard for C++98.
- Intro. to C++ - Great introductory resource for those beginning C++
- C++ Tutorial - Tutorial for learning C++.
- Programming in C - Includes UNIX system calls and subroutines using C.
- Compiling C and C++ on UNIX - Resource for compiling C and C++ programs using UNIX systems.
- Building/ Using Static & Shared C Libraries - Resource.
- gdb Tutorial - Debugging C or C++ using gdb tutorial.
- Automating Program Compilation - Tutorial.
C# Programming
C# (pronounced See-Sharp) was originally named 'C-like-Object-Oriented-Language' (COOL) but was renamed to its current title due to trademarking issues. The general intuition of design goals was to create a an object-oriented programming language that is simple and can be used for general purposes. It was specifically intended to be utilized in the development of software components suitable for deployment in distributed environments. that The langauge was criticized as being nearly identical to Java- that is is not a game-changer, as far as programming languages go. Anders Hejlsberg, lead architect at Microsoft who was heavily involved in design of the language, retorted that it is much more closely related to C++ then Java.
- C# Reference Guide - Language Guide for C#.
- C# Guide - Beginner, intermediate and advanced techniques in C#.
- C# Learning Guide - Tutorial for C#.
- Visual intro to C# - Introduction for writing your first program, includes screen shots.
- C# Intermediate Tutorial - Tutorial for those with some experience using C#.
- Advanced C# - Advanced C# resource.
- Hitmill C# - A variety of topics covered, including multithreading, remoting, creating a simple winform, reflection, and file manipulation.
- LINQ Query Expressions - C# Guide.

