C++ vs. Borland Delphi

Discussion in 'Automated Trading' started by Norm, Mar 3, 2006.

  1. rwk

    rwk

    I was a professional programmer before becomming a trader, but all my programming was on mainframes. I am salf-taught in PC programming. I made the decision in 1996 to learn Delphi, because it was about as fast and powerful as C++ but easier to learn. VBasic, version 4, was interpreted, not compiled, making Delphi a very good compromise between the two. The biggest drawback is that there is no demand for Delphi skill. If I were to make the decision today, I would go with VB(dot)Net. My second choice would be Java. The best language to use is usually the one you already know.

    Regarding Delphi and IB's API, if you use Ross Hemingway's component (which I highly recommend) previously mentioned in this thread, you won't have to worry about calling conventions. The component comes with a sample application, and support is excellent.
     
    #11     Mar 4, 2006
  2. I programmed using Delphi extensively for a period of 1 year(1999-2000). and it is the best/easists to use integrated development environment (IDE) out there. pre C# of course


    I am comparing Delphi to Visual C++ (MFC / Win32API), Visual Basic 6.0 (or VB in general)

    Delphi was very easy to use and develop, and its debugger is outstanding.

    If I were to do any native win32 development, I would use Delphi over anything else. (I have not learn C# yet)



    Microsoft hired the Delphi creator from Borland and he's the arichtect behind WFC & most notably, C#. C# should be as good as Delphi if not better.


    I think the Delphi guy is a genius.

    I have no experience with IB API
     
    #12     Mar 4, 2006
  3. As a historical aside:

    Delphi's language is pretty much the same as Object Pascal which was once the prime language for doing Macintosh development.

    The Delphi Class Library was very closely modelled after MacApp which was the first class library used for commercial application development, also Macintosh based. For example, Photoshop was/is written in MacApp which was changed to be cross platform by the Photoshop team when they came out with Photoshop for Windows.

    Anders Hejlsberg wrote Delphi almost single-handedly, he also wrote Turbo Pascal which was the basis of Borland's success as a company.

    Despite his obvious value to the company, I was told by a former senior Director at Borland that Anders was poached by Microsoft when during the process of a layoff he received notice that he had been laid off. Within a few hours he had negotiated a deal with Bill Gates that included a 7 figure signing bonus. By the time Borland realized their mistake it was too late. Anders made the move to Microsoft and subsequently was chief architect for C# and the .NET framework.

    - Curtis

    P.S. I second the notion that Anders is a genius. He's definitely in the top 10 programmers of all time in my book.
     
    #13     Mar 4, 2006
  4. slacker

    slacker

    Having spent a lot of time in both the MFC/C++ and Java development and very productive in both languages. However, if I were starting at the beginning of a IB API project I would choose Python.

    Take a look at ProfitPy which is written in Python. This is a collection of Python tools that use InteractiveBrokers API to get market data and execute trades. Very nice in my opinion. If you are thinking of building a trading system, you might be able to start with this code:
    http://profitpy.sourceforge.net/
    Take a look at the screen shots, not bad at all.

    I was very impressed with wxpython as one of several GUI widget sets that are available. More can be found here:
    http://www.wxpython.org/

    I was also very impressed with this Python implementation of an oscilloscope:
    http://www.scopal.com/information06.htm
    Very nice, if you can do this with Python you can do anything needed for 95%, or more, of any trading GUI.

    You can download Python at:
    http://www.python.org/download/

    Get the GUI extension wxPython (one of many GUI widget sets) at:
    http://www.wxpython.org/download.php#binaries

    Get the Docs, Demo & Samples download there as well. You can pick one of the samples as a starting point for your project or use ProfitPy.

    If I was starting out developing a new environment I would seriously consider Python. It is first class all the way (IMHO). For someone trying to program for the first time it looks much easier to program than either C++ or Delphi.

    It is free, runs anywhere Mac/Linux/Windows, interfaces with IB and is well documented.

    Good luck,
     
    #14     Mar 4, 2006
  5. This person has given very good advice.
     
    #15     Mar 4, 2006
  6. Arnie

    Arnie

    #16     Mar 4, 2006
  7. I think it's also worth considering that Borland is selling Delphi and their other IDE products. Who knows if it'll even be supported moving forward.
     
    #17     Mar 5, 2006
  8. This is quite an important point. The other options mentioned don't pose that sort of risk -

    Python - very active open source community. Microsoft trying to muscle in. Zero chance it will be dumped in the forseeable future and further development virtually assured. Many free libraries available.

    Java - Heavily backed by Sun, IBM, Oracle. Very active open source community. Multiple souces for quality JVMs - SUN, IBM, BEA, Blackdown and others. Many free libraries available.

    .NET - Heavily backed by MS (at least until the next whiz bang MS development environment). Open source Mono implementation also available.
     
    #18     Mar 6, 2006
  9. Glider

    Glider

    IMHO Delphi is the way to go.

    Don't worry about the communication between your Delphi code and C++ API.
    As soon as you will reach a decent knowledge of Delphi, you will be able to make the necessary ‘translation’ between Object Pascal and C++ code.

    As someone already did in this thread, I suggest Russ Hemingway's Delphi component for IB API, it will save you a lot of time and will make you productive very quickly.

    With Delphi you can choose to develop for both Win32 an .NET environment.
    It has a very friendly IDE, a big community, it supports current and the previous technologies.
    You will find Object Pascal easy to learn as beginner and powerful as expert programmer.
    The VCL (Visual Component Library) after 10 years IMO is still the best library available.

    Don’t worry about all the rumors on Delphi future, it was claimed death one year after his birth: in the while Microsoft ActiveX, Visual Basic, VBX, OCX, COM died… and they were always be named as safer choices.
    A lot of big projects are written in Delphi: Skype and human genome mapping software, just to mention the most complex and famous.

    And if you are not sure, buy Delphi 2006 and you will be able to use the same IDE also for C++.
    I’m pretty sure you will drop C++ development after a couple of weeks.

    IMO go with Delphi and you will not be disappointed.
    --
    Glider
     
    #19     Mar 6, 2006
  10. I will add a vote for Java. If you are LEARNING a new language - I would recommend Java over C++. Not to get into a religious war, but Java will allow you to concentrate on developing your trading system, while C++ can be a bit tougher to learn right out of the gate. Not to say that you couldn't - just that it may be easier.

    IB has a wonderful Java API which you can get something up and running in a day (well, they did 3 years ago - I have not looked at it in a while).
     
    #20     Mar 9, 2006