

API changes in Snow Leopard - pieter
http://developer.apple.com/mac/library/releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_6.html#//apple_ref/doc/uid/TP40008898-SW1

======
gcv
Fascinating; kill -9 is now the official way to terminate an application.

 _To support improved shutdown, your application needs to mark itself as
“dirty” or “clean,” depending on whether it has unsaved changes and needs to
do work before quitting, or can be terminated without further notice. When the
system shuts down, clean applications are terminated (via SIGKILL) without
further interaction._

~~~
wmf
Sounds fine to me. I heard of this idea a few years ago:
<http://en.wikipedia.org/wiki/Crash-only_software>
<http://lwn.net/Articles/191059/>

------
andreyf
_Mac OS X v10.6 provides support for block objects in C, C++, and
Objective-C._

Huh? Isn't this a feature of a compiler, not an OS?

~~~
9oliYQjP
I'm not sure why you got down voted to 0 for asking a legitimate question. The
block objects are part of Grand Central Dispatch. A programmer tags an
isolated unit of work as a block. The OS then takes these blocks and schedules
them into execution queues. While the compiler adds support for defining the
blocks themselves, OS X 10.6 provides purpose to these blocks. Just like you
can have a VM which supports threads on an OS that itself is not multi-
threaded, the feature would be pretty useless if only the compiler were
updated as it has been for 10.6

~~~
masklinn
It also needs the instantiation support at the VM/runtime level, which is
separate from the services the OS itself provides.

So blocks need to be supported at the compiler level, in the Objective-C
runtime and in OS-wide processes (which would be Grand Central itself).

------
ben
The first thing I wanted to see as a Smalltalker was how much they've baked
Blocks into the libraries. I know Cocoa has always had very long method names,
but some of these names are wild:

\- #enumerateObjectsUsingBlock: is #do:

\- #objectsPassingTest: or #indexesOfObjectsPassingTest: are #select:

And so on. Here's what I'm looking at:

[http://developer.apple.com/mac/library/documentation/Cocoa/R...](http://developer.apple.com/mac/library/documentation/Cocoa/Reference/FoundationRefUpdate/Articles/Foundation_10.5-10.6_SymbolChanges.html#//apple_ref/doc/uid/TP40007573)

~~~
tolmasky
The names make perfect sense within the context of the language. Just because
you add a new feature to a language doesn't mean you should arbitrarily adopt
the naming conventions of its implementation in another language.

------
alexk7
I don't know if someone else care, but I find it annoying that the "blocks"
proprietary extension to C/C++ is conflicting with C++/CLI syntax for managed
pointers.

~~~
mahmud
Isn't the CLI syntax for managed pointers itself a proprietary extension to
C/C++?

~~~
masklinn
They are. And it's pretty unlikely that anyone would code in Objective Managed
C++.

Worst thing that could happen would be a _slight_ conflict in the brain of
people coding simultaneously in Objective-C and in Managed C++.

