Sunday, June 06, 2004

My Experiments With Delphi

After several years I have again started working on Borland Delphi. I used to be quite proficient at it. Its interesting how my perspective for things have changed. It still remains an incredibly productive environment for Windows programming especially for a hobbyist programmer like me.

The environment has changed a little since the version 2.0 I was using and the version 7.0 that I have now. However, the changes are quite miniscule compared to the jump in versions. I believe this speaks volumes about their excellent design in their first few versions. They have extended it to support Web Services, XML, Internet programming, newer debuggers, a host of new things but the original clean, easy-to-use framework remains.

Delphi 2.0 used to have an excellent coding editor. Visual C++ had an equally good one. They had identical debuggers of very high quality. The debugging abilities have remained quite the same, I think. Their ability to always run with debug on is quite convenient.

However, all is not great. I believe Delphi's innovation at basic coding productivity is very very low.

Comparing with any of the existing Java editors like IntelliJ Idea, Eclipse, Pramati Studio and you will find an a variety of tools that are integrated into the editor that pop up "Just-In-Time" to provide an excellent coding environment. Both languages, Java and Delphi, have coding tasks that interfere with the basic thought process. Delphi has a whole lot more than Java. Java needs import statements too be added which its IDEs do automatically. Delphi needs function prototypes, variable declarations, imports and some more house keeping which the Delphi editor does not do. VERY IRRITATING.

All the Java editors do online validation of code so that you always know what went wrong and they will manage code completion irrespective of syntax and semantic errors. The Delphi editor after half a decade of evolution cannot do that. It simply says that code completion is not available. That is unbelievable.

3 comments:

Nick said...

I'm not sure what you mean when you say "Code completino is not available". It is available. The changes from 2.0 to 7.0 are quite substantial -- perhaps you missed them? Code completion, error insight, and code insight are just a few. It is admittedly behind in the refactoring area, but you've sold it short, I think

Sachin said...

On some kind of an error, syntactic or semantic, the code completion popup fails to appear with the message that it is not available.
Recovering from errors for coding features should have been there by now.
I could not locate any way of having online validation of my sources without needing compilation.
Error correction popups are also not evident. For a host of errors, error correction is almost obivous needing just confirmation from the user.
In terms of its abilities it is substantially better than 2.0. I dont deny that. I was mentioning that the basic UI hasnt needed any changes since 7.0. That demonstrates a high quality of UI engineering. With respect to its ability to make existing functionalities merge with the RAD paradigm Delphi remains excellent - much better than any other Java IDE.

Anonymous said...

Delphi is great, but the editor sucks. Like you said, so many years pasted, the editor's function is still at stoneage level.
No named bookmark, no jumping back and forth between files based on bookmark,
No split windows for different view of the multi files (new edit window sucks)
No keybord remap,
Only one macro can be record and the macro even can not be saved,

so many features that other ameture editor have but delphi/c++ builder editor do not have!!!!!!!!