Best Coding Language to Learn
Any tech savy monkeys out there want to chip in and give their 2 cents on the best programming language to learn?
I'm currently in an IBD role as an analyst but I have a serious entrepreneurial bent and I would definitely be into working at a startup at some point (hoard some gold, pay some debt down, learn valuable skills then start my own business or join up with a small startup).
I'm a total neophyte with what coding languages are in vogue, so if anyone has any view into this I would love to hear your opinion.
To start Python and learn how to use Oracle sql database. If you know nothing at all I would start just learning html,css, java script then start on python.
I am taking this course, it just started yesterday. It looks like a broad spectrum of languages, but I am hoping it will help a lot.
https://courses.edx.org/courses/HarvardX/CS50x/2014_T1/info
Best Programming first language (Originally Posted: 10/04/2012)
What is the best first language to learn for programming to get into quant trading? I have some experience with javascript but that is it. Where is a good place to start?
The first language i kind of self taught was C++ and then some C#. Not sure specifically for trading but C++ gave me a strong foundation in algorithm building and just the logic and flow of programming. Its also fairly straightforward.
Good self teaching C++ books? Any experience with python or R?
tl;dr... I learned VBA, and started R. Learning a second language is easier and I feel VBA is a good starting point.
For quant roles, the most talked about are: C++, Java, Python, Matlab, R, Perl, & VBA.
I don't do quant work, but I learned VBA in about 2 months at work. I'm not going to say I'm awesome at it, but I'm at the point where I can write code off the top of my head - any issues I run into I could solve with a quick Google search. Most programs/tools I write are about 10-15 pages long. In my opinion, it wasn't too difficult to learn but takes practice!
If you want to learn VBA, I recommend VBA Power Programming, by John Walkenbach. Read the first few chapters to get a background on objects/subroutines/functions/logic/etc. Then find yourself a project to or problem to solve. Some ideas are a sudoku puzzle solver, blackjack/5-card draw poker game.
Side note: I was already very good at Excel - that may have cut down my learning curve.
No books or anything, just think of something simple you want to do and problem solve until its done. I would google something like "making a basic program in C++" or something to get the very basics. check amazon for books if you really want one. the reviews by people will tell you whether its good for starters or not.
First off there are dozens of quality threads on this but since you're new here I'll forgive you. For trading, your first language should be an object oriented language such as C++/Java. Learn it well enough that you can talk through basic data structure and algorithms and you will pass that portion of an interview. Once you feel that you have a firm grasp on it, branch out to a python/R/VBA if you're interested. You'll soon recognize that most languages are very similar and thus easier to pickup.
VBA is a great place to start programming. As far as I know, C++ and Python are the main languages used in algo trading, and Python is very intuitive if you're a beginner. I've found Codeacademy to be a great resource when self-learning languages, check it out
Java's great as a first language since there's many fewer ways to screw yourself over than in e.g. C or C++. It's also very similar in basic syntax to C/C++, so it's a good launching pad. Java also has an enormous built-in library that can do most things you'd be able to think of doing in a platform-independent way (e.g. your code will compile / run both on Linux / Windows without changes)
C and it's standard library are extremely bare-bones -- e.g. you could learn the entire language and associated libraries in a few weeks if you had some background and dedication. Most of the useful things such as networking and built-in algorithms (sorting, binary search, etc...) are not included and must be provided by external libraries, usually system-dependent.
C++ is sprawling; the standards document defining it is nearly 1000 pages long. It's probably not a good place to start, as it preserves and adds on to all C's ways to shoot yourself in the foot. However, it does have significant feature additions in its standard library compared to C, in the form of data structures and algorithms (e.g. built-in maps, lists, queues, sorting / searching algorithms...)
I don't have a recommended book for Java (I'd say the best way to learn is by taking apart some simple code and modifying it), but I recommend Kernighan + Ritchie for C and Bjarne Stroustrup's "The C++ Programming Language" if you choose to go that route.
I can go on if you have any specific questions or want to know about other languages.
Beginning Coding Languages (Originally Posted: 03/12/2015)
I'm a junior in college and someone suggested me to learn some coding languages. I won't have enough credits left to take an actual class for it so I'd have to learn on my own time. What are the most versatile/marketable languages that aren't too complicated to learn?
Python
If you need to get the most bang for your buck, learn VBA for Excel. Almost every company in the world uses it. It is easy, dirty, but it works. If you need a real language, I would suggest C/C++ or C#. The learning curve is steeper though.
Depends on what you want to do. If you are going into IB then just learn VBA so you can make your own macros and save yourself some time. If you want to do it for fun and to learn to code a bit then Python is going to be what you want.. very simple syntactically.
I second VBA for excel - will give you that extra 5% advantage over your peers. I did a week long course and it helped, but I've forgotten most of it as I just don't use it enough.
I would actually recommend not taking the extra class and spending that extra time networking, preparing applications, and preparing for interviews...not to mention enjoying college!
VBA then python
CS grad here. My suggestion is python. If you do well in any python 101 or 102 class from reputable CS dept, you have no problem learning other languages like VBA in a day (except low level ones like c or c++ but I doubt u ever need those)
Do not start with c or c++. There is reason why all top CS schools abandon low level languages in introductory class.
I haven't learned VBA for Excel, but agree that it's probably the best thing to learn ahead of IB. You don't need it, but you can do extra things with it.
I'm learning C++ in my spare time at the moment for its computation capability. I started with Javascript to pick up coding concepts before wading into C++. Khan Academy and Code Academy both have free online courses for Javascript. While they cover some common ground (Khan Academy a little more graphical for game coding), I recommend doing both to reinforce the concepts.
Thanks for the input guys. I've heard about VBA and it definitely seems like the way to go initially since I do use Excel quite a bit. Python sounds like a good second option to pick up as well.
programming language (Originally Posted: 01/31/2014)
For the computer enthusiasts out there. What is the best course of action when wanting to learn some programming. What language would you start with? Has anyone put the time into learning programming and seen it pay off in a FT role?
If you're interested on the quant side of things, definitely useful; VBA is even useful for other roles since you can use it in excel spreadsheets.
What are you interested in?
Like euroanz said... if you're an excel jockey and just want to learn a language on the side for "fun" I'd say to learn VBA so that you can create some macro's that will automate some of your work for you.
If you want to go in to the quant side of things, learning any higher level language, C++, JAVA, etc. will be usefull because once you learn one, it's easy to learn the second as it's just different context but the flow and algorithms still work pretty much the same. If you have one of the languages down well, you can easily study up on the one the firm is requiring you know for a couple of weeks and be pretty sufficient in it.
I have friends that did this and it worked for them. Applied for a job that required C++, except he never did C++ so he said that he had the requisite years of experience in C++ and then just studied the crap out of before the interview. Since he was already proficient in other languages this wasn't a big deal to him.
VBA for Excel - VBA is actually a lot of fun to learn. For quant or HFT stuff, you need Object Oriented C, C++, Python , Java. That is a good trifecta.
Programming/Coding (Originally Posted: 05/11/2015)
Next semester I'm going to be enrolled in a basic VBA course, but after listening to a lot of people who were in it, it doesn't focus on working with macros, so I'm thinking of dropping it and taking another class instead. In the meantime over the summer, I was thinking of learning VBA (refreshing what I did this past semester in a spreadsheets class) along with picking up SQL and some other language maybe. What are common ones for IB, or good ones that useful later on for quant work? I've heard a little about Python, R, Matlab, SAS, Java, and C/C++. Any input would be greatly appreciated.
Don't really need to know programming for IB. VBA can help get things done in excel quicker, but I find it easier to just use code written by other people previously which can easily be found through google.
If you want to learn programming for personal enrichment, which I would definitely be a supporter of, start with python. Its a pretty easy language to understand for beginners and has a lot of functionality. If you want to start from the beginning of programming, start with C.
VBA and SQL will be helpful. Echo the sentiment around Python - flexible language that can also be used for statistical analysis (for example)
I third learning python. It's one of the easiest languages to use, has tons of uses, and is very functional.
thanks for the input guys
Java? (Originally Posted: 03/03/2013)
Hi all,
Reading this forum makes you realize that some programming skills could be quite useful in the trading field. Unfortunately, my school offers a very limited range of programming courses for non-programming students. Although, they do offer a beginners class in Java.
So, would that kind of course be of any use? I guess R, MATLAB and Python etc are more desired, but I can't be picky at this time :)
Thx!
In my opinion, a beginners course on Java is useful. Learning some basics of a programming language is a practical and marketable skill. I studied economics and math in undergrad, and then went to grad school in economics. If I could do it all over again, I'd major in computer science (and minor in math and econ).
Any programming experience will be helpful
I'd look into adding a programming major so you have the choice to take whichever classes desired (really simple way to game the system as you're obviously not forced to finish the major.)
a great website is Codecademy.com. they have python, javascript, ruby, etc. I don't think they have R or MATLAB. but check it out.
MIT also has open courseware (http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/…) in their comp sci dept. I've only been learning python so far so that's all i've kept an eye out for, but i wouldn't be surprised if they had other languages and courses.
So basically even though your school doesn't give you a ton of options, there are definitely good resources out there.
http://thenewboston.org also has a pretty big library of free, 5 minute videos on most programming languages.
vba is very useful too
Quos assumenda eum voluptates tempora deserunt. Maiores occaecati aut est deserunt voluptates doloremque dolore.
Nihil in eveniet qui eaque explicabo iste. Necessitatibus officia et aut quae est eum repellendus. Sapiente eos rerum omnis illo amet est. Voluptas quis quis nihil voluptatibus fugit occaecati pariatur.
Ut temporibus at dolores facilis est minus sit. Corrupti itaque hic non quibusdam quo error. Quia natus voluptatum molestiae quo debitis veritatis.
Eos a sit in culpa in voluptas consectetur assumenda. Repellendus quis distinctio eos iusto ipsum nemo velit.
See All Comments - 100% Free
WSO depends on everyone being able to pitch in when they know something. Unlock with your email and get bonus: 6 financial modeling lessons free ($199 value)
or Unlock with your social account...
Porro similique earum ipsam numquam sed possimus ea. Et voluptatem atque eveniet aut nihil fugit omnis. Sed expedita provident nostrum porro ratione molestiae maiores.
Amet minima laudantium qui non omnis asperiores ipsam maiores. Culpa consequatur et dolorem officia in consectetur.