Delphi Turns 10
NavySpy writes "Today is Delphi's Tenth Birthday! The launch of Delphi 1.0 occurred on February 14th, 1995 at the Software Development '95 conference at the Moscone Center in San Francisco. Numerous links are commemorating the event, including a recorded interview with Zach Urlocker and Gary Whizin, members of the original management team. Zack's original Product Definintion document is here. An attendee at the original event reminisces about the launch."
In 1996 or 1997 I tried to learn Delphi to add more to my resume. Correct me if I am wrong... but this language just wasn't freely downloadable like java or perl. As a result, this language never became super popular.
Alas, my experience at Borland left me with a total aversion to the whole scene. It wasn't just that Borland is badly managed, or that everybody who works there seems to have a bad case of "I know what I'm doing, the rest of you can fuck off." It's how great Borland could be if they just developed a general sense of teamwork. There isn't an IDE on the planet that could compete it, if it were just a little more user friendly, a lot better documented, and sanely marketed.
Nowadays I find it unbearably depressing to even fire up my copy of Delphi. I've been boning up on Java...
Do you think Frank Borland is celebrating somewhere in the mountains? :)
Delphi is the one and only language I wrote something in, for Windows. IIRC, I wrote a simple text editor.
.
Then, I decided programming wasn't my thing, and moved on to OS whoring.
Oh, the good ol' days . .
Pretty Pictures!
Ok, color me ignorant, but, is there an opensource delphi compiler
available ?
Delphi turns 10 ?
sounds like you're quite late
The combination lets developers whip up full-featured GUI apps in minutes. This concept was hyped as "RAD" -- rapid application development: Create a new form. Put a tabular editor widget on it. Put a data source component on it. Hook the table widget visually to the data source. Now you have a table containing your database's data.
Delphi later wooed COM/DCOM and CORBA, and added these two systems as first-class citizens in the language, similar to RMI or Distributed Ruby -- suddenly it was a snap to write an app whose objects lived in a separate process or on a remote machine. It was part of an ill-fated strategy to capture the "middleware" market.
Borland's Java product, JBuilder, tried to be "Delphi for Java", but failed to live up to the "just works"-quality of its parent product. Even later, Delphi has gone after .NET, but I stopped paying attention long before that.
Delphi could have been big. It was a masterpiece in engineering. Sadly, Borland shot themselves in the foot in several ways:
Part of Borland's fall from grace may be blamed on greed -- greed and the dot-com era. They were originally a development tools company. But even after the Philippe Kahn-era attempt to compete with Microsoft (Quattro Pro, etc.) failed, the execs made a similar mistake by going after the gold mine that is the enterprise consultancy business.
They renamed their company Inprise, touted a bunch of half-assed products, and drowned their web site and communication in buzzwords about enterprise middleware, B2B, application servers and other stuff that were the obvious product of executives, not visionary engineers. They were not just a product company any more, but now also a "solutions" company. And rather than going after common-sense technologies, they went where the hype was. Their new products were also not up to the quality that customers knew and loved from previous products. In the end, they had the arrogance suited for the business, but not the savvy. So they failed.
Borland have refocused in recent years, and the effort is commendable, but they have not regained their former reputation. For one, I don't know anyone who uses Delphi anymore.
Perhaps most sign
2. Blazing-fast compiles -- there is nothing out there like it, not even the IBM Jikes Java compiler comes close.
3. Great string handling. They even extended their dynamically-allocated string idiom to arrays of primitive types.
4. Made Pascal more C-like -- the PChar C-like null-terminated string (they had to introduce it to be compatible with Windows, but now that they have "gone .NET", they are deprecating it). While it made Pascal less safe, the "I can write a 2-line C program that takes pages of Pascal" kind of went away. You can cast types, pointers, etc, to "remove the safety locks" if need be.
5. You don't have to use the VCL -- you can program to the Windows API if you are so inclined.
6. Good debugger, {$APPTYPE CONSOLE} compiler pragma allows opening a console Window in a Windows app for logging traces, etc.
7. While the support for COM and ActiveX not nearly as seemless as the VCL, a lot better than MFC/ATL.
What don't I like? I am old Pascal hand, but all that typing is getting a little tiresome after doing work in Java and C++. Also, an ActiveX control is this single .OCX file, and it works across Windows versions. To distribute .VCL controls, you have to have a freakin differnt version for each version of Delphi (Delphi version upgrades break more stuff than Windows upgrades).
Only 8 more years and I can kick it out.
Borland already had a VB killer and it was called Visual dBASE.
Now only a shell of what it once was - dBASE at the time was more RAD and more OOP than VB.
dBASE had back in 90-91:
- 2 way design tools
- A subclassable component model
- XDML (xBase database manipulation language)
- A Basic-like syntax
- And more
Borland messed up by thinking all those "visual beginners" could understand basically an academic language (which was Pascal).Every review I ever read of Delphi said basically the same thing: "Better than VB - IF you want to learn Pascal".
They should have tarketed Visual dBASE at the VB market and Delphi at the C++ market (which they also lost).
Things that are written in a "weaker" language, such as Visual Basic, tend to have the top level or the parts you are having your newbie app developer write in the "weaker" language, and they tend to have an "industrial-strength" language (such as C++) "under the hood." Visual Basic consumes ActiveX controls that are written by specialist developers in C++. Now in later versions of Visual Basic you could write ActiveX controls in VB, but am I correct in saying that using an ActiveX is considered "easy", but generating an ActiveX is considered pretty hard core, even with all of the VC++ "wizards" to generate the program skeletons?
You have this type of dichotomy in the "scripting" languages -- you write the app in Python but you write C/C++ extension modules to do the hardcore, time-critical, low-level stuff. The other extreme is Common Lisp, Smalltalk, and Java. While these are considered "easy" languages (not saying Lisp is "easy", but Paul Graham claims he can do much more stuff more quickly with it) -- you are encouraged to do everything in Lisp if you are using Lisp, everything in Java if you are using Java, and while Java has the JNI, its use is discouraged by the official Sun party line. I see Python working on growing from "just being a scripting language" to an attempt, with the right libraries, to make Python another Common Lisp, Smalltalk, or a Java.
I think that Borland went for the unified approach -- the Visual Form Designer allowed programming with drag and drop, it automatically wrote the Pascal, and you weren't really supposed to touch the Pascal very much. In fact, the generated Pascal was so parsimonious, I was afraid of it because I didn't know what was going on -- a lot of what was going on was that objects were initializing themselves and connecting themselves in the form/control hierarchy by reading in state information from the .DFM files (which you can view as ASCII text -- this forms the "second Delphi" language which is a kind of Pascal-syntax XML).
Then you had component development, which was supposed to be done by object inheritance and by writing some hard-core Pascal code -- there were (at least a first) no wizards to guide this, and extending a class by inheritance is a much tougher programming job and the code writer-driven composition of a top-level Delphi app.
Of course, the component developers were supposed to be the hard core programmers, and they could be fewer in number because they would publish their components for reuse for the vast army of Delphi Form Designer weenies. But if the Form Designer weenies were to use dBase Basic, there would have to be a Pascal/C++ other product (at least in the first iteration) to do component developement.
The argument for a single-language universe is its uniformity. The argument for multiple languages (VB.NET /C#.NET doesn't count as those are simply syntax "skins", but Managed C++ may count) is that different languages are suited for the different levels of an app.
Same here. A friend of mine got one of the first units of Delphi 1.0 to reach Norway, and I immediately went over and got a copy -- on floppy disks, as I recall. That was a grand day.
It's funny how one of the milestones in computer programming was missed by most developers, mainly because of bad marketing and development decisions. (Sure, it was a Windows app, but at the time, Windows' only serious GUI competitor was MacOS -- GNOME and KDE didn't even exist.)
Right on. The worst part of it is that they're still doing it wrong.
10 years and the 5th job using Delphi was posted this year as well.
I was listening to talk radio today. Borland Delphi was found dead in its Scotts Valley home at the age of 10. Even if you weren't an Object Pascal anti-Microsoft contrarian raging against the forces of the marketplace, there's no denying its contribution to popular culture. Truly an American icon.
One CPU cycle wasted on digital restrictions management is ONE TOO MANY.
I remember visiting the Windows Show in London on Feb 14 1995 - I bought a copy with my own money, wnet back to the office and knocked up a demo in a couple of hours that blew my boss away.
1. Bastardized Pascal with an undocumented syntax. Yes, Delphi has no formal syntax definition other than the compiler. See this usenet post .
2. The broken type hierarchy. Deriving all the classes from TObject won't replace a decent templating system as the Java folks recently found out.
3. Libraries from the 80's. No dictionary (aka map) type in the libraries.
4. Hard to separate GUI from business logic. The visual components expect being connected directly to DB components (TDataSource & TDataset). This is good for quickly snapping up a simple app, but soon it bites back as your app grows.
5. Poor debugger. As far as I remember it doesn't let you view variables except for the top stack frame (I am 100% sure about that being true in Delphi 5, 90% about Delphi 7).
Not to sound too negative - Delphi has its uses - fast development of small applications. For anything bigger, I'd stick with Java.
I nearly convinced my boss to buy Delphi few years ago. I worked on Visual Basic 6 application and was eager how inflexible Visual Basic is for my current task. .NET)
I forget which edition we wanted to use, but when he saw the price, he stated, that for less money he can have the whole Visual Studio inclusive SQL Server license. (that was the days before
And for Kylix, I installed the first version long time ago. It was fun to read on forums, that people used the personal edition like Access client. He can easily connect to all DBs running under linux and have good gui DB Explorer.
Delphi was a great language for building windows applications. It's VCL managed to abstract out most of the windows hideousness, enough so that beginners had to learn *nothing* about all of that to make quite good looking, and well behaved applications. If you became more expert, it didn't get in your way either. I stuck with Borland products for years, from Turbo Pascal onwards. Their early products were fast, well structured, high quality beasts that were leaders in their day. The developer community was fantastic.
But Borland, the company, what can I say. And let's just agree to politely ignore the "Inprise" episode. Over many years I reported several critical bugs in the VCL and IDE using their bug reporting tools, with fixes and workarounds provided, and nothing was done - over several product releases. In my last role, we switched from Delphi to C++ Builder, and that did it for me. Buggy, unstable and zero support, even for critical compiler and linker bugs that prevented us from building our applications for weeks at a time.
I feel like a valued friend developed Alzheimers. I still miss the old Borland...
...in older versions, the binary form files.
Why, tell me, why they do such stupid thing???
Got Pike?
Since Delphi, programming is fun. I laugh hearing how these other developers clap and brag about their "new features on their languages" when we had have them for years. Delphi came to stay. Converting to Delphi is a no brainer. My current company after seeing what Delphi can do, drop VB and MS C++ and moved to Delphi. Cheers for Delphi, and for many years to come!
My first programming job out of high school was Delphi. I originally thought I was going to be doing Java (1.0) but when I arrived they scrapped the Java idea and asked if I wanted to learn Delphi. I already new pascal from my AP CS days and the Intro to CS class I took at college the previous semester. It took me about 3 days to get up and running on it, and to this day it is still probably one of the most fun jobs I've had.
Delphi itself was a very cool, fun environment to program it. It compiled extremely fast, was very easy to debug, and very easy to quickly build applications in. The project I was working on was building a property management system for hotels and I have to say, for a bunch of guys who were more or less beginner-intermediate level programmers, we did a pretty damn good job. Our app won several awards at hospitality industry shows.
I did delphi for about a year, and have long since been a Java programmer, but I am still nostalgic for my Delphi days. I still prever the way Delphi does event handling over Java. Being able to bind events directly to properties in delphi was very cool. The way Java does it is kind of clunky by comparison.
I have used Delphi commercially from Day 1 for several different companies and it is by far the best language out there I really don't care what anyone else says ... It is quite clear from reading this forum that there are plenty of people out there with lots of opinions, but no real knowledge, I have seen some real stupid remarks and I thank you for entertaining me on an otherwise dull evening... Delphi rocks and will continue to rock, if any of you used it like I have ...