best language to learn

Discussion in 'Automated Trading' started by grg03002, Jul 28, 2010.

Best programming language for algo trading?

  1. Java

    14 vote(s)
    25.9%
  2. C#

    28 vote(s)
    51.9%
  3. VB

    2 vote(s)
    3.7%
  4. Other (please post below)

    10 vote(s)
    18.5%
  1. my bad, looks like it was brownegg.
     
    #21     Jul 30, 2010
  2. nitro

    nitro

    #22     Aug 1, 2010
  3. bpcnabe

    bpcnabe

    In re: to which language is better, from an employment standpoint I can see why C# is better since it is in greater demand, but if you are writing something for your own use, and since in VS it compiles to the same MSIL code, what is the benefit of learning C# over VB.Net, especially if you have some foundation in VB.Net?
     
    #23     Aug 2, 2010
  4. MAESTRO

    MAESTRO

    SCALA is the way! Ingenious melding of Java, C, VB and even Prolog!

    Check it out! http://www.scala-lang.org/ It's free open source truly OOL!. Just a thing of beauty!
     
    #24     Aug 2, 2010
  5. Under your assumptions, none, unless one is masochistic (especially when the keyboard doesn't have the curly brackets :) or wants to "practice" the c# syntax (just to get ready to respond to a job adv, written by somebody who doesn't have a clue about .NET and modern dev environments).

    Anyway, the 2 are so similar that anyone fluent in one of the 2 can quickly switch to the other one, just taking a look at the small syntax differences.
    I believe that VB.net dev environment (currently) boosts productivity.

    http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx
    (this article does not seem updated, eg: "using" is present in VB.net, etc...)
    http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

    or in any case can always use a code converter ;-)
    http://www.developerfusion.com/tools/convert/csharp-to-vb/
    http://www.developerfusion.com/tools/convert/vb-to-csharp/
    http://www.dotnetspider.com/convert/vb-to-csharp.aspx
    ...
     
    #25     Aug 2, 2010
  6. 377OHMS

    377OHMS

    I didn't vote because my schema doesn't match any of the poll options.

    I think the best language to learn is MATLAB.

    I basically mocked everything up in m-code. Once everthing was working and validating ok I decided to leave the strategies in m-code but replace the infrastructure modules with C++ one by one.

    I compiled using Visual Studio linked to the MATLAB m-builder setp to create .mexW64 files (MEX files) which are generally 2x to 5x faster than m-code. These MEX files are hit by the main MATLAB thread but execute in C++. The reason I went this direction is that a MEX file can still call native MATLAB functions with mexcallmatlab so you have the flexibility of continuing to use certain native functions while trying to sort out the particular C++ to replace them. It allows for an incremental development.

    Another reason MATLAB suited me is that the interpreter understands m-code, JAVA and perlscript directly so you can have a witches brew of m-code, java, perl, MEX calls and also you can bypass many native m-code wrappers and call the MATLAB dlls directly. I like to do i/o in java. I like to read and append CSVs with perl. My large data is all hdf5 read/written with low-level MATLAB binary routines.

    MATLAB lets you get started very fast. Once you get going you can replace key elements with MEX as needed. Works for me (internet/retail account).
     
    #26     Aug 2, 2010
  7. But that's fault of particular curriculum rather than the Java programming language. I suspect he is somewhat overstating his case in the cause of anti-Java zealotry.

    When I did a graduate Dip Comp Sci, which is more years ago than I care to remember, I didn't end up with a "primary language" having covered Fortran, COBOL, Pascal, Simula, several assembly languages, computer architecture, several operating systems, data structures and algorithms (eg Knuth), concurrent programming, AI, graphics, hardware (eg build an 8 bit adder out of TTL) etc etc. I found this a great basis and allowed me to more readily tackle things I had never seen before when I was released into the real world.

    Times move on, but I would expect that any proper tertiary CS course should encompass a similar breadth of material, obviously with somewhat different content.

    I found the article's characterization of "pointers and recursion" as really difficult to be a bit hard to take. Give me a break - try serious mathematics or physics if you want to see what difficult is.
     
    #27     Aug 2, 2010