Need push in right C++ direction

Discussion in 'Automated Trading' started by ZeroSumGame, Aug 21, 2008.

  1. What are the differences between C# and C++

    can a person who can program one also learn the other one with ease?

    i thought the API in IB was C++ thats another reason i had C++ in my crosshairs.

    Most funds, and trading floors that use their own proprietary software demand knowledge of C++ none C#, can someone give me some info as to why?
     
    #11     Aug 21, 2008
  2. rosy2

    rosy2

    they use C++ as a filter on candidates. the C++ guy probably knows more about wahts really going on than the c# / java guy.
     
    #12     Aug 21, 2008
  3. about what's really going on where? in the markets? lol.
     
    #13     Aug 21, 2008
  4. gehko

    gehko

    Much of the basic programming syntax is the same between c++ and c# , but since it is a "progression" in the language there are caveats. The API for IB is an ActiveX control so it will work will visual studio in general. Since you are just starting out you will not learn c++ good/fast enough to get a job at a hedge fund to worry about what they are doing, and by the time you do, with c# being embraced as quickly as it is, everything will be written in c# and you will be behind the times. Stick with c# and you wont regret it.

    ~g


     
    #14     Aug 21, 2008
  5. bidask

    bidask

    the difference between c# and c++ is like the difference between excel and lotus123. excel kicks lotus123's ass.

    press the windows button on your keyboard. type "cmd". press return. see that black box that pops up? if you use c++ you will be working in that black hole. spend all day getting it to say "Hello, my name is bidask! Press return to continue." if you use c# you will be in the happy sunny windows world. :)

    one you learn any programming language, you will be able to learn another much easier.

    ib api provides documentation for visual basic, java and c++. ib does not provide documentation for c#, although i think it should. regardless, you can definitely connect to IB with c# and use its api.

    they all ask for c++ because way back in the day c++ was the only modern language. once something is built using one language it's much easier to just continue maintaining it in the same language instead of doing a complete rewrite. but, the main reason is probably what i call the "c++ propaganda" - you can do things in c++ that you can't do in other languages and c++ is fast while other languages are slow. this is an endless debate in the programming world. only in very special circumstances are there "performance advantages" in any of the languages. i'm willing to bet that if there's a box score, c#, java and visual basic will have more points than c++. yes, that's right. visual basic kicks ass.

    if your only goal is to build something that will connect with ibapi, the easiest way is to learn visual basic. you can build anything in visual basic that you can build in c++, and you will be able to do it in double, triple time. if you're looking for a job, however, then it's probably more practical that you go with another language. btw, it's doesn't make any sense that excel vba is acceptable in financial firms but visual basic isn't, but that's another story.

     
    #15     Aug 21, 2008
  6. bidask

    bidask

    ha! another c++ pumper! :)

    although this guy is cool because he answered some of my pms before.

     
    #16     Aug 21, 2008
  7. j_geek

    j_geek

     
    #17     Aug 21, 2008
  8. panzerman

    panzerman

    Make sure you stick primarily with one language and make that your specialty and career. Don't try to be a C++ developer and a Java developer and a PHP website developer. Try to pick one language/technology and become an expert.

    Yes, along the way you will have to pick up some SQL to be able to connect to databases, and will have to learn various windowing toolkits in order to make GUIs, and some networking knowledge. A bit of PHP/ASP/HTML wouldn't hurt your career, but don't get sidetracked by those technologies. Employers want people with very narrowly defined skill sets, and lots of experience with those skills.
     
    #18     Aug 21, 2008
  9. Baywolf

    Baywolf

    C still has it purposes in niche industries like video games and embedded systems, but you really don't need to go that low level for business applications. C# does a fine job. If you are worried about performance, IP latency is more of an issue you should tackle first.

    C# learns from the mistakes/problems of C and Java, and borrows the things that make those languages great. Having grew up with C, Java, pascal, and C#, I too recommend that you take the C# route. Microsoft has always been criticized for their software, but C#/.NET and VisualStudio are one of their greatest assets.
     
    #19     Aug 22, 2008
  10. mr19

    mr19

    Seems like we have a bunch of C++ haters :). I truly feel if you know C++, you can do C#, VB, Java, Perl, Python, etc, but not necessarily the other way around. I also feel C++ is the hardest of the above mentioned languages to master (obviously not a good thing).

    A lot of development jobs in the financial industry are on UNIX systems, not Windows, and primarily use C++. Those advertised C++ jobs might be on platforms where C# isn't available.
     
    #20     Aug 22, 2008