Best Programming Language

Discussion in 'Automated Trading' started by Masterchanger, Jun 12, 2009.

  1. I'd recommend Java if you ever want to switch to e.g. Linux.

    On Windows, Visual Basic is probably the easiest.

    I know of large deployments of trading software written in both Java and VB. I happen to favor Java since it's a bit more structured.
     
    #41     Jun 16, 2009
  2. I've found large java projects (like weka) to be a nightmare to write for, debug, and even modify, unless you are working with the projects, classes, and language on a daily basis, IMO.

    So much easier to simply prototype in something like python, unless you are developing some type of commercial product (and speed of execution is an issue). I've been shifting to python to do fast prototyping of various learners and backtesting, because it is a lot less of a hassle IMO. VB/VBA is very simple and useful, but it lacks community development of (particularly matrix based) objects that you can reuse.
    There are a lot of good python objects already built and easy to integrate, yet, it is not as convoluted to build with them as in java. Good medium, there.
     
    #42     Jun 16, 2009
  3. I would support C# too in this case. If you want productivity, stability and ease of use it beats c++ in these aspects hands down. If it is about chasing every last millisecond it would be different(and not even that in all cases). But in a typical office/trading environment there is little justification for c++ anymore - especially, as i assume, if the OP is on his own(where the above criteria probably is the most important) and not in an institution with a legacy code base.
     
    #43     Jun 16, 2009
  4. januson

    januson

    This is so funny.... Still the wast majority didn't even bother reading the initial post/ question :D

    Wonder if this behavior has similar tendencies into non-programming question, but more trading-like instead...

    Come'on guys...

    PS: Thank you satchel
     
    #44     Jun 17, 2009
  5. Temjin

    Temjin

    I'm in a similar situation with the OP except I do have slightly different needs.

    Regardless, I have had exposure to some programming but unfortunately, it was ASP.net VB for a custom online shopping cart. (I was wondering why I did not choose the C# option when I brought the source code, but that's another story) Unfortunately, I never really finished the website although most of the functions were perfectly fine. I abandon it for personal reasons.

    I had struggled with ASP.NET VB but like some of you had recommended, I guess getting back to C# shouldn't be too difficult?
     
    #45     Jun 18, 2009
  6. liujs

    liujs

    Like you I have no formal background as well. Actually, I recommend VBA. I dont think I see VBA being recommended any where. There are problems with VBA. Lack of security and functionality. There is absolutely no way to automate your strategy with VBA. If that is your need go with C#. C++ is still harder to pick up I believe.

    HOWEVER, if you just want to quickly get a strategy or indicator tested and verify if it is profitable. just use VBA in excel. its efficient. it is much quicker and easier to debug. Try debugging C# where there are lots of { && and || when you are new to the language.

    You can visit the below article that I wrote. (non-commercial site) There are more details in there. On what VBA can or cannot do.

    http://finance4traders.blogspot.com/2009/06/why-vba-why-excel-matter-of-trade-offs.html
     
    #46     Jun 21, 2009
  7. None. "Good programming habits" are independent of programming language. From what you wrote, it sounds like your needs would be best served by sticking with EL and getting both a good language reference manual and a quality mentor.
     
    #47     Jun 21, 2009
  8. liujs

    liujs

    Apologies. Missed out the part on DLL creation etc that u mentioned earlier. You should be using C# or C++ i guess.

    Some habits that I maintain

    1) Inserting comments. Makes it easier to debug. If you wrote 200 to 500 lines of code yesterday, there is a high chance you would have forgotten everything by the next morning.

    2) Create a mindmap, split the whole task into parts and write a seperate codes for each part. Makes it much easier to trace where the error comes from later on

    3) Use built in methods and algos as far as possible. I.e. avoid reinventing the wheel.
     
    #48     Jun 21, 2009
  9. Thanks for the feedback.

    I'm continuing my efforts with EL and I'm considering taking a basic programming course to augment my programming.

    Good Trading to All!
     
    #49     Jun 21, 2009