Slashdot Mirror


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."

32 of 155 comments (clear)

  1. Disambiguation by Zouden · · Score: 4, Informative

    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"
  2. Borland has died after Borland Delphi 7 by vivaoporto · · Score: 4, Interesting

    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).

    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 .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.

    1. Re:Borland has died after Borland Delphi 7 by pdawson · · Score: 3, Informative

      They sorta realized this. CodeGear is all the development apps (Delphi, C++, C#, Java, etc.) spun out to a new company. Borland is still around, and they're keeping the code management crap for themselves.

    2. Re:Borland has died after Borland Delphi 7 by osgeek · · Score: 3, Interesting

      I'll take it a step further. Borland/Inprise/whatever is such a fucked up piece of shit company that I'd never knowingly start a serious project that depends upon them or their products in any way.

      My team has suffered from blistering crotch fires of agony trying to cope with C++ Builder's (5 & 6) linker woes. Rather than spending our valuable development time on important-for-our-customers product development issues, the very existence of our company became reliant upon working around our inability to even link our growing application.

      It was a horrible mess, and one that Borland was useless in helping us to resolve because they were off working on new products that never saw the light of day.

      Never *ever* again.

    3. Re:Borland has died after Borland Delphi 7 by Bozdune · · Score: 2, Insightful

      ...blistering crotch fires of agony...

      Thank you, that's one to file away in the "useful phrases" department. I like it.

  3. Oh, great by Corporate+Troll · · Score: 3, Insightful

    Writing insecure web applications in less time. Thanks Borland! ;-)

  4. Another desperate attempt. by Yuioup · · Score: 4, Insightful

    Another desperate attempt by Borland/Codegear to appease their dwindling developer community.

    Delphi is dead. Nothing to see here. Move along.

    Y

    1. Re:Another desperate attempt. by dunkelfalke · · Score: 2, Informative

      no, no, it's resting.

      now serious: delphi is still the best tool for developing win32 apps and it is still widely used in europe.

      --
      Conservatism: The fear that somewhere, somehow, someone you think is your inferior is being treated as your equal.
  5. Re:Nice (so-called) dot-net alternative by Anonymous Coward · · Score: 3, Insightful

    >> 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...

  6. Apparently you have no clue about php ? by unity100 · · Score: 2, Informative

    With php, code is seperated from the design, templates handling the visuals.

    all major software like phpbb et al are like that.

    you can make it so that not a single byte of code mingles with template if you wish.

    php offers liberty on seperating content with the code. some do not, some do.

  7. Re:Nice (so-called) dot-net alternative by tolan-b · · Score: 4, Informative

    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.

  8. Re:Nice (so-called) dot-net alternative by sherriw · · Score: 5, Insightful

    "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.

  9. Re:Nice (so-called) dot-net alternative by boaddrink · · Score: 2, Insightful

    If this year was 2000 then I would agree with you. PHP has quite a few MVC frameworks that have been around for some time and are fairly extensively used in enterprise environments. If you know any developers embedding their PHP in the HTML in large apps please ask them to stop.

    Here is a small example of a few MVCs out there.
    CakePHP - http://www.cakephp.org/
    Symfony - http://www.symfony-project.com/
    Zend Framework - http://framework.zend.com/

  10. Re:AJAX for database access??? by Gramie2 · · Score: 3, Insightful

    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.

  11. Re:Does this IDE build upon the existing interpret by Aladrin · · Score: 2, Interesting

    It appears to be the regular PHP, but they've created a library for common controls. (Yes, they made a library for making textboxes and radio buttons. -yawn-) At first I thought it was a php plugin written in C or something, but no... It's just plain PHP. What was wrong with making the controls in HTML like always, I dunno.

    I'll admit, I've written a function to take an array and make a dropdown box from it, but Delphi's VCL is going a bit far, I think.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  12. Re:You kidding me. .NET alternative ? by Anonymous Coward · · Score: 3, Interesting

    With all due respect , .NET is a great platform for enterprise-level development.

    Hardly. .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.

  13. Re:Nice (so-called) dot-net alternative by CastrTroy · · Score: 2, Insightful

    What I like about PHP is that it's flexible enough to do either kind of programming. Being an ASP.Net programmer, I sometimes wish it were just easier to mix the code and presentation when making a quick page. On large projects, it's good not to mix the two, but sometimes throwing together a simple page is easier if you can mix code and presentation.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  14. Re:Does this IDE build upon the existing interpret by Red+Alastor · · Score: 2, Informative

    It's largely based on the qooxdoo javascript library.

    Check the demos here and here.

    --
    Slashdot anagrams to "Sad Sloth"
  15. Re:Nice (so-called) dot-net alternative by daeg · · Score: 2, Insightful

    Anyone can make a language or framework insecure. PHP just makes it easier than most.

    Are you subscribed to the Secunia security mailing list? A good 1/3 - 1/2 of them are flaws in PHP applications with widespread installation bases. That says something about the language, whether it is the language itself or the prominent users of the language, but I suspect it is a combination of both.

  16. Did they miss the point? by muxecoid · · Score: 2, Insightful

    If webdevs do something Windows they use ASP (ASP.NET). ASP.NET is already RAD-like, the niche is taken.
    If they offer tools for PHP and MySQL target servers run Linux, target developers run Linux, and they are missing again.

  17. Re:Nice (so-called) dot-net alternative by suv4x4 · · Score: 4, Informative

    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.

    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, .net, java).

    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.

  18. Let's hope you're evaluating REAL REAL fast by suv4x4 · · Score: 3, Funny

    ... because CodeGear offer this trial on their web site:

    "Free, fully functional 1 day trial"

    Right, 1 day.
    Great.

    1. Re:Let's hope you're evaluating REAL REAL fast by suv4x4 · · Score: 2, Informative

      As one of the CodeGear people explained, it was intended to be part of some kind of 1-day on-line seminar. The seminar had to be cancelled, but they decided to make the demo available. They realize that a single day is "sub-optimal".

      PR is hard. Basically if the CEO's About page needs a photo but lacks one, which do you think is the better option, PR-wise:

      1. Use the only photo of the CEO available, where he has his pants down.

      2. Wait a bit and make/provide a better photo.

      Unless they plan to assign a CodeGear "guy" explaining the situation to every user visiting their site, they'll look like morons to people who go there to evaluate their software.

      Not only is it 1 day, but the activation is ridiculously complicated (activation.. of my trial.. by basically putting files in my documents and settings/[user] folder)

  19. Re:Does this IDE build upon the existing interpret by Aladrin · · Score: 2, Informative

    A good IDE is worth its weight in gold. It doesn't need helper libraries to make it great.

    I think you are right about being trapped in it, though... The VCL, if nothing else, would trap you irrevocably. But then, they're treating it more like an IDE for different language, and being tied to a language is true for any language. Just like Ruby on Rails is treated differently than plain Ruby.

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  20. Your app on Delphi by suv4x4 · · Score: 2, Interesting
    This is your app on Delphi (TM):

    I installed the trial Delphi for PHP and created an app which prints "Hello World" on the screen.

    For a reference, this is how this looks in plain PHP (granted no MVC and so on, but for the sake of example..):

    &lt?php echo "Hello World" ?>

    What does Delphi do?

    1. Loads several thousand lines VCL code
    2. Loads all the menu, form, container and "external" controls, although they're not used (thousands of lines of code)
    3. The Hello World is a label (no simpler way) which has around 50 properties (color, bg color and what not) defined in an XML file. I left all at defaults, but never mind. The file is loaded, parsed.
    4. The Label class inherits from CustomLabel, which inherits from Components which inherits from other stuff I didn't even bother check, it goes through all properties, and figures out after a lot of thinking that it should print the words "Hello World".


    Keep in mind I simplified it so you stay with me. There's also a bunch of other stuff happening, application classes and what not.

    And again, this is how it's done in plain PHP:

    &lt?php echo "Hello World" ?>

    This Delphi stuff is really promising I tell you. Or, rather, it's supposed to look promising when Borland pitches CodeGear for sale again. Don't forget, CodeGear was spun off so that it's income is more clearly defined, and it's a more lucrative sale. Borland doesn't care of CodeGear has a future, it only wants to make it LOOK as if it has a future, and this project is sadly nothing more than this.
    1. Re:Your app on Delphi by ajs318 · · Score: 2, Insightful

      Well, this is what happens when you use an authoring package of any kind. It's a pretty much unavoidable consequence of using a tool to do a job for which it was not designed. That's the difference between a calligrapher and an idiot with a stencil.

      It's obvious when a web page was made using Dreamweaver, because you'll get things like <font> tags around spaces and sometimes nested <font> tags rather than declaring the colour, size and typeface in one {or, preferably, doing it properly with CSS}. The problem is that these authoring packages don't reduce things to their simplest terms the way a good programmer will do as a matter of course. It's rather like using a slide rule to do a series of multiplications followed by a series of divisions, as opposed to alternating multiplications with divisions {which is almost twice as fast; a multiply-and-divide operation is just as quick as a single operation, unless it goes of the end and requires repositioning of the slide}.

      All in all, a WYSIWYG front end to a non-WYSIWIG process always ends up being a bit like having a device with piano-like keys that clips onto the neck of a guitar and frets and strums the strings according to the keys you're pressing, so that -- in theory -- a pianist can get a tune out of a guitar. In practice it looks riduculous and sounds mediocre at best.

      --
      Je fume. Tu fumes. Nous fûmes!
  21. Re:You kidding me. .NET alternative ? by umghhh · · Score: 2, Insightful

    but the problems with speed are down to the coding faults people make because they have not a clue how java really works (not a clue about .net - never worked with it). OC you may say that because java folk is an uneducated lot then it is irrelevant whether java code can be fast or not - dead weight of java coder will kill the speed anyway. //

  22. Re:Nice (so-called) dot-net alternative by Dragonslicer · · Score: 3, Insightful

    Are you subscribed to the Secunia security mailing list? A good 1/3 - 1/2 of them are flaws in PHP applications with widespread installation bases. That says something about the language
    That it's easy enough to learn that complete idiots can write crappy code in it? A bad programmer will write bad code in any language that you put in front of them. PHP just happens to be one of the few languages that's simple enough that the aforementioned idiots can write code that works (for varying definitions of "works"). Programming languages can only do so much to promote security before the non-idiots complain that the language won't let them do something that they need to do.
  23. Re:Delphi Dead? by Ronin+Developer · · Score: 3, Insightful

    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

  24. Re:Nice (so-called) dot-net alternative by shutdown+-p+now · · Score: 2, Insightful

    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.
    The point is that there is nothing specific to PHP that facilitates this approach, and a lot (such as its template syntax) which distracts from it. If you're going the OO/MVC route, why not use Java? Or, if you really like dynamic typing, Python (and at least get Unicode working properly), or Ruby with all its cool language features?
  25. PHPeclipse by TwilightXaos · · Score: 2, Informative

    You probably already know this then, but eclipse can be used to develop php as well:

    PHPeclipse User Manual

  26. mod me 'luddite' by steveoc · · Score: 4, Insightful

    Please mod me down as an old fashioned technology-phobic luddite .....

    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 :!! out to a shellscript that generates a template given a table name. Its not rocket science.

    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 .. 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.

    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 ?