The current OS/X UI is loosely based on CDE [wikipedia.org], actually, with a few carry-overs from old school Mac System.
Presumably you mean NeXTSTEP rather than CDE?
Firewire was great if you were using it for high end equipment that needed high speed data transfers. It was great for things like digital video cameras and external hard drives. It fairly expensive though, and much less flexible than USB.
How so? The USB host/device distinction means that it's difficult to use for computer-to-computer connectionssuch as IP networking and "target disk" modes. Due to USB's current limitations, bus-powered I/O devices that work fine over FireWire often require either external power supplies or ridiculous "splitter cables" to connect to two USB ports simultaneously to draw sufficient power. FireWire also supports more flexible cabling arrangements, with UTP and optical cabling options that support runs up to 100m long without hubs or repeaters.
For the record, "fairly expensive" was $1 or so per device.
Should I have to bundle together an editor, source control, and an interpreter in order for those programs to use the same files inside the sandbox? Should I do this for every language I want to develop in using that editor?
... Would Apple close that hole, or reject me from the app store for that reason?
No, no, and no. Sandboxed applications have free access, forever, to files and folders you explicitly select, where "forever" can even include subsequent versions of the same app. Many vendors are running away from sandboxing "to improve user experience" in ways that directly conflict with the whole notion of sandboxing: accessing the user's SSH private keys without confirmation, using Apple Events and/or the Accessibility API to control arbitrary third-party applications, and so on. Apple's goal seems to be to maximize the number of applications that can be reasonably sandboxed without undermining the whole idea of sandboxing, using the App Store and iCloud as "carrots", because they're trying to address a problem Microsoft never did: most developers don't give a damn about the mitigation of security vulnerabilities in their applications. It's a hard problem, and discussions like Marco's will ultimately contribute to a better solution, but "give up sandbox requirements" isn't an endgame I'd like to see.
If you're not, you've done it WRONG.
Except that if you read his code, he's not actually subclassing Button, he's instantiating it. He's certainly saying it wrong, though.
The final C++ program wound up having 50% more lines of code for the exact same functionality, and that was the point where I gave up on it. It was a pretty bad first impression.
I'm guessing this was because the authors were exhibiting uselessly "object-oriented" toy programs to illustrate language features. You'd probably have had a different first impression if you'd started with Cocoa and Objective-C. While it hadn't been updated in years and consequently seems to have disappeared down the memory hole, one of Apple's old Cocoa tutorials was something to the effect of "Build a Text Editor in 15 Minutes", where they showed how you could build a TextEdit-like rich text editor with Cocoa in a couple pages of code.
In fact, it's pretty easy figure out how to do this starting from the Xcode "document-based application" template, as there's not much more to it than replacing the label control in the document window with a Text View and implementing a couple methods in the document class to get and set its contents.
I know you know, but still: Pirates are people that get what they want on the high seas, normally using violence or threats of violence.
PI'RATE, v.i. To rob on the high seas.
PI'RATE, v.t. To take by theft or without right or permission, as books or writings.
according to Webster's dictionary...
Let us not play into RIAA/MPAA/FACT/...'s hands by using their propaganda language.
(1) Never draw what you can copy. (2) Never copy what you can trace. (3) Never trace what you can cut out and paste down.