Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Anyone still using Delphi...

Options
  • 03-12-2013 6:56pm
    #1
    Registered Users Posts: 9,557 ✭✭✭


    ...and if so, why?


Comments

  • Registered Users Posts: 2,150 ✭✭✭dazberry


    Nope. I have a project on the slow burner in Free Pascal, but it's low priority. Have been thinking of forking an open source project to add some features but again it's not priority. I get so little spare time these days, and what I get I really need to spend on keeping up with .net tech.

    In the $£€ world, I gave it up 3 years ago. Funny enough every year or so a crowd in Bray seem to go to the market looking and I get inundated from agencies, as if they've found a little jewel in the rough, but I aint going back to Delphi work (nor am I going all the way to Bray for that matter :D)...

    D.


  • Closed Accounts Posts: 2,930 ✭✭✭COYW


    I worked in a company in Dublin city centre and they used it. They had one developer working with it, on some legacy software and he was desperate to switch to the C# world. Poor guy is probably still stuck on it.


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    COYW wrote: »
    I worked in a company in Dublin city centre and they used it. They had one developer working with it, on some legacy software and he was desperate to switch to the C# world. Poor guy is probably still stuck on it.

    I worked in a finance company in the city centre for a number of years up until 2011 and it was similar, most of the Delphi ppl myself included wanted to work in c# or java. They outsourced all the c# work and would not upgrade from Delphi 7 (2002) either. I think there is 1 guy left there now...

    The contract I had after that was in an Insurance broker in the city center, mostly c# but a small bit of Delphi which I hated as it was a tangled mess...


  • Registered Users Posts: 4,768 ✭✭✭cython


    I worked in support in a company doing practice management software written in Delphi with an Oracle backend, and by all accounts they are still persisting with Delphi (at least they look to still be recruiting for Delphi developers!). Not sure exactly what the Delphi version of choice was (me being in support rather than dev), but even then (7 years ago), it just seemed like a technology stack with a limited future and had I stayed there with a view to getting into the engineering team, I think Oracle DBA/development would have been more appealing as a path than Delphi development.


  • Registered Users Posts: 2,494 ✭✭✭kayos


    The company I work for still have some Delphi knocking around. We have two Delphi Dev's on site and more in the US. But the Delphi guys on our site are generally doing c#/typescript these days but when they need to go working on the Rich client its back to Delphi.


  • Advertisement
  • Registered Users Posts: 1,619 ✭✭✭rock22


    I am very much an amateur programmer but I have just migrated to C# having programmed previously in Delphi. http://www.boards.ie/vbulletin/showthread.php?t=2057140055

    I can understand why someone wanting to build up a CV would want to move into more mainstream development environments but I don’t think Delphi is/was all that bad.

    I first came across Delphi when it was called Turbo Pascal 5.5 and it introduced me to Object Orientated development. At the time it was ahead of similar C offerings.
    dazberry wrote: »
    ... a small bit of Delphi which I hated as it was a tangled mess...


    I suppose it is possible to write bad code in any language , but Pascal certainly provide the tools to avoid creating ‘ a tangled mess ‘.

    For me, my Delphi 2009 was 32 bit version ,which would compile on Windows 7 but I couldn’t get the debugger to work properly. ( it all worked ok on Windows xp.). It was no longer being supported, so I decided to be brave ( remember, I had seen C code all those years ago ! ) and move to C# .

    And I was pleasantly surprised, and very happy with the move. Possible made easier by having the same lead developer, Anders Hejlsberg.

    Now, anyone still coding FORTRAN , LISP or Forth ?


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    rock22 wrote: »
    I suppose it is possible to write bad code in any language , but Pascal certainly provide the tools to avoid creating ‘ a tangled mess ‘.

    The issue with Delphi really wasn't the language (although a bit verbose, especially so with some of the ~newer~ features), it was the RAD model.

    The "Delphi way" was all component based, the problem being when you start mixing your UI, domain and data concerns all on one form (or a form and badly coupled data module(s) (non-visual forms)) you start to run into trouble, especially beyond the first iteration.

    Now you're under no obligation to have to work that way, keeping the RAD element limited to the UI, and model in some sort of ORM/PF/PODO (plain old Delphi object), and loosely joining it together with some sort of model-gui-mediator pattern and you're as good as any of the other kids on the block :)

    Problem is that most likely you will find the former, not the latter, and what dismayed me more than anything was coming across senior guys (10 yrs exp+) that had no concept of anything other than dropping components on forms, or had such a malformed idea of what OO actually is, it would have been better if they had kept dropping components on forms. Think I threw in the towel not long after explaining to a 15 yr veteran what inheritance and polymorphism was.

    D.


  • Registered Users Posts: 1,619 ✭✭✭rock22


    dazberry wrote: »
    The issue with Delphi really wasn't the language (although a bit verbose, especially so with some of the ~newer~ features), it was the RAD model.

    The "Delphi way" was all component based, the problem being when you start mixing your UI, domain and data concerns all on one form (or a form and badly coupled data module(s) (non-visual forms)) you start to run into trouble, especially beyond the first iteration.

    .....
    Think I threw in the towel not long after explaining to a 15 yr veteran what inheritance and polymorphism was.

    D.
    Yes, i understand what you mean. having just completed my first C# application and a couple of Apps for Android, I can appreciate how clean the development is.

    I only even coded fairly simple desktop applications in Delphi, and as I only ever had to maintain my own code, so I had a narrow experience of it. ( not that maintaining my own code was easy!)

    As you say, the problem wasn't the language it was all the object model used by Object Pascal and later in Delphi


  • Registered Users Posts: 9,557 ✭✭✭DublinWriter


    Thanks for all the replies.

    The reason I asked the question was because I’m working on an article about the degradation of the IT function from maturity to senility.

    Back in the day, Delphi was the only was to go if you wanted to have a binary standalone .EXE running under the WIN32 API set.

    With the arrival of MVC, Entity Frameworks, BALs and DALs there seems to be a hideous disconnect in most IT functions between delivering what the business wants in a timely fashion and the skill-set most IT professionals feels they need to have in their endless quest to be truly ‘mobile’.

    It’s like RAD never happened.

    Case in point? I was installing a new ATI graphics card a couple of years ago. The 46MB of drivers insisted that I have the latest version of the .net library installed. I mean, for why?

    I find a weird paradox at play between professionals who embrace MVC and yet profess to be truly Agile. The only parallel I can draw is questioning the belief such people is questioning the loyalties of Apple customers or fundamentalist Muslims. It’s a no win situation.


  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    I find a weird paradox at play between professionals who embrace MVC and yet profess to be truly Agile.

    There is an inherent quality in the MVC framework that makes it impossible to be "Agile"?


  • Advertisement
  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    Back in the day, Delphi was the only was to go if you wanted to have a binary standalone .EXE running under the WIN32 API set.

    I'd disagree with that statement.

    I used Delphi about 18 years ago.
    And I liked it, and its cousin Borlands C++ Builder.
    They let you drag and drop components into containers, much like Visual Basic, but had a more strongly typed language behind them.

    At the time Visual C++ was always the more "grown up" option to develop serious apps though.

    So there were always more options than Delphi.
    Pascal, which was the underlying language of Delphi, was seen somewhat as a learning language, more forgiving than C/C++.


  • Registered Users Posts: 2,781 ✭✭✭amen


    Back in the day, Delphi was the only was to go if you wanted to have a binary standalone .EXE running under the WIN32 API set

    You couldn't use C++ for this ?


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    It’s like RAD never happened.

    I would disagree with that. Sure the RAD specific frameworks and languages are dying off, but the RAD spirit has been taken on by the the more mature full featured languages, and they do it far better than dedicated RAD ever did.

    Dedicated RAD frameworks like Delphi were great for doing many things quickly, but if you needed to do something outside of what they catered for they could be a real pain in the ass. Bigger, more complicated projects often became monstrosities duct taped together.

    Rather than try to fix that, RAD tools and methodologies have migrated onto the more mature feature complete languages. Microsoft's MVC framework for example lets you get simple CRUD applications up and running in minutes. Combined with things like the .Net Entity Framework and Microsoft's Enterprise Library you can have much larger and more complex systems built in no time. It's easy, and it's fast, but it's also done in a way that's easily scale-able, easy to maintain, test-able etc. And, you have complete control over all of the logic, and the code is all C# so you can basically do anything C# can.

    Visual Studio (and/or Expression Studio) has a powerful designer, you can still drag and drop controls etc to design your UIs, and it writes good clean code (or HTML/XAML etc) in the background, which is easy to modify by hand if needs be. Even staying away from larger frameworks like MVC, there's plenty of MVVC like templates and ORMs available to get you going quickly, but again in ways that follow best practices so your code remains scale-able, maintainable and test-able.

    There are also application platforms like SharePoint, that give you a base to build your applications on and provide a ton of functionality. And combine with tools like InfoPath, Access, Visual Studio Lightswitch etc to rapidly build complex applications without writing any code at all.

    RAD did happen, it has just grown up a bit.


  • Registered Users Posts: 9,557 ✭✭✭DublinWriter


    They let you drag and drop components into containers, much like Visual Basic, but had a more strongly typed language behind them.
    ...
    Pascal, which was the underlying language of Delphi, was seen somewhat as a learning language, more forgiving than C/C++.
    You're kidding?!?

    Pascal is arguably a more strongly typed language than C, certainly as it was implemented in Delphi as Object Pascal vs C++.

    Again, my main argument is that C/C++/C# has prevailed because it's a more 'fashionable' language. As Tom Peters once said, the I.T. industry has more in common with the fashion industry than any industry operating in the science sector.


  • Registered Users Posts: 9,557 ✭✭✭DublinWriter


    stevenmu wrote: »
    Rather than try to fix that, RAD tools and methodologies have migrated onto the more mature feature complete languages. Microsoft's MVC framework for example lets you get simple CRUD applications up and running in minutes.
    I've two basic problems with this, the first being it's vendor specific, the second being it's version specific.

    Try moving from Microsoft's MVC Framework v.3 to v.4 for anything bar the most simplest of apps and you'll run into real difficulties and man-hours.

    You generate a wasp's nest of code. Suddenly you find the DAL that worked under VS2005 suddenly won't work under VS2010/VS2012 and you're into some hideous editing of auto-generated XML files...and that's even without any schema changes.


  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    You're kidding?!?

    Pascal is arguably a more strongly typed language than C, certainly as it was implemented in Delphi as Object Pascal vs C++.

    True, although I was comparing the weakly typed Visual Basic against pascal/C/C++ there.
    Visual Basic was very popular for Windows app development when Delphi was still around.
    As Tom Peters once said, the I.T. industry has more in common with the fashion industry than any industry operating in the science sector.

    Who ? This Tom Peters ?

    A 72 year old management consultant with no I.T. experience ??
    Why is he comparing software development to the science sector ??
    Again, my main argument is that C/C++/C# has prevailed because it's a more 'fashionable' language.

    No I disagree completely with that and would be interested to know your background in software development that you base that opinion on.

    I've been programming for nearly 25 years since the days of MS DOS.

    C/C++ have been successful for a number of extremely important reasons.

    1. Cross platform
    If you write as much of your code in Ansi C/C++, then it's more portable to Windows/Linux/Mac. Borlands poor attempt at Delphi for Linux ( Kylix ) required Borlands runtime libraries to work. So you were limited to the platforms that Borland supported, mainly Intel based chips.

    Look at the number of games engines developed in C/C++ today, that are ported to various platforms. That's a huge saving in having to maintain multiple copies of the same engine, one for each platform or a cross product of target environments, eg. Windows, Linux x86, Linux ARM, Mac, etc.

    2. Extensibility
    C/C++'s huge benefit was the wealth of libraries you could use.
    So you could import different libraries for comms, compression, image reading, encryption etc.
    It also had good support to call assembly level code both inline and via linked libraries, so it was important for development of low level/embedded devices.

    3. C/C++ were fast. Delphi's compiler wasn't great at optimisation, while C/C++ were mature and had much more advanced code optimisation tricks.

    When you say a language is "fashionable", I say it's successful.
    Which normally is driven by business needs, ie. it's well supported with IDE's, testing and debugging tools.
    Companies then end up accumulating a wealth of their own intellectual property (source code) in that language, so it becomes harder to let all that go and no business reason to rewrite it in another newer language.

    Refactoring rarely has any business benefit when the user sees the same features.

    Also, if my vague long term memory serves, I believe Delphi may have required you to buy a more expensive developer edition of their IDE if you wanted to distribute your application with royalty free Borland runtime libraries ?
    So home developers with the free version weren't legally allowed to release their apps?


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    Visual Basic was very popular for Windows app development when Delphi was still around.

    Delphi is still around, it does Win32/64/Mac(albeit only 32bit)/iOS and Android. It's not somewhere I would be interested in going today - beyond maybe Win32/64 if I had to.
    1. Cross platform
    If you write as much of your code in Ansi C/C++, then it's more portable to Windows/Linux/Mac. Borlands poor attempt at Delphi for Linux ( Kylix ) required Borlands runtime libraries to work. So you were limited to the platforms that Borland supported, mainly Intel based chips.

    Look at the number of games engines developed in C/C++ today, that are ported to various platforms. That's a huge saving in having to maintain multiple copies of the same engine, one for each platform or a cross product of target environments, eg. Windows, Linux x86, Linux ARM, Mac, etc.

    It was a poorly conceived and implemented product, but in its defense (never thought I be saying that) you are comparing something today to a product that was released 14 years ago. There is a push to try get support for Linux without the VCL (or CLX in the case of Kylix) - i.e. without a visual component library. Either way again it's not somewhere I'd be interested in venturing today...
    2. Extensibility
    C/C++'s huge benefit was the wealth of libraries you could use.
    So you could import different libraries for comms, compression, image reading, encryption etc.
    It also had good support to call assembly level code both inline and via linked libraries, so it was important for development of low level/embedded devices.

    You could do all that in Delphi - albeit targeted only for the Windows platform.
    3. C/C++ were fast. Delphi's compiler wasn't great at optimisation, while C/C++ were mature and had much more advanced code optimisation tricks.

    Delphi very much stagnated after v7 (2002) until the 2009 release, and one of the things that that badly reflected in was the 32 bit compiler - I follow the (Irish) guy that formally worked on 32 bit compiler, definitely there are a lot of legacy issues there. The other platform should be more "industry standard", and in some cases use the LLVM tool chain.
    Also, if my vague long term memory serves, I believe Delphi may have required you to buy a more expensive developer edition of their IDE if you wanted to distribute your application with royalty free Borland runtime libraries ?
    So home developers with the free version weren't legally allowed to release their apps?

    The free versions on magazines had those license restrictions AFAIR. A more recent starter edition has some limitations but you can release applications. Either way the product is too dear at this stage, upgrading my 2011 (XE2) licence and adding Android and iOS support would set me back over €1K. Not a chance ;)

    D.


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    Coincidently a new roadmap was released by Embarcadero today.

    Of more interest to me was this announcement last week.

    D.


  • Registered Users Posts: 9,557 ✭✭✭DublinWriter


    Also, if my vague long term memory serves, I believe Delphi may have required you to buy a more expensive developer edition of their IDE if you wanted to distribute your application with royalty free Borland runtime libraries ?
    So home developers with the free version weren't legally allowed to release their apps?
    No, the end result was always a standalone binary .exe

    There were never any runtime .DLLs required, a la VB.

    The following site is a funny Delphi death-watch:

    http://delphihaters.blogspot.ie/


  • Registered Users Posts: 3,867 ✭✭✭ozmo


    China seems to like it still a lot still - I bought a eeprom programmer and few other bits and the software was all written in Delphi.

    Means they can ship a standalone exe with no runtime libraries and the exe is very fast and importantly not easily decompilable.

    For a small utility Delphi did the job in this case - (didnt look so great though)

    DotNet, Silverlight and Java are much more troublesome to ship.

    Of course C++ would have been preferable - but Delphi programming is orders of magnitude easier to work for a small utility.

    “Roll it back”



  • Advertisement
Advertisement