Dedicated Line to IB Data Centers

Discussion in 'Automated Trading' started by jhukov, Oct 7, 2014.

  1. I only mentioned VB in regards to raw performance vs Python. I 100% concur with you that VB by now has become irrelevant. Anyone targeting .Net would most likely use C# or F#.

    Python definitely is making giant steps forward. I just provided feedback of what I hear from most friends who work on the development side at banks or hedge funds in that at not one single bank Python is used to implement OMS or other high performance execution parts.

     
    #61     Oct 19, 2014
  2. Butterfly

    Butterfly

    it seems that you have a narrow concept of what is an OMS, or maybe you are confusing it with what constitutes an EMS
     
    #62     Oct 19, 2014
  3. vicirek

    vicirek

    Absolutely. Although VB and Python are unrelated one interesting thing that might happen is to turn Python into compiled language (like VB6 but before it was interpreted language) or Jitted language like .NET. After all Microsoft is seeing its raising popularity and VS IDE can be extended with Python. The next logical step would be to take it step further either by MS or somebody else. Myself I do not understand why so many people like Python syntax (significant white spaces?) but I see value in Python libraries and associated literature.
     
    #63     Oct 19, 2014
  4. Butterfly

    Butterfly

    python strength is its simplicity and elegance, and it's fresh

    Java, C#, VB used to be "simple" languages, but "manufacturers" of those languages decided it would make them better by making them insensibly complex by addressing every needs, no matter obscure, of their clients, making the whole thing very inefficient and slow. Conclusion: it's a soup of code, where Frameworks are needed to be able to address some of those "features", but even now Framework are suffering from the same inefficiencies.

    basically those languages are collapsing on their own "inefficiencies" to carry "elegant" design.

    Now python is not shielded from the same mistakes that have been made with VB, C# and Java. Some amateurish developers, lost without their own framework, are trying to "create" a new level of complexity in Python with their own design patterns so they can push their "personal" vision of Python code implementation.

    Keep it Simple stupid, and that's why Python is the #1 language in US University (with MIT leading the charge)

    simplicity is always better than manufactured complexity, and that goes with everything.
     
    #64     Oct 20, 2014
  5. They certainly provide value in the areas they are intended for. But Python is certainly not intended for high performance computing nor for mission critical and relatively low latency kind of work. In financial space I see Python most applicable (similar to R and Matlab) at quant desks where Python is used as research tool.

     
    #65     Oct 20, 2014
  6. Butterfly

    Butterfly

    Comparing Python to R or event Matlab just demonstrate one more time your level of ignorance in anything that has to do with programming, above all by someone who has acknowledge that he has never written a single line of code in either VB, C# or even C++
     
    #66     Oct 20, 2014
  7. Butterfly

    Butterfly

    to further clarify things, in today's hardware, compiled vs interpreted is no longer an issue, above all when code like Java and C# are never fully compiled at runtime, but pseudo-compiled, like it is even for Javascript in a browser. JS used to be interpreted in your browser, now it's compiled by your browser at run time.

    so in terms of speed, the "pattern design" of the code will be the real decision marker, not the compiler. Knowing that 95% of the code out there is poorly designed, more when it's outsourced to India or some other third world countries, it's no surprise that the "poor designers" are asking for "faster CPUs" and fully "compiled" languages to make up for their poor designs. I see it all the time, and so are my colleagues.

    Good programming design is more important than ever, and yet it's the most neglected aspect in today's world of programming. Python is the only new language that put back properly "structured" design (hence the term Pythonesque) at the center of its philosophy, and that's why everyone with a clue is turning to Python.

    Microsoftie amateurs, on the other hand, are keeping to what they know, that is VB, C# and crappy Visual Studio. And yes, Big Banks are full of them too, and we all know why.
     
    #67     Oct 20, 2014
  8. hft_boy

    hft_boy

    Hmm. This thread is pretty hilarious.

    But with regards to Python, just wanted to chip in that it's slow because of the runtime. Basically the language semantics require all sorts of RTTI and other object cruft. You can even 'compile' python to machine specific code (thus skipping the interpretation step) with Cython or other tools. But it will still be balls slow because of all the crazy dynamic typing and whatnot. Not that Python is not useful. It has many great libraries and is good IMO as a 'glue' language. But I wouldn't write anything in it which has real-time or throughput performance requirements..

    There are also JITted versions of Python, e.g. PyPy, and the VM versions Jython and IronPython. I haven't tried them out but according to my understanding they are not that useful since it is hard or impossible to get integration with C libraries right which is one of the main benefits of writing in Python in the first place.
     
    #68     Oct 20, 2014
  9. rohan2008

    rohan2008

    Debugging python applications is pretty hard... No software company (to my knowledge) that develops applications spanning 10s of thousands of lines of code use python... although they do base their entire QA automation on Python. Python is great for small quick and dirty type of applications, but if the size of the code starts getting bigger (say 2000 lines + or so), you rather go with a serious programming language like C or C++. Besides, the newer version of C++ (C++11) has most of the cool features that Python provides (lambda functions)... add libraries like Boost and Poco, you wouldn't need anything more to develop a good trading system.
     
    Last edited: Oct 20, 2014
    #69     Oct 20, 2014
  10. I think you made a good point regarding dynamic typing. It could be one of the main reasons why Python will always be relatively slow no matter how it will evolve going forward. One of the main features why Python is used is ease of implementation and getting something quick and dirty up and running. That includes dynamic typing. At the same time it introduces a huge performance overhead.

     
    #70     Oct 20, 2014