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

RAD Studio 2010 - Delphi, C++ and More...

Embarcadero interview
Tuesday 18 August 2009.
 

As Embarcadero announces the forthcoming versions of its RAD Studio 2010, which includes its Delphi, C++Builder and Delphi Prism products, we talk to Michael Rozlog (Senior Director of Delphi Solutions) and ask a few questions about the direction of Delphi and the future of IDEs in general.


Michael Rozlog is Senior Director of Delphi Solutions and is the product manager for 3rd Rail (and Eclipse-based Ruby On rails IDE and Delphi for PHP). He joined Borland in 1998 and was their chief technical architect for their enterprise software.


- RAD Studio 2010 is a product of Embarcadero: http://www.embarcadero.com/

Huw C: Hello Michael. Embarcadero has announced a whole bunch of new features in RAD Studio 2010.

MICHAEL R: That’s right. In this release we’ve had over 120 IDE enhancements.

Huw C: OK, so what are the top three or four?

MICHAEL R: One of the top things we’ve done is implemented what we call IDE Insight. You press the F6 key and it pops up a window. You start typing in what you want to do - ‘compiler’ say - and right away it’s going to show you all the compiler options. You can select the one you want and it will either take you to that area or it will execute it.

For example, I might press F6 and type ‘new’ and it will show me all the ‘new’ stuff and I can then select ‘new application’ and press Enter and it’s going to give me a new Forms application and then I can start typing ‘button’ and when I click on that it’s going to put a button on there.

So not only does it help me find information very quickly but it also shows me all the hotkeys. We believe it helps you get from point A to point B faster and it’s also going to help you long-term understand the IDE better. The cool part about this feature is that it goes throughout the entire IDE - whether I’m building, compiling or debugging a project - and when I add new things into it, it learns about those new things.

Huw C: In general, then, are the main new features related to the IDE rather than to the compiler or language technologies?

MICHAEL R: No, that’s just one aspect of it. When you look at what we’ve done with the compiler you’ll find a ton of those little things that people have been complaining about and that we wanted to get cleaned up. But IDE Insight is really a strong feature for every developer because there are always times, in a product as big and robust as RAD Studio, when you need more help. There are even times when I can’t recall some compiler switches!

Delphi is a Pascal based visual-design IDE based on an object-oriented version of the Pascal language and hosted in Embarcadero’s RAD Studio 2010 environment. Originally developed by Borland, it was later taken on by the break-away company, CodeGear, which in 2008, was acquired by Embarcadero. Delphi Prism (developed by RemObjects) implements a somewhat different variation of object-oriented Pascal inside Microsoft’s Visual Studio. Delphi Prism may either be installed into a free standalone edition of the ‘Visual Studio Shell’ or into a regular commercial edition of Visual Studio.

Who Needs An IDE Anyhow...?

Huw C: We’re talking about making IDEs ever more powerful but there are a lot of people these days who are coding with simple text editors and who are very ‘anti-IDE’. They say that a programmer can be more productive with an editor than with an IDE. What’s your view on that?

MICHAEL R: The way I look at the world is that there are multiple types of developer. There are some people who will always feel more comfortable in a command-line type of environment. We believe that over the last twenty-some years there have been sufficient advances to help you develop more efficiently than with a simple text editor and command-line compiler. Just small things like IntelliSense. If you want to do it from a command-line you can do so and still be somewhat productive - but not as productive as when you use the IDE.

Look at something like Ruby On Rails and how you would use that to create your application - it almost preaches from the beginning that you don’t need an IDE to do this because it’s going to generate all the stuff for you. And I believe Open Source right now kind of pushes a little bit of that idea too.

Huw C: You have several different platforms for your IDEs at the moment. You have the ‘traditional RAD Studio’ environment for Delphi and C++Builder, you’ve got Visual Studio for Delphi Prism, you’ve got Eclipse for JBuilder and 3rdRail and then Delphi For PHP does its own thing. Doesn’t that cause a problem for people who want to use more than one of your languages - say they may want to create an application with PHP but link it in to an application developed in Java? How do you address the problem that people might want to use more than one language with more than one IDE?

MICHAEL R: One of the things that’s interesting is that we brought out Delphi for PHP which looks extremely like Delphi. It looks like Delphi, it acts like Delphi, you go through the same build process, the same construction process as you do with Delphi. It’s en incredibly rich environment. One of the reasons for that is that Delphi For PHP has a PHP VCL (Visual Component Library) much like Delphi.

Delphi For PHP and Delphi Prism

Huw C: Delphi for PHP started out with another company based in Spain, I believe. Would it not be possible now to integrate it into RAD Studio so that you could have a Delphi For PHP project as part of a multiple-project solution?

MICHAEL R: Absolutely. Delphi For PHP could be brought into the RAD Studio environment.

Huw C: Are you saying that that’s something you plan to do or something that’s under discussion?

MICHAEL R: It’s always under discussion. If we bring it in house, that’s great. If we work with the developer who does Delphi for PHP and they bring it into RAD Studio, that’s going to give them an additional set of capabilities that have already been worked out in the IDE framework whereas right now if they want to do a feature or function they have to mimic what’s in RAD Studio which causes a ‘rework’.

Huw C: Just to clarify this, are you saying that this is something that’s going to happen or is something that is purely a possibility?

MICHAEL R: Right now it is a discussion point. It could be done - but will it be done, when will it be done? - all of those issues are still outstanding because we want to make sure that people like that approach. Each approach has its own advantage for the language.

For instance, one of the advantages of Delphi Prism, for me, is that fact that when Microsoft changes either their approach or their framework and they put out an update for Visual Studio, our customers don’t get penalised for that change. When Microsoft makes a change, users of Delphi Prism get that change almost the exact same time that Microsoft the people get the change.

One of the things that you heard from people trying to do .NET with Delphi previously was the fact that they were behind. We were two frameworks behind. With Delphi Prism, being built on the Visual Studio Shell, that solves that problem. If Microsoft comes out with a brand new Designer tomorrow to handle GUI development well, guess what, we’ve got that too.

HUW C: While Delphi for Win32 and Delphi Prism share the ‘Delphi’ name, they are not the same language. If I were developing in Win32, one of the advantages of the previous .NET version of Delphi was that it was easy to migrate a project from Win32 to Delphi for .NET. But that’s not the case with Prism because there are quite substantial differences.

MICHAEL R: The biggest difference is that there is not a VCL .NET. We continue to work with RemObjects in making sure that we have a better parity between what the native Delphi can do and what the .NET Delphi can do. Looking at the component infrastructure, there is going to be a divergence between us for the foreseeable future because one has the VCL and it exposes Windows functionality through that; one has the .NET Framework and it exposes functionality through that. But the underlying languages are getting closer - and that is really the strong point. When you think about writing for .NET you want tools for .NET and I believe that going for the Visual Studio Shell gives us the opportunity to give the best .NET experience and to be very productive very quickly in a .NET world with a Delphi-like language.

HUW C: I know that RemObjects has always been keen on introducing certain new language features into the version of Pascal now known as Delphi Prism. If I want to program in both Delphi for Win32 and Delphi Prism will the same set of language features be available to me or will the languages continue to have differences?

MICHAEL R: There are still going to be differences between the languages. However we are trying to work together to make sure that we are getting closer and closer. We continue to look at things such as generic type variants. How do you manage non-managed code? Those sorts of things are being worked on. We want to know what those customers who really enjoy using Delphi Prism are asking for - what do they need, what is going to make their job easier?

We’re getting feedback from our Win32 customers telling us that they’ve seen things in Delphi Prism, certain language constructs, that are really awesome and they say, hey, do you think that maybe you could do that in Win32 with a native implementation? And so we’re starting to see a bit of ‘cross-pollination’ which is excellent and also we continue to work on the underlying language structures and capabilities to make sure that they are both cutting edge as much as possible. We are working with the team at RemObjects to try to bring the languages closer and closer together.

RAD Studio Features and C++Builder

HUW C: Finally, can you give me a bit more detail on some of the main new features in RAD Studio 2010. We talked earlier about IDE Insight. I see that one of the other features you’ve announced is a code formatter. That’s presumably to give people the option of doing configurable tabbing, spacing and so on...

MICHAEL R: That’s right. Most IDEs have a code formatter. This is one of the things that people have been asking for over the years. We’ve now got it in there and it works really well for Delphi and C++.

HUW C: Can you explain a bit about the Class Explorer? Is that similar to the Visual Studio class browser?

MICHAEL R: We introduced a class browser in the last release of Delphi. It was a new implementation but we weren’t happy with the way it looked and the way it performed so we held the feature back from C++Builder. Now in this version you have the ability to go through tons of code and it will generate UML diagrams for you so that you can look at it in a static format. It lets you understand your code and lets you modify it quickly and easily.

HUW C: So is this mostly to bring C++Builder to parity with Delphi?

MICHAEL R: One of the points I made very strongly to the team when I came on board was that if there is a feature that needs to be “C++” then we’ve got to make it so that C++ people go ‘Yeah, this is great!’

There are differences between Delphi and C++ and so there are things that you need to be able to see and do just a little bit differently in each. I believe the implementation of the class browser for Delphi and C++ has those differences and they will really make a difference for the C++ developer.

HUW C: Moving onto the next point - you’ve announced something called ‘Data Visualisers’. What exactly are those?

MICHAEL R: That’s really an ability for us to open up the Open Tools API and allow you to plug in your own visualisations. In other words, if I want to view data in a different format I could write a tool that allows me to visualise that data during the debugging process.

HUW C: So you mean if, for example, you have some XML data you might display it in XML format?

MICHAEL R: Yes. Something that makes it easier to expose functionality in the debugger.

HUW C: What additional features are there related to debugger thread control?

MICHAEL R: The thing is, as we go towards multi-core and multi-processor, the ability to debug a multi-threaded application, the ability to isolate a thread, to stop or continue a thread becomes more and more important. This is the functionality that allows developers to take advantage of that.

HUW C: But Delphi is not becoming a multi-processor language, it’s not becoming, say, a rival to Erlang, is it?

MICHAEL R: No, but that’s one of the things we are definitely doing a lot of research on right now. What are we going to do for parallelism? Those things are very high on the radar screen going forward.

There’s another thing I’d just like to mention briefly which is the touch support for ‘gesturing’. We’ve put this right into the VCL and what’s really great about that is that we’ve implemented the common gestures for you so that when you drop a gesture manager onto a form it automatically gesture-enables your application. I could load up an old Delphi 1 project, drop on a gesture manager and boom! I have a completely gesture/touch-screen enabled application.

HUW C: One final thing - has the ‘CodeGear’ name gone now? Will all the products be released with the ‘Embarcadero’ name from now on?

MICHAEL R: Yes, Embarcadero is definitely going to be the go-forward strategy. Absolutely.


New Features of RAD Studio 2010

- IDE Insight – a timesaving tool to easily find files, components, features and settings using simple keystrokes and search terms
- Code Formatter – to implement consistent coding styles with minimal effort
- Class Explorer – for a configurable hierarchical view of class libraries throughout a project and enabling fast navigation to declarations and implementations and now available for C++Builder
- Data Visualisers – that make debugging easier by displaying visual representations of data in definable forms
- Debugger Thread Control – to freeze, thaw and isolate individual threads within applications during debugging to track down problems faster
- Create gesture and touch enabled applications in just a few easy steps
- Get a quick start with more than 30 included gestures like left, right, up, down, scratch-out, and interactive multi-touch gestures like pan, zoom and rotate
- Use the VCL Gesture Designer to visually add your own custom gestures at the component level
- Use the virtual touch, multi-locale and multi-language keyboard for on-screen input
- Upgrade existing Delphi and C++Builder applications to add support for touch and gesture input with little or no additional coding
- New and updated database support – New Firebird SQL 2.1 and 1.5 support in dbExpress and updated dbExpress drivers for InterBase 2009, Microsoft SQL Server 2008, Oracle 11g and MySQL 5.1
- New DataSnap multi-tier connectivity – HTTP communication and in-process connectivity for DataSnap Windows and .NET multi-tier applications
- Easier DataSnap server creation – New DataSnap wizards from the Object Gallery make server creation even easier
- Data stream control – Filtering allows for complete control over the data stream between clients and DataSnap servers
- New connectivity protocols - connect to your IT infrastructure and Service-Oriented Architecture (SOA) using RESTful Web Services and JSON in addition to COM, XML and SOAP


Read On

Bitwise has covered many Borland/Code Gear/RemObjects products previously and we have also interviewed senior developers and evangelists. Here are just a few relevant articles which have appeared previously...

- Delphi Prism - Visual Studio Pascal For .NET
- Allen Bauer on CodeGear, Dynamic Languages and Delphi
- CodeGear - Delphi, JBuilder and Beyond...
- Allen Bauer interview (2006): Life After Borland…
- Chrome - Pascal For The 21st Century…? (marc hoffman interview, 2005)

AddThis Social Bookmark Button

Forum

  • RAD Studio 2010 - Delphi, C++ and More...
    17 September 2009, by Barry Kelly

    FWIW, the main compiler feature is improved RTTI.

    • RAD Studio 2010 - Delphi, C++ and More...
      24 February 2012, by iFwilqQujtRyHSb

      A ercdmbaaero atua como se todo mundo brigase pra comprar delphi, como se o produto deles foce o melhor do mundo tipo ferrari , vc paga e espera para ter un carro q todo mundo quer mas poucos poden.

  • RAD Studio 2010 - Delphi, C++ and More...
    19 August 2009, by Olaf

    Why no questions on the 64bit compiler? That’s something which is becoming very relevant as MS starts to drop 32bit versions of Windows (e.g. Server 2008 R2 is only 64bit) and some things must to be 64bit native on a 64bit OS.


Home