• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

End of Carbon

ealex79

Well-known member
What do you people think about Carbon beeing outphased?

I mean.. I like Mac OS X. But, I don't really like Objective C. It's okay, not soooo bad. But fixing the API and the language, to Cocoa and Object C, seems to me a quite wrong decision.

 

II2II

Well-known member
Overall, I think that it is a good idea. I don't think that an OS vendor should implement multiple API or support multiple languages. It increases development time, it multiplies the amount of testing that needs to be done, and it muddies the waters for third party developers. If they want to develop for Mac OS X, they should just learn the language and learn the API then get on with it.

 

ealex79

Well-known member
[:)] ]'>

That's a point. DO they want to? That hard that they hire Objective C programmers? Could be the start of the end.

 

II2II

Well-known member
I don't think that hiring or retraining programmers is going to be an issue for most companies. I think that the issue is going to be the pre-existing codebase. Reimplementing old code in Objective C wouldn't involve just rewriting parts of the program, but it would also require testing the new code. In some cases, the investment in optimizing the code would be lost (you can keep algorithms, but it is harder to keep API based optimizations).

But I don't think that Carbon is simply going to disappear. It's more likely to be depreciated first, then pulled out of the SDK, then pulled out of the OS. The process will take many years.

As for the beginning of the end, well, Apple has been losing mainstream developers for decades.

 

Unknown_K

Well-known member
I don't see why they force developers to use one thing, that is probably the reason that deveopers have allways flocked to windows.

 

porter

Well-known member
I don't think that an OS vendor should implement multiple API or support multiple languages.
Then it is no longer a UNIX based OS, which has "mechanism not policy" has a guiding principle.

It's a shooting yourself in the foot exercise, if you require Objective C you are not going to get existing applications ported to it.

 

II2II

Well-known member
@porter:

Well, there is nothing preventing third parties from investing the time and money into developing alternative programming languages and API for Mac OS X. Indeed, this is very much how the Unix underbelly of Mac OS X is implemented: the Unix utilities are all implemented by someone else, as are languages like Python. Apple does a bit on the integration end, then leaves it at that. Other programming environments are implemented by third parties, but still use the Cocoa API (e.g. F-Script). Yet others are implemented by third parties and have their own API (e.g. RealBASIC). So at the end of the day, developers still have choice. But Apple's main responsibility lays in ensuring that a single API and development environment is available. This provides a documented, consistent, and reliable basis for all other software.

And it is a bit beside the point anyway, since all of the software that most people use on Mac OS X are not part of Unix. They are either Carbon of Cocoa based. Apple probably doesn't care if other stuff is ported, because that is not their target market: people who want a consistent, reliable environment that preferably uses Apple software (that's where their revenue stream comes from after all).

 

porter

Well-known member
But Apple's main responsibility lays in ensuring that a single API and development environment is available.
When the Mac came out assembler and pascal were the two preferred languages, then those upstarts C, C++ and much later Java got in on the act.

NextSTEP was spawned between the C and C++ phase and has been stuck in a Objective C timewarp. Apple bought Next because Rhapsody was going nowhere fast and they are stuck with the NS api like a millstone.

 

Charlieman

Well-known member
NextSTEP was spawned between the C and C++ phase and has been stuck in a Objective C timewarp. Apple bought Next because Rhapsody was going nowhere fast and they are stuck with the NS api like a millstone.
However, the NS API appears to be a very productive millstone. I agree that the NS API is a pain for some significant developers (BBedit, Adobe, even Microsoft) but most of them have got on with rewriting their applications. But by learning NS and Objective C, you can develop for the iPhone, some iPods etc as well as OS X.

 
Last edited by a moderator:

II2II

Well-known member
I kinda like Objective C. Then again, I found SmallTalk always made more sense as an OOP language than C++ -- which may explain why I prefer Objective C.

 

porter

Well-known member
I kinda like Objective C. Then again, I found SmallTalk always made more sense as an OOP language than C++ -- which may explain why I prefer Objective C.
I thought that Apple made a good choice using SOM for OpenDoc, as it's a language independent object model, similar and better than COM/OLE.

It started finding it's way into the OS starting with contextual menus then got dumped.

 

Bunsen

Admin-Witchfinder-General
And it is a bit beside the point anyway, since all of the software that most people use / are either Carbon of Cocoa based.
Bit of a circular argument there that, isn't it?

Not that I disagree with you (or really have a clue).

What I've heard though is that the NeXT APIs and IDE were incredibly productive for the time, cutting development cycles from months down to weeks or even days. This being part of the reason they were adopted in shops that did a lot of in-house coding, like the NSA, universities, CERN, iD etc

 

ealex79

Well-known member
They still are productive, Cocoa and Objective C are better then C in a lot of things. (All.. [:D] ]'> )

But they fix you. Besides Cocoa, there is nothing that let's you use it, and you just can't go and port the complete object model (even the API is an obejct model) to another language. GNUStep may come close, if you want ugly apps that noone is going to use anyways.

Look at .NET, and you get Mono, wich works better then that, altough I guess Microsoft tries to fix you on MS platforms with that, too.

 
Top