C, C++

Description
C and C++ are popular high-level programming languages. C++ is a superset of C with object-oriented programming features that include array classes that can simplify matrix operations syntax. For a history of the C language, see "The Development of the C Language," by Dennis M. Ritchie, one of the original developers of this language. The most current revisions of C and C++ (as of 2014) are C11 and C++11, respectively, although compiler support varies.

Availability
Both C and C++ are available on all popular platforms, and there is a number of compilers, such as:

Microsoft Visual Studio
: The popular Microsoft compiler suite and integrated development environment includes Microsoft's own C and C++ compilers and can be used with many other compilers as well. The full version of the Microsoft Visual Studio is free for all students through the Microsoft DreamSpark program. In addition, a reduced-functionality version, MS Visual Studio Express, is available as a free download for everyone from Microsoft.

Apple XCode
: C, C++, and Objective C (another C-based object-oriented compiled language, different from C++, standard for OS X and iOS development), as well as IDE, are available as a free download from Apple as part of the Xcode suite.

GCC
: C and C++ are included in the GNU Compiler Collection (GCC), which is freely available for download on all popular platforms (including Windows, Mac, and Linux) and is installed on all Northwestern Linux servers, including SSCC, Quest, and Skew. The launch commands are "gcc" and "g++".

Intel C and C++
: Intel C and C++ for Windows, Linux, and Mac are available from Intel, both as standalone software and as a part of the Intel Parallel Studio, which also includes the Intel Fortran compiler, as well as some parallelization tools and libraries. It is highly optimized for code performance, particularly on Intel processors. It is installed on SSCC, Quest, and KDC. Intel compilers integrate with Microsoft Visual Studio IDE on Windows and with XCode on Mac OS.

PGI C and C++
: These compilers are available for Windows, Mac and Linux from The Portland Group, together with PGI C, C++ and other tools. PGI compilers also include functionality to easily adapt code for running on certain GPUs (video cards), for potentially substantial speed-ups (see example). The Linux version of the PGI suite is installed on SSCC. In addition, the Mac version of PGI C (as well as PGI Fortran; not including C++) is free to download for personal use through the Free PGI program.

Sun C and C++: It is available for SunOS systems, such as WRDS. The commands are cc and cpp.

Learning C and C++ Using C and C++ with Other Languages Libraries
  • IMSL is available on the Social Science Computing Cluster (SSCC)
  • Free Linear Algebra Software (Fortran, C, C++)
  • Armadillo: a linear algebra library, with syntax somewhat similar to Matlab
  • Eigen: another popular linear algebra library
Other References