• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Taking A Self-Paced Programming Course at University Next Term... C or C ++?

Joined
6/15/13
Messages
16
Points
13
Hi all,

I have no idea if I will end up as a quant or a professor or literally anything. I like to think I have every door there is open for future still - finance, defense, academia, national labs, something else I haven't thought of yet. But next term I am wanting to take a self-paced programming course at my university. I have been using Matlab for like the past 7 years and I definitely consider myself proficient in that to say the least. Recently I have been trying to branch away from Matlab and use Python for my research work to learn a new language.

Next term after summer, the fall term, I want to take a real course here at school for a higher level language... be it C or C++.

I see that C++ seems to be more talked about here and more applicable to the quantitative finance world? So why would I want to take a course in C isntead? Well I used C for my undergrad research. And while I would not consider myself proficient in C and I haven't touched it in years, I would imagine picking up C again will be more intuitive than starting from scratch with C++.

Curious what you guys think... should I stick with C or try C++ for a self paced programming course?

Thanks for the thoughts.
 
The major difference between C and C++ is that C is a procedural programming language and does not support classes and objects, while C++ is a combination of both procedural and object oriented programming language; therefore C++ can be called a hybrid language.

So in otherwords C++ does stuff that C doesn't.
 
C++ is an object-oriented. It supports templates.

And C++11 is a new ball game.

C is still popular in embedded, highly technical applications. In my QN C++ course the first 2 modules are C. Then we move to C++.

Quants tend to C++.

A lot of stuff in C is old/deprecated/not used in C++ mainstream. But C is still an amazing language, nonetheless.

TIOBE Index | TIOBE - The Software Quality Company
 
Last edited:
Thank you for the detailed explanation. That supports what I have seen about C++ being more mainstream. I even went so far as too look at job listings and a lot of them say C++ and fewer if any said C. That being said, I think perhaps starting with C and moving to C++ later might be the best path forward given the fact that I've at least seen C before. I also have 'The C Programming Language" by Kernighan and Richie sitting on my desk.

I can do this self paced course for C one term and C++ the next if I wanted to do so. Obviously I wouldn't be an expert in the languages but at least familiar. Sorry I'm going to pick your ear for a sec. Do the jobs in quantitative finance all want people with extreme knowledge of the programming language? Or is basic familiarity fine for starting?
 
DD will say that C++11 is a completely different beast to C, and he will be right. But for your purposes, think of C++ as C with classes. That's how it started. So C, and then learn how to use classes. Then the things in C++11.

The "extreme knowledge" part always troubles me. No context. Extreme knowledge to do what? Develop the C++ expertise with regard to areas like numerical methods and/or finance. This motivates the learning of C++ and shows you can do something with it.
 
Fair point.

I think what I meant is like, do they expect someone who is straight out of school to have used C++ programming for years and be able to sit down and write a program, syntax all correct, without any sort of internet aide and all be memorized? Like even with matlab which I have been using for 7 years, I still google syntax here and there and how to do something that I don't know how to do.

I think it's settled. I am going to start by re-learning C. That would be more comfortable anyways I think. I can always take the course again for C++ if I so desire.
 
Back
Top