Delphi for Development?

Discussion in 'Trading Software' started by igum, Aug 1, 2005.

  1. igum


    I'm pretty handy with Java and can do a lot of things with it. But I've noticed that 2 of my favorite programs are written in Delphi (WealthLab and QuoteTracker).

    Too bad there's not a good compiled language that has the libraries and ease of programming like Java, and all the libraries of components like Delphi.

    The one thing holding me back from going on the Delphi bandwagon is its not very commonly used and who knows what Borland is going to do with it. From what I heard a lot of Delphi programmers are unhappy with the last couple of versions of it and Borland seems to want to turn toward the .NET direction.

    Is there a future for Delphi?
  2. None whatsoever.
    The two important decision factors in choosing a language are: (1) efficiency in development; (2) portability.
    Delphi fails absolutely in portability. A few years ago, Borland launched Kylix which was basically a Delphi implementation for linux/unix with C/C++ as an extra. Kylix went nowhere in the marketplace. If you choose Delphi, M$ got you prisoner.

    As to efficiency in development also including libraries you can choose from Perl and Python with perhaps Ruby. Although Perl has a larger selection of libraries, it cannot truly compete with Python as a quality language. Ruby has a too small following.

    What about your Java? Java is an inferior resource-hogging proprietary-kludge compared to a tool like Python. I'm not going to elaborate on this. A search on ET will bring this up.

    A critique often leveled at Python is execution speed, Python being an interpreted language. Here you have to choose. Do you WANT extremely short development time, some say 10 times faster than anything else or do you NEED critical execution requirements. In the latter case only one good tool exists: C/C++. Now smart programmers know that blazing execution speeds depend on very few lines of code. Python, offering you amazing easy of development, also makes it very easy to go to C as needed - in fact Python is C!

    I have written very major realtime trading software in Python as a port from M$. I have NEVER been bothered about execution speed yet. If I encounter a case, I know how to tackle it.

    A last commentary: programming is a wonderful art. It requires a lot of hard work though if you aspire to real virtuosity. Most garden-variety practitioners aren't virtuosi but are often blind, so they will talk you into anything. You'll have to find out for yourself.

    Be good,
  3. nononsense, I know you're a long time fan of Python. But the industry seems divided by Java and .Net, and I'm going to move to C#. If Python is so good, why it doesn't become mainstream?
  4. Who's "the indutry"? Are these them guys that way back didn't see C & Unix coming either? Ever heard about PL/1?

    If you think .Net and C# is for you. Don't look any further, must be your best fit. Anything else will require more brainpower than typical for "the industry".
    Ole! Hasta la Vista!
  5. There are many issues here.

    1). The Best technology does not always "win" in the commercial sense - there are many historical examples.

    2). Python might actually become the next big thing, we don't know. However, if you are a professional programmer worth his/her salt, you'd better learn it - it is not a difficult language to pick up.

    3). If you are talking near term career opportunities as a professional programmer, then its Java and .NET (preferably C#, although nowadays VB.NET isn't too shabby either). Period. I think this is what Cooltrader was perhaps alluding to, and in fact I would say that you would command a higher salary in .NET than Java at the moment (although this is of course a broad statement, and it depends on level of experience etc).

    4). If you wish to work in finance (and I'm mainly talking ibs here) then for new development its mainly Java/j2ee backends (believe it or not, a huge deployment using Linux - i.e. Morgan Stanley, jp Morgan Chase, etc). Front ends are Windows/.NET (there is of course some work in Java Swing). Period. This is the majority of the work. You'll find some C/C++ (and even some more ancient shit) in legacy code, and in Quant development where "Men are Men" and C++ rules (with some Matlab and Gauss). Of course there's the odd bit of Perl and Python, even some smalltalk in the more "eccentric" places.

    Delphi? Forget it. Just my opinion.
  6. Most guys in the industry are mediocre, but there are also many genius architects. You should come up with solid arguments why Python is superior and yet doesn't become mainstream.
    .Net is a one-stop shop with everything needed: GUI, ADO, XML,.... At least Python doesn't have such convenience.
  7. Stick with your one-stop shop. It's most convenient in your case. (PL/1 used to be peddled to the crowds that way).
    You obviously wouldn't know how to make use of something like Python. Can't help any further.