logo

 

     
 
Home
Site Map
Search
 
:: Bitwise Courses ::
 
Bitwise Dusty Archives
 
 
 

rss

 
 

ruby in steel

learn aikido in north devon

Learn Aikido in North Devon

 


Section :: interviews

- Format For Printing...

Allen Bauer on CodeGear, Dynamic Languages and Delphi

Interview
Monday 14 May 2007.
 

Recently, the Borland developer tool company, CodeGear, launched its first dynamic language IDE, Delphi For PHP. Next on their agenda is a Ruby IDE. So what’s the big deal with dynamic languages? And what implications does this have for their flagship product, Delphi? Here Huw Collingbourne puts these questions to CodeGear chief scientist, Allen Bauer...

Background...

- In February 2006, Borland CodeGear “announced plans to seek a buyer for the portion of its business associated with the Integrated Development Environment (IDE), including the award-winning Borland Developer Studio (DelphiŽ, C++BuilderŽ and C#BuilderŽ) and JBuilderŽ product lines.” (see Borland Breakup).

- In November 2006, Borland decided to keep its IDE business after all: “After much consideration, we made the decision to establish CodeGear as a separate subsidiary,” said Tod Nielsen, Borland president and chief executive officer. “We have always stated our intention to find the right buyer for this business – one who was committed to our developer community, who would continue innovation in our products and who would offer a sum that matched the value of the business. After a lengthy due diligence process with several serious bidders, we feel the CodeGear decision is in the best interests of our customers, shareholders and employees.” (see: Borland Forming CodeGear).

- Early in 2007, CodeGear launched an updated version of its long-established Win32 Object Pascal product, Delphi For Win32 and a completely new PHP product (unrelated, other than in name, to Delphi for Win32), called Delphi For PHP - the naming of which has caused much discussion - not entirely positive - among established Delphi (Object Pascal) developers. (See So What Is Delphi Anyway?). The Visual Class Library (VCL) of Delphi For PHP is open source.

Huw: Following the launch of Delphi For PHP, CodeGear has said that you will launch a Ruby product later this year. Why are you interested in dynamic languages all of a sudden? And are there any good reasons why your customers should favour dynamic languages to your traditional language products such as Delphi and C++?

Allen Bauer: Actually this isn’t simply and “all of a sudden” interest. We’ve been interested in doing something in the dynamic language space for quite some time. It has just been a matter of opportunity and timing finally coming together. In our recent annual Delphi customer survey we asked the question about what other languages they use and we were surprised at how high of a percentage of our Delphi customers also used PHP. But that doesn’t mean that we’re simply looking to provide a tool for our Delphi customers. There is a very large number of developers out there that have never used Delphi but could clearly benefit from a tool that gives them a Delphi-like experience in the PHP space.

Huw: The naming of Delphi For PHP has proven to be somewhat controversial. For more than a decade, Delphi has been the name of a particular programming product and language. Now this new product, also called Delphi, has a new IDE which hosts a language far removed from Pascal. In your view, what does it mean these days to be a ‘Delphi programmer’?

Allen Bauer: Controversial is an understatement :). This was debated internally among the various teams with great vigor. For many years, the Delphi name has not only been associated with the Object Pascal language, but also it has stood to mean a whole development methodology, a rich and robust component framework, and an IDE tooled specifically around all those things. The language behind it is merely one piece of the whole. The Delphi name does mean different things to different people. By using the Delphi name with this new PHP tool, we plan to extend all those things I mentioned above a whole new class of developer.

Huw: There are literally dozens of well established IDEs for PHP development. I guess the one ‘special feature’ of Delphi For PHP is its ‘drag-and-drop’ style of visual development, which is made possible by its PHP VCL class library. But, given the fact that this library is open source, I imagine it won’t be to difficult for other developers to create similar drag-and-drop IDEs using the VCL. If that, indeed, occurs, what will remain to set Delphi For PHP apart from the competition?

Allen Bauer: Trying to simply do feature comparisons with all the other PHP IDE offerings tends to focus too heavily on the trees rather than seeing the whole forest. Delphi for PHP is not about simply being another player in that space, but about bringing something new that we feel PHP has been lacking for many years. The design of VCL is not about replacing all that has come before, but rather embracing the whole PHP community and its grand myriad of available libraries and code snippets. Just like the original design of VCL on Windows was not about ignoring all the existing controls and functionality already available, but taking those things and presenting them to the developer in a consistent and visually designable manner. Our vision is that VCL for PHP will be that overarching framework that embraces the whole PHP community along with its long history and huge established library of publicly available libraries.

Huw: Given the fact that there are many well established class libraries and web frameworks for PHP, isn’t the VCL going to face an uphill struggle to compete? Is it, in fact, possible, to use Delphi For PHP to build applications using, for example, CakePHP or CodeIgniter? In other words, is the VCL a world unto itself or can it cooperate with other frameworks?

Allen Bauer: I answered a little bit of that earlier. VCL for PHP is not about being another “also-ran.” It is about embracing this incredibly rich community of developers along with their various libraries. Take, for example, VCL for PHP as shipped; it contains several popular PHP libraries wrapped up as VCL components. In some cases it is much more than a simple wrapper because things like data binding was added to allow those components to now interact with the VCL database components where the original libraries have no knowledge of such things.

Huw: With Delphi For PHP, CodeGear already has a product based on a dynamic language that can be used web based applications, so why do you want another product for a competing dynamic language, Ruby, that can also be used for web based applications. Isn’t this going to send out a somewhat confused message to developers - I mean, which is the better product, which one should I choose?

Allen Bauer: I don’t think it is about competing but rather providing the best tools for those who have already chosen to use that language. Another reason is that if CodeGear is to be a company that is about developers, we need to work on providing the tools that developers will use. Just like a carpenter has a wide range of tools at their disposal, so too should developers be able to chose a tool that best suits the task at hand.

Huw: As you may know, I am myself involved in the development of a Ruby IDE. Can you explain why Ruby suddenly seems to be the programming language ‘flavour of the month’. Is there something special about the Ruby language itself or has it simply benefited from the effective publicity surrounding the Ruby On Rails web development framework?

Allen Bauer: While it is true that Ruby has been around for many years, I think that with the advent of the Rails framework, Ruby has began to achieve success. Introducing a new programming language without an approachable, practical framework will tend to hinder the adoption of that language. These days it is hard to for a new language to gain quick acceptance without a framework that clearly demonstrates the unique qualities of that new language. The Rails framework has done exactly this for the Ruby language.

Huw: And, while on the subject of dynamic languages, why have you chosen PHP and Ruby rather than Perl and Python?

Allen Bauer: Quite simply, we had to start someplace. Also, PHP is one of the top, if not the top language in use today for web application development. It is the “P” in the LAMP stack that has very high visibility these days. This, of course, doesn’t meant we’re stopping with PHP and Ruby. As we continue to evaluate the dynamic languages landscape, there may come a time where we’ll be throwing our hat into another ring.

Huw: Finally, on the subject of ‘traditional Delphi’... when I last spoke to you, you told me about the work you were doing on the Delphi compiler for .NET 2.0. In my review of the Borland Developer Studio 2006, you may recall that the ease of transition of Delphi applications between Win32 and .NET was something I singled out as a strength of the product. . In fact Delphi is still way behind the latest developments for .NET (still on 1.1 and no support for the CE). Now that the latest version of Delphi targets Win32 only, does this mean that Delphi .NET is being quietly forgotten. Is it going the same way as ‘Delphi For Linux’, your neglected Kylix product?

Allen Bauer: Again, this goes back to not only our recent customer survey, but also through a lot of direct discussions with our customers. We’ve also been looking at the overall adoption of .NET in general. Quite frankly, the overall adoption of .NET among all Windows developers has not been as fast as originally predicted. Even with the recent release of Windows Vista, it was clear that natively compiled applications are still a very relevant part of the whole realm of Windows developers. As a matter of fact, Microsoft themselves are recognizing this with the recent indications that they plan on adding specific Windows Vista support to the Visual C++ MFC libraries.

In order to serve the needs of our customers, we decided to accelerate the introduction of the Win32 Delphi version. Throughout the whole Delphi 2007 development cycle, work was and still is continuing on the .NET version. It is very much in active development right now and we have no plans at this point to abandon the .NET platform. We still see .NET as very relevant and crucial to the future of Windows development. This is especially true on the web and web-services side where a scalable managed environment is highly desired. Many rich client applications are still best served by high-performance natively compiled solutions.


See also:
- Interview with Allen Bauer - June 2006
- Dynamic Languages - Who Needs Them? (Interview with Jeff Hobbs of ActiveState Software)

As a Chief Scientist for the CodeGear, Allen Bauer is responsible for the overall technical and architectural details of the products. He is also responsible for the working with product management in researching and defining future directions and technological trends.

Allen joined Borland in early 1992 as an entry level engineer on the Turbo Pascal development team. He was also one of the original developers for the award winning Delphi product throughout its inception, initial and all subsequent releases. During this period, Allen worked on both the application frameworks and the Integrated Development Environment (IDE). Allen was responsible for the re-design of the Delphi IDE into a multi-language, general purpose environment which now forms the basis of the Borland Developer Studio.

Prior to joining Borland he was a product design engineer for a security/access control company based in St. Louis, Missouri. Allen also served for a time with the Borland sponsored peer support group called, Team Borland. He was a regular contributor to discussions on the Borland forums hosted by online service provider, Compuserve.

Additionally, Allen is a regular speaker at the annual Borland conference and communicates directly with the customer community through various online media, including a personal blog, newsgroup discussions, and online radio programs.

Allen’s Blog: http://blogs.codegear.com/abauer/


Huw Collingbourne is Technology Director at SapphireSteel Software, developers of the Ruby In Steel Ruby and Rails IDE for Visual Studio 2005.

AddThis Social Bookmark Button

Forum

  • Allen Bauer on CodeGear, Dynamic Languages and Delphi
    14 May 2007

    Hmm Interesting article,

    Too little too late for me, after all the controversies surrounding Borland selling their developer tools and once again doing a complete u-turn(anybody remember the Inprise debacle?) and merely changing the name (though I admit CodeGear is a better name than Borland) I decided to join the dark side with Visual Studio 2005.

    It is also interesting that Allen Bauer is under the impression .Net has not taken off as well as expected? must just be the South West that show a dominance of .Net over other development languages in the job market then, as I would estimate over 70% of jobs advertised are for C# developers with a good knowledge of Asp.Net, 20% C++ Win32/MFC, less than 7% Vb.Net Developers, and 3% for the rest of them.

    Allen Bauer does have a point about Microsoft suddenly taking an interest in C++ once again, perhaps after cleaning the green fly from their rose tinted C# spectacles they were able to see that C++ and it’s developers are not just going to disappear from the face of the earth never to darken Microsoft’s doorstep again or decide that C++ is no longer a useful language and drop everything to start developing in C#.

    Dynamic and functional languages seem to be gaining ground fast over traditional languages, and it will be interesting to see how this pans out in the future, Delphi and PHP is an interesting combination but would not be my first or only choice. I believe that a language similar to OCaml will emerge from somewhere which will have OOP, Imperative, Dynamic and functional capabilities built and will probably be offered as .Net and/or Native flavours.

    Some of this capability is being shoehorned into .Net 3.5 with C# and VB.Net (wot no C++ support) supporting some aspects of the functional programming paradigm, but I think it will be a new beast which will be unleashed that will be Dynamic, Functional and OOP, supporting Imperative programming only for compatibility with existing software.

    • Allen Bauer on CodeGear, Dynamic Languages and Delphi
      18 May 2007, by Allen Bauer

      I never said that .NET isn’t growing and isn’t an important platform. I am merely saying that there is still a lot of life left in natively compiled applications. It’s interesting that even the stats you’re citing indicate that most demand is on the ASP.NET side of the .NET coin. A different animal. I think that ASP.NET is really where .NET shines and is clearly the sweet spot for .NET. For a rich client experience there is still huge demand for high-performance natively compiled applications. This is where VCL can and clearly does excel.


Home