View My GitHub Profile


Why C++?

C++ is widely-used in finance. While it was once used for writing desktop applications, many user interfaces have been adapted to client-side intensive, browser-based applications. C++ does not play well in this space.

Today, C++ is often used for server-side applications with high performance requirements. And it is often listed as a desired skill in Wall street job openings. For this reason, it is good to have some knowlege of the language, and how to build an application.

Students in the U of M Quant Program develop their C++ skills working on Quant projects.

Comparing C++ to Python (and other languages)

  1. The syntax of C++ derives from C, as do Java and Javascript. So snippets of code in these languages can look remarkably similar. Python, MATLAB, and R, on the other hand, have their own syntax.
  2. Python and MATLAB come with an environment that allows you to type, for example, '2+2' on the command line, and it returns 4. C++ must be compiled and linked to become an application or library, which you then run.
  3. C++ (like C and Java) is statically typed. This means you must declare the type of all variables, such as int, double, bool, std::string, or <insert class name>. You don't declare types in Python, Javascript, MATLAB, or R. Rather, the type of a variable is inferred at runtime when the variable is assigned a value.
  4. C++ programs are typically a collection of C++ source files (which might have .cpp or .cc extensions), some header files (e.g. .h files), and possible others. Python files are .py, or in the case of Jupyter notebooks, .ipynb files.

C++ links


Building knowledge

Xcode tips

Visual Studio tips