Well, I hope you are willing to part with Eclipse and OO, since Steve in his infinite wisdom has declared Java legacy technology and deprecated it, and it will be removed in new OS X releases.
That's 20% of all sales in the USA in the last year. That does not translate into 20% desktop computers though (there are a lot of PCs from years before).
Steve Jobs also said there are 50 million Mac users now when the announced the new MacBook Airs, whereas there are 500 million PC users. That means Macs are still only 10% of the total desktop computers.
But more worrying is that Apple is now making computers for the elderly with Alzheimer's (i.e. having to remember to save stuff is too hard, soon enough no file system on Macs, app store etc). They won't stop until notion of general computer is gone and there are only appliances left.
Yes, I know. I'm a software developer and I develop on Mac Pro. But that's about to change drastically. Apple does not really care about UNIX, and the moment Java tool chain is not available for OS X (or OS X becomes an appliance), I'm out of here.
I'm sure every other Java developer on OS X will do the same.
Apple absolutely does not care about Java developers. Majority of Java developers happen to use OS X to develop Java solutions for other platforms. This means they only use OS X because they like it, but that is about to change.
Second, OS X does NOT have 20 % market share. When Apple says they had 20% market share in the last year that means, of all the PC sold in he last year, 20% were macs (and this is USA only). Their income share is probably even bigger.
However, this does not translate into desktop share. There are many more PCs out there from years before, and Apple still only has 9% of the overall desktop share.
If you also trust Steve Job's word, there are 50 million Macs out there, whereas there are 500 million PCs world wide. So, 9% - 10% overall figure is about right.
What is in it for Oracle? Windows has 90% market share on the desktop. Not having JDK for Windows would be bad for Java.
Linux has 50% server share. Not having Java for it would be bad for Java. Solaris is where it all started so of course there is Java for it.
OS X is marginal desktop platform, and non-existent in the server space. If Apple is not willing to provide JDK for their platform no one has incentive to do it. No one cares about it.
I don't know how many times it has to be said that there is no other JDK for Mac users to download. Besides this is not just about Java, it's about JVM and a host of languages like Scala, Groovy, JRuby, Clojure etc also run on the JVM.
In fact calling JVM, which is one of the coolest and technically most sophisticated technologies (JIT, hotspot) invented by man to date, legacy is idiotic (as opposed to the 80s objective c technology). But, then again Mac users are clueless about technology, so you can tell them what ever you want.
Anyone that has half a brain, and uses Mac OS X for their business should be thinking about migration strategy to something better as we speak. These are the first steps towards making Mac another appliance. Apple won't be happy until they kill the notion of general computing.
You have an option to install Linux on our Mac hardware to leverage your current investment. But I don't think we will see JDK for OS X from Oracle. Only the X11 based OpenJDK one. And that's unacceptable. So don't buy more Macs if you care about non-Objective C development.
Yes, I'm aware of those plans. JDK 7 has been in the making since 2006 and that's the longest it ever took for a new JDK release. I remember the times new one was released every 9 months.
Yeah, except Oracle can't step up enough to deliver Java 7 spec, let alone implementation for any platform. Oracle is not exactly an agile company, so I would not expect a JDK for Mac OS X from them any time soon (like next 5 years).
So, what this really means, if you are a java developer and you used mac os x to this point because you liked the hardware and the os, it's time to start planning your migration to something else.
No, Sun did not slam MS for providing java implementation, but for providing non-standard implementation with hooks to Windows APIs, making code written for MS java non-portable and not really java any more. There is a huge difference there.
By the sound of it, Apple's next move will be to lock down the devices at the hardware level (this gives them a good excuse) and they will have no second thoughts about doing it at all. This means even more locked down "trusted computing" devices in our future. And the sad thing is the consumers won't care either way.
Well, I'm also kindly telling you that you should not be using it at all:D.
Seriously, if you don't use iPod etc you don't want iTunes. It's complete crap. And even the OS X version is not gaining in quality, it's just getting bigger, slower and its core functionality (it started as a music player) is getting worse.
If you do not own iP*d or iPhone, you absolutely do not need iPod service, nor the Bojour service nor do you need Apple Software update.
So, go to control panel, remove Bonjour and Apple Software update.
Then delete the iPod service. From the command prompt type
sc delete "iPod Service"
Then go to iTunes install directory. Rename the iTunesHelper.exe to something like iTunesHelper.exe.disabled.
Then go to quicktime (if you have it installed) install directory and rename QTTask.exe to QTTask.exe.disabled.
Don't forget this last key step. Delete the iTunes and Quicktime program shortcuts and create your own. Default shortcuts created by the installer do not link to iTunes.exe and Quicktime.exe executables but check that the program is modified and try to run the installer again to repair the installation.
After you do all this, you have trimmed, lighter iTunes and Quicktime that launch and run faster.
However, if you are using Windows and don't have iP*d device you most likely don't really care about iTunes and probably should not install it at all.
Now, iPad with full OS X, that's something I would actually pay money for. But as it is I don't need a locked, limited use device that doesn't even expose the concept of file system to the user. I can tolerate that on my iPhone, it's primarily a phone after all.
Depends on your needs and usage patterns. I have kids and I take videos and RAW photos of them. I like having a UNIX machine that can run Photoshop and Adobe Video processing suite or Final Cut studio (imagine that a choice of 2 industry's best tools).
I have not to date found anything that I care about that Linux can do and that OS X can't. However, the reverse is true, there is a lot of software that Linux does not run and that I use daily.
Now, when it comes to software development, Linux is great OS and comes with great tools, but so does OS X. If all I did were software development and running servers, Linux would be completely sufficient.
Java is a spec and NOT an implementation. You are free to make your own implementation of the spec (IBM, Apple and many others do). So, you don't have to rely on Sun/Oracle version or implementation.
There is only one latest version of Java (i.e. only one spec). You can be on a Java spec. committee and vote on what goes into next Java version specification, and everyone who wants to make the next version of Java (the language and JVM) has to implement all the same things agreed to be able to call it Java.
This is all to ensure Java's philosophy, write and compile your code once and run it on any platform. This does not mean just different operating system, but java virtual machine implementation from another vendor.
This can work precisely because of the fact that Java is a spec. and to call something Java you must implement the spec fully. This allows me to write my Java code on Windows, compile it on Windows using Sun's JVM implementation and run the compiled code on Mac OS X, with Apple's implementation of the JVM (with no need for recompile or anything on OS X).
This would not be true if Apple cheated and did not implement some part of Java spec (which is the case with what Google did).
LLVM is not just a scientific project. Apple is seriously pushing for LLVM and they intend to use it as default compiler in OS X.
Both funny and insightful. So true.
Yes, Scala has full access to Java APIs including Swing.
Are all your JDKs from Apple? I also use OS X currently and only have Apple supplied JVM. No others are complete.
Well, I hope you are willing to part with Eclipse and OO, since Steve in his infinite wisdom has declared Java legacy technology and deprecated it, and it will be removed in new OS X releases.
That's 20% of all sales in the USA in the last year. That does not translate into 20% desktop computers though (there are a lot of PCs from years before).
Steve Jobs also said there are 50 million Mac users now when the announced the new MacBook Airs, whereas there are 500 million PC users. That means Macs are still only 10% of the total desktop computers.
But more worrying is that Apple is now making computers for the elderly with Alzheimer's (i.e. having to remember to save stuff is too hard, soon enough no file system on Macs, app store etc). They won't stop until notion of general computer is gone and there are only appliances left.
Yes, I know. I'm a software developer and I develop on Mac Pro. But that's about to change drastically. Apple does not really care about UNIX, and the moment Java tool chain is not available for OS X (or OS X becomes an appliance), I'm out of here.
I'm sure every other Java developer on OS X will do the same.
Apple absolutely does not care about Java developers. Majority of Java developers happen to use OS X to develop Java solutions for other platforms. This means they only use OS X because they like it, but that is about to change.
Second, OS X does NOT have 20 % market share. When Apple says they had 20% market share in the last year that means, of all the PC sold in he last year, 20% were macs (and this is USA only). Their income share is probably even bigger.
However, this does not translate into desktop share. There are many more PCs out there from years before, and Apple still only has 9% of the overall desktop share.
If you also trust Steve Job's word, there are 50 million Macs out there, whereas there are 500 million PCs world wide. So, 9% - 10% overall figure is about right.
What is in it for Oracle? Windows has 90% market share on the desktop. Not having JDK for Windows would be bad for Java.
Linux has 50% server share. Not having Java for it would be bad for Java. Solaris is where it all started so of course there is Java for it.
OS X is marginal desktop platform, and non-existent in the server space. If Apple is not willing to provide JDK for their platform no one has incentive to do it. No one cares about it.
Not even Apple does. They serve their corporate web site on Solaris and Linux, not XServe.
I don't know how many times it has to be said that there is no other JDK for Mac users to download. Besides this is not just about Java, it's about JVM and a host of languages like Scala, Groovy, JRuby, Clojure etc also run on the JVM.
In fact calling JVM, which is one of the coolest and technically most sophisticated technologies (JIT, hotspot) invented by man to date, legacy is idiotic (as opposed to the 80s objective c technology). But, then again Mac users are clueless about technology, so you can tell them what ever you want.
Anyone that has half a brain, and uses Mac OS X for their business should be thinking about migration strategy to something better as we speak. These are the first steps towards making Mac another appliance. Apple won't be happy until they kill the notion of general computing.
Except there isn't a JDK to download. SoyLatte is a poor incomplete implementation that relies on X11 for GUI.
You have an option to install Linux on our Mac hardware to leverage your current investment. But I don't think we will see JDK for OS X from Oracle. Only the X11 based OpenJDK one. And that's unacceptable. So don't buy more Macs if you care about non-Objective C development.
Except Davik is not a JVM. You can't download java *.class file and run it on Davik.
Yes, I'm aware of those plans. JDK 7 has been in the making since 2006 and that's the longest it ever took for a new JDK release. I remember the times new one was released every 9 months.
Yeah, except Oracle can't step up enough to deliver Java 7 spec, let alone implementation for any platform. Oracle is not exactly an agile company, so I would not expect a JDK for Mac OS X from them any time soon (like next 5 years).
So, what this really means, if you are a java developer and you used mac os x to this point because you liked the hardware and the os, it's time to start planning your migration to something else.
No, Sun did not slam MS for providing java implementation, but for providing non-standard implementation with hooks to Windows APIs, making code written for MS java non-portable and not really java any more. There is a huge difference there.
That's because you did do something wrong.
if a^2=b^2, then you can only conclude that abs(a)=abs(b), and not that a=b. By taking the square root of both sides, you next line should have been
abs(i^2)=abs(1) which is still correct, i.e. 1=1.
By the sound of it, Apple's next move will be to lock down the devices at the hardware level (this gives them a good excuse) and they will have no second thoughts about doing it at all. This means even more locked down "trusted computing" devices in our future. And the sad thing is the consumers won't care either way.
Well, I'm also kindly telling you that you should not be using it at all :D.
Seriously, if you don't use iPod etc you don't want iTunes. It's complete crap. And even the OS X version is not gaining in quality, it's just getting bigger, slower and its core functionality (it started as a music player) is getting worse.
If you do not own iP*d or iPhone, you absolutely do not need iPod service, nor the Bojour service nor do you need Apple Software update.
So, go to control panel, remove Bonjour and Apple Software update.
Then delete the iPod service. From the command prompt type
sc delete "iPod Service"
Then go to iTunes install directory. Rename the iTunesHelper.exe to something like iTunesHelper.exe.disabled.
Then go to quicktime (if you have it installed) install directory and rename QTTask.exe to QTTask.exe.disabled.
Don't forget this last key step. Delete the iTunes and Quicktime program shortcuts and create your own. Default shortcuts created by the installer do not link to iTunes.exe and Quicktime.exe executables but check that the program is modified and try to run the installer again to repair the installation.
After you do all this, you have trimmed, lighter iTunes and Quicktime that launch and run faster.
However, if you are using Windows and don't have iP*d device you most likely don't really care about iTunes and probably should not install it at all.
What kind of algorithm can you implement with a pointer, but not with a reference?
Now, iPad with full OS X, that's something I would actually pay money for. But as it is I don't need a locked, limited use device that doesn't even expose the concept of file system to the user. I can tolerate that on my iPhone, it's primarily a phone after all.
Depends on your needs and usage patterns. I have kids and I take videos and RAW photos of them. I like having a UNIX machine that can run Photoshop and Adobe Video processing suite or Final Cut studio (imagine that a choice of 2 industry's best tools).
I have not to date found anything that I care about that Linux can do and that OS X can't. However, the reverse is true, there is a lot of software that Linux does not run and that I use daily.
Now, when it comes to software development, Linux is great OS and comes with great tools, but so does OS X. If all I did were software development and running servers, Linux would be completely sufficient.
Java is a spec and NOT an implementation. You are free to make your own implementation of the spec (IBM, Apple and many others do). So, you don't have to rely on Sun/Oracle version or implementation.
There is only one latest version of Java (i.e. only one spec). You can be on a Java spec. committee and vote on what goes into next Java version specification, and everyone who wants to make the next version of Java (the language and JVM) has to implement all the same things agreed to be able to call it Java.
This is all to ensure Java's philosophy, write and compile your code once and run it on any platform. This does not mean just different operating system, but java virtual machine implementation from another vendor.
This can work precisely because of the fact that Java is a spec. and to call something Java you must implement the spec fully. This allows me to write my Java code on Windows, compile it on Windows using Sun's JVM implementation and run the compiled code on Mac OS X, with Apple's implementation of the JVM (with no need for recompile or anything on OS X).
This would not be true if Apple cheated and did not implement some part of Java spec (which is the case with what Google did).