• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: OTCreateSystemTask() Replacement?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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
  • Follow-Ups:
    • Re: OTCreateSystemTask() Replacement?
      • From: email@hidden
    • Re: OTCreateSystemTask() Replacement?
      • From: Frederick Cheung <email@hidden>
References: 
 >Re: OTCreateSystemTask() Replacement? (From: email@hidden)

  • Prev by Date: Re: OTCreateSystemTask() Replacement?
  • Next by Date: Re: OTCreateSystemTask() Replacement?
  • Previous by thread: Re: OTCreateSystemTask() Replacement?
  • Next by thread: Re: OTCreateSystemTask() Replacement?
  • Index(es):
    • Date
    • Thread