Wednesday, June 29, 2005

War of the OOPs?

Nick Hodges talks in this post about some quirks, regarding to OOP and the .NET Framework. Of course his statement "Microsoft doesn't quite get OOP" does generate a lot of dust and discussions out there.
Julian Bucknall replies in his own CodeFez entry stating "Nick doesn't quite get OOP", and Steve Teixeira's responses in his blog here.

I must say I agree a lot with the statements that Nick makes regarding the .net framework, although I can not oversee all the technical details (yet), I think:

- The .NET framework is far by mature, it takes a lot of code to make things happen.
- ADO.NET is not mature yet (I can not say that it is not designed properly, but it still misses some important pieces in my opinion). See my blogentry When has the data changed .
- OOP code is supposed to reduce the amount of code.
- Sealed classes should not exist.

I must say that I probably only feel this way as a Delphi VCL developer since 1995.Anyway very intresting reads though, all that different opinions out there.

Thursday, June 23, 2005

Wednesday, June 15, 2005

A look in the kitchen called Delphi

Steve Trefethen has an intresting post about The Delphi R&D development Process. Really intresting to read how Delphi is made (...in Borland).

Monday, June 13, 2005

Hello DeXter

See the new Delphi IDE -> Delphi 2006 codename DeXter.

The video shows a C++ application build in DeXter.

DeXter:
  • Nice tabs
  • Nice little blue balls at the edge of controls
  • Looks fast

Some old Delphi papers

I moved some of my papers, formely hosted by The Software Developer Pages, to this weblog. The papers cover the Delphi basics on OOP programming and Database programming. They are now about five years old and based on Delphi 5, but I guess they are still pretty actual.

If you are intrested, here are the links:
Papers in English
Papers in het nederlands

Delphi and SDO

Borland is pushing hard the Software Delivery Optimization technology. It has until now always been difficult to exact point out what it is and how it fits in the Delphi IDE and our daily work as a software developer.

On BDNTv you can watch a serie of episodes, which explains SDO and show previews of how different part are integrated in de Delphi IDE.

To point out a few:

It is pretty sure that Delphi will fully integrate the SDO stuff in the future. I personally don't use it right now, but the integration will surely help 'playing' with it and later on using it.

Friday, June 03, 2005

The future of Delphi

On Bitwise Magazine, you can watch a video interview with David I. David talks about Delphi and about the future of Delphi. So if you wanna know where Delphi (Borland) is heading go over and watch it.

Some history

A post in the Borland non-technical newsgroup about the history of Delphi triggered me to dive in the history of computer languages.
You can find a complete overview of the history of computer languages here. There are 50 languages in this timeline chart.
It all starts in 1954 with Fortran. I am not sure if this is the first computer language ever because only 50 out of 2500! are shown.
Pascal 'starts' in 1970 and evolves to Turbo Pascal in 1983 and later on of course into Delphi(1995).
The charts shows relations between the languages. One particular is the one between Delphi and C# in the year 2000, so I guess C# really is Delphi's brother. :-)
The site has great resources to all kind of languages.

For the complete history 'From Pascal to Delphi' (including codenames and release dates) the guys at Dragonsoft made an overview here.
On Delphi Basics you will find a brief history on Delphi.

My history with Pascal/Delphi:
For myself the history with Pascal starts in 1989 with Turbo Pascal 3. (Can't remember the exact version)
A couple of years later I made a slight turn to Clipper, but I did not like the 'not existing' IDE, I guess Turbo Pascal already had an excellent integrated enviroment (Editor and Compiler in one IDE).
Clipper, of course, was great with databases, but I turned to Turbo Pascal 6 in combination with the TOPAZ toolbox, which was incredible with DBASE databases. (I can remember a book coverage with plumbers, plumbing the data into your application :) )
After that I used all Delphi versions except version 3.

For those who don't know yet you can download several old TP versions from the Borland Museum.

Wednesday, June 01, 2005

New online magazine: Bitwise Magazine

The BitWise Magazine has gone live, covering Delphi, Chrome and other languages, and also other computer related stuff.
It comes once a month and is worth checking out!

Friday, May 20, 2005

Delphi 2005 update 3 available

Delphi 2005 update #3 is available for download here.

Update 21-05-2005:
97 errors has been solved in this update. You can view them here in Quality Central.

Thursday, May 19, 2005

An unofficial comparison between VS and D7/D8/D2005

My Visual Studio (C#) project is still in progress and I have now some experience with the Visual Studio IDE.
So let's compare it with Delphi!

What I like about Visual Studio version 2003:
  • Automatic code generation for events
    If you want to use an event(delegate) of an object you can use the tab key to generate an event handler.
  • xsd design for datasets
    I haven't found this in Delphi yet.

Well thats it! I can not think of another something that makes me say Wow!

What I miss in Visual Studio 2003?

  • Structure view
    Although there is a Document Outline view, which does this trick in VS 2005 but is empty in VS 2003.
  • Code Explorer
    This one I really miss, code folding just does not do the trick for me.
  • Live Data
    Well what can you say, we are spoiled from Delphi 1 until now.
  • Code Completion
    There is code completion (see above) but it is much more implemented in the Delphi IDE. It is so much easier to type your property IsNice:Boolean; and then to click the magic keys(CTRL-SHIFT-C) then going to a class view and add a property where you must declare the Field yourself afterwards. (This might be a C# versus Delphi issue)
  • Code / Design tab at the bottom of the main view
    In VS you have in no time an never ending range of tabs (two for every form). In Delphi the form and design tab are at the bottom of the screen, so one at the top for each form.

Well just my 2 cents.


Stored Procedures or not....

Should you use Stored Procedures or Ad-Hoc SQL?
This question came up recently in a project. During investigating the issue I found a very good discussion via this Coding Horror blog entry. There is a great link there with a very detailed explanation (and discussion) of issue. (Pro's and contra's)

One of the things you will find in the discussion is that the 'SPs are secure by nature claim' is wrong or at least over judged. Only parameterized Stored Procedures and query's are secure for SQL injection attacks.

Conclusion:
Don't use Stored Procedures for granted, look at the specific situation, considering security, maintainability and performance.

Great discussion though!

Saturday, May 14, 2005

How to write maintainable code

How to write maintainable code is the one question that comes up everytime a developer designs a new application.
On this website I found the 'other way around approach' i.o.w. How to write Unmaintainable Code.

Quote from the website:

"if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code. Then again, if you followed all these rules religiously, even you wouldn't be able to maintain the code!"

"You don't want to overdo this. Your code should not look hopelessly unmaintainable, just be that way. Otherwise it stands the risk of being rewritten or refactored."

Hahaha, this is funny!
So if you don't follow that rules, your code is maintainable!
; -)

Thursday, May 12, 2005

Borland Delphi Survey

On BDN there is a great Delphi Survey.
It shows pretty much what Borland has in mind for Delphi's future.

Go Delphi!

Wednesday, May 11, 2005

ADO.NET: When has the data changed?

I am still struggling with ADO.NET and databinding in particular.(see my earlier post 'In quest for the ADO.NET AfterEdit event') .

In this episode: When has the data changed?

In a datagrid
If I have a datagrid bind to a dataset-table, and I edit a value (without navigating to another record) the DataSet.HasChanges function returns true. That is correct! After that you can call GetChanges or AcceptChanges. (This is expected behavior)

In a textbox
If I have a textbox bind to a dataset-table-field and I edit the value (without navigating to another record) the HasChanges function returns false. (!?) In other words the change is not commited to the dataset.

But......
I can Accept those changes with AcceptChanges????? This is very strange!

Again: What am i missing?
(I know VCL's TDataSet! :-) )

Tuesday, May 10, 2005

D2005 the performance update

According to this blogpost by John Kaster, Delphi 2005 update 3 will be the performance update.

The following items will be updated/improved:

  • Slow Project Load Times with Modeling Enabled
  • Slow Response when Editing Models
  • Long Pause when Switching Between the Editor and Form Designer
  • Access violation removing breakpoint

I suppose it will be out any time now.

Sunday, May 08, 2005

My first PDA application

In Delphi 2006 there is a chance that the Compact Framework is supported. You can read here more about it. I don't have plans yet for PDA programming so I can wait till Delphi 2006. However curious about the whole thing I started searching and finally found a really nice tool from GrandaSoft for PDA form programming. It consist of two tools, first XSForms, a sort of runtime to install on your PDA and second XSDesigner, the IDE for designing the applications.

This tool allows you to make a PDA program without any line of code, with mulitple tabs, in no time what so ever! Really cool, hey I can program PDA's!
The forms are stored in XML and XSForms provides navigation between the records which are stored in a Pocket Access Database. The tool itself is still in development, and by now you can not code in it, but what the hack, you can make great applications on the fly and it is free for private use. For a test I made a Grocery List Manager (in dutch), and it looks like this:





Nah I don't use it yet for real, but it was fun to make. :-)
All with all a real nice tool to watch closely in the future.
I am really excited about PDA programming and looking forward (and hoping) to the VCL implementation of it.

Saturday, May 07, 2005

ECO Accelerating Development demo

I stated it before ECO makes the difference between Delphi (.NET) and the competition. It is a great technology, if only it could become available in a 'lite' version for the professional SKU it would IMO become THE development way for .net application with Delphi.

On BDNTV there is very (in depth) detailed demo about ECO II, a must have seen!

Use an image as your UIBarButtonItem

Using an image as your UIBarButtonItem in your navigationcontroller bar can only be achieved by using a common UIButton as the BarButtonItem...