2009
02.28

Initial Delphi rambling

  • var section – how quaint. How 80′s.
  • Default color coding kinda sucks
  • Pain in the ass to have to have separate declaration and implementation of functions and procs, but the C-language variants all have this so I guess it’s understandable.
  • Typing begin/end; all the time is a drag. I miss the auto-curly braces (and parenthesis, etc.) of IntelliJ
  • Why do we need functions and procedures? Why not just functions?
  • Code complete is not great. It is very slow, you can’t use tab to select what you want, and the list is not fully alphabetical and is often very very long:

codecomplete

  • The help file is rather poor. I wasted about 2 days trying to figure out how to populate a TClientDataSet programmatically, when I was finally shown the “Create Data Set” menu in the popup menu on the component. I could not find any reference to this anywhere in the manual. Also note the confusing terminology – Create Data Set? Weird.
  • The home key in the editor should alternate between the beginning of the line and the beginning of text on the current line.
  • The “uses” section does get updated automatically when you drop a component on a form, but it appears that it still has to be updated manually when adding code that references objects not already in uses. IntelliJ handles the imports automatically.
  • I miss the auto error checking in IntelliJ – you know something is wrong with your code the minute you type it. No need to compile first.
  • I miss Java’s error reporting because it tells you the line where the code blew up. All you get in Delphi is the error.

errorexample

  • This must not be my day. I just downloaded the PDF help file for the cxGrid, and I can’t index it. It hangs Preview. Ugh
  • Oh man – when you clear a dataset in a TClientDataSet, you must remember to clear the fielddefs – ALL OF THEM. Ugh
  • Great English

greatenglish1

  • IntelliJ has no problem doing this:

nocodecompletionwitherrors

  • I love how when you’re new to Delphi and you’re looking for string functions so you call up the help and the first thing you find is something called “String Functions”. “Oh – that must be it”, you say, so you click it and then your help window resizes to a size you did not want and the string functions are actually from some 3rd party library. (RAP). Then you go to resize the help window and it gives you an error that the help file doesn’t exist. LOL
2009
02.28

So I thought I’d start off by explaining why I am currently working with Delphi. Since May, 2006, I’ve been working for the world’s leading provider (I think) of software to the private equity industry. I’ve worked pretty much exclusively in Java for at least the past 10 years or so. The product I work on, a Java-based web application that allows investors to collaborate online to perform their due diligence on investment opportunities, has lost a few clients of late, all blaming the economy and the need to cut costs. My employer could, if they wanted to, save a lot of money and lay me off, but thankfully they’ve asked me to do a tour of duty on our flagship product: a windows based application written in Delphi.

Now notice I said “thankfully” – it should not go unnoticed that I’m very happy to just have a job in these tough times. Also, the team that develops this software are all top-notch individuals, any of which I would ask to join my own company if I had one, and all of which I am honored to work with. Lastly, the application itself is extremely powerful and is used by a very large percentage of the top investors in the private equity world.

It’s just that I haven’t worked with Delphi in 14 years, and it’s not something that I have any desire to learn. These days my heart is in Mac/iPhone development, but unfortunately I’m simply not driven enough to spend all my free time mastering Cocoa and Objective-C. My sole wish is to someday get paid to write Mac/iPhone software.

And then there’s Windows. After working almost exclusively in OS X for the past 4 years, I really just can’t stand working in it. I took one look at Vista about a year ago and was not impressed at all. In fact I thought it was horrible. I know Windows 7 has been getting some good press, and I’m happy about this – competition is good – but I’m so comfortable and productive in OS X that you’d have to hold a gun to my head to go back.

Either that or ask me to do a tour a duty on your employer’s flagship product. :-)

So these next few entries are essentially going to be me venting about my frustrations with both Windows and Delphi. Disclaimer: I’m well aware that many of my Delphi complaints are not without workarounds or solutions, so if anyone ever reads this who is fluent in Delphi – keep in mind that I’m a new comer and I’m just expressing my frustrations, and that I don’t hate Delphi by any means – I just would much rather be digging into my fat Cocoa book than my fat Delphi book. Ok?

2009
02.28

Ok Then

Well – here we are. I’ve decided to start blogging, and this time it’s for me. I just wanted a place to vent and to document how I’m feeling, what I’m working on, etc. Although the blog is open to the public, I’m not advertising it.

Initially, I’m going to write about my recent foray into the world of Delphi 2007, which began 2/9/2009. My first Delphi project was created on 2/10, and I’ve been working with it now for roughly 14 days, not counting weekends or my trip to NJ for training. Just yesterday, the Cantu book arrived (“Mastering Delphi 7″), and immediately paid for itself in the first 10 seconds when I opened to a random page and discovered CTRL+SHIFT+C to automatically create a function definition from a declaration. I can’t tell you how many times I’ve forgotten to add the damn class name to those definitions!

Much more to come. Time to grab some breakfast and clean house.