Delphi Renaissance
bongo69 writes "The TIOBE Programming Community Index is reporting that Delphi is experiencing a revival, this coincides with Borland recently releasing Delphi 2005 allowing users to target both win32 and .net platforms, which to some, is a welcome alternative for .net developers reluctant to use Microsoft Visual Studio or the opensource alternative SharpDevelop."
http://lazarus.freepascal.org/
.net but it does support windows linux and (just about) mac os x
ok so it doesn't support microsofts
Talk about the smallest market ever conceived.
Numbers are nice, but I'd also like to know why. Does anyone know what advantages Delphi has over Visual Studio and mono products?
Which makes it harder to write bad code. PLus, it's Borland. Borland, IMHO, writes better compilers than MS, and better libraries too.
Best Slashdot Co
Yes, I've used it for over a year. It isn't nearly as slick as VS.NET but I find it to be pretty usable. When combined with the GUI debugger from the .Net SDK it makes a pretty decent development environment.
Actually Delphi is still quite a popular in the UKf erre r=none&SiteID=2&MarketID=14&IndustryID=1&Mode=&Sea rch=Ind&PageNum=1&Industry=IT+%26+Internet&RankByT itle=1&JobType1=&PostedDays=7&Keywords=delphi&Sort =1&Locations=)
(http://www.cwjobs.co.uk/JS/JobResults.asp?re
It was SO FAR ahead of the field when it first came out, I actually did my first non-unix based programming on it and was very impressed. Sadly like most Borland products, while being technically superior to their rival offerings they have just never got the market share they deserved.
The reason is only rarely technological. Borland's languages, from their Turbo- series onwards, were always significantly better than Microsoft's, but the market chooses tools based mainly on intertia and marketing. Microsoft advertised their way to dominance. Remember that so-called "Visual C/C++" was simply a wrapper around a few poor tools, with Visual Basic being the only component-based system, producing slow interpreted code, while for yearsBorland were producing fast compiled OO apps with Delphi.
There's a reason why some people dislike using MS tools and adore Borland's tools. Often, though, the developer does not have the say in such choices.
Sig for sale or rent. One previous user. Inquire within.
It's interesting to note that Novell is porting SharpDevelop to Mono.
See http://www.monodevelop.com/
Why is it so hot? Where am I going? What am I doing in this handbasket?
I used Delphi in my first programming job out of College. Initially I chuckled over the fact that it was Pascal, but eventually grew to learn and love Object Pascal.
It wasn't so much the language that made it great, it was the way the IDE, Debugger and compiler all played so nicely together. And yes, a C++ version was available as well. It was all of the ease of Visual Basic (and let's be honest, more) but without the bullshit of being stuck with some horrible language and the pain of trying to manage runtime distribution. Delphi compiled all dependencies into your binary, if you so wished. No more dll hell, at least, as far as your Delphi applications went.
It also had the relatively unheard of concept (at least in the windows world, at that time) of direct database access. You didn't have to mess with ODBC. You could write your corporate app for in-house use, and just let them change parameters in configuration screen, use them to connect to a database yourself. No freakin ODBC control panel applet to mess with. Nirvana, I tell you.
The VCL was another nice Borland item. It was their Visual Component Library (I think) and it was basically a wrapper around the standard Win32 controls/forms. Worked very well, and even made it over to linux with Kylix.
Unfortunately, Borland subscribed to the commodore school of marketing. The best place to see Borland adverts was in Borland targeted publications. The choir was already converted, but they never figured that out. That combined with typical MSFT tactics (hire away their best developers, give away competing products for a song) reduced Borland to a shell of it's former self. Now they exist by pumping out JBuilder updates every 8 months and living off that revenue gravy train.
In the early days, Delphi was not just a 'Pascal for Windows', but a much-faster-executing alternative to the other RAD system out there - Visual Basic. Remember how slow VB was until version 5 or 6, when it actually became compiled?
Another reason why it's so popular, is it's based on Pascal. Which is much easier for many people to program than C/C++
Borland's early C/C++ products for Windows were much faster than Microsofts as well. They did make many mistakes however (remember OWL?)
Go to http://groups.google.com/ and look for old newsgroup discussions of Visual Basic vs Delphi. Fun reading.
I'm sure that there is going to be a bunch of Delphi bashing posts but Delphi was one of the first truly great object-oriented development environments (the other might be IBM's VisualAge). It allowed for rapid layout of forms with the power of OO components. And the language, although not loved by many, is consistent and just as powerful as Java. The component library was also second to none.
Delphi 2005 is really good value for money. For the same price as previous Delphi releases you get C#Builder, Delphi for Win32 and Delphi for .NET all in the same IDE. And Borland have enhanced the Win32 language too, they haven't just plugged it into the new IDE. So they show that they do actually care about the rest of us that do not believe that .NET really delivers that much benefit (and quite a few negatives actually) to end users.
.NET than VB6 to VB.NET.
Unlike Microsoft, Borland doesn't believe in pushing one platform. They have no specific platform agenda. When you buy Borland tools you know you're getting something that preserves your existing investments well- be they multiple platforms or simply your existing code base. For example, it is much easier to move code from Delphi for Win32 to Delphi for
That, and all the enhancements to the IDE such as refactoring, sync-edit, and MDA developement make Delphi 2005 a winner!
Microsoft Visual Studio is neither visual, nor is it a studio.
Discuss.
Weaselmancer
rediculous.
One thing that annoys me about Borland is that they have a bunch of IDEs that overlap. They should unite all of them and have a single IDE similar to how Microsoft has Visual Studio that supports many languages. If you were to buy a bunch of this IDEs to support multiple programmers who want to use their religious language, the price will be higher than Visual Studio, which comes with the same languages except Pascal and Sun's Java.
A survey based on a Google search referred on Slashdot. How trustworthy.
Well, we can't have you strutting around all day thinking that!
Have you ever used a Borland IDE? I've used both Borland and Monoposoft and prefer Borland by far. Especially for UI development. All the properties of an object are easily accessible and the IDE's dialogs are nicely designed instead of being modal and unsizable.
I don't think any developer can disagree...
Rich And Stupid is not so bad as Working For Rich And Stupid.
I don't know (or care) about .NET, but if you are
writng a windows program Delphi is staggeringly more
efficient to develop in than C++. You can also use it to do Windows API stuff efficiently, meaning you can write most of your custom controls in delphi itself without have to resort to C++.
I just wish they could get their act together and make better documentation.
I actually used C++ for many years before finding out about Delphi, but now that I've switched there is no way I would ever go back.
Of course, more efficient development is not in the best interests of most programmers, because they are motivated to drag out projects as long as possible for job security reasons. But when you are doing fixed-bid contracts, or even if you just care about your reputation, Delphi is the way to go.
New web cartoon: Jendini.com
I would say that SharpDevelop is one of the best Free-As-In-Beer environments for you to learn how to write software in C#. Download the ECMA docs for the specification and try to write a few programs, and it works out pretty well. Certainly much better than trying to write something with a text editor and trying to compile by command-line when everything else you may have is done through a GUI environment. Get the C# How-to books if you don't have access to them anyway.
I happen to be a Delphi developer as well, and my #1 complaint about Sharp Develop is that they use the Visual Studio environment as the model for how user interaction should take place. It isn't bad, but moving between Delphi and #Develop can be a bit of a paradyme shift that is uncomfortable. For those who are VS fans, it would be a much more familiar environment (like the windowing stuff and location of help files, etc.)
The GUI end is a little bit clunky, but it is getting better. The first time I tried #Develop the menu editor was so buggy that it crashed the package. It has been showing significant improvement over time, and is remarkably stable now for some fairly serious GUI development. They bootstrapped the development with Visual Studio, but I believe that #Develop is self-compiling now (the editor can be edited with itself).
The part of getting it to work with Mono is a big deal, and the only real reason that it doesn't self-compile in Mono is because Mono lacks the GUI support necessary to get it to work. This is being worked on, and with #Develop getting stable there is now a larger push to get it working in Mono on Windows (and yes, Linux too). It would be terrific if you could get true cross-platform development going for a GPL'ed GUI development environment.
The person who originally wrote Turbo Pascal, and was also largely responsible for Delphi, led the C# design team.
Delphi is some kick-ass technology. It's a solid language, it compiles like *lightning* (essentially instaneous since ~1997), zero link times, and the provided libraries are great. Maybe not greater than .net, mind you, but an excellent alternative that was there many years earlier.
Delphi used to be the darling of the small developer and hobbyist programmer. Not only did you get all of the above benefits, but the standard edition was only $70. An absolutely brilliant alternative to Visual C++ and Visual Basic.
But then Borland quietly upped the price and changed the licensing. It used to be Standard for ~$70, Professional for ~$500, Enterprise for ~$1000. Then they changed it so the cheapest edition you could use in a commercial environment was $1000+. The only other version is Personal, around $100, but it is strictly license-bound to be used for learning the language and writing applications that other people don't use. Borland essentially made a one-line change to the license that forced programmers to jump to a product that costs 10x more. The result? Delphi web-sites and tutorials and hobbyist-written programs in Delphi dropped like a rock. Too bad, Borland.
The Microsoft VS C# guy started about 15 minutes late, since he couldn't figure out how to increase the font size in his IDE so that the audience could read the screens that he was demoing. He gave up on that. So, we couldn't read his screen too well, but it was no loss. He didn't get very much to work. He did show us screen after screen of inscrutable WSDL automatically generated for us, but he never got it to do 1/10th as much as the Borland guy accomplished in roughly the same time.
Maybe it would be premature to buy Borland's product based on just those two demos, but you'd have to be religiously insane to buy Microsoft's on the same evidence.
Why do you assume there are "countless superior" languages out there? Have you ever tried programming in Delphi's dialect of Pascal?
.Net works because of that move.
.Net, however, is proving to be a very lucrative venture and fit into the Delphi paradime. Borland now offers several languages targeting the .Net environment in Delphi 8/Delphi 2005. The weakness, in my opinion anyway, is that the class libraries are still base on WinForm. That makes it relatively difficult to port to Mono at this time. I hope we see a change there soon.
.Net.
I program in a variety of languages. However, I became a Delphi convert when Delphi was first released. And, I still am a Delphi convert today and it is my tool of choice for Win32 programming.
As another post points out, Delphi is, and still remainds, a superior IDE, a very fast and optimizing compiler, a wide range of tools and components (VCL and CLX based) and decent. The "Delphi" language is merely the latest incarnation of Object Pascal. It is not Turbo Pascal -- it has evolved far beyond that.
The Delphi environment makes RAD programming possible with its compiler, debugger and visual editor symbiotically working together. Other tool developers (even MS) try to mimic the seemlessness of the environment and, for the most part, fail. MS went so far as to recruit the lead developer behind Delphi.
Until just recently, Kylix broght the power of the Delphi to the Linux community. Unfortunately, it wasn't a success there.
The bottom line is that Delphi is make resurgence because people see the advantages of such a development environment and the popularity and pervasiveness of
RD
I'm using it. :-) And I've evaluated a lot of other IDEs. The nice thing about Delphi is that it supports the code-to-the-metal kind of developer and the RAD developer. You have the power and the ease-of-use, and that's not just a marketing blurb.
Maybe if they create PascalScript and merge it into OOPascal we can have both. If you don't supply a type, then a scriptish dynamic variable/object is assumed. VB allowed this (although they did it in a kind of ugly way).
Anyhow, one nice thing about Pascal's syntax is that the type and scope declarations comes *after* the variable declaration. The variable name is more important than the type, and thus easier to spot if it comes before type declarations. The giant list of types and keywords preceding the variable name has always bothered me in C-derived languages, such as Java.
I hope the next generation of languages learns this lesson and incorporates it. (Although some people prefer the types before for whatever reason, I should point out.)
Table-ized A.I.
The original Delphi through Delphi 4 used a language called Object Pascal. With the release of Delphi 5, the name of the language was changed to Delphi.
No Delphi compiler understands C++, although C++ Builder can compile Delphi code and Delphi supports compiler directives for exporting C++ headers for use by C++ Builder. Delphi 2005, the newest Delphi version, does not include C++ Builder; it includes C# Builder.
In the past, Delphi has included C++ Builder as a separate install. It was usually the previous release version, so Delphi 5 came with C++ Builder 4.
Delphi 2005 is three products in one. It handles Win32 development in the Delphi lanaguage, it handles .Net development in the Delphi language, and it handles .Net development in the C# language. It's all in a single IDE, not separate products. To my knowledge, Borland still uses Microsoft's C# compiler for that portion of the product.
Rob
keep Kylix up to date with Delphi and not let it wither...
Better yet, why have Kylix, when you could just have Delphi with a Linux runtime to support the environment.
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
I used Delphi for a number of years. With it, we created really useful, truly OO design, really beautiful stuff that substantially simplified everything. As an example, we designed a GUI for industrial ink jet printers. (These printers resemble the 24 pin dot matrix printers of two decades ago in print quality, but can print at 750 ft/min from 1 inch away on the bottom of an aluminum soda can.) They have all kinds of weirdness such as text can only be 5, 7, 9, 11, 13 or 24 dots high, and vertical position must "snap" to the next available slot. Dates, serial counters and so forth are done with special control codes. I could go on and on, but suffice it to say, these are strange rangers. We made message objects with field sub-objects. When these were handed to the On-screen display stuff, they created and drew themselves with special bolderization and colors for the date (and other) fields. When they were handed to the printer, they formatted themselves appropriately and chatted merrily away through an assigned serial port.
I can hear you all saying that you can do that with any OO language, but all I can say was that everything in Delphi (or rather, most everything) just felt logical and right. I never felt I was shoe-horning or forcing things. Have you ever gone into a room and the light switch is exactly where you put out your hand, the window latch turns in the way you expect it, the desk is just the right height and you reach down to adjust the chair and your hand falls exactly on the lever? That's what Delphi felt like. God, I miss it.
As for C or C++, god-as-my-witness, C WAS MEANT AS A HIGHER LEVEL ABSTRACTION FOR ASSEMBLER! The idea of taking a wonderful, elegant assembler-abstraction language and writing a word processor in it just gives me the screaming-nightmares. It's like building a mechanical clock out of legos; amazing when done once, masochistic when done repeatedly.
Delphi revival? Are you sure? The UK job market stats are as follows:
C# : still ramping up - here
Java: Recovered well in the last year - here
Delphi - flat as a pancake. Much smaller market, and has failed to recover when the others did, which means it is losing market share to them - here
My Karma: ran over your Dogma
StrawberryFrog
You are naive if you think that C, C++, Java, or C# are "superior languages". Languages used commercially are basically going in circles and are still at the level of 1960's and 1970's technology.
As far as technology goes, it's been shown time and again that there is no such thing as a deterministic progression of technology. Most technological change is motivated primarily by environmental factors (much like evolution, actually), and most environmental factors are motivated by political and sociological conditions. Several good books on the subject are Albert H. Teich's (ed.) Technology and the Future, and David F. Noble's Forces of Production. Noble makes a convincing argument in favor of re-visiting previously developed and alternative branches of technology, focusing on point-to-point and continuous numerically controlled automatic metalworking machinery as examples. Despite being developed several years later, being more technically complicated and backed by millions of US military dollars, after a decade of modest growth continuous-path N/C machines were still inferior to point-to-point machines in efficiency, and were quickly outsold by point-to-point machines when they were re-introduced to the market in 1960.
Lucky for (good) programmers, judging whether software technology is crap or not comes quite naturally, and such expensive trial-and-error market experiments shouldn't be necessary. As many people have pointed out, by many metrics Delphi is worthwhile technologically, and enables certain productivity advantages. The environmental factor is key here - witness yourself parroting the unfounded assumption that Delphi is somehow an ancient, inferior technology. I don't think you thought this up all by yourself, but rather this seems a more widespread notion in the IT industry. The question to ask is why is this so? I don't have a good answer.
In the great CONS chain of life, you can either be the CAR or be in the CDR.