Need push in right C++ direction

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

  1. Jachyra

    Jachyra

    I've been writing C and C++ code since the late 80's and in my opinion if you're looking to write actual full blown programs the larger issue is not how long it will take you to learn C++, but how long its going to take you to learn either the Win32 API or MFC... and possibly STL. On the outset these things don't seem that difficult, but invariably you'll want to do something like an owner drawn window or figure that some STL container is perfect for your program and then you're going to discover a whole new world of pain.

    In my opinion, the difference between using C++ and C# for a novice programmer is quite often the difference between eventually getting an end-product thats somewhat functional vs. having a project that is perpetually 70% complete. Anyone thats worked on a relatively decent sized project will tell you that the skill is not in doing the first 70%... the skill is getting the last 30% wrapped up. And over the years I've known a lot of pretty good C++ programmers who have shelves full of projects that are "almost done."

    The big question I would urge you to ask yourself is "why would I want to use C++?" If the answer is because you think it might help you get a programming job, then you need to go get a degree in Computer Sciences because thats a requirement for almost all good jobs looking to hire a C/C++ programmer. If the answer is to develop trading software for your own personal use, then that means you really want to spend as little time programming as possible and as much time trading as possible.... so I'd use whatever language could help me get the job done the fastest (usually not C++). If the answer is that you want cross-platform compatibility... then I'd use C++ with the Qt library and avoid MFC and STL all together.

    As a side note, another very sweet little programming language that is quite often overlooked, but in my opinion is great for beginning programmers, is PowerBASIC. In my experience their compiled code generates native binaries that are just as fast as C (sometimes faster) but without a lot of the complexity that comes with C or C++.
     
    #31     Aug 23, 2008
  2. #32     Aug 23, 2008
  3. auspiv

    auspiv

    good point. the fact that c# doesn't run on unix will always be a huge impediment to many.
     
    #33     Aug 23, 2008
  4. finally somebody explains c#/c++ difference the way i could understand. :D
     
    #34     Aug 23, 2008
  5. I'm in the excact same boat as the original poster--back in the 80's I grew up with BASIC but haven't done anything with any programming since then. I want to learn a language and I was recommended Python-- how does this differ from C++/C#?
     
    #35     Aug 23, 2008
  6. rosy2

    rosy2

    for data analysis/research, non-speed critical work (where milliseconds dont matter), non-threading: then python is great. I use it as a better matlab and for general systems which can be very complex.
     
    #36     Aug 23, 2008
  7. Craig66

    Craig66

    It's about the right tool for the right job, and there are trade offs between any pair of tools you care to name. Blythly saying things like 'c# beats c++' is overly simplistic and misleading.
     
    #37     Aug 23, 2008
  8. I'm really suprised there aren't more people pimping Java here. C# is MSFT's C++ like ripoff of Java. It's ok but do you really want to bind yourself to MSFT? Aside from making Win2k/XP (they're first and with Vista I guess only OS that isn't a disgrace) have they done anything of note in the last 20 years?

    Java's much more widely used and runs on Windows/Linux etc without much effort at all.
     
    #38     Aug 24, 2008
  9. +5, Would read post again.

    I work in equity derivatives space and am forced to use C and C++ and generally connect directly to the exchanges. I'm a low-latency nazi, but I tend to agree with the posters who suggested languages like C# and Java.

    Why? Because if you're a retail trader, you're already getting the shaft on the 50+ms latency on the information being pushed out from the exchange. Whatever speed you gain from using C++ over Visual Basic are insignificant unless you're colo'd or 1-hop out of some SIAC data center. Might as well be relaxed about your objectives and use the language that accelerates your development time as opposed to accelerating your execution time.
     
    #39     Aug 24, 2008
  10. gehko

    gehko

    I think we found the brain behind the "Get a Mac" campaign. Seriously though, are those real questions or are you trying to be sarcastic? Your weaving of fact and fiction in almost every sentence escapes me.

     
    #40     Aug 24, 2008