Good points. Obviously if you start on a lower-level language like C, you have a better understanding/appreciation of higher-level languages (wrt effort saved to produce similar results). By UNIX, many institutional platforms are run on SUN solaris, and recent trends include migrating to enterprise linux. In that regard, (SUN) java might also be the way to go, if the institutional path is. I'm assuming most of the algo traders on this forum are trading individually, and thus don't have access to the institutional platforms that run on *NIX. Hint: see the sponsors. Our Google overlords say: "automated trading" java = 44,200 "automated trading" c# = 25,900 "automated trading" c++ = 28,400
I don't get it. Are you trying to get a job as a software engineer with no programming experience at all? No one is going to hire you to design a bridge if you have no experience in mechanical engineering, it doesn't even make any sense. I use and love C# because the ninja/open quant guys have done most the grunt work for me. If I was going to hire someone to design me software I would want C++ simply because there is a huge pool of talent to hire from of very experienced software engineers with 15+ years of experience and design cycles.
No one would hire you to design a bridge if you have experience in mechanical engineering. As an engineer in school, i'd like to point out that'd be a civil engineer. But as to the subject on hand, I'd recommend going with c#, because it's easier to learn, and soon enough it'll take the place of c++ with increasing computing power and such. the overhead will eventually be so relatively small it wont matter.
I cannot realistically see C# taking over from C++, and this is from a person who codes C# day in and day out. As long as Microsoft ties C# to windows, it will not become the standard in finance. Now, if Microsoft was to GPL C#, that would be a whole different story. And no, mono doesn't count.
http://www.amazon.com/Accelerated-Practical-Programming-Example-Depth/dp/020170353X/ref=pd_sim_b_15 http://www.amazon.com/Design-Patter...ley-Professional/dp/0201633612/ref=pd_sim_b_6 http://www.amazon.com/Coding-Standards-Guidelines-Practices-Depth/dp/0321113586/ref=pd_sim_b_45 http://www.amazon.com/Effective-STL...ional-Computing/dp/0201749629/ref=pd_sim_b_12 http://www.boost.org/
Language wars are futile. Most people that just jump in and start coding produce horrible code in any language, because they lack foundational understanding. What I'd recommend doing is getting a basic computer science education and then you'll be able to adapt to whatever you end up wanting to use. The free MIT courses are a great place to start.