12 ms·
Delphi – why won't it die? (2013)
- DodgyEggplant 12y agoDelphi was designed by the same architect that later designed .NEt. Microsoft snatched him from Borland. Borland tools were always great, but this was the era of mighty MS. http://en.wikipedia.org/wiki/Anders_Hejlsberg http://en.wikipedia.org/wiki/Anders_Hejlsberg
- QuadDamaged 12y agoC++ Builder made C++ on Windows so much more accessible than MS Visual Studio 4 + MFC at the time. Truly a revolutionary platform.
- pjmlp 12y agoIt was the real "Visual C++" in terms of RAD productivity. Microsoft's compiler had nothing visual about it. C++/CX + XAML is maybe the closest it gets nowadays.
- redstripe 12y agoIn terms of job availability it's been dead a long time. I see a single job posted on craigslist every 6 months in city with 50 daily job postings. Part of the problem is the kind of corporate windows CRUD apps that Delphi excelled at are better implemented as web apps. Which leaves it relegated to hobby developers and 1 man software vendors. Even weirder is that in 2002 the Delphi community developed a python 2.7/3 type schism over UI changes and .NET inclusion and a large portion of the community refused to adopt new releases. It's pretty telling when a vendor isn't even able to get many of it's own supporters (many of which are these "Delphi will never die" types) to buy new version of their software in over a decade.
- tluyben2 12y agoThe insanely high prices aren't helping either though. Yes yes, they are not 'high' if you are a fortune 1000, however, they are high compared to what everyone is used to now. They didn't step on the train of making for instance a version free if you are an open source dev. Or doing low monthly payments. Or do anything 'cool', like turn up and give a demo on how to implement reactive manifesto complaint software client/server with a few clicks / lines of code. That kind of thing would be relevant and interesting to devs now; if you can do a dashboard in Mac OS X, Windows, iOS, Android with all the backend & frontend stuff smoothly working together, smoothly tested and smoothly deployed, showing off those 6000 datapoints per second coming into the server and the client and still have a responsive interface companies would listen. But they don't; they just don't 'do' anything people want now besides turning up to the mobile parties way too late. I kind of wonder how many devs still are working on Delphi and if they are not only just bugfixing...
- _red 12y agoI think Embarcadero is seriously hurting themselves with their bunker mentality. Their whole "there are only X paying customers left, therefore we need to charge $3000" stinks of someone who is preparing for failure, instead of growth. It really looks like low self-esteem play of some group that secretly believes the market doesn't want what they have, so they desperately milk their few remaining customers to make next months payroll. I keep hoping some startup sees the huge arbitrage opportunity that is sitting there. Someone just needs to come along and build a quality GUI around the toolchain - very much like what Xamarin did for Mono - and similarly they need to charge a sane subscription model (free for OS/hobbyist, $99 personal dev, $399 corporate lite, etc).
- commentzorro 12y ago> the Delphi community developed a python 2.7/3 type schism over UI changes and .NET inclusion and a large portion of the community refused to adopt new releases. Not quite the way I remembered it. It was more like, "if we're going to develop in .NET then we're going to develop in C#." We liked Delphi for its native compile and unencumbered executable. No point in adding all the .NET baggage and not learning/using it's native language too.
- tiquorsj 12y agoDelphi was one of the greatest development environment ever created when you just "needed to get shit done".
- dpcan 12y agoNo question. I used Delphi 5 for a long time. The IDE was as easy as it gets, the sample code on the net was rampant, and it produced single little EXE files I could send to people and they had a full-on Windows application. The closest thing I've found since then that allows me to do something similar minus the IDE is BlitzMax, but the IDE was what made the process so silky smooth in Delphi, and I miss it.
- tonetheman 12y agoYes yes yes. Delphi was amazing and still is really. I remember seeing it for the first time at a Borland conference and trying to explain what I saw to my team at the time. Just an amazing product. And super fast.
- huherto 12y agoI think Delphi got right the "Visual Programming" paradigm. I am surprised that we don't have something similar on newer environments. Perhaps is that multi-user RDBMS with SQL and/or the Web broke the model. I don't know, but it is an interesting question.
- pjmlp 12y agoThe web broke it. The frankenstein model of CSS/JavaScrip/HTML cannot provide the same RAD capabilites as native applications.
- vram22 12y agoI don't think the advent of mult-user RDBMS/SQL broke it. There was a time frame (some years) when client-server apps were all the rage - Visual Basic / Delphi / PowerBuilder / Gupta SQL as the front-end tools, talking over a LAN or even sometimes a WAN to back-end databases like Oracle, Sybase, SQL Server, Informix, etc. I've worked on some projects of that type earlier. The technical discussions used to be about things like thin client vs. thick client, database transaction isolation levels, whether to use record locking vs. time-stamping, etc., use of stored procedures and triggers, etc. ... :-)
- vram22 12y agoE.g.: http://en.wikipedia.org/wiki/Gupta_Technologies http://en.wikipedia.org/wiki/Gupta_Technologies http://en.wikipedia.org/wiki/PowerBuilder http://en.wikipedia.org/wiki/PowerBuilder
- vram22 12y agoAlso, Delphi didn't have a completely "Visual Programming" paradigm, if you mean it in the sense of some of those experimental tools that claim that all programming can be done visually/graphically, simply by drawing diagrams, dragging and dropping components onto a window, connecting them visually, etc. The visual part of programming with Delphi and similar tools like Visual Basic, was restricted mainly to designing/creating the UI, iteratively and visually, by dragging and dropping widgets like text boxes, labels, drop-down lists, gauges, graph controls, etc., onto a form (a window), setting those widgets' properties such as font, text foreground and background color, enabled/disabled, tab order, etc. etc. Also, data-aware widgets were useful; they would show the back-end database data represented by each widget, live, at UI design time (not just at run time). E.g. a grid widget could show the rows and fields of a table, live. But the rest of the code (widget event handling, business logic, etc.) still had to written in a text editor by the developer.
- ape4 12y agoThe COBOL of the future?
- Eyght 12y agoScott Adams could make the same joke again http://dilbert.com/strips/comic/1997-11-04/?CmtOrder=DateEntered&CmtDir=ASC http://dilbert.com/strips/comic/1997-11-04/?CmtOrder=DateEnt...
- aurelianito 12y agoI dont think so. Java is the new Cobol. http://c2.com/cgi/wiki?JavaIsTheNewCobol http://c2.com/cgi/wiki?JavaIsTheNewCobol
- nobleach 12y agoI'd say Java 1.2 is the new COBOL. Just like COBOL devs were in serious demand during the "millennium crisis", Java 1.2 devs will be in demand the next time we have some sort of fundamental upheaval. This is due to so many banks/utilities/etc betting the farm on older Java. Judging just by current job postings, Rails 3ish might be entrenched for a short while too.
- josephpmay 12y agoI always wondered why a devshop I've worked at used Delphi. Now I know. The main code base is handled by one developer.
- superflit 12y agoHaving supported Delphi applications I had to say: 1) It just works; 2) It works in old machines fairly good enough 3) There is a lot of new components/integrations (SQL,DB2,Oracle,WEB,etc) 4) Good reports system It isn't sexy but do the job very well for most corporate applications.
- malkia 12y agoI remember when it was sexy - in the days of Windows 95-98 - that was the best RAD tool out there.
- DanHulton 12y agoI remember the same feeling with VB6/VC6. Sure, with VC6, you could do More Stuff, and theoretically, it would be Better Stuff. But in an afternoon with VB6, I could bang out a good first prototype for SO many projects that in many cases, ended up being "good enough" that we never needed to go back and re-do it "properly" in VC6. PowerBuilder, though... Man, that can't die fast enough.
- tluyben2 12y agoThat's how I sold Delphi; I applied for VC projects and then talked them into a 'fast prototype' in Delphi. They never rewrote and I had happy clients for many years. It worked especially well in companies who where forced into VC by higher management and already did a few (long, painful usually) projects in it; they could now show off something much faster and with more features.
- re1ser 12y agoDelphi is a great RAD tool, but it's also slowly dying and has lower and lower market share, 100% of my income come from Delphi contracting at the moment, and I love Delphi, but its not a great choice if you're just starting your programming career and have to choose the language to go with. I've been sticking to Delphi for whole my programming career (3 years professionaly, 10+ years hobby programming, i'm 24 now), but its more and more occuring to me that I have to learn some new tech ASAP if I want to progress further. Delphi has no proper crossplatform support and it's a big minus. Also it has ridiculous price.
- swinnipeg 12y agoWas once in a similar situation myself. One path is to identify a future customer pain point that will occur if they continue to use Delphi. You can direct the solution to a language/platform you wish to learn, and work like a dog to develop the new skills and build a great piece of software in this new language.
- re1ser 12y agoThats exactly my plan, to learn some basics then further improve skills on minor contracting jobs I get and I feel comfortable to do them in new language. It would probably be C++.
- blub 12y agoIf you're looking at C++ already then I'd recommend Qt. I think it's pretty close to the RAD feeling I remember from C++ Builder and by extension I assume Delphi. Compared to them it's not strong on data components that allow you to connect a DB to a UI, you will have to write SQL and code for that. But it is a joy to use, cross-platform and at least on the desktop it is free to use if you don't mind LGPL and shipping DLLs/so with your app.
- Touche 12y agoDon't learn Qt if you want to find clients.
- rossjudson 12y agoThe compiler was lightning fast, and produced fast code. The IDE was fast. It did a beautiful code/visual synchronization that still hasn't been done better. It had good libraries, and did effective programming the large. Not cross-platform, didn't have automatic memory management, though, and was never going to be able to compete with the advance of free IDEs. About a million years ago I wrote the Delphi Container and Algorithm Library (DeCAL). Good times :)
- pjmlp 12y agoThis is one reason why I see Go compilation speed as PR. Anyone of us that had the luck to work with tooling in the Amiga/Atari/PC world back in the day C mostly still only relevant on UNIX, knows there were a few languages with very fast compilers available.
- dsymonds 12y agoGo's compilation speed is more than PR. It's reality when compared against what it is designed to replace. Believe me, there are several people on the Go team who fondly remember the "old" days of Turbo Pascal, for instance. But those tools just aren't around any more for practical purposes.
- pjmlp 12y ago> It's reality when compared against what it is designed to replace. If you mean C and C++ then yes. Not so when compared with most languages with module systems. This is why I call it PR, because most Go presentations tend to ignore the world outside C and C++.
- vidarh 12y agoLast time people were bandying about Go compilation speeds on HN, and actually posted numbers, it was trivially beat by gcc on compilation speed when I tested.. Maybe it's faster now? But it certainly wasn't particularly impressive a year or so ago.
- msh 12y ago
- networked 12y agoIf you want to try Delphi Lazarus with Free Pascal (http://www.lazarus.freepascal.org/ http://www.lazarus.freepascal.org/) makes for a pretty close FOSS reimplementation of the same Object Pascal language and the RAD IDE functionality. The IDE is reasonably mature but sadly not fully compatible with Borland Delphi 7, so you can't quite rely on a Delphi tutorial. It is cross-platform. The language combines reference counting and manual memory management, has modules and handling strings in it is pleasant compared to (vanilla) C or even C++ (which it is meant to compete with). Unfortunately, last I checked the Unicode support was imperfect. One thing I've been wondering about lately is if Free Pascal is a good alternative to C or Go for shipping self-contained static binaries to run on *nix. I haven't tried it yet but the small(ish) static binaries the Free Pascal compiler produces and the lack of libc dependencies in theory make it an attractive option if you want to write something to run on OpenWrt on your router. Has anyone here used FPC for that? How are the MIPS and ARM backends?
- tluyben2 12y agoI pick up Lazarus ever so often because I loved Delphi (it was my competitive edge; everyone was doing VC++ and I ate their lunches. And dinners.) back in the day. Lazarus as being FPC + libraries is great, but the IDE is still really bad in my opinion. It is unstable to say the least. I wish it was more solid or that Embarcadero would just get smart and open source the whole thing so it actually would have a chance. I'll keep checking though...
- vram22 12y agoAdding my 2c to this discussion: I saw just recently, via SourceForge's email newsletter, that Free Pascal made it to SourceForge Project Of The Month (POTM): http://sourceforge.net/blog/april-2014-project-of-the-month-free-pascal/ http://sourceforge.net/blog/april-2014-project-of-the-month-... I've used various Delphi versions, a little, for personal projects [1], off on on, and liked it. A pity that the free Turbo Delphi Explorer version was discontinued. (TDE was released and then stopped when Borland was in its CodeGear incarnation some years ago.) As others have said, hope Embarcadero comes out with a low-end free or low cost version of Delphi. (They did have a Delphi XE Starter Edition, not sure if it is still there.) I've also read off and on that Delphi (and other Borland products) were/are big in Germany and other European countries. [1] http://jugad2.blogspot.in/2010/08/digital-clock-v10-in-3-lines-of-delphi.html http://jugad2.blogspot.in/2010/08/digital-clock-v10-in-3-lin...
- deleted 12y ago[deleted]
- antocv 12y agoDoes anyone know more about PeopleCode and their PeopleSoft tools and IDE and how it compares?
- r00fus 12y agoPeopleSoft was hostilely acquired by Oracle in 2005, after which, despite Oracle trying to kill it for years (and merge the Peoplesoft product into Fusion), it still exists. PeopleCode/Tools is more equivalent to ABAP offered by SAP, it's heavily tied to the Peoplesoft environment, and has no real comparison to Delphi. Amazing that you can still find it around these days, but most PeopleSoft customers have moved to Oracle, SAP or Workday by now.
- issam01 12y agodealing with Delphi as a product more than programming language hurts the Delphi community. I mean Embarcadero should give away some (freebies) to the community. like a free/express Delphi version. I think this will refresh its community and the Delphi empire would rise again.
- pjmlp 12y agoThey did, but they were not consequent with them so the developers lost trust.
- tokenrove 12y agoI did a contract that involved some Delphi not long ago. I was really surprised to see it still in use. The worst thing, though, was registering to get a trial from Embarcadero who then had an elaborate follow-up process including phone calls from them. And after all that, the code in question wouldn't compile with the new editions of Delphi and I had to track down a copy of Delphi 6. I was really surprised to discover they still have a C++ compiler product. Does anyone use it?
- pdw 12y agoI used C++Builder at a previous job. All their software was C++/VCL, they were completely locked in. Embarcadero tried to keep up with the evolving C++ standard and on paper they were moderately successful, but if you actually tried to program in a modern style, it all fell down. E.g. you'd find an object's destructor was ignored, or even worse, run twice. I think I reported about two dozen compiler or C/C++ library bugs.
- pcunite 12y agoI use CB2007. Yes, it's not the fastest code and no C++11 but it does the job at the moment. The thing is that the supplied VCL is what is so amazing. Hard to give it up.
- mistermann 12y agoSoftware has got to be one of the most interesting industries, where among genuinely skilled people you can have such shockingly divergent opinions on really quite simple questions. From the article: > Being highly productive has seen single Delphi developers produce software that would otherwise require a team of 5 developers. I’ve been in a team of 3 developers that out programmed a corporate wide application by having it up and running in a few months compared to another team I know of over 30 Java developers who 18 months later still had not produced their application. I believe this to be completely true. At least for boring internal enterprise apps within corporations, the new languages/platforms and especially modern program design paradigms with their multiple tiers & supporting libraries, multiple levels of indirection resulting in 30 level deep call stacks, etc results in productivity perhaps 1/4 of what you could achieve with a product like Delphi. Now this is just my opinion, and it is shared by many others, but there are even more who would vehemently disagree. Yet this isn't some "eternal mystery" class of a disagreement, for the type of application that Delphi is appropriate (very important), it can be very easily demonstrated if it is or is not more productive for the task at hand - the differences are so stark that the conclusion is undeniable. Yet, if you were to propose Delphi as a development platform, it would in most cases be career suicide. I would suggest some of the main reasons for this are: - as a developer, choosing Delphi is virtually career (skillset) suicide - it lacks much of the more modern "cool" language features developers so love to play with - (as a result) choosing Delphi as a platform is risky due to the small and shrinking developer base
- jarrett 12y ago> for the type of application that Delphi is appropriate What type of application is that, in your opinion? Would you use it for a web-based app? (Many boring corporate apps are now web-based, and not just because the developers want that. The business people often want it too.) > new languages/platforms and especially modern program design paradigms with their multiple tiers & supporting libraries, multiple levels of indirection resulting in 30 level deep call stacks, etc results in productivity perhaps 1/4 of what you could achieve with a product like Delphi. Modern languages don't particularly encourage or discourage that style of programming. Let's assume we're comparing Delphi to Ruby and Python as the modern competitors for the high-productivity, just-get-it-done language. Those languages have standard libraries with rather minimalist APIs, so I don't see the bloat there. Now, it's true that frameworks in those languages, like Django and Rails, and huge and have deep callstacks and lots of indirection. But those frameworks are big because their problem domain (dynamic web app development) is so big and complex. I challenge anyone to find a framework in any language that 1) is as powerful and flexible as Django or Rails, 2) is sanely coded, and 3) doesn't have deep call stacks or lots of indirection. Maybe I'm way off base, and you're not talking about web development at all. I went that direction because web development is what I think of when people start talking about boring business apps.
- malkia 12y agoDoes anyone... Turbo Vision!!! Oh, the memories! and "Uses BGI"
- Udo 12y agoI spent the first years of my non-school life developing things in Delphi, including CGI binaries in the end. I can't say how much I loved the language and the IDE. In fact, XCode is still somehow trying but falling far short of providing the same amenities for developers (maybe on purpose). Since I rediscovered dynamic languages in the early 2000s and haven't (except for some experiments in C) looked back. It's funny how you can selectively remember the good aspects of a language and forget how much better life has become since you dumped it. Out of nostalgia I checked out Lazarus and I'm glad it has a somewhat thriving community. However, for me it was clear immediately that the time of Delphi/Pascal has passed for good.
- vitd 12y agoCan you describe what things Xcode lacks that you miss from Delphi? I'd be interested in learning more about such features.
- mihaela 12y agoSmart commenting/uncommenting (depends on indentation in Xcode) Expanding case statement for enums (not implemented) Renaming does not work for commented .h and .m file name No shortcuts are shown in hints (debugger step over/into...)
- markbnj 12y agoI wrote DDJ's first review of Delphi back in 1995. Maybe it deserves to die, or not, but I get a kick out of the fact that it is still around and sparking discussion. At the time of release its features were quite innovative, and very accessible to the Turbo Pascal programmers (like me!) who were a big part of Borland's customer base for tools. If I recall correctly a lot of Delphi's DNA ended up in C++ builder, and then a lot of the C++ Builder guys ended up at Microsoft... so Delphi has earned its place in the anthropology of our business.
- pcunite 12y agoAwesome ... appreciate your perspective. Hang around here and keep us kids in line.
- sehugg 12y agoLook what Turbo Pascal/Delphi gave a PC developer in 1995: * An insanely fast compiler * Statically linked binaries -- no DLL hell (still important for certain kinds of applications) * A proper module system, no need for precompiled header nonsense * A UI framework/designer as easy to use as WinForms, at a time when the alternatives were MFC or Win32 * An easy upgrade path to 32-bit Windows As long as you were ignorant of the world outside of a PC and Windows, it was nirvana.
- zorked 12y agoWell, even considering the world outside of a PC and Windows was probably OS/2, which I know nothing about, or the incredibly fragmented Unix world (Linux was still a wannabe) with Motif/CDE/xlib, C++ without working compilers, an infinite number of #ifdefs, (Linux) threads implemented as a userspace hack, a.out binaries, primitive TCL and Perl as the high-productivity alternatives... Turbo Pascal/Delphi was probably nirvana.
- pjmlp 12y agoIt was nirvana indeed. I never liked C, because I already knew a few Turbo Pascal versions before getting to learn C. So the language was always meh for me, but then Borland blew it up with their schizophrenics moves and allowed C and C++ usage to grow in the PC world.
- QuadDamaged 12y agoThe lead architect of the VCL went-on to work for Microsoft on .Net and most of the venerable (and still working, if not actively maintained) Winforms API is really reminiscent of the VCL, albeit corrupted by the win32 API leaking through. Maybe it is rose-tinted glasses, but I remember having a significantly more pleasant experience working wight the VCL (through C++ Builder) than with Winforms.
- vram22 12y agoThat lead architect was: http://en.wikipedia.org/wiki/Anders_Hejlsberg http://en.wikipedia.org/wiki/Anders_Hejlsberg I read that he got $1 million (or more?) for leaving Borland for Microsoft. He's also worked on: http://en.wikipedia.org/wiki/TypeScript http://en.wikipedia.org/wiki/TypeScript , Microsoft's enhanced version of JavaScript, which has been in the news somewhat lately.
- pjmlp 12y agoOne of the great things about Delphi and its predecessor Object Pascal were, besides what other HNers have mentioned, was AOT compilation, being memory safe and allowing systems programming at the same time. No need for VMs. Luckly Go, Rust, D and now .NET Native might make younger generations aware of it.
- nolok 12y agoObject Pascal is not the predecessor to Delphi Delphi is the IDE and compiler, Object Pascal is the language (Free Pascal Compiler and GNU Pascal are two other compilers, both exhibit the same quick and safe compilation).
- pjmlp 12y ago> Object Pascal is not the predecessor to Delphi Object Pascal was designed at Apple as their extensions to Pascal while using it as system programming language to develop the first versions of Mac OS. Afterwards, Borland extended Turbo Pascal with Apple's agreement and then Turbo Pascal 5.5 was born. After the initial versions of Delphi, the Borland marketing team decided it was a bit confusing to have Delphi and Object Pascal as names, and decided to start referring to the language as Delphi as well. I was a Turbo Pascal user since version 3.0 all the way up to the first versions of Delphi.
- nolok 12y agoYes I'm quite aware of the history but the fact that borland/embarcadero choses to call both delphi doesn't really change what I said though, every where besides the marketing of this IDE clearly considers object pascal [1] as the language (with several implementations/compilers), and delphi [2] as the IDE. Delphi's own documentation, once you're past the marketing naming on the box, makes it clear that the language is object pascal. [1] http://en.wikipedia.org/wiki/Object_Pascal http://en.wikipedia.org/wiki/Object_Pascal [2] http://en.wikipedia.org/wiki/Embarcadero_Delphi http://en.wikipedia.org/wiki/Embarcadero_Delphi
- 12y ago
- Joeri 12y agoMy employer has a multi-million line codebase in Delphi which is still under active development. I mostly do web development, but every once in a while I go back in to build a feature on the Delphi side of the fence. The IDE itself is dated and no longer competitive with the best of the modern IDE's. The language and API however is updated and productive. You just need to get over Pascal-style syntax instead of C-style, and you are just as productive in it as if you were using C#. Why is delphi still hanging on? 1. It delivers executables that need no dependencies. No VM's, no runtimes, no add-on dll's. Underneath it only needs x86 and win32 (unless you're building for mac, android or iOS, which it also supports). I wouldn't be surprised if our software still ran on windows 2000. Since the code is native, performance is never a problem even with wildly inefficient code. 2. It lets you build GUI software really quickly. Productivity in delphi for someone used to it matches any "modern" GUI development platform. Sure, the IDE misses a few features that competing IDE's have, but on the plus side it compiles ridiculously fast (a full build of 2 million lines takes less than a minute on a single core). 3. Delphi is the easiest platform by far to have legacy code on, because the maintenance cost is very low. Delphi's contemporaries (classic VB, MFC) have all gone through major upheavals. Delphi has managed to modernize the API's without breaking legacy code too badly (they even managed to elegantly retrofit unicode into the platform). This is why codebases that are based on Delphi somehow never get ported away from it. Delphi's competitive with other desktop and mobile development platforms, even at what they're charging for it. What they're charging for it is the problem though. Only people already using delphi buy delphi, and so the perception is maintained that delphi is effectively dead, even when it isn't.
- coliveira 12y agoThe great thing about Object Pascal is that, unlike C or C++, it was designed to compile really fast. Pascal units completely remove the burden of C++ header files. In the end, you are almost as productive as with a dynamic language and you still have compiled code. I haven't seen another language to get even close to the balance achieved by Delphi in this respect.
- nikbackm 12y agoD perhaps? It's also designed to compile fast and to native code. Maybe it's not as mature and robust as Delphi yet though.
- mtkd 12y agoI look at tools for DOM manipulation right now - and I look at what people dream of doing with the DOM, especially with apps. Then I think back to what Delphi was doing in early 90s - then I wonder if just some of that magic was available for building apps on the DOM we'd be in a better place.
- pjmlp 12y agoThis is why kids these days jump into web development, they aren't aware how good tooling we already had back then.
- eitland 12y agoEverybody else seems to love it, even compared to Java. I can't help but think of using three days to collect and compile all dependencies for a legacy project. At that point at least I'd take Java and maven any day.
- ivanhoe 12y agoDelphi had one of the best and most useful help documentations I've ever used. In my eyes it was a huge winner for Delphi over Visual Studio products, although I never really liked the pascal syntax...
- spitfire 12y agoDelphi/Pascal and Wolfram mathematica are the two things I point people to when we talk about documentation. Every single function had a working snippet example. Mathematica had details and applications for each function, while Delphi/BP had a well written explanation of what the function would do and how to use it. They are the standards that have not been surpassed yet. Or even approached imho. These days you get an auto generated docstring explaining that xval is "the x value passed to the function".
- smegel 12y agoReminds me of ColdFusion. It should be dead, but it's not.
- Jugurtha 12y agoI first touched Delphi as a teenager (I was 14 or 15 at the time), and it was Delphi 6. I had already tried different languages by that time. I had already programmed in BASIC as a child and it was great, for a kid like me who didn't have Internet access and named text files to .COM and .EXE in the hope they would do something, this was awesome. But I still wanted .EXE files and I then tried Pascal, which gave that to me. I also tried few examples of C, but the code I had access to was in Pascal, and I didn't have the doc or internet, so I kept tweaking. And then I discovered Visual Basic (in its DOS and Windows) and I was able to do buttons and forms and tigers.. Yet, with Visual Basic, there was always this bloated feeling.. I mean, you had to make an installer for your programs with files like VBRUNXXX.DLL and error messages yelling at you, and depending 16bits or 32bits, VB4 or VB6, so ... it's even fuzzy in my head. And then I found Delphi 6. The first time I tried it, I thought "Hmm, this is Pascal !". I compiled my first thing, and I automatically looked of parasitic files VB style.. Nope. It was that .EXE.. So I took that .EXE file to another computer and ran it, and it ran. It didn't need any other files. I didn't have to make an installer for it with WISE or something. It just worked. I was happy. When my brother who was in CS and was doing image processing (tumors, edge detection, etc), he did his project in Delphi and I'd hang around, and he'd ask me how to do this or that, since I started programming in it before he did, and it was so easy for him to implement stuff and build the application. So maybe that's why it lasted so long. Easy enough for a kid to do stuff with it. It needed not a lot of knowledge to make buttons and forms, etc. I just make the layout, then program what each button does, etc.. And it was simple. I may be a biggot, since I tried Embarcadero but it smelled nasty since it was, at least for me, an utter mess. I prefer Delphi 6. It may be nostalgia, but I don't htink it's only nostalgia.
- pjmorris 12y ago"With very few exceptions, technologies don’t die. In this way they differ from biological species, which in the long-term inevitably do go extinct. Technologies are idea-based, and culture is their memory. They can be resurrected if forgotten, and can be recorded (by increasingly better means) so that they won’t be overlooked. Technologies are forever." - Kevin Kelly [1] [1] http://kk.org/thetechnium/2006/02/immortal-techno/ http://kk.org/thetechnium/2006/02/immortal-techno/
- Lerc 12y agoTo add my two cents, here's a piece I wrote on why I use Delphi/Object Pascal a few years back http://screamingduck.com/Article.php?ArticleID=43&Show=ABCE http://screamingduck.com/Article.php?ArticleID=43&Show=ABCE Now that time has moved on, I no longer use Delphi at all, and rarely use FreePascal. My currently active projects are C, Node.js, and Browser Javascript. For game projects I prefer Haxe. For future large scale projects. I'm eyeing Rust. When the time comes I'll probably be weighing up the relative maturity of Haxe and Rust. They are developing from different directions, Rust being more idealistic and Haxe being more pragmatic, but I think they'll grow aspects of the other over time.
- noonespecial 12y agoI always gravitated to it because it was a fantastic painless (mostly) wrapper for the beastly win32 API. As a unix programmer, it was great when I "just needed a quick windows GUI" for something. Delphi has been my secret weapon for more than a decade now.
- waps 12y agoI loved it for that too. It's amazing how much easier most things are in Delphi. Yet everything remains possible. I wrote a windows application firewall in Delphi, and that worked. Man that was a great experience.
- bdamm 12y agoI loved Delphi back in 1997. Then I moved on to Java, and never looked back. It was wonderful though, and GUIs were so easy. It wasn't my first language, but it was the first language I become truly comfortable and productive in. My move to Java was partly because I was straddling the Windows and Linux worlds, and Delphi couldn't cross that chasm with me at the time.
- ketralnis 12y agoAnd why should it? It may not be trendy but it's a really quality environment for its use case. I only wrote it as a hobby as a teenager but compared to trying to write Visual Basic or C or Java on Windows it was a real dream. As a hobbyist the absolute most important thing was seeing my effort actually materialise in front of me and to that end it was amazing. And Pascal is a dream compared to C for slightly-higher-than-C level stuff. I loved it and I hope it sticks around. I just took another look and it compiles applications for Windows, OS X, Android, and iOS. Maybe I should give it another go some time.
- jimmcslim 12y agoI have recently joined a small successful ISV selling and developing a couple of Delphi apps in an industry vertical in which I have significant experience; my prior experience has been C#/.Net for quite a while, and before that Java. I recall buying the Delphi IDE way back in the day; possibly when I was still at university, definitely when Borland was still around! So some informed observations: 1. The quality of the IDE is incredibly dire compared to Visual Studio+Resharper or Jetbrains IntelliJ. Perhaps it will be improved if a buy a license for Castalia. That said, I've been using XE3, maybe the more recent versions are better but it seems that Embarcadero have been focusing on getting into the cross-platform mobile game (one which I think Xamarin/Phonegap/Titanium, etc are playing better) rather than increasing the quality of the tools or enhancing the language. XE6 may have some improvements under Embarcadero's "QPS" (Quality/Performance/Stability) project. We haven't upgraded our licenses since the versions since XE3 didn't bring anything for us, but if we want to see Delphi survive then perhaps we should be chucking some money Embarcadero's way! 2. The language is quite verbose, and I find the need to declare the 'interface' for a class separate to the implementation of the methods quite cute. There's so much ceremony around anonymous methods that it hardly seems worth it some times. Lack of built-in multicast delegates for event handlers. 3. I recently attended a local symposium put on by the user group. There didn't appear to be much diversity amongst the attendees. I would charge that lack of diversity is not a sign of a healthy software development community. Speaking with one of the organiser's, they mentioned that Embarcadero doesn't introduce new Delphi customers to the user group any more since it is just "grumpy old men". 4. At this symposium one of the talks was on dependency injection. I was bemused that this was a new idea to the Delphi world. One of the advertisers in the symposium papers was a consultancy whose pitch basically was "so you've been making money from selling a product, but you're getting old and want to retire. Pass the source code and rights over to use and we'll work out an arrangement to continue development whilst maintaining a royalty stream for you". 5. Packaging of open-source for easy reuse is challenging in Delphi. Unlike managed environments such as .Net or Java, reusing well-known open source components is as simple as adding an assembly or a JAR to your project (yes, I acknowledge that in the past this has had its own challenges, but I think in the .Net world at least Nuget has largely conquered this). The native binaries nature of Delphi has meant there is no such equivalent (that I'm aware of), although I'm considering leveraging Nuget's packaging format and tools for BPLs.
- StillBored 12y agoI used delphi extensively in the mid 90's, from the 1.0 release until about 2001. Those were probably some of the most enjoyable and productive times of my life. IMHO, nothing comes close to the syntactic clarity of object Pascal. This has a ton of knock on effects for long term maintainability. Plus, the early versions of the Delphi component model were insanely clear and well documented. My first delphi program was a reimplementation of a 6 month long (4 programmer) access database/vb application. I completely reimplemented a 2 man year project in about 24 hours with it using little more than the help docs. After a quick demo at work on Monday, everyone pretty much agreed to kick MS Access/vb to the curb and pick up my code base. The data aware components were a life saver, and to this day programming in a wide range of languages I am constantly reminded how painful doing things that were simple 20 years ago is. It drives a fundamental distaste into my mouth every time I'm hacking an AJAX app to do basic sorting/filtering of a simple result set. Usually doable with delphi in a matter of a few mouse clicks. Plus, by the late '90s there were a ton of 3rd party component libraries that nailed just about every GUI interaction an average program might need. The integration of reporting components made generating nice paper printouts a snap too. So, this is probably why its still being used. Reimplementing a delphi application of a hundred thousand lines is probably a thousand man year project with a "modern" web stack. And so, much like the mainframes running in the data centers of banks/insurance/etc companies, delphi is probably still driving a fair number of business logic applications. I know that some of the applications I wrote in the 90's are still in use at government agencies. BTW: I used BC builder too, and hated it even though I tend to like C++. The C++ syntax was simply to unwieldy vs pascal. I have periodically tried out more recent version of delphi or lazurus http://www.lazarus.freepascal.org/ http://www.lazarus.freepascal.org/ and they don't seem to be nearly as elegant as the early versions. Seems all the effort to make it cross platform (kylix) or match up with the .net component models cluttered up the early clarity of implementation.
- hoodoof 12y agoI feel like Delphi has made a recent exciting comeback to relevance. AppMethod allows development of native compiled apps for OSX, Windows, Android and iOS, all from the same Delphi code base. That's a compelling proposition.
- gshubert17 12y agoIsn't Delphi currently hosted only on Windows? I would love to use a tool like Delphi on OSX to make apps for OSX.
- mrsaint 12y agoWhy? Because it cannot just die yet! One of my most frequently used Windows app is in Delphi. Total Commander. ;)
- conradfr 12y agoDelphi 3 introduced me to programming in my teen years. Somehow that's why I never dived in C I guess. I remember how you only had to dealt with pointers when you used Windows API. It took years to Microsoft to get the web right (as everyone who used Visual Studio and .NET before MVC could tell you), it's no wonder it was difficult for a company like Borland to transition. As a PHP developer I wonder why I never tried that "Delphi for PHP". Coincidentally I interned at Borland France during my marketing years ten years ago and developers were really passionate about Delphi.
- mihaela 12y agoI have been Delphi developer for more that 15 yrs. I had 2 shareware apps, one of which is still selling (very well). But now I work in Objective C. Xcode is much better IDE (Delphi is 32 bit, and crashes often with big projects). I will probably continue to do Delphi, on the side, but iOS and OSX are my main domains of interest. Delphi devs are old, no new fresh blood, no jobs available, no new books are being published. Online material is mainly marketing, no useful blog posts, new frameworks, package managers.. Delphi is great for people that have been using it for ages, but with the current pricing, and no 'community' edition, it will not attract new developers.
- justwannareply 12y agoI agree with most of your sentiments, but no new books and no new frameworks isn't completely true. For example, I just started reading Coding in Delphi (https://leanpub.com/codingindelphi https://leanpub.com/codingindelphi) which describes a few current efforts. Still I'm hesitant to make use of those, because they would further lock me in with Embarcadero; sticking to what's in Delphi 2010 itself at least allows for a relatively smooth transition to Lazarus at some point. I haven't given up on the principles of Delphi yet, but I have on Embarcadero.
- nobleach 12y agoI completely identify with this poster. I inherited an app written in CA Clipper (a language from 1987) It became FoxPro. I had to learn those ancient technologies. Surprisingly, I really enjoyed it. I loved those old terminal/DOS apps. Around 1999, we made the decision to migrate the entire app to Object Pascal/Delphi/Kylix/InterBase/FireBirdSql. It was an incredible effort. I loathed, yet loved it. What I learned during that year STILL comes back from time to time in my current development projects. Kinda makes me feel old! When I started doing C#, I felt quite at home. Apparently, the guy who did Delphi, got hired at Microsoft.