Apple Developer Profile Changing? 545
rocketjam writes "According to InternetNews.com, Apple Computer is seeing large numbers of UNIX, Java and Open Source developers moving to its Mac OS X platform. Apple Vice President of Worldwide Developer Relations Ron Okamoto mentions that, in the three years since the introduction of OS X, 'people who have experience in those areas are showing a great interest in our OS. We're seeing a lot of first timers. It's really impressive.' The company said it has recently surpassed the 300,000 member threshold of registered developers. Apparently, the increase in enterprise code writers has prompted Apple to add more sessions focusing on enterprise and IT to its upcoming Worldwide Developers Conference."
May make up for past losses. (Score:3, Interesting)
I can see why (Score:3, Interesting)
Yes, I'm in that boat (Score:5, Interesting)
It would not be a stretch to say that I'm willing to ditch Windows in favour of Linux and Mac OS.
So far, I have found wxWidgets [wxwidgets.org] which is a C++ toolset that allows the creation of cross-platform GUIs (Windows, Linux, Solaris, MacOS) that uses native GUI elements on each platform (unlike GTK+ or Qt which end up looking non-native). To me this seems like the best way for a programmer to get into cross-platform, including Mac, programming. You don't sacrifice Windows compatibility.
Maybe we can get a decent ftp client now? (Score:4, Interesting)
Makes sense... (Score:1, Interesting)
Apple has made it easier to program for OS X. The integration of Interface Builder and XCode certainly makes it easier than programming in Mac OS 'Classic'. You don't have to mess with Carbon or resource forks either. And since it's built on Unix, Unix developers don't have to do much work to get it to work under X.
TheMadRedHatter
Re:300,000 developers for under 5 % of market shar (Score:4, Interesting)
Re:May make up for past losses. (Score:5, Interesting)
The 9600 was the preferred way of preparing to do devlopment on Rhapsody for several years after its release (and it had many more expansion slots than the PowerMac G3, which probably made it a better choice for doing driver development on Rhapsody).
OS X wasn't released until 2000, and really, it wasn't till the end of 2001 that any sane person would consider using it. By that point, the 9600 was four years old, TWO processor generations out of the lead, and didn't have hte kind of graphics processor that OS X wanted.
If Apple HAD made OS X work on the 9600, either OS X would have had to have shipped with many fewer features, or it would have CRAWLED to thep oint of a standstill (Remember how slow 10.0 was? Now, imagine that on a computer that had a 50MHz bus). Those who bought a 9600 could use it for about 3 years of software development before it was outdated, and it is still a decent development machine for OS 8.x and 9.x applications.
In short, in 1997, when developers were asking for development machines for Rhapsody, the 9600 was the best Apple could do. The comptuers available by OS X's actual release were SO MUCH faster that you'd be insane to say that the 9600 should have stayed compatible.
Re::O (Score:4, Interesting)
And Darwin will integrate nicely between your old, busted and your completely new hardware. (j/k)
Re:300,000 developers for under 5 % of market shar (Score:5, Interesting)
I'm a registered developer on OSX, yet I don't develop on OSX.. You need to be a registered developer just to download GCC. Just because I wanted to compile an app on OSX doesn't mean I'm an OSX developer.
You need to be a registered developer to download the source for Darwin Streaming Server (so even if you run it on Linux you're still considered an "OSX developer")
So that 300,000 number is grossly inflated.
Re:May make up for past losses. (Score:5, Interesting)
Bottom line is that Apple used up a lot of "good faith" it had with the development community, regardless of if you agree with the reasons or not. They lost developers that they sorely needed and need.
Don't even get me started on Yellow Box.
Simple reason (Score:4, Interesting)
Powerbooks rule indeed (Score:5, Interesting)
I was actually amazed to see how polished and clean Mac OS X was. As my experience of proprietary desktop OSes was mainly windows, I was suddenly wondering why so many people wouldn't use Mac OS X instead of that old, buggy ms crap. Yes, games, maybe
I will keep Mac OS X just in case, but GNU/Linux on Apple laptops is definitely a bliss.
Re::O (Score:4, Interesting)
Depends on your definition of power. OS X is nice but XNU is a piece of crap. XNU's poor scheduler and extremely poor IO means I would never use OS X as a server. The kernel just can't make full use of the hardware.
Join The Club (Score:3, Interesting)
Though I must admit, that I recently needed to purchase a laptop for doing some work on the road and chose not to go with a powerbook. Most notably because I felt the current offerings would not offer me the power I could get with the equivalent intel based system(where's the G5 powerbook???). Sad to admit, but possibly a more important factor to not choosing a powerbook was the single button touch pad. I use a two button w/scroll usb mouse on my powermac and I couldn't imagine using a single button touchpad on a powerbook. Yeah, yeah, I could use an external mouse, but on a plane its not so easy to do, so you must use the touchpad. I didn't want to suffer with that single button, ugh!
Re:It's pretty easy to see why. (Score:2, Interesting)
The kind of computing used in scientific applications is very different than your average desktop. Matrix calculations use very little branching but love the Altivec vector stuff.
Code that branches a lot (like compiles) seem to fair better on hyperthreading P4s. A 'make -j 4 bzImage' seems to get a 10-30% performance increase. Whereas hyperthreading has no benefit for science stuff, it even confuses the linux kernel a bit because it's hard to tell which cpus are logical, so that jobs actually run a bit slower.
So anyways, the needs of a computing cluster are not the needs of a desktop user. IE: you probably wouldn't want the PS2's weak 300MHz 128-bit cpu for a desktop even though there's a cluster built out of those too.
Re:I've said it before... (Score:5, Interesting)
How can Apple do this? There are two problems, as I see it. First is advertising. They haven't had ads targeting you basic consumer since the iMac days (since most Joe Sixpacks aren't going to buy a G5, and they didn't advertise the LCD iMac long). If someone who doesn't have a computer wants one, what do they think of? They think "I can buy one at Best Buy, Circuit City, Radio Shack, or from Dell, or Compaq." Unless the happen to walk into a store like Microcenter or CompUSA and see the Mac section, they probably won't give buying a Mac any real thought.
The other problem is prices. Now, before you go calling me a troll, hear me out. I agree that a Mac is most of the time a better value than a PC. But when people see ads on TV for $500 Dells and they found out that Macs start at $700 or so, you're in trouble. If they could lower the price of the lowest one (say to $600) that would help. They should also ADVERTISE their lowest model and it's price (the eMac). Point out in the ads that it comes with iTunes, movie editing software, photo editing software, video conferenceing software, DVD burning software, and such. Compare the price of that $500 Dell once you include the monitor, that software above, and such. Maybe include a nice office suite (Open Office or anything else) so it will be a "complete computer" with anything most people would need. This will sell some real computers. Advertise how they are practically immune to viruses and hackers (compared to Windows) so you don't have to worry when you're on the internet. Show the cool features like expose (eye candy is always good). Show that Macs can play games too.
And get them back into schools. That plus the above should really help apple out. Schools will love the Unix core (secure, easy to centereally manage), low virus problems, etc. Macs can read and write disks/etc from students with PCs or Macs so no one will run into that "but I have a Mac and so my disk won't work here" problem.
I love Macs, but they aren't going to grow (at any noticeable rate) in market share without some advertising. Grassroots is nice, but it's only keeping Apple sustained. They've got some of the best computers on the market (along with, IMHO, the best OS). Tell the world!
As for the business market, if the boss has a Mac at home (even if he got it for his kids, or he's seen the one at a friend's house) and he's had little trouble with it (compared to his PC) then he's going to be much more likely to entertian the idea of getting Macs. Businesses will like Macs too for many of the reasons stated above in the "school" paragraph.
Re:May make up for past losses. (Score:1, Interesting)
Link: http://www.opendarwin.org/projects/XPostFacto/
There is software out there that allows very old machines to run Mac OS X. Many people on the 'net are running it on simply ancient machines like PowerComputer and UMAX clones that were pre-OS 8.
It just takes a simple software fix. Go figure.
I wonder if it has anything to do with the fact Apple makes its money by selling hardware not software.
Re:GNUstep is Mac OS X compatible, i.e., free Coco (Score:5, Interesting)
What makes you think Office for the Mac is 100% compatible with Office for Windows? Even things like different kinds of font antialiasing can be enough to break compatibility in some scenarios, let alone things like Win32 specific VBScripts (that use WSH etc). Actually, it is of course possible to use the Real Thing(tm) on Linux courtesy of CrossOver, if you need it.
Anyway, ever since NeXT opened the developer spec for OPENSTEP, GNUstep has been doing a great job of recreating a compile compatible version.
Not really - GNUstep can't read the OS X UI files for one, it's not complete, and the GNUstep team are explicitly not interested in 100% compatibility (for instance, replicating wierd/buggy semantics of Apples APIs). And of course you have the whole deal of having to redo all the artwork, nobody using the GNUstep widgets and so on ....
Re:It's pretty easy to see why. (Score:4, Interesting)
Install XCode and learn Objective C and Cocoa. Objective C is easy if you know C, and a good book will teach you the Cocoa framework.
Try either "Cocoa Programming for Mac OS X" by Aaron Hillegass, or "Building Cocoa Applications : A Step by Step Guide" by Simson Garfinkel and Michael K. Mahoney. I have both and I think they're very good. There's also a book by Scott Anguish, and one by Bill Cheeseman, but I haven't read either of those.
Cocoa programming is much easier and more elegant that C++ and MFC. Have fun!
Re:GNUstep is Mac OS X compatible, i.e., free Coco (Score:2, Interesting)
As for your Mac Office not being 100% compatible. Well, if you're going to be pedantic about it, Office for windows is not 100% compatible with itself. First it's not compatible as between different versions (e.g., 97 vs. XP). Also, even with the same versions, because of system/font variances et. al., it will also have issues. All that being said, in my experience, which is not statistically relevant, the variances between the Mac version of Office and Windows version is not significantly greater than the variances between Windows versions. The variances in compatibility between OpenOffice and MS Office are far greater, again, in my experience.
As always, YMMV.
Mmmh, Cocoa. (Score:5, Interesting)
Cocoa on the other hand seems to be more Observer pattern based -- you can link controls directly to each other with some kind of Controller object. And it also seems that you can define objects that express the "connections" that objects can have. I have looked at the docs and tried to make sense of it, but I guess I need to try it some time to really get the concept.
On the other hand, Cocoa is based on Objective C, and I guess I am kinda of lazy about learning yet another language (is Java Cocoa as good?). Is Cocoa reference counted (like ActiveX)? Does this mean Cocoa is not keeping up with the GC'd Java and .NET Joneses? Or does Cocoa work just fine without GC the way it is?
Can you create your own Cocoa controls (easily) (as with create your own ActiveX control -- not so easy, but not as difficult as you think these days with VS ATL, Delphi, and other tools, pretty easy with .NET)? If there is such a thing as a Cocoa control that you can develop yourself, drag and drop in a form, use with a scripting language, or place in a Web browser, does it have funky data types like with ActiveX (BSTR, VARIANT, SAFEARRAY), or can you pass arrays and object references at will like your can with Java or .NET?
Re:Correct me if I am wrong, but (Score:1, Interesting)
Yes, it sounds like a plan for disaster, but it isn't as bad as it sounds
Re:Correct me if I am wrong, but (Score:3, Interesting)
He did not know ANY programming language besides C a month ago. No OO programming, nothing, he'd just written C-code shell apps for years prior.
Sure, he's a smart cookie, but... if you're a good C programmer, you might be able to do the same type of thing, though.
Re:Simple reason (Score:5, Interesting)
However cocoa has 2 things that make it really shine:
1) Interface builder, to build similar UI's on a PC is very tedious. You want text boxes that expand with the window, tie a text box to one corner, place a button so it is always in the bottom right hand corner of a window. All of these things are a simple click away. No complex code to get all these things moving around.
2) The Document Architecture. The support both frameworks have to build a simple utility style application (only 1 window, the window is the app) is pretty simple. The cocoa frameworks are simply *brilliant* when it comes to a document based architecture. You build the basics, and you get the following for free: open, save, new, recently opened, revert to saved, application automatically associates with its documents, window menus.
With a bit of extra work undo/redo is supported and the ability to support applescript.
In my mind to build all of this into a windows app would take a lot more time. I believe that a MacOSX developer can spend more time concentrating on what there app does rather than the extraneous issues such as a recently opened documents menu and the sort.
This also means that on the Mac when a user opens a application and it saves/opens documents they can be pretty sure that in the file menu the recently opened items list will be right there. For a developer it would take them extra effort to remove this feature.
try java and swing (Score:3, Interesting)
if you can live with java and swing, it's not that difficult to write applications that for the most part feel like native Mac OS X applications and still run without modifications on other platform.
some guy wrote an article [mac.com] (pdf) how to basically do it. apple's MRJ toolkit is a pain, but fortunately there also is MRJ Adapter [roydesign.net].
sure, you have to learn the structure of application bundles and how to write in an Info.plist. still, you can stay away from xcode and cocoa without much trouble.
Re:It's pretty easy to see why. (Score:4, Interesting)
That said, many people don't upgrade their computers. These days so many of the things one might buy you can get externally. If you want a DVD writer or a new CD drive or something, you can get it firewire. You could also get a new hard drive externally, or you could upgrade the internal one. You can also upgrade the memory in the eMac. With the exception of the graphics card, that's all most people ever do.
So many things that you used to need to be able to upgrade to you don't need anymore. You don't need a DVD decoder card. The computer already has Ethernet (and you could do that through USB). Wireless could be done through USB or I think eMacs can take Airport cards. Most people don't need the upgradeability that a Dell or other PC provides. Very few upgrade their processors, they just buy a new computer. For most people, an eMac is more than enough machine for them.
I don't expect Apple to start selling $500 eMacs, but they could at least advertise them and the benefits so someone who's looking for a computer to do e-mail and maybe photo editing and maybe put some family movies on DVD knows they even have the option.
And besides, salesmen can do some of the work! If people come in to look at that low end eMac but they need more of a computer, the sales people can show them better models as would happen if the Dell didn't fit their needs. The point is to get them in there and looking at Macs.
As for the "people who tinker", that's not Apple's market and the way they operate it never will be (their choice, a good thing). I really don't think it's a significant part of the market. And the other fact is that tinkerers are in the know, so they probably already know that an Apple isn't for them. It's not worth advertising to them, but as I said I don't think it's that significant of a portion of the market. Even if it IS and it's 50% of the PC market (I don't believe that by a long shot), that still leaves Apple with 50% of the PC market (which is like 40% of all computers sold) that they can aim at, an compared to their small percentage (5%?) that's significant.
Huh? (Score:1, Interesting)
International language support (Score:3, Interesting)
I hate Mac OS X, the developer has to actively support multiple languages if you want your translation to survive a minor update. Even though all the ingredients are there to support automated updating with strings files, much like pot files on KDE, these are not automatically generated or even kept inside the application bundle, forcing users to become one of the 300.000 developers just to change some strings.
I wish Mac OS X would create decent strings files as a default automatic proces during development. And read these text / strings files at execution just like it reads changed picture and Interfacebuilder files. Allowing any user to just translate this text file for there mother with a simple text editor and then send it to the developer who has to do nothing but distribute it and get free access to larger markets. The translator would not have to be kept in the loop, another user from the same language can spot a untranslated string in an updated application and add the single translation, then send the strings file to the developer.
Already you can decide if you think a translation is bad and just turn it off in the info window and use the language of the developer. Come on Apple take that extra step and give powerusers easy access to the text of an application. Discover the world market.
My time isn't worth nothing. (Score:2, Interesting)
Sure you can, but only because your time is worth nothing.
For me, my time valuable to me on a personal level and in dollars and cents.
So I just can't see spending thousands of dollars worth of my time to save a few hundred.
So you go scrounging for a motherboard and I'll finish this post and then go spend some time with my son.
Bye
Totally true.... (Score:2, Interesting)
But the point here is that we are getting more away from Micro$oft... With the out intension to go back
Pd: I'm a EX-windows programmer, ACTUAL linux coder and newbie programming on OS X, which I consider VERY GOOD compared to other previews versions and even other OS's
Re: Depends on what they're planning to develop (Score:3, Interesting)
Oversimplifying what NEXTSTEP/NeXTStep/Openstep was and what OS X is regarding the underpinnings is a bit odd.
You could have added that Openstep had a modified UFS filesystem partition and now OS X, by default has its own HFS+ native file system as well as UFS, and so on and so forth.
Openstep APIs weren't just a "port" of NeXTSTEP APIs. It wasn't a simple NXHost to NSHost port. Most folks had quite a few headaches going from NS 3.3 to Openstep 4.0 and it wasn't until Openstep 4.2 before it was complete, as far as the meaning of "complete" is concerned.
Personally, I'm looking forward to Classic being dumped and Carbon taking its rightful place and ultimately being phased out by Cocoa.
With all the Language choices now accessible to Cocoa it just makes sense.
Re:Mmmh, Cocoa. (Score:3, Interesting)
I can't tell you about custom controls - haven't tried making any yet.
Cocoa does have a Unicode string class similar to java.lang.String. There is the concept of a generic object and you can discover what kind it is at run time (I guess this is a superset of varient). It does have an object array type (one imutable and one mutable actually).
Cocoa objects are reference counted, but the concept of pools is built into the language. Personnally, I like garbage collection because it allows me to be lazy, but reference counting gives you more control over what happens when you want things to go away. For instance if you have an object wrapping an external resource e.g. a socket, in Java you need to write a method to release the resource. The idea of just deleting the object and having the destructor tidy up seems cleaner to me.
In theory, I'm nearly a Linux-Mac convert (Score:3, Interesting)
Even price isn't a major stumbling block these days; myself and one of the Mac guys compared the laptops we'd bought about a year previously; the Mac was equal or better in every respect, looked prettier, and only cost about 100GBP more (which IMHO, is pretty good VFM considering Apple's customer service, and how well the OS and the hardware work together compared with PC hardware and either Windows or Linux).
Unfortunately, there are a couple of showstoppers for me. These are:
Availability of Free source code for the entire OS stack (i.e. not just Darwin). Sorry, but even though I don't use the source code for some OS components at all at the moment, I've become hooked on havinng it available - a security blanket if you like.
Availability of Mac hardware from multiple vendors. I'm not keen on being tied to a single hardware vendor. Of course, if this was the case, chances are we'd begin to see the same hardware/OS incompatibilities the PC world is plagued with. :(
Rapidly diminishing: availability of some applications only as x86 binaries (e.g. closed multimedia CoDecs). The status of OpenOffice.org/MacOS X was a showstopper when I was buying my laptop, but this is no longer a problem.
--