Slashdot Mirror


Apple Developer Profile Changing?

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."

51 of 545 comments (clear)

  1. Correct me if I am wrong, but by kemapa · · Score: 5, Insightful

    Does this not make perfect sense? I mean... how large can the learning curve be for Unix developers moving to MacOS X?

    1. Re:Correct me if I am wrong, but by HeghmoH · · Score: 5, Insightful

      It depends on what you're writing.

      If you're writing command-line tools, servers, or X11 apps, it's basically a slightly-strange BSD. A lot of code compiles and runs with no modification, and a lot more just requires some small tweaks.

      However, if you're writing a GUI application, the APIs are totally different. Mac OS X doesn't use X11 for "normal" apps. You can use standard Java APIs, and some toolkits like Qt have been ported, but for the most part they don't produce an app that feels like a native application. If you're writing programs for the desktop, there's a big difference. But even then, unix experience can come in handy for the non-GUI parts of the application.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    2. Re:Correct me if I am wrong, but by cheide · · Score: 5, Insightful

      It depends on what kind of Mac developer you want to be.

      It's easy enough to run the X11 server, install all your familiar old packages via Fink, and use it pretty much like you would have used your previous UNIX setup.

      On the other end, if you want to be a 'true' Mac OS X developer, there are a few barriers to overcome:
      - Switching from GTK/Qt to the Cocoa or Carbon frameworks
      - Learning Objective-C (assuming you use the Cocoa framework)
      - Bundling applications and libraries properly
      - Following the Aqua UI guidelines
      - Integrating with other components like AppleScript nicely

      The advantage is that you can at least start out in the old, familiar environment while you work towards learning the new, preferred methods.

      (I've recently switched, though I'm still near the 'old-school' end of the spectrum for now.)

    3. Re:Correct me if I am wrong, but by Anonymous Coward · · Score: 5, Informative

      However, if you're writing a GUI application, the APIs are totally different.

      And demonstrably better. Don't make me haul out the fact that a fella named Tim wrote the world's first web browser in just a few weeks on a NeXT cube using an API that's basically identical to the Cocoa API family for Mac OS X.

    4. Re:Correct me if I am wrong, but by gilrain · · Score: 4, Insightful

      You don't have to use Obj-C to use Cocoa. Feel free to use Java and Python, and I think some others I'm forgetting. Python for me, thanks. :)

    5. Re:Correct me if I am wrong, but by jcr · · Score: 4, Informative

      I wouldn't really describe NeXTSTEP as basically identical to Cocoa. It's Cocoa's ancestor, and many things are carried over, but Cocoa has an awful lot that NeXTSTEP never did.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    6. Re:Correct me if I am wrong, but by jcr · · Score: 4, Informative

      Right now, you can write Cocoa apps using Obj-C, Java, Python, Ruby, F-Script, and LISP (!)

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    7. Re:Correct me if I am wrong, but by rthille · · Score: 5, Funny

      Another poster has replied that Cocoa > NeXTStep, but I'd just like to point out that the main thing that Cocoa has that NeXTStep was lacking that might have made it easier for Tim is WebCore(tm) :-)

      --
      Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
  2. Developer Profile Changing? by lukewarmfusion · · Score: 4, Funny

    "Apple Developer Profile Changing?"

    What, like - no more single, fat, balding, Mountain Dew drinkers?*

    Oh wait, that's not just Apple Developers...

    *I'm a developer, too. Yes, it's self-deprecating humor. Thanks, I know.

    1. Re:Developer Profile Changing? by UserAlreadyExists · · Score: 4, Funny

      I think what they mean is a different kind of single, fat, balding, Mountain Dew drinker.

      --
      "Screw causalilty!" -- Prof. Farnsworth
  3. A Good Product by Lewis+Daggart · · Score: 4, Insightful

    Apple has a good product, its that simple. Its not a product I personally use, but it has its good points, and people are noticing it. And OSX really adds to the whole appeal.

  4. 300,000 developers for under 5 % of market share by giaguara · · Score: 4, Insightful

    300,000 registered developers (and a number of unregistered developers for their own use) for a platform that has under 5 % of market share is a pretty good number.
    I can't at least imagine windows having a similar relationship of developers/users.

  5. Yes, I'm in that boat by bigberk · · Score: 4, Interesting

    I'm a long time software developer who codes predominantly for Windows and UNIX, but because Macs have embraced the UNIX architecture I would now like to start coding for OS X. I personally feel that Mac OS has a much brighter future than Windows (still not sure about Linux desktop).

    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 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.

  6. Re:New focus by lukewarmfusion · · Score: 4, Funny

    "Every time I leave my house I get screwed!"

    So does your wife.

    Zing!

  7. I'm just impressed that Apple develper tools by MisanthropicProgram · · Score: 5, Insightful

    are free. Apple Developer Site
    Unlike another company that I won't mention who charges up the ass for theirs.

  8. Re::O by avalys · · Score: 4, Insightful

    OS X has all the power of Linux coupled with a better UI and greater availability of commercial applications.

    I know lots of people (including myself) who are looking to replace their aging PC systems with Apples. Since we'd be buying completely new hardware anyway, the platform difference isn't a good reason not to buy a Mac.

    --
    This space intentionally left blank.
  9. What about Darwin? by Oculus+Habent · · Score: 4, Insightful

    It strikes me that Darwin could be much bigger than it is...

    Darwin comes with all the OS underpinnings of Mac OS X, right? Sure, no GUI, but what about the significant features - CUPS, CIFS, AFP, webDAV - aren't they there? If your company is looking at Linux but is facing those integration problems, isn't this an ideal solution? OS X on the desktop, Darwin on the servers that don't need a GUI.

    --
    That what was all this school was for... to teach us how to solve our own problems. -- janeowit
  10. another explanation by cacheMan · · Score: 4, Insightful

    Becoming a registered developer is the easiest way to download the development tools (standard gnu stuff that is missing from OS X). I am a registered developer, but I don't want to develop on OS X. I just want gcc when I'm there to fool around with.

  11. Re:May make up for past losses. by THotze · · Score: 5, Interesting

    The 9600's WERE the developer platform of choice for their next-gen OS. They ran Rhapsody (OS X in its infancy) really well, and they're what Apple used to show off Rhapsody in the "early days". That was in 1997. The 9600 had a 50MHz bus, used 70ns RAM, and, realistically, never ran above 350MHz, or 300MHz (realistically, not ocunting the paper-release of the 350's) at launch.

    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.

  12. Re:300,000 developers for under 5 % of market shar by proj_2501 · · Score: 5, Insightful

    well, part of the key thing is that apple allows you to register as a developer for free, and they give away all their tools and docs, unlike microsoft who charges you a few grand for the privilege of developing windows software.

  13. Depends on what they're planning to develop by PlatinumInitiate · · Score: 5, Insightful

    Does this not make perfect sense? I mean... how large can the learning curve be for Unix developers moving to MacOS X?

    The core of OS X is Darwin, which is based on FreeBSD, but the upper layers of the OS are based on Apple's own APIs (such as Cocoa, Carbon, etc) and NeXT framework. So, depending on what the Unix developers are planning to write (lower level stuff will undoubtedly be very similar, but higher level stuff will probably be quite different, unless they use X11 on OS X, which is also possible), the degree of difficulty in adapting will vary.

    However, Unix developers, usually being quite descerning, will probably find OS X to be an extremely well designed and put together development platform. It's great to see support for this OS increasing, Apple certainly deserves it.

    1. Re: Depends on what they're planning to develop by gidds · · Score: 4, Informative
      Sort of. As far as I can tell, Mac OS X is made up as follows. The kernel:
      • The Mach microkernel, derived from 4.2BSD
      • BSD kernel, based on 4.4BSD and FreeBSD 3.2. (This runs in kernel space, so it's not a true microkernel.)
      • IOKit, a new I/O driver architecture
      Unix utilities:
      • some derived from FreeBSD
      • and some from NetBSD.
      That lot together is open-sourced under the name Darwin.
      On top of it are:
      • Aqua, the user interface.
      • Quartz, the 2D graphics subsystem (based on PDF, derived from NeXT's Display PostScript).
      • QuickTime, for playing multmedia.
      And the APIs:
      • Classic, Mac OS 9 running as a stand-alone app within OS X.
      • Carbon, an API extracted from the older Mac OS's Toolbox.
      • Cocoa, an OO API based on OpenStep (a port of part of the NeXTStep API).
      • Java
      • AppleScript
      HTH...
      --

      Ceterum censeo subscriptionem esse delendam.

    2. Re:Depends on what they're planning to develop by PygmySurfer · · Score: 4, Informative

      OS X is basically the latest version of NextStep/OpenStep. NextStep always had a BSD core (I believe it started with 4.4 BSD). This article provides a history of Apple's operating systems, including the transition from NextStep to Rhapsody to Mac OS X.

  14. Indirectly, this benefits Windows too by parvenu74 · · Score: 4, Insightful

    The trend of Unix and enterprise programmers moving to or "showing great interest" in MacOS X is something that could be a "tide that lifts all boats." Given that MacOS X is built on BSD and therefore a secure and nearly-bulletproof operating system), an upsurge in high quality, secure, robust enterprise calibre apps on the MacOS X platform will be great for business at large.

    And rest assured that Microsoft will do something to respond to the competitive threat. If the threat of Java gave us .NET, then maybe the threat of MacOS X will bring a truly secure and robust Windows platform...

  15. "Moving To"? Bad Marketroid Phrase by EQ · · Score: 4, Insightful
    [Open Source/Unix/Linux] "Developers are moving to OSX"


    This tries to imply that they are leaving those environments and changing over to the OSX environment. Bad Spinmeistering by an Apple Rep. Its more like "Now that you have a BSD substrate I can add OSX to the list of ports I support for my apps".

    The developers are no more "moving to" OSX than they are "moving to" FreeBSD when they port an app there. He should have said something more like ... developers are adding OSX to their target OS's... Why do Apple types have to spin so hard all the time? They have a good OS and a decent hardware platform.

    (Personal feelings: I wish they would port OSX to Athlon64 or Intel architecture and more open/non-proprietary hardware components.)
    --
    Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo! http://goo.gl/J9bkO
  16. except.. by CoolMoDee · · Score: 4, Insightful

    I too am in the boat, however, I thought the same as well (about wxWidgets), until I started programming with Cocoa and Objective-C. Once I got the hang of the syntax and using Interface Builder w/ Project Builder / XCode, I find it a pain to develop any other way. Sure I don't have crossplatform as much (gnustep?) but, I guess it is once you go NeXT you never go back.

    --
    Jisho - A Japanese English German Russian French Dictionary for the rest of us.
  17. Re:300,000 developers for under 5 % of market shar by foo12 · · Score: 5, Insightful

    IANAD (..not a developer) but the hardware discount doesn't kick-in at the free sign-up level --- you have to be a paid member. Even then, it's still worth it if you're planning a major hardware purchase.

  18. Re:300,000 developers for under 5 % of market shar by prockcore · · Score: 4, Interesting

    300,000 registered developers (and a number of unregistered developers for their own use) for a platform that has under 5 % of market share is a pretty good number.

    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.

  19. Re:May make up for past losses. by Kenja · · Score: 5, Interesting
    Too bad very few apps made for Rhapsody ran on OS X. My company and others I knew blew a LOT of cash while Apple was promising to release Rhapsody "any day now". From where I sat, Apple was clearing out their warehouses of old computers by fostering them off on developers. Knowing full well that they where door stops.

    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.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
  20. Attracting Developers by pavon · · Score: 5, Insightful

    I remember when our midschool first got some Macintoshs. I was really excited. They were so much more advanced than computers I had used before. I imediatly jumped on them and started exploring and learning as much as I could about the system. And then a week later I was done. There was nothing more I could explore (shame we didn't have HyperCard). It was a black box, and the privilege of getting inside that black box cost hundreds of dollars in compilers and documentation.

    So I got bored, played through some of games, and went back to my Apple IIe at home because it had a basic interpretor, hex editor and assembler and there were still things for me to explore. Latter went on to learn more free development QBasic, Java, C and Perl, which was all in DOS and then Linux. It wasn't until this last year that I used a Mac again.

    The original Mac was a great machine for people who just wanted to get stuff done - draw pictures and type report. But I didn't want to that, I wanted to create. I wonder how many potential developers were lost to it like I was. I also wonder what effect good or bad that had on the quality and consistency of the programs. The Mac was always praised for how closely the applications stuck to a consistant guideline, and wonder how much of that was due to the fact that the developers had to be part of an exclusive club to participate.

  21. No suprise to me. by C.Batt · · Score: 5, Insightful

    I "switched" last summer because of the combination of Unix power + Apple User Experience.

    There's simply no fussing around. The environment fades into the background letting me concentrate on getting work done. XCode is a wonderful, comprehensive IDE and lets me develop OS X or Java apps (which I like) with the same set of great features.

    My only beef with this arrangement is that a 1ghz G4 PB is no longer a speed demon. I'd really like to get a G5 PB... c'mon Steve, show us the love.

    --
    -- All views expressed in this post are mine and do not
    -- reflect those of my employer or their clients
  22. I was working on source code on my dad's PC... by Fortunato_NC · · Score: 5, Funny

    And all of a sudden, visual studio was like BEEP BEEP BEEP, and my source code was, like GONE. The PC totally ate my source code!

    And it was GOOD source code, too.

    I had to retype my source code from scratch, like, REALLY FAST, and my boss thought it was really lousy and so my job got, like, outsourced to like, India.

    But my dad got me a new iBook G4 with Xcode, now I never get outsourced!

    My name is Ellen Feiss, and I'm a software developer.

    http://www.apple.com/switch

    --
    Blogging Weight Loss, Distance Education, and more at verlin.com
  23. Powerbooks rule indeed by theefer · · Score: 4, Interesting

    Same for me (alright, not the MIT, but still the best I could manage and afford), except I bought the Powerbook to run Gentoo GNU/Linux on it. It runs smoothly, and probably more even than on most of the x86 laptops out there. The hardware is great too.

    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.

    --
    theefer
  24. GNUstep is Mac OS X compatible, i.e., free Cocoa by jkheit · · Score: 5, Informative

    I wrote an article on this a while back. Someone else in this thread asked why would anyone lock themselves into a proprietary development platform when Linux is available. Well, it ain't necessarily so proprietary.

    Beyond the obvious allure, i.e., OS X is the only easy to use desktop Unix that natively supports the major productivity applications (i.e., Microsoft Office). That combination is just not available. Yea, OpenOffice is nice, but for those that *need* 100% compatibility, it's not ready for prime time. Just like linux for the desktop.

    Anyway, ever since NeXT opened the developer spec for OPENSTEP, GNUstep has been doing a great job of recreating a compile compatible version. What this means is that Cocoa really isn't as proprietary as you might think because it sticks to the OPENSTEP spec. The result is apps developed for GNUstep can be compiled for OS X's cocoa with relatively little fuss or muss. In essence GNUstep is someone Mac compatible.

    Personally, I wish people would dump GNOME and KDE and adopt GNUstep with display ghostscript, a unified class structure, a great GUI, and Linux underpinnings; it is OS X for Linux. Ok, it's more like NeXTSTEP for Linux. Anyway, if anyone takes it mainstream it could mean big problems for Apple.

  25. Student Developers by OmniVector · · Score: 4, Informative

    I'm in that boat. I got a WWDC scholarship to go to Apple's developer conference, and my application was basically "UNIX UNIX UNIX". I think they see this as a major new market: We can't get all the Windows users to switch, why not take a stab at the already-busy niche market? If you took a look in the OS 9 days just about everything popular that was a hobby OS is a close UNIX or direct UNIX deritivative. BeOS, Linux, FreeBSD, etc. If all these hobbiests are willing to do it for free and fun, why not take advantage of that and make it even better?

    I just started my mac os x programming. I wrote a lengthy objective-c tutorial to get familiar with the language, and I'm going to write similar tutorials for AppKit and AppleScript. (I like to write tutorials as part of my learning. Helps me and others at the same time I think). It's a great language and environment based on what i know so far. Much much nicer than C++ coding.

    --
    - tristan
  26. I think Apple can describe their userbase as... by Jerk+City+Troll · · Score: 5, Funny

    Developers! Developers! Developers! Developers!

  27. Re:It's pretty easy to see why. by Anonymous Coward · · Score: 5, Insightful

    The top end of Apple's product line is generally less expensive (though in some cases only slightly) than equivalent products from competitors.

    The mid-range of Apple's product line is pretty much the same.

    The low-end of Apple's product line... well, the simple fact is that there is no low end of Apple's product line. Every Mac comes with FireWire, accelerated graphics, a kick-ass OS, et cetera. These are not entry-level machines. These are mid-range machines. So comparing them to entry-level PC's is kinda silly.

  28. In other words by bonch · · Score: 4, Informative

    People are verifiably moving to OS X.

    You: "Uh, no they're not, they're moving to OSS. I have no other reason for this statement other than I said so."

    Meanwhile, what we're talking about is Cocoa and the Apple Developer Tools. :P

  29. Re:I've said it before... by MBCook · · Score: 5, Interesting
    I think capturing the home market is more important to Apple. By doing that they get more hardware and software from 3rd parties. This, among other things, increases the number of competent developers on your platform.

    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.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  30. Re::O by 4of12 · · Score: 5, Insightful

    OS X has all the power of Linux coupled with

    Microsoft Office.

    That single advantage is worth a lot to UNIX geeks forced to communicate frequently with management droids but don't want to give up on having root access on a UNIX box - by comparison, cygwin on win32 just doesn't feel as deep, nor does OpenOffice.org on Linux quite reach the heights it needs to.

    --
    "Provided by the management for your protection."
  31. Re:GNUstep is Mac OS X compatible, i.e., free Coco by IamTheRealMike · · Score: 4, Interesting
    Beyond the obvious allure, i.e., OS X is the only easy to use desktop Unix that natively supports the major productivity applications (i.e., Microsoft Office). That combination is just not available. Yea, OpenOffice is nice, but for those that *need* 100% compatibility, it's not ready for prime time. Just like linux for the desktop.

    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 ....

  32. nice os but... by hitmark · · Score: 4, Insightful

    i dont like the fact that if you want to buy a computer running it you have to buy from apple. i would mutch rather have the ability to build myself a "mac" from of the shelf parts. alltho i fear this would more or less make apple's stability claims look like so mutch air...

    --
    comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  33. Mmmh, Cocoa. by Latent+Heat · · Score: 4, Interesting
    Cocoa seems to have some neat ideas. The whole ActiveX deal (as well as the .NET deal on Windows Forms) is the GoF Mediator pattern: control fires event, main form handles event and figures out what controls to update in response, and it is all very simple until you start developing a real program and then your main form is a rats' nest of responses to to events and figuring out what to do with them.

    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?

    1. Re:Mmmh, Cocoa. by javaxman · · Score: 5, Insightful

      If you already know C, and have some experience with OO ( like in Java, for example ), you already know most of what you'll need for Objective-C. As a language, there's not a lot to learn, it'll be learning new design patterns ( like Distributed Objects for threading and Key-Value-Coding for binding and serialization ) that'll take time to learn.

      If you don't already know C, you should learn it anyway, IMHO.

      Objective-C does reference counting, not garbage collection. That said, it really is a pretty simple set of rules to follow for memory management, it's just annoying for folks who've become lazy under true GC, and of course a terrible source of seg faults and memory leaks.

      Creating your own Cocoa control is easy as pie, though most often you start with a custom view object... data types are almost all exactly C data types.

      Cocoa does indeed have 'neat ideas', always has...

  34. The New FUD: Apple Market Share by oscast · · Score: 5, Insightful

    Those of us that followed Apple in the mid-90s are all too familiar with the onslaught of negative publicity that the company received that ultimately predicted the company's imminent death. Of course, the claims were grossly over stated. Apple was a very healthy company at the time as it is now. Unfortunately, the publicity had such a negative affect, that these predictions almost resulted in a self fulfilled prophecy.

    At the time, Apple was still a relatively new player in most people's minds. The fact that many computer companies were in fact dying didn't help the stigma Apple received. When one misleading report was coupled with misconceptions about Apple and the marketplace, more reporters inevitably latched onto it and turned the situation into something far bigger than what it actually was.

    While I wouldn't classify most of that negative publicity a mass instance of "FUD" (fear uncertainty and doubt), as most instances of FUD are uniquely intentional. These were a combination of some fear uncertainty and doubt mixed with mass-confusion. Thankfully, after a lot of education, such proclamations of death are not taken seriously, no matter what the author's intent.

    However, there is a new round of Apple FUD that is not unlike the first and has been propagating throughout the same news scene as before. The new FUD is just as disturbing and equally pervasive as its predecessor but relatively undetected thus far. The new FUD plays on the public's misunderstanding about "market share" and "install base." Most individuals mistakenly use these terms interchangeably without fully understanding their meaning.

    Market share is a term that describes the gross number of product sold in a given time period.

    Install base is a term used to describe the gross number of products sold that are in use at any given time.

    The problem with using these terms interchangeably, -- at least when it comes to computers and computing platforms -- amounts to the same problem that occurred during the 90's era news reports. People are far less inclined to consider an alternative platform if there is concern that it may not be around in the future. In the case of Apple however, these claims are totally unfounded.

    Here's an example to put things into perspective: Lets say two people comprise 100% of all computer users on the planet. Each of these individuals bought a new computer for themselves at the same time; one a Macintosh and the other a Windows PC. Market share and installed base dynamics would indicate 50/50 percentages.

    But if after two years time, the Windows user decides to replace his computer, "market share" dynamics will show that Windows occupies 50% more of the market than that of Macintosh users... even though there are still only two individuals using a computer.

    Because "market share" only gauges sales of a platform as opposed to the total number of products in use, the results are skewed -- assuming we are solely trying to determine the total number of people using that particular product and not gauging sales. Of course, if we utilize the "Install base" dynamic, the ratio of computer users in our example is still 50/50.

    When a research company reports that Apple's market share has declined and is at 2%, they may very well be correct, but this is not an indicator that Mac users are defecting to Windows, nor does it in any way suggest that the total number of Mac users is at that number. Instead, it indicates that the number of Macs sold during that time period didn't grow as fast as Windows did. The market share statistic doesn't indicate the fact that the vast majority of Windows users are simply replacing their old systems or that Mac users don't typically upgrade their computers as often.

    Mac users tend to get more life out of their machine than their Windows-using counterparts. Because Mac users don't replace their computers as frequently, that translates to decreased "market share" even though install base grew... though not

  35. 300 000 developers? by Freedom+Bug · · Score: 4, Informative

    I love numbers like that.

    I'm a registered Apple developer. I don't have a Mac, have no immediate plans to buy a Mac and am definitely not going to be doing any Mac-specific programming anytime soon.

    But I had to register to download Rendezvous source. Which doesn't bother me, just don't call me an Apple Developer!

    Bryan

  36. Re:Simple reason by tupps · · Score: 5, Interesting

    I am both a .net developer (work) and a mac developer at home for my own projects. On the whole the two frameworks are reasonably similar, and if anything .net is a little more polished and has fewer quirks (for someone with a Java background).

    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.

    --
    Go out and get sailing!
  37. To answer your questions by CoolMoDee · · Score: 4, Informative

    To answer your questions, Cocoa Java is pretty good, not as good as Cocoa w/ ObjC, but still damn good. Cocoa is refrence counted and can also be "GC'ed" (via autoreleasing). Comming from Java, I actually prefer the refrence counting over GC but that is just me. You can create your own cocoa 'controls' (called Views in Cocoa speak), and they damn pretty damn easy just need to implement the drawRect: method. As for the web browser stuff, not that I know of, and funky datatypes, nope, just stuff like, NSImage, NSString (remember Cocoa came from NeXTSTEP), and yes, you can pass object references.

    --
    Jisho - A Japanese English German Russian French Dictionary for the rest of us.
  38. Re:I've said it before... by thatguywhoiam · · Score: 4, Insightful
    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.

    There's only one problem with this, but its a big problem:
    The low-end computer market is no fun.

    I don't think Apple wants to be there, and I don't really blame them. You've got tiny little margins. You need to strip out quality parts for 3rd-rate crap that doesn't last as long. And most importantly, you won't make a hell of a lot of money at it unless you are the only game in town... like Dell.

    Think about it. Dell has successfully bludgeoned the other once-promising clone makers into fine powder; Gateway is closing its stores, IBM got out of PCs entirely, Compaq is a smudge under HP's ass... am I missing anyone?

    The users who are willing to shop around and build (or commission) a custom PC using the cheapest parts are not a large market, nor are they a market that's willing to spend a lot of money.

    Just like Palm computers, its a cutthroat business and doesn't really leave you time to innovate or do new, interesting things (like 23" displays for instance). Especially when you are Apple, and you manage (pay for) both the platform and OS development.

    --
    If Jesus wants me it knows where to find me.
  39. Re:I've said it before... by fdobbie · · Score: 4, Insightful

    Apple *does* have ads targeting consumers. You can hardly miss the iPod adverts splattered all across cities and television these days. These adverts are clearly targeting consumers and it's paying off - the net result is the iPod is the market leader in portable digital music players.

    The thinking goes like this: Joe Bloggs sees iPod advert and notices all his friends have iPods. Joe buys iPod. Joe likes iPod. Joe's Dell is a bit long in the tooth, so he decides to stop by the newly opened local Apple Retail Store. Apple people demonstrate the benefits of owning a Mac to Joe and he leaves with a shiny new machine.

    The same thinking applies to the iTunes Music Store (and also just the iTunes software as a free MP3 jukebox for Windows), in that it will fuel iPod purchases which will in turn fuel Mac purchases.

    You said that customers will walk into one of the major retail stores and probably not see Macs. As a result of having a small market share, it's been the case that the retail stores just can't be bothered to give Macs any resources in terms of pushing them onto consumers. The obvious solution is to make them more obvious on the high street, and after years of trying to do that with the store-within-a-stores and all that kerfuffle they finally gave up and are doing it themselves, and it seems to be working.

    Personally, I think for a long time advertising wouldn't have solved the problem. Now there's so much else going on, a really well targeted ad campaign for consumer desktops (perhaps shortly after they release a G5-based consumer machine?) would really hit hard.

    Having said all that, the management have repeatedly proven that they move in strange and wondrous ways, so who knows what'll happen.

  40. Re:Simple reason by AstroDrabb · · Score: 4, Insightful
    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.
    You should change this to read: "to build similar UI's under _MS WINDOWS_". Under Linux there is no silliness about managing every stinking widget/control. I have been developing for over 10 years now under varied platforms and I could never stand all the tedious coding needed under MS Windows to make a stupid control/widget scale when the windows is resized. It was very brain dead on the part of MS to not include this. I cannot count how many hours I have wasted while doing MS Windows development just to get the damn GUI to look nice and consistent. Under Linux and Mac the widgets/controls are much smarter about scaling with the GUI without tons of lines of code to move 100 widgets around everytime the window is resized.
    --
    If Tyranny and Oppression come to this land,
    it will be in the guise of fighting a foreign enemy. -James Madison