Re: OTCreateSystemTask() Replacement?
Re: OTCreateSystemTask() Replacement?
- Subject: Re: OTCreateSystemTask() Replacement?
- From: email@hidden
- Date: Sun, 8 Apr 2007 14:38:15 -0600
On Apr 8, 2007, at 2:48 AM, email@hidden wrote:
Now I might offend some people, but I must say that Apple really has
been letting me down on stuff like this the last few years. If you
look at trends in languages like javascript and lua, people are going
to coroutines and functional programming and methodologies that avoid
multithreading altogether. Multithreading is a disaster. It has its
place, but general programming, especially a simple game loop, is a
shining example of where the best practices just aren't good enough.
We shouldn't have to learn the intricacies of synchronization and
mutexes and atomicity and on and on just to get 2 games to talk to
one another, but that's where we're at.
I ordinarily love to go on for days about the myriad ways the OS X
way of
doing things feels like taking a great many steps backward, but
this just
isn't a complaint I find particularly valid. You wrote a ton of
questionable
code a decade or more ago and are upset with Apple because now you
have to
rewrite some of it? This argument bears a frightening resemblance
to that of
the Dantz engineers (I actually don't think there was more than one
but I
can't remember anymore) who insisted upon a complete port of the
antiquated
SCSI Manager oh so many years ago just so they could continue
collecting
paychecks without doing any actual work. Apple entertained their
ridiculous
demands, and Retrospect has languished in a thick froth of its own
inertia
ever since. It's gotten to the point where it's really more of an
overpriced
joke than a viable backup solution, and if Time Machine works as
advertised,
Dantz' ossification and lack of willingness to adapt will put them
out of
the Mac software business entirely.
I miss the good old days, too, but I think you really need to move
on with
this one. Either that or take it to the blogosphere.
Ya true, I know I sound like a broken record. I look back on my
posts in google groups and it's scary how many are complaints haha.
But maybe that's how it is for a lot of programmers, we don't speak
up until we feel something is wrong. OS X is really great for
certain things, it's good to have a unix mindset most of the time.
What concerns me is that at least from a programming standpoint, OS X
has moved so far away from the original Mac vision in 1984 that it's
almost unrecognizable. I think all this emphasis on reference
counting and message passing and objective-c style of thinking, and
then the complexity of threading and micromanagement that comes with
unix, is maybe not the future of programming.
What I am trying to say is, carbon event handling is really good
conceptually, infinitely better than a kludge of installing a system
task whenever we need to show a dialog. But are carbon events better
than a standard WaitNextEvent() loop? I don't think so. Event
handlers are called outside of regular program flow. It takes a lot
of explaining to learn how to use them vs a WNE loop. And the
implementation is not nearly as clean as say javascript event
handlers. I know why that is, for instance, javascript is only
single threaded (not even cooperative threads yet), which simplified
design decisions. But that's not much of a comfort when I keep
having to go to google to look up how to do a carbon event handler.
Ok I have a better example. Try applescript studio in xcode
sometime. It works with interface builder but you get to skip the
pitfalls of working in c++ or obj-c. If Apple is going to go
rewriting the OS all the time, I'd like to see them look farther down
the road. They could write more of the OS to work at a high level.
Plists are a really good start. But from everything I have heard on
this list, SystemConfiguration is a real pain. Yet configuring the
system as a bunch of key-value pairs in a language like xml is
conceptually a brilliant idea. So my complaints are really with
implementation I guess. CFHTTP is marginally better than URLAccess,
packages are marginally better than resources, SystemConfiguration is
marginally better than InternetConfig. Why couldn't these have been
revolutionarily better? I think it's because NeXT sits halfway
between c++ and a scripting language, but every passing year
decreases the need for low level programming.
I'll stop whining now since this is all a moot point. It is how it
is. And I'm grateful for being able to speak my mind and maybe have
it be heard by someone at Apple, whereas that probably wouldn't
happen at Microsoft, for instance.
------------------------------------------------------------------------
Zack Morris Z Sculpt Entertainment This Space
email@hidden http://www.zsculpt.com For Rent
------------------------------------------------------------------------
If the doors of perception were cleansed, everything would appear to man
as it is, infinite. -William Blake, The Marriage of Heaven and Hell
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden