Delphi For PHP Released
Gramie2 writes "Codegear (now a subsidiary of Borland) has just released version 1.0 of Delphi for PHP, a RAD development environment (running on Windows) that produces standard PHP code. It features a large set of built-in components, including ones that use AJAX for database access; and Codegear is encouraging users to develop their own components. The framework, VCL for PHP, is open source, and documentation follows the PHP model. Initial database connectivity is for MySQL and Interbase (Codegear's commercial database that spawned the open-source Firebird), but more are promised."
If you're as confused as I was, it's because the name Delphi can apply to the language Object Pascal, as well as for the IDE used primarily for Object Pascal.
This article is about the IDE being used for PHP, so fans of Pascal syntax have nothing to get excited about.
"A week in the lab saves an hour in the library"
When Borland (then Inprise, then Borland again, then Codegear(?) ) stopped making sober RADs and decided to take a chance on expensive toys for code management, they lost in both fronts. The Turbo Series (Pascal, C and Assembler) and Delphi (the odd versions, 1, 3, 5 and 7) seriously competed against Microsoft products (Microsoft C, Assembler, Visual Series), even outselling them in a lot of places in the world (Brazil, for instance).
.Net would not exist (and consequently, stole Borland's thunder) or the Borland tools would be better even than the Microsoft ones on that fronts (Delphi 8 almost got there, initially). Borland died a sad death, and what we see now is nothing but Post Morten flatulence.
Two things made Borland wreck their scene: 1) losing their creative minds to Microsoft, specially Anders Hejlsberg, creator of nothing less than Turbo Pascal, Delphi and main architect of C#. 2) losing their focus (from useful RADs to expensive but totally good for nothing "Application Lifecycle Management" (whatever it is).
Had kept the focus and the creative minds, either
Writing insecure web applications in less time. Thanks Borland! ;-)
Another desperate attempt by Borland/Codegear to appease their dwindling developer community.
Delphi is dead. Nothing to see here. Move along.
Y
>> Web apps need to be written in proper code, with MVC, and templates, not as code embedded in individual pages.
What, you mean like every developer worth their wage in PHP has been doing for the last x years?
Do try and keep up...
The embedding code in HTML part of PHP is fairly legacy really for anyone doing anything more complex than basic scripts. Any decent larger PHP app will only use that method as part of a templating/view layer (as long as there's no business logic involved it's a useful templating tool), if at all.
Our CMS is MVC (command and controller j2ee pattern specifically), using PHP's embedding in the views only, is fully OO and has an O/RM layer for datastore access. This kind of set-up is increasingly common in PHP now. Just look at the number of application and database frameworks available for it.
Of course there are always going to be kids knocking out horrible scripts, but that doesn't mean there aren't people doing things properly too.
"Web apps need to be written in proper code, with MVC, and templates, not as code embedded in individual pages."
No kidding? Have you ever seen a quality application written in PHP- it can do all these things and more. I've written many quality PHP applications that use a modified MVC architecture and has all the PHP code separate from the output templates. On top of that it uses OO where it makes sense to do so, it's fast and secure.
It helps to know what you're talking about before you spout off. Just because lots of people build rickety shacks out of stone, doesn't mean you can't build a solid castle out of it too.
It's this kind of generalization that pisses me off. It's not the language, it's your crappy skills.
I guess I could have been clearer. Controls on the page can be linked to datasets on the server. The mechanism is AJAX from the browser to the server; then the server deals with the database; and a return to the browser. But all you have to do is define a dataset, and set properties on the control (list box, table, etc.) to point to the dataset.
With all due respect , .NET is a great platform for enterprise-level development.
.NET doesn't run worth shit on my company's Solaris and HP-UX systems. Yes, we're talking about real enterprise systems here. Some Intel box running Windows 2003 Server and .NET does not constitute actual enterprise development. Real enterprise work is done on UNIX systems like Solaris, HP-UX, and AiX.
.NET and Java just can't offer the execution speed necessary for really large-scale enterprise apps. That's why we still use C++ in many cases. And yes, I know that in a small number of unrealistic microbenchmarks Java is shown to be faster than the equivalent C++. But in reality, that's just not the case. .NET and Java just don't scale well enough.
Hardly.
No kidding? Have you ever seen a quality application written in PHP- it can do all these things and more. I've written many quality PHP applications that use a modified MVC architecture and has all the PHP code separate from the output templates.On top of that it uses OO where it makes sense to do so, it's fast and secure.
.net, java).
As a PHP developer, I agree with everything you said, except "fast", unless:
1. we ignore the speed of all the other platforms out there (python, perl,
2. your requirements of "fast" are modest.
Truth is with more complex architectures and lots of OOP, PHP is really slow, even bytecode caching helps only so much.
PHP shines speed-wise exactly with the kind of "html-and-php-code" soup most pro developers despise. When Yahoo claim they use PHP, they in fact use it as a templating language in exactly this kind of "soup", their actual backend is C and Java.
This is why I'm really surprised at what CodeGear is trying to pull off here. As a developer of an in-house component based template engine myself, I know how painfully slow PHP becomes when you try to abstract some of your logic away in classes and so on. Various "PHP OOP" efforts like Zend's own framework or EZ Components prove my point as well.
Delphi's visual approach with VLC is just a huge bunch of abstraction. I can only imagine the kind of speed these PHP apps will have.. In fact you can pretty much say this effort is doomed from the very moment "PHP" got involved.
... because CodeGear offer this trial on their web site:
"Free, fully functional 1 day trial"
Right, 1 day.
Great.
Is Delphi Dead?
First, you have to define what you mean by Delphi. I code using Delphi 5 & 7 (i.e. Delphi's flavor IDE and Object Pascal) every day. With the number of controls available and the knowledge of being able to create my own visual and non-visual controls, this tool allows the company I work for to remain well ahead of our competitors by at least a year ( they copy our features ).
However, Delphi is no longer just the language - it is now a family of IDEs for many different programming languages that have adopted the same advanced IDE and concepts of the original Delphi product.
Is Delphi dead? Well, try to find competent Delphi developers and you'd be suprised. It's probably easier to find older Delphi developers who know the environment very well than to find younger developers versed in it. If you need a Delphi developer, be prepared to pay them well as they are a rare commidity indeed. And, like any developer for any tool/language, their quality and skills vary.
Has Borland/CodeGear blown it? Perhaps. The definitely pissed me off when they raised the price of their tools well out reach of the small developer. They did that when Phillip Kahn built that palace in Scottsdale. Then, they moved to this application lifestyle BS and, essentially, abandoned their core customers. WTF were they thinking? Then, they blew it with Kylix - they didn't fully develop it and keep the costs down to make it easy to adopt. Then, they dropped it like a hot potato. I haven't upgraded my products since then - I certainly wouldn't be able to afford them (the Enterprise and Architect versions) on my own.
Is $249 or $299 too much to pay for Delphi for PHP? Maybe. They will have to show the community that it's worth spending the big bugs over some other IDEs (free and commercial). Will I play with Delphi for PHP? Probably - if they make a trial version that isn't limited (like the Turbo Explorer products are) and actually be able to create my own components and such. And, it sure as hell better be able to talk to Firebird, MySQL and Oracle and not just Interbase - Yes, I like Firebird.
So, is Delphi dead? Let's say that I am retraining myself for C++, C# and probably Java development in the event that I need to change jobs. But, I will continue to use Delphi as it enables me to put food on the table and pay the bills. And, I like it.
RD
Please mod me down as an old fashioned technology-phobic luddite .....
:!! out to a shellscript that generates a template given a table name. Its not rocket science.
.. its just a few javascript functions and a bit of PHP on the receiving end. You should be able to code that in your lunch break.
But I read TFA, and viewed the demo vid, and I cringed.
Maybe Im getting old, but Im perfectly content writing my PHP code in vim, and trusting that my template/rendering classes that I rely on will automatically look after the 'drawing of the screens' part of the application, in an efficient manner.
Im happy just writing code that twiddles attributes, performs calculations, and calls SQL. The only 'visualisation' that happens during coding time happens in my head. If you need to pull in the description of an SQL table at coding time - just
The mental state of mind that you need to be immersed in whilst coding is very different to the state you need to be in when testing, or viewing the result from an aesthetic POV. Coding belongs in a text editor, and anything else is a distraction.
Even Ajax - Im perfectly content coding that longhand. Its only a few pitiful javascript functions after all, and I dont see the need to wrap them in a framework. Lets not go around pretending that because we are using AJAX, that we are super-coders on the cutting edge of technology
OK, so my vim/PHP environment might put me back in the dark prehistoric stone ages, but at least I can sleep well at night knowing that none of my webby code is dependent on the fate of a 3rd party commercial product. After all - thats the main reason I use FOSS in the first place. The whole world wide economy can collapse in a radioactive heap tomorrow, and it wont affect my development at all.
And surely to goodness, isnt vanilla PHP with the standard libraries already way high level enough ? What sort of sheer sloth and laziness leads one to think that they need to front-end PHP with something even higher level ? Are we evolving into a race of Jabba-the-hut's, or what ?
Anyone that commits the blasphemy of 'developing an application' using mostly mouse-clicks honestly needs to be placed into a jar of isopropyl alcohol, and donated to medical science - it is just plain wrong, and always has been.
I tend to take the machine's side of the argument anyway - the less code the machine has to munch through in order to come up with any given result, the happier I am. The end result is just pixels on a screen when you think about it, and a lot of frameworks just add more and more layers of code munching for the machine to produce those same pixels and same behaviour. Silly - just keep it light, simple, scalable and avoid dependencies on proprietary products.
Whats so hard about that ?