If you were to learn / teach someone a programming language?

Discussion in 'Automated Trading' started by TSGannGalt, Nov 21, 2009.

  1. PS Pseudo code has the great virtue that you can make it as detailed or as abstract you like.
     
    #41     Nov 29, 2009
  2. rdg

    rdg

    My vote is C# hands down. I used to prototype in Python but switched to C# a while ago because I can develop in it way faster. I can hack C and C++ with the best of them, but I wouldn't use either for any of my trading work unless I had a really good reason.

    Fuck VB. My 44 makes sure VB's kids don't grow.
     
    #42     Nov 29, 2009
  3. So... there are a few people pushing me towards Python...

    1. Google. LLVM? Compiled Python? Parallel friendly Python? Java replacement? Really... did I mention Google?

    http://techreport.com/discussions.x/16713

    2. C++/SWIG ext. BLAS, LAPACK, ATLAS... etc. etc. Keep the core, implement them easily.

    3. Open Source.... cross OS... etc. etc.

    4. Plenty of libs.
     
    #43     Nov 30, 2009
  4. twtrader

    twtrader

    I would learn how to program with a project. Real use of a language in context speeds learning.

    As for teaching, I would say C# with out the OO stuff, then learn OO. Then Python and beyond.
     
    #44     Nov 30, 2009
  5. Java and Scala. JMHO of course.
     
    #45     Nov 30, 2009
  6. First thing to understand is that learning ONE langauige wont make you a programmer. YOu will be severely limtied in your understanding - similar to knowing how to cook spaghetti does NOT make you a cook.

    That being said, I would go with:
    * C#. Get OO (Object Orientation) from the start - no sense to bee one more of those people too stupid to work with objects.
    * C is always nice. C++ is really hard, but C gives you a different perspective than C#. As much as I love garbage collection, for example, programmers who have no clue about memory allocation are a pain in the ass ;)
    * Something low level would be nice. Some sort of older assembler (current x86 is really too complicated). Gives one some nice low level ideas about how a processor operates. THat said, it is definitely not something 99% of the people should work with productively these days.

    In general, C# is a gerat langauge to start - sadly, just like Java, it abstracts away the memory side totally - and sometimes knowing a little more about that particular part can be great ;)


    For trading, the main question is what toolkit you use. Seriously. One CAN dump them all (i do that - for some time now, and am still not finished), but it is a LOT of work, and you are more likely to get into areas you need to know more low level stuff than for example in ninja trader where you have a framework all around you - albeit a terrible one in parts.
     
    #46     Nov 30, 2009
  7. And... now there are friends of mine telling me about OCaml...

    Reason:

    1. Fast.

    2. Straight-forward implementation for science and math functions.

    3. No serious systematic trader uses WinOS.

    4. Prototype -> Live Code.

    5. People are against functional paradigm because they're stupid to learn it. OCaml programmers understand OO as much as FP.... OCaml = Smart. non-OCaml = Stupid people.

    6. Why the hell are you coding in C#/Java? That's for an Sell-side IT job, not for a trader/Quant job...

    7. JSC, MS and plenty of Quant HFs use this. C#? Java? Oh... you're so retail.
     
    #47     Nov 30, 2009
  8. I think it's a question of ensuring you use the right tool for the job. There are a lot of benefits to the OO approach, and a lot of benefits to the FP approach too (hence my personal like of Scala which combines the two). That said though branding people as "stupid" because they do not choose to develop in FP is, ironically, stupid.
     
    #48     Nov 30, 2009
  9. The OCaml geek says:

    "F# is the worst piece of shit MS has ever made. Scala is the Java equivalent of it"

    I say...

    "I'm stupid so I'm stuck with using C#... (WinOS)"
     
    #49     Nov 30, 2009
  10. I doubt you're stupid. The"OCaml geek" on the other hand I am not so sure about.
     
    #50     Nov 30, 2009