Wednesday, 12 August 2009

Productivity versus Excitement

Many of the commentators in my two recent posts pointed out that the IDE additions and fixes in the forthcoming Delphi 2010 will increase productivity. I have no doubt about that. There’s one in particular I can see saving me quite a bit of time, and that’s the uses units. I use that little tool all the time, and could never understand why it automatically always put the unit in the implementation’s uses clause by default. Why can’t I choose? Well apparently now I can.

One particular comment went on to say that compiler changes, the thing I said might just excite me, could in fact decrease productivity. It takes time to learn new stuff, and if you are spending more time learning, than actually doing things, then you’d not getting things done.

That got me thinking about the Microsoft world, and how it seems that you hardly have started looking at one new technology, before it’s superseded by another. You’ve just about got your head around Winforms, and they spring WPF on you, then you jump on to that bandwagon, and suddenly it’s Silverlight out of the browser that’s the new in thing. Oh wait a minute, WPF and Silverlight doesn’t seem to be doing so good, perhaps we should stick with Winforms. Same on the web development side of things. You start with ASP.NET, get comfortable with ViewState and postbacks, and bam, they bring out ASP.NET MVC and tell you to forget all that (Actually they say they’re keeping both, so you need to decide which is for you). To make things worse, they offer you Silverlight as well. It’s the same wherever you look. Linq to SQL? Well apparently Microsoft now prefer Entity Framework. Well they did. I’m not quite sure anymore.

So yeah, all these new innovations to the language and new technologies do have an effect on your productivity, especially if you are trying them all out. The thing is, it’s human nature to want something new and shiny. Look at mobile phones. Most people use their mobile phones for making and receiving calls and that’s it. Oh, they might try a few of the new features when they first get the phone. Maybe take the occasional photo with their phone, but for the most part, they just make calls. So why do they change their phone every 6 months or so? The phone they had 5 years ago still works great for making those calls. The phone manufactures know it’s human nature to always want the new model. So they oblige and keep churning them out.

Microsoft also know that they can’t just rest on what they’ve got. They’ve got to keep their audience excited. Keep throwing as much new exciting stuff as is possible to keep them coming back for more. So while I agree, I’m as productive as a Microsoft developer who is using C# and Visual Studio, I admit I do go green with envy when that get some new toy!

4 comments:

Corrado said...

Totally agreed with you.
I'm still developing with D5, D6 and D7. No reason to migrate: we don't wanna loose a lot of time to learn all new features of IDE and other stuff related (that are unecessary actually).But the main reason still that we have tons of sources and components written in D5 that should be migrated. An imponent work to gain what? Faster code writing? We has GeXperts and CnPack that providing us best experts..

Javier Santo Domingo said...

I think most of the developers that resist to migrate to the new Delphi versions, will only migrate when Delphi offer them more than New Components and Language & IDE Features. That stuff is nice-to-have but not a migration factor.
Im convinced that the migration factor for most of them will be 64bit and Xplat. THEY WILL REALLY NEED THEM (or at least one of them), as many of us already do.
Fight with them now has no sense, because they are right in what they say: they have what they need to satisfy their business (for now...).

Brett Graffin said...

The problem with your argument is the title of the current blog. "Productivity vs. Excitement". I think productivity is excitement. I get extreme excitement, when I can save a few keystrokes or mouse clicks in a given task. Especially when they are multiplied over the number of times done, by the numbers of days worked.
Ok, here an example. Ctrl-Alt-P will display the D2007 Component Pallet. But once loaded, if I want to close it I cannot use the Esc Key, it has to be mouse closed. Also, once I "filter search" my desired component and hit enter to insert it to the form, the component pallet does not close. Keep in mind, I started to use it the way the D2010 videos are showing it. Undocked (if docked I would not want it to close). Now under 2010, F6 opens it, I filter, navigate to my component, hit enter to insert, and then it automatically closes. Damn that's exciting. Just a second, I just got really really excited and I need to compose myself.. Whew...
The idea the EMB stopped and looked at these older non-exciting technologies found in the IDE and said "Can we make these better?" or "Can we trim a keystroke or a mouse click?". Makes me now look at them like Super-Stars... Actually EMB guys you are productivity geniuses to me.
Short Story: My nephew had a really hot mobile phone, way better than mine. And over the last 2 years, he upgraded to the iPhone and then upgraded again (3 phones in 2 years). And one day he showed me why he liked his iPhone so much and it came down to playing the little game apps on the device. Almost to the point where he could completely entertain himself with his phone. But ask him to do a day's work, forget it.
So, I guess the "Productivity vs. Excitement" argument comes down to whether you use Delphi as a tool or a toy.
D2010, is for those who work.

Kyle A. Miller said...

@Corrado, For some technology, it is okay to wait to see if it withstands the test of time. In your case, you seem to very far back that without upgrading soon, you create a huge knowledge deficit that closing that gap will be that much harder. Move forward now. Don't get that far behind. You saw value in moving from D5 to D6 and D6 to D7, and I know you will find something worthy in moving from D7 to D2010.

Code out.