Ruby

Discussion in 'Automated Trading' started by Batman28, May 31, 2006.

  1. can someone in short tell me the strengths of ruby? is it something i should learn? i saw a job post for the first time asking for ruby wot the helll? ruby? for start, who chose the name?


    rubyyyyyyy? wot the hek rubyyyyyyyy?
     
  2. lrm

    lrm

    Ruby is an interpreted scripting language developed some time ago. It has a very elegant syntax, but until recently it was not widely used outside of Japan (the author is Japanese).

    A new web framework popped up over the past couple of years called Ruby on Rails. Ruby on Rails takes advantage of Ruby's interesting language details (for example, a very dynamic class and method structure) and provides a very easy to use , powerful web development framework. Ruby on Rails has significantly increased the popularity of Ruby outside of Japan.

    Ruby is now getting the attention it deserves as a language. Should you use it for trading? No, probably not. It is interpreted so you will experience a slow down, however I have been very pleased with it when I have used it for other projects.

    All in all, as a programming exercise, Ruby is a great language to learn and use.

    lrm
     
  3. wowww, thanks alot irm, that was really helpful, had no idea it comes from japan.. u sound like u know alot about languages wot ones u use for trading (if at all).. i really want to learn 1 language inside out but just 1, which would u recommend? i know a bit of delphi, i built a application at college with it and i love it but i don't know why people don't use it any longer, its still my fav.. so wot should i do? python? c++? i hateeeee javaa
     
  4. lrm

    lrm

    Batman28,

    For my trading I use Java. This is because it is the language best supported by my market maker and I want to be able to let my strategies run on Linux.

    Your decision should really be based (in part) around who you are interfacing with. Remember, a language is nothing more than a tool. Find the best tool that fits the job.

    I'm curious why you say you hate Java? I would recommend you learn Java, but remember, learning a programming language is like learning a foreign language. Syntax alone is interesting but not useful. You must learn how to communicate (i.e., how to engineer software solutions) before the syntax is useful. Once you can do that, the syntax becomes less of an encumbrance and you learn that language choice is like choosing the right tool.

    Good luck and happy trading,

    lrm
     
  5. ooo

    i hate java cus its slow as hell.. maybe its slow on windows.. and i hate the interface it looks cloudy..

    do u have a arithmetic/quant strategy for trading?

    how long have u been trading/using it? how successful is it?

    ill definately start learning java
     
  6. Myth. Java is much faster than Ruby, Python and all other scripting languages.
     
  7. lrm

    lrm

    Batman28,

    Java, early on, was a bit of a beast. It has come a long way. These days you can expect very good performance out of a well written Java application. Most of the available virtual machines will perform Just In Time (JIT) compilation on the Java byte-codes so they can execute native x86 operations.

    I'm still a novice at this, learning a lot each day; however, I'm a professional software engineer and have been building software for 15+ years.

    Best regards,

    lrm
     
  8. Agyar

    Agyar

    Is that like being the tallest midget in the circus?
     
  9. wow irm, u got a impressive record.. u didnt tell me about ur trading etc.. or if u trade at all.


    about java, from my experience, it's the biggest pain in the a** and always takes years to load.

    i personally, personally, PERSONALLY think delphi is the best out there. just solid. SOLID. im sure if it lacks speed anywhere it can be optimized to kick the nuts out of java.

    i actually think java's for girls. like u know those little girls that don't wana play with something serious? something real?

    java in my eyes is cloudy n patchy. again, thats my PERSONAL VIEW. maybe its cus im using a windows laptop?
     
  10. After having waved goodbye to windoz platforms a couple of years ago, I was faced with lots of VB programs mainly because of M$'s policy of steering you into that direction with its COM, SQLServer and MSOffice stuff.

    Although I have in the past done and taught a lot of C/C++ in UNIX prior to a windoz migration imposed by job requirements, I must say that VB has been more than adequate speed wise for my work.

    In migrating from windoz to linux, I decided to go Python. Nobody was going to convince me in going back to C++/C where it is not needed, given the unbelievable elegance of Python leading to much shortened development times (for those who did their homework first).
    As to execution speed, I run mostly on a 2.8GHz P4 and Python has been more than adequate for my needs. I transposed and very much expanded a rather sophisticated charting system using Python with Qt/PyQt which performs quite a bit faster than the old VB based version.

    I can only see an execution speed problem arise in Python in algorithmic processing and this only with people not conversant with the wealth of libraries available in Python to take care of the problem. In fact, Python being very popular in leading research labs for scientific calculation, one can find a ready Python package for almost any of the leading math and stat tools.

    As to Ruby, I don't know very much about it but I am planning to take a serious look at it as well. At the surface, Ruby and Python share some of the basic philosophies.

    Java? I did some things in it but I never understood its advantage as compared to C++. It is practically as cluttered. Of course things like memory mgmt are done better. Speed as compared to Python? Lots has been written about this, pro and con examples abound. If you love Java, 100% exclusively owned by a proprietary outfit in grave trouble, by all means, go Java.

    I know better.
    nono
     
    #10     May 31, 2006