Saturday, June 23, 2007

Compromises

Christian Ehrlicher considers what I said is stupid. I would agree most of the time, but not this time.

Within a very short time, I ran into a situation where the full power of a platform was compromised for the goal of cross platform compatibility. This particular situation would mean me using 3 threads instead of 2 using the linux services. This in a quite trivial little app. I know I'm stupid, and I hesitate to add unnecessary complexity. I have trouble keeping up as it is.

A cursory examination of the win32 services shows that I would have to have two different applications in this instance, the two platforms being so different. Again, this for something very trivial.

The time and energy it takes to work around the compromises necessary for cross platform will take away from the quality of the application. Cross platform isn't free, even with an excellent toolkit as Qt.


Friday, June 22, 2007

Buy High, Sell Low

Further on the discussion about porting to proprietary OS'

A recent experience of mine illustrates the point. Linux (and Unix) has a means of blocking on a device until there is something to read. Qt encapsulates this functionality in QSocketNotifier. Cool. If I open a serial port, I can be notified of incoming data. So I dutifully used QFile to open the port, and set up the notifier, then dented my desk wondering why it wouldn't work. Why didn't it work? Because Qt is cross platform, and the Other Supported OS' don't work that way.

In other words, I expended much time, inadvertently, supporting an OS that I have nothing in common with. The structure of my application became dictated by the vagaries of multiple OS'. I have studiously avoided learning anything about the win** api for the last 15 years or so, and have no intention of starting now.

Cross platform has it's benefits. Applications that take full advantage of the underlying services and features of a platform isn't one. Blood and treasure will be expended on getting the damn thing to run everywhere instead of running extremely well somewhere.


This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]