PDA

View Full Version : XCode or the Highway? (a Prediction)




Les Kern
Oct 23, 2010, 10:17 PM
I think we are seeing the beginning of a whole shift in app/computer relationships with Apple, and the eventual demise of tools like RealStudio. With the melding of iOS and the MacOS starting with 10.7, I'm thinking that the future will be all app store. Okay, maybe not right away, but I'd be willing to bet that Apple sees what's happening with the current iTunes and App store and said "Hey, I want 30% of all those apps people buy.". Maybe they'd cut deals with the big boys like Adobe, but I can honestly see this happening within, say, 3-4 years?
Hints made me realize this shift might just come to be. With the dropping of Flash and most recently the announcement Apple will not continue development of Java but instead "rely" on Sun, it seems to me this is a reasonable assumption. They seem to be poised to easily close up the platform permanently.
If developers want a piece of the pie Apple is baking up, then hop in the oven. If not, there are still mostly Windows computers out there. Pop Tarts, sure, but they are edible.
Barely.

I use Real Studio. And before you snicker, know that it's been very good to me and my bank account. My point is that within a few years Apple will move more toward controlled apps and the cloud. Casual and smaller shops will have to adapt or die.



Bernard SG
Oct 23, 2010, 10:31 PM
I think you're right about the shift, but wrong about the lockdown. Apple has worked its ass off , including moving from PowerPC to Intel, to get the UNIX certification and become a truly open platform. They're not going to do the reverse move.
The marginalizing of non-Xcode development is going to happen by "natural selection", not by a forced hand imposed by Apple.
But Apple will always leave some room for very specialized usage. They're very committed in their effort to woo universities and researchers.

Les Kern
Oct 24, 2010, 11:51 AM
I think you're right about the shift, but wrong about the lockdown. Apple has worked its ass off , including moving from PowerPC to Intel, to get the UNIX certification and become a truly open platform. They're not going to do the reverse move.
The marginalizing of non-Xcode development is going to happen by "natural selection", not by a forced hand imposed by Apple.
But Apple will always leave some room for very specialized usage. They're very committed in their effort to woo universities and researchers.


But Apple is already forcing it's hand... I am just taking the most logical path. "Natural Selection" is initiated by an event that requires one change or die, and the people doing the changing is Apple, not the dev tools. Right now it's no Flash or 3rd party code for iOS. Tomorrow it's no Java, next year it's a few other plug-ins going bye-bye....

I can see the day when it's all app store for the Mac, just like it is for the iPad/iPhone.
It will be gradual and take years, but the odds look excellent to me right now.

HiRez
Oct 24, 2010, 12:48 PM
I think Bernard is right about natural selection, not just for Xcode, but for distribution. The app store is going to prove so popular with consumers that they will not have to ban other means of distribution. For most small to medium sized developers it's a good deal to be freed of all the headaches that the app store alleviates. But a few big developers that have the resources, primarily Microsoft and Adobe and Autodesk, and will want to do it themselves and will refuse to distribute througgh the app store, and Apple cannot affair to shut them out. There will be a few medium sized devs who will have a hard decision to make, maybe Bare Bones, Omni, Amoeba, and the like.

dejo
Oct 24, 2010, 12:50 PM
Right now it's no Flash or 3rd party code for iOS.
What are you talking about? Apple recently eased the restrictions regarding 3rd party code.

Les Kern
Oct 24, 2010, 06:11 PM
There will be a few medium sized devs who will have a hard decision to make, maybe Bare Bones, Omni, Amoeba, and the like.


http://www.tuaw.com/2010/10/24/omni-group-commits-to-mac-app-store-development/

mags631
Oct 24, 2010, 06:51 PM
I personally find a Mac OS X App Store to be a potential benefit as a "proven" distribution channel for apps.

That being said, I understand if one connects the "right" dots, it might seem like Apple is going to lock down the platform and force devs to do it Apple's way or no way. This is as likely as Apple only allowing music to be played through iTunes -- which it does not, obviously.

So, we can wring the hands and gnash the teeth and be generally miserable until we know more (and all bets are that such hand-wring and teeth-gnashing will be for not), or we can happily continue to develop our apps and hope that the App Store will actually increase the potential reward of our hard work (assuming you are commercial dev).

Bernard SG
Oct 25, 2010, 03:35 AM
But Apple is already forcing it's hand... I am just taking the most logical path. "Natural Selection" is initiated by an event that requires one change or die, and the people doing the changing is Apple, not the dev tools. Right now it's no Flash or 3rd party code for iOS. Tomorrow it's no Java, next year it's a few other plug-ins going bye-bye....

I can see the day when it's all app store for the Mac, just like it is for the iPad/iPhone.
It will be gradual and take years, but the odds look excellent to me right now.

The natural selection has already been in progress long before the Mac App Store Idea was launched.
Honestly, when I have a choice between two apps with comparable functionality, but one of them being fully Xcode and the other being one of those ports with a GUI that don't behave the way I expect on a Mac, I'll pick the first one any day, even if it had some missing features that I can live without.
The fact developers do the effort to use Xcode and follow the Apple Human Interface Guidelines shows that they do care about my choice to use the Mac platform and they respect my expectations in terms of application behavior and user experience. I'm ready to pay the extra bucks for the applications that those people develop.

Les Kern
Oct 29, 2010, 08:54 AM
More hints that our future as developers will change dramatically.
http://www.antipope.org/charlie/blog-static/2010/04/why-steve-jobs-hates-flash.html

I personally find a Mac OS X App Store to be a potential benefit as a "proven" distribution channel for apps.

That being said, I understand if one connects the "right" dots, it might seem like Apple is going to lock down the platform and force devs to do it Apple's way or no way. This is as likely as Apple only allowing music to be played through iTunes -- which it does not, obviously.

So, we can wring the hands and gnash the teeth and be generally miserable until we know more (and all bets are that such hand-wring and teeth-gnashing will be for not), or we can happily continue to develop our apps and hope that the App Store will actually increase the potential reward of our hard work (assuming you are commercial dev).


No hand wringing for me... I just think we need to keep this in mind for the future, and watch the trends.

mrbash
Oct 29, 2010, 06:41 PM
Les: I know what you mean. My feeling is exactly what you said. The Java move is the same as the Flash move. Apple wants the developer 100% invested in their platform to the exclusion of anything else. That is what the Flash move was about, and that is what the Java move is probably about.

James Gosling's comment about the Java move is very enlightening. In it he disputes Jobs' assertion that Oracle provides all of the JVMs. They provide it on Windows because MS broke Java compatibility, and they provide it on Linux because no one else supported it (IBM has their Linux JVM but it isn't fully compatible with all distros), but all other platforms, the platform owner provides the JVM.

I feel that Apple wants to control the development environment so that you are tied to their platform specific tools and cannot port your code elsewhere. My feeling is that Apple starts off with support for open tools and APIs to entice developers into the system, they then start introducing incompatible derivatives until finally they will force developers to use a tool or API that is entirely platform specific. My feeling is that they will do this for the graphics API pretty soon. They will introduce Apple specific extensions to OpenGL, and then create their own graphics API and then drop OpenGL drivers altogether.

I also predict that in a year or two, all apps from the desktop APP store will be 'signed' apps. Everyone knows what happens after that.

JustSomeDude
Oct 30, 2010, 12:08 PM
James Gosling's comment about the Java move is very enlightening. In it he disputes Jobs' assertion that Oracle provides all of the JVMs. They provide it on Windows because MS broke Java compatibility, and they provide it on Linux because no one else supported it (IBM has their Linux JVM but it isn't fully compatible with all distros), but all other platforms, the platform owner provides the JVM.


I think that proves that Oracle should provide the JVM (although, I think it is crappy that Apple just dropped this surprise on everybody without more time to prepare.) MS only provided the JVM because they saw it as a threat and wanted to control it. This, or late or bad updates, can always be an issue with the platform owner providing the JVM.

Additionally, doesn't windows and Linux constitute the vast majority of platforms that Java will be run on anyway? It would only make sense that the other platforms have to provide their own JVM, because nobody else sees it as worthwhile as developing and providing support for.

mrbash
Oct 31, 2010, 11:29 PM
Not Windows. Maybe a growing number of apps are running on Linux, but I think the majority is still Solaris, HPUX and AIX.

I believe that the platform owner generally does a better job of writing the runtime than Sun/Oracle. Microsoft had an excellent JVM that ran impressively fast. Even IBM's Blackdown JVM had better performance on Linux when it was available. The platform owner would likely have the ability to access performance features not available to outside organizations.

A lot of people here are only thinking about this from a consumer perspective. And while understandable it misses the point. Companies make serious investments in a platform. Whether it is the hardware to run some software, or in software to run on some hardware.

It could be the life of a company that the Java platform is available on OSX. Or it could be that a company just bought a bunch of Macs as PC replacements only to find out that their internal apps no longer will work.

On a personal note, I just bought a new iMac on the expectation that I would develop some commercial apps. Now I don't know what will happen. Sure I could run VMWare fusion or BootCamp but what's the point? I could have bought a PC and not have to worry. For me, if Java isn't available and in sync with other platforms, the Mac is useless.

What angers me about this is the totally careless manner this announcement was made. A responsible company would have first made alternative arrangements before deprecating support for Java.

firewood
Nov 1, 2010, 01:02 PM
Apple can't completely lock down their Mac platform as long as it competes with Windows PCs from a minority market share position, and Windows isn't locked down. (And if both Apple and MS lock down their platforms, it may finally be the year that Linux on the desktop actually goes somewhere, unless both Intel and AMD stop making chips that can run Linux.)

What Apple can do is make it so that MacOS can be tightly locked down in Enterprise deployments, and so that the typical consumer customer can find all the apps that they think they want in the App store, and so never ever even bother to look to find or install an app from anywhere else but Apple's App store. Which covers the vast bulk of app shoppers.

Sort of like what happened to many of the small retail shops when Walmart and the other big box retailers moved into town. A lot of generic businesses dried up. But there are still a few small shops (ethnic grocers, etc.) around on the outskirts of town, and some really expensive boutiques on the streets where Lamborghini's park.

That type of specialty business (Pro audio, etc.) probably won't get locked away.

iSee
Nov 1, 2010, 01:17 PM
I don't think Apple will close Mac development.

Dropping distribution of Flash player and development of Java runtimes make business sense for Apple. Closing Macs does not.

They're competing against a long-standing, completely open market: Widows, linux, Mac OS <= at least 10.6. If 10.7 won't let you run apps you didn't buy from the Mac store, not too many people would even upgrade.

That's very different than the smart phone app market before they entered. Phone platforms were often even more closed than the iOS, app stores were small & expensive, distribution/installation was problematical, app selection was poor and much of what did exist sucked.

If Apple does it right (not sure at this point), the Mac store will become the #1 consumer software store. But it won't wipe out alternate distribution channels.

OP, if I were you, I'd be posting on the RealStudio boards and sending emails to ReasStudio to make sure they give you a way to make appss that can be sold though the Apple Mac store. It should be possible. It might be ready to go already. I know very little about RealStudio -- I used it bit years ago to do some maintenance on an existing utility -- but I do remember that it was capable of generating a stand-alone app.

Bernard SG
Nov 1, 2010, 10:14 PM
A lot of people here are only thinking about this from a consumer perspective. And while understandable it misses the point. Companies make serious investments in a platform. Whether it is the hardware to run some software, or in software to run on some hardware.

It could be the life of a company that the Java platform is available on OSX. Or it could be that a company just bought a bunch of Macs as PC replacements only to find out that their internal apps no longer will work.
In my view, Companies should primarily think about everything from a consumer's perspective. And there is something seriously wrong about a software company that is reliant on a single programming language... Practically, anyway, I don't think there are such companies. It doesn't take that much time for trained software engineers to learn and become proficient in a new language.

On a personal note, I just bought a new iMac on the expectation that I would develop some commercial apps. Now I don't know what will happen. Sure I could run VMWare fusion or BootCamp but what's the point? I could have bought a PC and not have to worry. For me, if Java isn't available and in sync with other platforms, the Mac is useless.

What angers me about this is the totally careless manner this announcement was made. A responsible company would have first made alternative arrangements before deprecating support for Java.

Non-web based commercial applications developed in Java are not particularly trendy these days.
For cross-platform concerns, there are alternative arrangements already: they are called C, C++, Python, Ruby, Perl...

mrbash
Nov 2, 2010, 01:01 AM
In my view, Companies should primarily think about everything from a consumer's perspective. And there is something seriously wrong about a software company that is reliant on a single programming language

There are generally 3 kinds of customers in software, consumer, SME, and Enterprise. Each have different needs. Generally in the consumer space the unit price is high and the life cycle is short. On the other end, Enterprise, unit price is low but the life cycle of a product is long, and the support is more important.

I'm not sure what you mean by your last few sentences. I don't know of any company that writes the same piece of software in more than one language. Re-writing software is hugely expensive. I'm not really sure why would say otherwise unless you don't have any software experience. In which case, you are not adding much to this discussion.

Non-web based commercial applications developed in Java are not particularly trendy these days.
For cross-platform concerns, there are alternative arrangements already: they are called C, C++, Python, Ruby, Perl...
Java based desktop applications are extremely popular these days, just not in the consumer space. Corporations deploy lots of applications internally in Java because they don't have to be re-written for each OS or platform.

C, and C++ are not cross-platform. You can't simply write code in one platform and hope to run it on another. Let alone re-compile it. If that were the case, it would be trivial to re-compile any Windows app and run it on OSX, or vice-versa.
Python, Ruby and Perl are all scripts.

Again, this kind of sounds like you don't have a lot of experience in commercial software, so its easy to think that writing software is easy, and porting to a different language is too. It's not. Most productive software developers will write 15-30 lines of code in a day. The rest of the day is spent making sure what was written works with everything else.


The dropping of the Java runtime to me is like Apple saying, "We aren't supporting a C runtime any more. Start using our proprietary language or you'll loose access to our APIs".

As a business you could look at the cost of converting to whatever Apple wants you to use and figure out if it makes sense. But there is no guarantee that Apple won't one day change its mind again without notice.

Bernard SG
Nov 2, 2010, 03:24 AM
The dropping of the Java runtime to me is like Apple saying, "We aren't supporting a C runtime any more. Start using our proprietary language or you'll loose access to our APIs".

Are you suggesting Objective-C is a "proprietary language"?

mrbash
Nov 2, 2010, 10:09 AM
Are you suggesting Objective-C is a "proprietary language"?

For all intents and purposes, yes. Much the same as C# can be considered a proprietary language. These languages are not used outside of their, one, original platform.

iDisk
Nov 2, 2010, 10:22 AM
Les Kern, I commend you for starting such a note worthy thread, and your voice of concern is something not to be overlooked.

Here are my thoughts, and I hope this input will be well received in the thread.

Apple not to long ago, decided to make a transition from the "Traditional" way users interact and consider what is a "PC". First became the transition from focusing more on a Mobile presence, since that's where the industry was headed in 2002. Many traditional desktop users argued about Apples shift, but we see now that was the right decision. Then came the iPad, again a shift in what a "PC" really is.

Now Apple throughout the years had to make decisions that seemed very questionable. Example: Dropping the Floopy drive, Adopting FireWire, elimination the optical drive from one of there products, excluding Flash from iOS Devices etc... The industry made roars about Apple doing these things but in the end it turned out to be the right decision.

Which brings me to your thoughts on XCode. In short, XCode isn't going anywhere, and Apple is trying to become the best company for developers. Trucks are still needed today, despite the popularity of cars. It's going to be the same with XCode, Apple needs the developer community they worked hard to get and keep so they can continue to grow and keep the ecosystem vibrant.

You have to think beyond the box and notice that Apples decisions are for their community which in turn generates more revenue for them. It's a win-win.

Excluding Flash is a great thing (Adobe still hasn't quite got their act together with Flash). The Same with Java (Apple sees a shift, and needs to dedicate resources to other technologies more relevant to the Apple ecosystem). Consumers & Developers need to shift with the market, cause more opportunites await. Apple leaves the past the behind to grab the future that's awaiting to be grabbed.

Great Thread and Discussion, but Not to Worry.

-Bruce

Bernard SG
Nov 2, 2010, 10:25 AM
For all intents and purposes, yes. Much the same as C# can be considered a proprietary language. These languages are not used outside of their, one, original platform.
That is NOT the definition of proprietary.

kingtj
Nov 2, 2010, 10:33 AM
Coincidentally, I was just chatting with one of my best friends last night about this topic. He's trying to learn Objective-C right now, since he wants to start developing for the iPhone. He said he's found the language VERY frustrating so far though, because it has almost nothing in common with traditional C beyond the fact you use braces in the syntax of both.

He already knows how to code in multiple languages including Python, Perl, Ruby, and C/C++, but he was upset that Apple was essentially saying "If you want to interface with the UIKit stuff for the iOS devices, you've GOT to do it via Objective C, period."

I did some searching, and discovered a new project called Objective-X, that looks interesting.

http://code.google.com/p/objectivex/

Basically, it lets you write standard C/C++ type code inside Objective C and takes care of translating it for you. Might turn out to be a godsend for some developers out there, if Apple doesn't do something to prevent using it too!


For all intents and purposes, yes. Much the same as C# can be considered a proprietary language. These languages are not used outside of their, one, original platform.

Bernard SG
Nov 2, 2010, 10:51 AM
Basically, it lets you write standard C/C++ type code inside Objective C and takes care of translating it for you. Might turn out to be a godsend for some developers out there, if Apple doesn't do something to prevent using it too!

Standard C doesn't need to be "translated" in an Obj-C code. Obj-C is a strict superset of C == ANY C Code is valid Obj-C code.
C++ is a bit more complicated but it is mostly superfluous to "translate" it in Obj-C to develop for Apple's platforms. You just need to "bridge" your C++ code with the Cocoa envelope.

And frankly, Obj-C is ridiculously straightforward in terms of syntax. The frustrating part is that the frameworks (libraries) are quite voluminous, but they are thoroughly documented.

foidulus
Nov 4, 2010, 01:33 AM
Standard C doesn't need to be "translated" in an Obj-C code. Obj-C is a strict superset of C == ANY C Code is valid Obj-C code.
C++ is a bit more complicated but it is mostly superfluous to "translate" it in Obj-C to develop for Apple's platforms. You just need to "bridge" your C++ code with the Cocoa envelope.

And frankly, Obj-C is ridiculously straightforward in terms of syntax. The frustrating part is that the frameworks (libraries) are quite voluminous, but they are thoroughly documented.

Actually the frustrating thing about Cocoa/obj-c is the fact that there are so few frameworks for it, doubly so for those produced outside of Apple. Nowadays the frameworks make or break the language, period. The thing is Apple has been pushing Cocoa/Obj-c for what, almost a decade now and we STILL don't have anything approaching the level of JDBC for Cocoa, let alone advanced frameworks like Hibernate.

Apple loves to deprecate stuff and then offer nothing as a realistic replacement. Look at the Quicktime libraries, Apple hasn't "deprecated" them officially but it said that they won't be ported to 64 bit. What do we get instead? That joke of a framework called QTKit, the framework Apple has essentially done NOTHING with in 5+ years.

There are bridges between Cocoa and Ruby and Python but I wouldn't invest anything in them because Apple has shown 0 qualms with just dropping frameworks willy nilly.

This Java thing was the last straw, we have been burned too many tiimes by Apple, who is supposed to be OUR customer, not the other way around. Apple promotes a framework/language/whatever (QTJava, Java, Carbon etc) then Steve just decides on a whim to withdraw support for that product and leaves us in jeopardy with our customers because WE are the ones responsible for providing them with our product.

We could develop in Cocoa, but aside from the limitations imposed by the paltry availability of enterprise-level frameworks there, you have the exact same problem. What if Apple decides it's going to drop support for Cocoa? Unlikely but given their past history it wouldn't surprise me. And then we would be even more screwed because at least we can take Java and put it on another platform.

Steve's favorite game seems to be chicken, but he just doesn't know when to quit.

Bernard SG
Nov 4, 2010, 02:31 AM
We could develop in Cocoa, but aside from the limitations imposed by the paltry availability of enterprise-level frameworks there, you have the exact same problem. What if Apple decides it's going to drop support for Cocoa? Unlikely but given their past history it wouldn't surprise me. And then we would be even more screwed because at least we can take Java and put it on another platform.

Actually, there are some Cocoa specialists out there that speculate Apple will drop it eventually. However, that was before the launch of the Mac App Store. If the App Store is significantly successful (which I believe), Apple won't be in a position to kill Cocoa in a whim.

Apple certainly has a problem of Objective-C not having a critical mass right now and their move to exclude Java and Rosetta from the App Store can be read as an attempt to get to that critical mass. The more development will be done on Cocoa/Obj-C, the more specialized frameworks will become available.

I also suspect that, would Oracle/Sun show some strong commitment to take charge of the JVM for Mac OS X, the App Store restriction will go away. However, I don't hold my breath as far as Oracle itself seems not to be enthusiastically committed to evolve Java in general. Voices in the Java community are pronouncing nothing less than the death of Desktop Java, independently of Apple's choices.

It's understandable that if Oracle/Sun chooses not to bet for the platform that they own, Apple would rather bet for their own.

IMO Python and Ruby in Xcode are safe in the foreseeable future as far as they neither create dependency to a third party company nor resort to virtualization in the way of Java.

mrbash
Nov 4, 2010, 02:57 AM
I also suspect that, would Oracle/Sun show some strong commitment to take charge of the JVM for Mac OS X, the App Store restriction will go away. However, I don't hold my breath as far as Oracle itself seems not to be enthusiastically committed to evolve Java in general. Voices in the Java community are pronouncing nothing less than the death of Desktop Java, independently of Apple's choices.

It's understandable that if Oracle/Sun chooses not to bet for their platform, Apple would rather bet for their own.

IMO Python and Ruby in Xcode are safe in the foreseeable future as far as they neither create dependency to a third party company nor resort to virtualization.

I'm not sure where you are getting this "voices in the Java community", or if you are working off "gut" feelings. Oracle has publicly stated support for Desktop Java, and made commitments to JavaFX and produced roadmaps for desktop features. And unlike Apple, Oracle does keep its commitment to developers.

I'm guessing you don't have much experience with Oracle, but significant portions of their database is written in Java. Their desktop administration suite is entirely written in Java (so that they don't have to write it natively for every platform). Almost every product that Oracle sells ( WebLogic, PeopleSoft) have significant Java dependencies, if not entirely dependant on Java.

That said, I'm not sure if Oracle would want to produce their own Java runtime for OSX. Apple just isn't a reliable partner. They tend to depreciate APIs whenever it suits them, regardless of past commitments. Anyone remember Apple's commitment to 64-bit Carbon?

You know what? I can still run MFC apps written from '92 on a Windows 7 PC. I can still run Java 1.0 binaries on any certified JVM.

foidulus
Nov 4, 2010, 03:49 AM
I'm not sure where you are getting this "voices in the Java community", or if you are working off "gut" feelings. Oracle has publicly stated support for Desktop Java, and made commitments to JavaFX and produced roadmaps for desktop features. And unlike Apple, Oracle does keep its commitment to developers.

I'm guessing you don't have much experience with Oracle, but significant portions of their database is written in Java. Their desktop administration suite is entirely written in Java (so that they don't have to write it natively for every platform). Almost every product that Oracle sells ( WebLogic, PeopleSoft) have significant Java dependencies, if not entirely dependant on Java.

That said, I'm not sure if Oracle would want to produce their own Java runtime for OSX. Apple just isn't a reliable partner. They tend to depreciate APIs whenever it suits them, regardless of past commitments. Anyone remember Apple's commitment to 64-bit Carbon?

You know what? I can still run MFC apps written from '92 on a Windows 7 PC. I can still run Java 1.0 binaries on any certified JVM.

Exactly. I don't think Steve really thinks through the whole "once bitten twice shy" consequences of his actions. He realized they got away with dropping a few things here and there and people still used the platform, but everyone has their line and Steve seems content to just keep on pushing it not realizing that eventually people are going to push back, and hard.

Developers aren't going to continue to support a platform where the whim of one man can render their entire program obsolete. Where I work we have about 200 macs all in total, and we will probably, as much as I hate to say this, go Windows next upgrade round. Apple simply isn't reliable enough.

gnasher729
Nov 4, 2010, 03:56 AM
Actually, there are some Cocoa specialists out there that speculate Apple will drop it eventually.

Any references? What Cocoa specialists? What time frame for "eventually"? What speculations? What sane reason is given for Apple dropping Cocoa any time in the next twenty years?


Standard C doesn't need to be "translated" in an Obj-C code. Obj-C is a strict superset of C == ANY C Code is valid Obj-C code.
C++ is a bit more complicated but it is mostly superfluous to "translate" it in Obj-C to develop for Apple's platforms. You just need to "bridge" your C++ code with the Cocoa envelope.

There is that other language, Objective-C++. Which is a strict superset to C++ == any C++ code is valid Objective-C++ code.

DavidLeblond
Nov 4, 2010, 08:08 AM
For all intents and purposes, yes. Much the same as C# can be considered a proprietary language. These languages are not used outside of their, one, original platform.

Say what? C# isn't used outside of Windows? Are you sure about that?

(PS you're wrong. I know a few large companies that use C# on Unix using Mono)

wrldwzrd89
Nov 4, 2010, 08:08 AM
I really don't like where this is going... Apple's path, not this thread :p

Being a Java developer, the death of desktop Java isn't such a good thing for me, for obvious reasons - I have plenty of desktop Java-based projects that will now need to find a new home in a different programming language. I'm leaning towards Python as the replacement, but I'm having difficulty porting everything over with the whole Python 2 to 3 transition.

Bernard SG
Nov 4, 2010, 08:53 AM
I really don't like where this is going... Apple's path, not this thread :p

Being a Java developer, the death of desktop Java isn't such a good thing for me, for obvious reasons - I have plenty of desktop Java-based projects that will now need to find a new home in a different programming language. I'm leaning towards Python as the replacement, but I'm having difficulty porting everything over with the whole Python 2 to 3 transition.

Again Apple has little influence on the future of Desktop Java. Even assuming that there won't be any JVM available for Mac OS X Lion, Mac users would still have the choice of Bootcamp or Windows Virtualization with Parallels and the like. That's not uncommon in an enterprise context.

Java's problems lie in the Java "Community" itself, and now that includes Oracle, Google with its Dalvik dissidence and all that jazz. That's where you need to be looking at, not Apple's moves that, after all, only concerns a tiny portion of the Desktop universe.

Now, in a purely consumer context, Java has never been a great solution in the first place. Not in Mac, not in Windows. If your target is that market, just forget about Java.

wrldwzrd89
Nov 4, 2010, 10:35 AM
Again Apple has little influence on the future of Desktop Java. Even assuming that there won't be any JVM available for Mac OS X Lion, Mac users would still have the choice of Bootcamp or Windows Virtualization with Parallels and the like. That's not uncommon in an enterprise context.

Java's problems lie in the Java "Community" itself, and now that includes Oracle, Google with its Dalvik dissidence and all that jazz. That's where you need to be looking at, not Apple's moves that, after all, only concerns a tiny portion of the Desktop universe.

Now, in a purely consumer context, Java has never been a great solution in the first place. Not in Mac, not in Windows. If your target is that market, just forget about Java.
Thanks for your insight. I appreciate it - I have already realized that I need to abandon Java as a deployment solution. Your post just reinforces that feeling.

jnpy!$4g3cwk
Nov 4, 2010, 11:13 AM
We could develop in Cocoa, but aside from the limitations imposed by the paltry availability of enterprise-level frameworks there, you have the exact same problem. What if Apple decides it's going to drop support for Cocoa? Unlikely but given their past history it wouldn't surprise me.

Drop Cocoa in favor of what? I'm confused by your argument.

Bernard SG
Nov 4, 2010, 11:17 AM
Drop Cocoa in favor of what? I'm confused by your argument.

Indeed, plus I find it funny that people who are in the software business seem to confuse Cocoa and Objective-C.

mrbash
Nov 4, 2010, 04:47 PM
Drop Cocoa in favor of what? I'm confused by your argument.

Drop the Cocoa framework in favor of another framework to access the WM and other OS services. Just like Apple dropped the Carbon framework in favor of Cocoa, even after promising to treat it like a 'first class citizen'. Or how about when Apple promised to support 64-bit carbon, only to drop it at the last moment, leaving many developers high and dry after spending a years of development effort.


Indeed, plus I find it funny that people who are in the software business seem to confuse Cocoa and Objective-C.
I think you are the one confused here.

Just Google "Java is dead". +14m hits.
For good measure I tried "Objective-C is dead" for 610,000 results (and not as relevant as those for "Java is dead").
Really? This is your representation of "voices in the Java Community"? I'm guessing you know that those 14M hits come from inside the Java Community? Why don't we keep to facts and not FUD?

foidulus
Nov 4, 2010, 10:45 PM
Any references? What Cocoa specialists? What time frame for "eventually"? What speculations? What sane reason is given for Apple dropping Cocoa any time in the next twenty years?




There is that other language, Objective-C++. Which is a strict superset to C++ == any C++ code is valid Objective-C++ code.

The reasoning is that Apple has shown 0 issues with dropping other frameworks with very little notice and thus may or may not drop Cocoa. They probably won't but given their past record I have essentially 0 confidence in that and thus I am unwilling to stake my time or money on betting that Apple will continue to support anything they make. They have really shot themselves in the foot by promoting platforms and encouraging developers to use them then dropping them on a whim.

QTJava
64 bit Carbon
Java
64 bit quicktime(QTKit is a joke and Apple hasn't touched that one in about 6 years).
the list goes on.

I am Apple's customer, not the other way around. I should not be forced to constantly retool my applications based on Apple's whim, but that seems to be what Steve expects of his "customers".

I have certainly been an MS basher in the past, but MS at least supports its products and gives plenty of warning AND a clear migration path when they do drop a platform. Apple just seems to say, "sorry, Steve has spoken, all that time and money you invested into our platform? Gone. But please believe us when we say our super duper new platform will never, ever be abandoned, unlike the countless other platforms we have promoted before!"

Also, FYI, Objective-C++ is NOT a strict superset of C++(unlike Objective-C being a strict superset of C)

For instance the keyword "boolean" is used by both, but it is actually a different size in C++ than it is in Obj-C. Your code will compile and then at runtime the difference will reek havoc on your symbol table. I've been burned by this one personally(solution was just to switch to ints and test if they were 0 or 1)

The wikipedia article on Objective-C has more exceptions, but needless to say it's a "mostly" superset of C++.

Krevnik
Nov 5, 2010, 04:06 PM
The reasoning is that Apple has shown 0 issues with dropping other frameworks with very little notice and thus may or may not drop Cocoa. They probably won't but given their past record I have essentially 0 confidence in that and thus I am unwilling to stake my time or money on betting that Apple will continue to support anything they make. They have really shot themselves in the foot by promoting platforms and encouraging developers to use them then dropping them on a whim.

QTJava
64 bit Carbon
Java
64 bit quicktime(QTKit is a joke and Apple hasn't touched that one in about 6 years).
the list goes on.


Can you really say 64-bit Carbon and Quicktime were pushed for developers to use, considering developers didn't actually get 64-bit Carbon/Quicktime delivered to them? Apple went an about-face on delivering it, sure, but no developers were ever on 64-bit Carbon except maybe Apple themselves. The lack of a complete 64-bit clean API for Quicktime is probably the biggest concern of these two, but considering the rewrite of QT that happened, I'm not entirely sure I can blame them on the order of operations unless QTKit remains stagnant after the rewrite. I'd not want to be transitioning devs to a 64-bit API that I was going to utterly break and destroy with the next QT version.

But you really haven't answered the question: "Replace Cocoa with what?" that others have asked on this thread. Sure, they have no problem dropping platforms they feel are not worth supporting. But would they just shut down all development on their platform? Carbon becoming a dead-end is not the end of their platform since Cocoa was still available. CoreFoundation as a C API still exists and has been ported to 64-bit, which hints more that Carbon was becoming a pain in the ass to port to 64-bit because the code base dated back too far and made bad assumptions.

Maybe I could see AppKit and UIKit merging into some UIKit 2.0 beast that allowed some level of shared code between the platforms, but that's just one part of Cocoa. It's more like saying WPF replaces Windows.Forms in .NET. They'd have to introduce something new and start pushing people to it before they could kill Cocoa, or otherwise their devs really don't have an API to write to anymore and the platform dies.

There's a loss of trust in the platform provider, and then there is diving off the deep end into a pool of paranoia, and assuming that Apple will just drop Cocoa on a whim is the latter. They simply couldn't do it even if they wanted to because they'd really be killing all 3rd party development without a replacement (in the literal sense, not just as hyperbole).

lloyddean
Nov 5, 2010, 06:18 PM
64-bit Carbon was shown at the Apple Developers Conference under a Non-Disclosure-Agreement that specifically states that anything shown may, or may not, become a released product.

At no time were there any "Promises" made. So would you folks stop repeating this "Promise" crap!

mrbash
Nov 5, 2010, 08:14 PM
64-bit Carbon was shown at the Apple Developers Conference under a Non-Disclosure-Agreement that specifically states that anything shown may, or may not, become a released product.

At no time were there any "Promises" made. So would you folks stop repeating this "Promise" crap!

That is false.

It was promised for 10.5.0 simply by being available in developer builds. At no time did Apple give any guidance not to use it, in fact Apple produced documentation and support for if. Apple engineers gave guidance and support on developer mailing lists for carbon. Then at the last minute they shipped Leopard without it.

We shouldn't need written guarantees for every little thing from Apple. Particularly something this big.

Additionally, literally millions of dollars of development effort was taking place using the carbon APIs, and Apple knew about it. yet they decided to say "forget you, I'll do whatever I want".

lloyddean
Nov 5, 2010, 08:39 PM
That is false.

It was promised for 10.5.0 simply by being available in developer builds. At no time did Apple give any guidance not to use it, in fact Apple produced documentation and support for if. Apple engineers gave guidance and support on developer mailing lists for carbon. Then at the last minute they shipped Leopard without it.

We shouldn't need written guarantees for every little thing from Apple. Particularly something this big.

Additionally, literally millions of dollars of development effort was taking place using the carbon APIs, and Apple knew about it. yet they decided to say "forget you, I'll do whatever I want".

And again developer builds are under non disclosure as well!