5 ms·
If the author doesn't ring a bell, he's an ex prominent Apple exec. https://en.wikipedia.org/wiki/Jean-Louis_Gassée https://en.wikipedia.org/wiki/Jean-Louis_Gas
by makeitdouble 5y ago
If the author doesn't ring a bell, he's an ex prominent Apple exec.
https://en.wikipedia.org/wiki/Jean-Louis_Gassée https://en.wikipedia.org/wiki/Jean-Louis_Gassée
- arcticbull 5y agoGassee also founded Be. BeOS was always a pretty remarkable piece of engineering. I seem to recall the future of Apple hung in the balance, and they were looking to acquire either NeXT (and Steve) as the foundation for the modern Mac - or Gassee and Be. Sort of a fun parallel universe of what could have been.
- nielsbot 5y agoGlad they went with NeXT though--Obj-C is a much better framework language than C++. I honestly think Objective-C is a big part of Apple's OS success. Edit: Building system APIs based on message passing provides a lot of flexibility and capability without having to worry about ABI compatibility or object layout. Message passing is good for hiding implementation details. Obj-C also provides what Swift now calls protocol-oriented programming. Define a protocol and any object no matter its type can implement that protocol and be, say, a delegate for a long running operation. Etc. This allowed Apple to innovate in their OS, providing increasingly more functionality more rapidly than what seemed to be happening elsewhere. I think there's even more to this, but I'm tired.
- nielsbot 5y agoNot sure why the downvotes--someone care to comment? FWIW I've written frameworks in both Obj-C and C++ (macOS kernel)
- ninedays 5y agoIf I had to guess, I would say that the HN crowd is not fond of unverified claims that are not backed by any source other than the person personal opinion. > "Obj-C is a much better framework language than C++. How and why is that true?" Anyone could throw these sort of claims about absolutely anything and doesn't elevate the debate at all. > "I honestly think Objective-C is a big part of Apple's OS success." How and why is that true? Same thing.
- nielsbot 5y agoI updated my comment
- protomyth 5y agoFrom Aaron Hillegass Cocoa® Programming for Mac® OS X, Third Edition Once upon a time, there was a company called Taligent, which was created by IBM and Apple to develop a set of tools and libraries like Cocoa. About the time Taligent reached the peak of its mindshare, I met one of its engineers at a trade show. I asked him to create a simple application for me: A window would appear with a button, and when the button was clicked, the words “Hello, World!” would appear in a text field. The engineer created a project and started subclassing madly: subclassing the window and the button and the event handler. Then he started generating code: dozens of lines to get the button and the text field onto the window. After 45 minutes, I had to leave. The app still did not work. That day, I knew that the company was doomed. A couple of years later, Taligent quietly closed its doors forever. It is asserted a bit later than C++ was the problem. I get the feeling some of the Java Cocoa experience applies to C++. Although the C++ of the 90's is most definitely not the C++ of the 2020's.
- ksec 5y agoGenerally speaking HN is quite anti Obj-C ( or even anything C, C++, basically the whole C family ). They think of it a as relics of the past. The future has to be Rust or Swift. I often wonder what if Apple continue to improve Obj-C instead of Swift. I really like Alan Kays's metaphor. Instead of reinventing the wheel ( which isn't so bad ), more often than not in technology they reinvent the flat tire.
- nielsbot 5y agoI think one of Apple's priorities is memory safety for their systems programming language. Probably too hard to get Obj-C there, and that's before you get to Swift's nice syntax and modern type system. Unfortunately Swift does introduce some type system handcuffs, which I don't like, but overall it seems good.
- cageface 5y agoA language like C++ without a stable ABI makes a terrible OS framework language since you'd have to recompile apps every time the framework classes change.
- chunkyguy 5y agoThe same problem we have now with Swift. Even after ABI stability code compiled and linked across different versions don't often work.
- vetinari 5y agoThat's one of the problems that original BeOS had -- they were locked into gcc 2.95 abi. In the late days of BeOS, gcc 3 was released and it was not possible to use it.
- nielsbot 5y agoI also think C++ is uniquely bad for this. There are maybe other languages that would fare better, perhaps even C. For example, CoreFoundation has a C API... that would be a bit of a test of a C-only framework world. You can see however that's missing the convenience of Obj-C. I hope Swift will be successful. It is nice to use (most of the time).
- cageface 5y agoSure. Win32 and Unix are good examples of OS's with a C interface.
- bigbizisverywyz 5y agoObjc, in my experience is a great language, particularly for building GUIs and I concur was a big part of Apple's success with OSX and later iPhone and iPad. With the core foundation classes (and other frameworks) Apple inherited from NeXT an excellent bedrock to build on. If you think that for a long period of time all apps were built in Objc for Mac & ios, and how quickly they managed to make an ecosystem of developers who were building applications for Apple systems - I'm pretty sure if they had a c++ framework that wouldn't have happened so easily. As an illustration, there's a video of SJ building a quick GUI app to demonstrate RemoteObjects (in response to MS's Distributed OLE) where he quickly knocks up a slider and text box. There's also another video where a NeXT developer goes head to head with a Sun dev in a race to finish a simple gui app (you'll never guess who wins). Why did SJ and NeXT go all in for RAD tooling and making it easy to build apps on their platform? Because of feedback from his days at Apple when developers complained it was too hard and slow using the MacOs toolbox APIs. FWIW I also believe that a large part of Microsoft's success was due to Visual Basic, also a hugely successful RAD tool that brought thousands of new developers to its platform.