Slashdot Mirror


Apple Win32 to OS X Porting Guide

BoomerSooner writes "Apple has released a Win32 to Mac OS X Porting Guide for C/C++ developers. This Guide is to get you started porting an existing procedural Win32 application written in C or C++ to Mac OS X. It looks like Apple is getting a bit more aggressive toward Microsoft."

112 of 285 comments (clear)

  1. Step #1 by swordboy · · Score: 3, Interesting

    Get this!

    It does wonders for cross-platform development.

    --

    Life is the leading cause of death in America.
    1. Re:Step #1 by Anonymous Coward · · Score: 5, Informative
      I have developed with Codewarrior for years. Yes, the compiler suite is cross platform... or more correctly "Metrowerks make products for both platforms".

      NO, the API is not cross platform. MFC/Win32 on Windows, Carbon/Cocoa/Toolbox on the Mac. API code you write for one is not compatible with the other

      Just so you know, before you go out downloading CW from hotline.

    2. Re:Step #1 by ajiva · · Score: 3, Funny

      Get this

      It does wonders for cross-platform development

    3. Re:Step #1 by CoolVibe · · Score: 2
      Even Microsoft itself never used MFC other than demo apps for the framework. That kinda tells you enough about the framework, doesn't it? This is dogfood even MS itself never wanted to eat.

      ANYTHING is better than MFC. It's something you wouldn't inflict even upon you worst enemies.

      (coming from someone who tried developing with MSVC and MFC in the past and hurridly scurried back to his trusty Borland C++ Builder and VCL environment)

    4. Re:Step #1 by jonadab · · Score: 2

      Or this, which in addition to being very portable also will revolutionise your maintainability. (Java is also better than C/C++ in this regard, but IMO it doesn't go far enough in moving away from the pitfalls of C/C++.) C-based langauges (C, objective C, C++, C#, ++C, C^2, C ad nauseam) are fundamentally outmoded, because the langauge tools place burdens on the developers that in any modern development environment ought to be handled automatically. So you end up with buffer overruns, dereferencing pointers that no longer point anywhere sensible, and other programming errors that have plagued us since the sixties and are totally avoidable if you just use a modern, high-level language. (Note to Python fans: I used Perl as my example because it happens to be a language I know and use; I did not say anything bad about Python, only about C and its ilk, which you don't like either.)

      --
      Cut that out, or I will ship you to Norilsk in a box.
  2. Huh? by phillymjs · · Score: 4, Funny

    That's funny. I'm on a Mac and yet my mouse has two buttons and a scroll wheel that can be a 3rd button.

    And what are these "floppies" of which you speak?

    ~Philly

    1. Re:Huh? by jerkychew · · Score: 2

      How much extra did the new mouse cost ya? I guess you can afford it, what with saving all that money by buying a Mac and all...

    2. Re:Huh? by Reality+Master+101 · · Score: 2

      That you can fix the brain damage doesn't mean it should have shipped with brain damage.

      --
      Sometimes it's best to just let stupid people be stupid.
    3. Re:Huh? by jonadab · · Score: 2

      > I'm on a Mac and yet my mouse has two buttons and a scroll wheel

      Indeed: at the cost of Mac hardware, another few bucks for a
      decent mouse is like nothing, so do yourself a favour and get one.
      Logitech makes nice ones, and they even come in designs that look
      appropriately trendy (a.k.a. stupid) to match an iMac or eMac. I've
      always found it odd that Macs, which have such a good foothold in the
      graphics arts market don't come with a decent mouse; both Gimp and
      Photoshop are basically useless with a single-button mouse. I guess
      it's because graphics arts professionals have strong pointing-device
      preferences (I have a Mac-using artist and typesetting friend who
      swears by trackballs, for example) whereas the other portion of the
      Mac user segment would never use the second button and might find
      it confusing. *shrug*. It's not a big deal; the price of a mouse
      is nothing compared to the price of a Mac, so just get one.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  3. X-OSX? by xjerky · · Score: 2

    Cool....does Apple happen to have a similar guide to porting Unix apps to use the Cocoa interface? I know OSX supports X apps natively, but it would be nice to be able to make, say, the Gimp to be a true Mac app.

    --
    A sentence you'll never see on an Internet discussion board: "You know what? You're right."
    1. Re:X-OSX? by Anonymous Coward · · Score: 5, Informative

      Why yes there is....

      http://developer.apple.com/techpubs/macosx/Darwi n/ GettingStarted/PortingUNIX/

  4. Oops by phillymjs · · Score: 2

    Hit the wrong 'reply' link.

    This should be a reply to this post.

    ~Philly

    1. Re:Oops by glwtta · · Score: 5, Funny
      Hit the wrong 'reply' link.

      Getting confused by all the buttons? ;)

      --
      sic transit gloria mundi
  5. Documentation Overdue by masonbrown · · Score: 3, Interesting

    It's great to see all this documentation coming out. For the first couple of years, it was difficult at best to find any information about the internals of MacOS X. I still don't know of any decent reference for NetInfo administration. O'Reilly's helped alot though.....

    1. Re:Documentation Overdue by pauljlucas · · Score: 2
      For the first couple of years, it was difficult at best to find any information about the internals of MacOS X.
      It's a Unix box: man(1) works.
      I still don't know of any decent reference for NetInfo administration.
      man netinfo
      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    2. Re:Documentation Overdue by apuku · · Score: 2, Informative

      "Mac OS X Unleashed" by John Ray and William C Ray has a lot of good stuff on NetInfo - clustering, NFS mounts, user management, etc.

      --
      Look, it's trying to think - Albert Rosenfield
    3. Re:Documentation Overdue by Twirlip+of+the+Mists · · Score: 2
      [localhost:~] twirlip% man netinfo

      NETINFO(3)

      NAME
      netinfo - library routines for NetInfo calls

      SYNOPSIS
      #include <netinfo/ni.h>

      DESCRIPTION
      These calls are the programming interface to NetInfo.
      Typically, a handle (of type "void *") is allocated
      through a call to ni_new, ni_open, or ni_connect. This
      handle opens a connection to the given NetInfo domain.
      Read calls may go to either the master or the clone
      servers, while writes will always go to the master server.
      If the master is unavailable, no writes can be performed.
      The handle is then passed to one of several NetInfo rou-
      tines for database operations and then freed using
      ni_free. Several utility routines are also supplied which
      operate on NetInfo data structures. These routines don't
      require NetInfo handles.
      Great advice, you jerk. If you're going to respond to something like this, the least you could do is offer help that's actually helpful. (Note: that link points to a 62-page, 1.9 MB PDF called "Understanding and Using NetInfo.")
      --

      I write in my journal
    4. Re:Documentation Overdue by pauljlucas · · Score: 2
      If you're going to respond to something like this, the least you could do is offer help that's actually helpful.
      It is helpful to those who have been programming Unix systems longer than you've probably been alive. The fact that it may not be helpful to you isn't relevant.
      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    5. Re:Documentation Overdue by Twirlip+of+the+Mists · · Score: 2

      It is helpful to those who have been programming Unix systems longer than you've probably been alive. The fact that it may not be helpful to you isn't relevant.

      No, it's not helpful in the slightest. The poster said he was looking for information on administering NetInfo. You pointed him to the NetInfo API documentation. You missed the boat, friend.

      --

      I write in my journal
    6. Re:Documentation Overdue by pauljlucas · · Score: 2
      The poster said he was looking for information on administering NetInfo. You pointed him to the NetInfo API documentation.
      OK, you got me there. But still, any old Unix salt would reflexively try apropos(1):

      $ apropos netinfo
      netinfo(3) - library routines for NetInfo calls
      netinfo(5) - network administrative information
      netinfod(8) - NetInfo daemon
      nibindd(8) - NetInfo binder
      nicl(1) - NetInfo command line utility
      nidomain(8) - NetInfo domain utility
      nidump(8) - extract text or flat-file-format data from NetInfo
      nifind(1) - find a directory in the NetInfo hierarchy
      nigrep(1) - search for a regular expression in the NetInfo hierarchy
      niload(8) - load text or flat-file-format data into NetInfo
      nireport(1) - print tables from the NetInfo hierarchy
      niutil(1) - NetInfo utility

      Looks like oodles of relevant information to me.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
  6. Marklar by Znonymous+Coward · · Score: 4, Interesting
    >> It looks like Apple is getting a bit more aggressive toward Microsoft.

    The ultimate aggressive move would be to release Marklar, the x86 version of Mac OS X.

    --

    Karma: The shiznight, mostly because I am the Drizzle.

    1. Re:Marklar by Twirlip+of+the+Mists · · Score: 4, Funny

      The ultimate aggressive move would be to release Marklar, the x86 version of Mac OS X.

      I'm sorry, but I think you typed "aggressive" when you meant to type "suicidal."

      It's a common mistake. The keys are right next to each other.

      --

      I write in my journal
    2. Re:Marklar by kitzilla · · Score: 2

      I don't think it's time yet. Marklar would be the equivalent of going nuclear. Apple needs a solid MS-compatible office suite first. Appleworks 6.x isn't sufficient, and Open Office is MILES away from being ready.

      Beyond a professional office product, what else would Apple need from Microsoft? Chimera/Navigator is already superior to IE as a browser (just a few more show-stoppers, and it will be ready to come out of beta). Almost all the major commercial wares are ported over. When the time is right, I think Apple should go it alone.

      OS X on x86. Boy, that would beat the heck out of Win XP.

      --
      This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
    3. Re:Marklar by bogie · · Score: 2

      "Open Office is MILES away from being ready."

      Not really. It certainly needs polishing, but it's hardly hackware. In fact if Apple put half a dozen engineers on it for a year, they'd have their own MS Office killer within a year.

      --
      If you wanna get rich, you know that payback is a bitch
    4. Re:Marklar by kitzilla · · Score: 2

      > Not really. It certainly needs polishing, but it's hardly hackware. In fact if Apple put half a dozen engineers on it for a year, they'd have their own MS Office killer within a year.

      Absolutely--but it's not ready now.

      God bless the developers who work on Open Office, but I think they have forther to go on the OS X port than you indicate. They're not close to getting it onto Aqua. Beyond that, Open Office will need substantial modification if it's going to conform to Apple's user interface standards.

      It MUST be super-stable for professional use.

      You're right: an Apple development team and a supported commercial release would be best. It was rumored last summer that Apple was working on a port of Star Office. The reports were followed by all manner of denials after the Open Office developers heard of it.

      My guess is that Apple is hard at work on AppleWorks 7.0, and it's based on Star Office. Guess we'll see.

      Go, Apple!

      --
      This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
    5. Re:Marklar by kitzilla · · Score: 2

      > Apple makes about 90% of their revenue via hardware

      Absolutely true. Going to war on the x86 platform would be a megashift in their (successful) business model.

      OS X on a PC would be cool. No disrespect at all intended towards Linux, but I think OS X is the best of the currently available desktops.

      My guess is that Marklar will never be released to the PC world. It's a Motorola intimidator. Might all be moot, now that IBM has come to play.

      But rumors persist that Marklar is more than a PPC exit strategy. It's Apple's final scorched-earth option if Microsoft excludes them from .Net or pulls the plug on Office for the Mac.

      Who knows? Apple rumors usually turn out to be just what we pay for them.

      As for AMD: yeah, a PPC chip from them would be fabulous. 64-bit, please.

      --
      This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
    6. Re:Marklar by kitzilla · · Score: 2

      > Since when has M$ Office even been even remotely stable?

      I've had Office v. X crash--particularly before the first service update. But the current version under OS X 10.2.3 is quite solid. More importantly, I've never lost a document. I do a LOT of writing.

      Dunno what platform you're using, but Office has been exemplary for me. This is quite a contrast to AbiWord (for instance), which crashes and corrupts documents with the kind of frequency that would keep me from ever trusting it with professional writing.

      Further, no WP or spreadsheet app approaches Microsoft's suite in terms of features. MS has been doing office apps for a long time, and it shows.

      My problem with Microsoft is its operating system monopoly, not its commercial applications. Yeah, I wish .doc was an open standard. But most programs convert it.

      Appleworks is quite reliable, but its .cwk format is no less proprietary than .doc. As badly patched as it is, Appleworks is stable on OS X. But it won't do half the things I can do in Word, and its spreadsheet app is hopelessly dated.

      Open Office and Star Office work fine for basic stuff on my Linux box, but aren't available on OS X. There's not even CLOSE to being mature on the Mac platform.

      Here's hoping Apple takes Star Office under wing as Appleworks 7.0.

      --
      This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
    7. Re:Marklar by Halo1 · · Score: 2

      FYI, Marklar is simply the code name for Darwin 6 for Intel (like Jaguar was the code name for Mac OS X 10.2). See here (use login/pass archives/archives).

      --
      Donate free food here
  7. Useless by jon_c · · Score: 2, Informative

    Wow that's a pretty short guide. I think it came be summarized as:

    "Welcome to OSX, based on unix, which means you get protected memory, threads and other stuff. This is new to Macs, which is why we're even bothering to mention it.

    Their are a poop-load of different ways to develop for the Mac; Cocoa, Carbon, Java, Classic and even old school bsd/posix, but since Carbon is the only one that resembles Win32 we will talk about that one.

    I'm going to mention that Win32 message are a lot like the old school messages, doesn't this make it easy?, oh and we have some type of form/resource editor n' stuff.

    Now to read more here are some other articles you'll absolutely need to read before you can anything... you know what.. Why don't you just come to the developer conference: Worldwide Developers Conference sessions on Mac OS X (available for purchase)

    -Jon

    --
    this is my sig.
    1. Re:Useless by blamanj · · Score: 4, Informative

      Perhaps you didnt notice there were links to additional pages?

      * 2D graphics
      * 3D graphics
      * User Interface
      * Text
      * Networking
      * Multiprocessing

    2. Re:Useless by blamanj · · Score: 2

      Ah, but those pages include links to the docs for the manuals, which include APIs plus links to code snippets, tech notes, Q&A's, etc.

      Now I'll grant you that's perhaps not the most convenient form, but such is the nature of hypertext. Non-linearity has both pluses and minuses.

      The one thing they are missing is sample code. It would be nice to see a couple of examples like Paint and NotePad (or equivalents) in both Win32 and OS X incarnations.

  8. Panic in the streets of Redmond! by Anonymous Coward · · Score: 3, Insightful

    It looks like Apple is getting a bit more aggressive toward Microsoft.

    Yeah, I heard the Fiji Islands are getting more aggressive towards the USA, too. Somehow, I don't think that will make much of a difference. Apple has two percent of the market, people. That's less than Linux. Hell, that's probably less than OS/2! If Apple had any guts, they'd release an x86 version of OS X. But they know they'd lose, so they won't.

    1. Re:Panic in the streets of Redmond! by Znonymous+Coward · · Score: 3
      >> If Apple had any guts, they'd release an x86 version of OS X. But they know they'd lose, so they won't.

      Wait until Microsoft starts with this Palladium thing. Market conditions will be just right for an x86 release for Mac OS X.

      --

      Karma: The shiznight, mostly because I am the Drizzle.

    2. Re:Panic in the streets of Redmond! by Elwood+P+Dowd · · Score: 2

      Wait until Microsoft starts with this Palladium thing. Market conditions will be just right for an x86 release for Mac OS X.

      [SNEEZE]bullshit[/SNEEZE] Gosh, this cold is killing me.

      --

      There are no trails. There are no trees out here.
    3. Re:Panic in the streets of Redmond! by sql*kitten · · Score: 2

      If Apple had any guts, they'd release an x86 version of OS X. But they know they'd lose, so they won't.

      Well, they might, but the fact that it's running on an x86 will be entirely incidental - it will still be a proprietary Apple machine, with a proprietary motherboard and probably a bunch of proprietary ROMs. Apple are a hardware company. It's where they make their money, and they are reliant on controlling the hardware for their "it just works" capability.

      The x86 version exists to give Apple leverage over Motorola, not Microsoft.

  9. Now, if only... by Chicane-UK · · Score: 2, Offtopic

    I wish Apple would hurry the hell up and read the 'Porting OSX to x86' guide! :)

    That would be some serious competition, and I know for one that I would definately go and buy a copy of OSX!

    I think OSX is a fantastic systems, but I just cant afford, nor can justify the buying of a mac.

    --
    "Hey! Unless this is a nude love-in, get the hell off my property!!"
    1. Re:Now, if only... by passion · · Score: 2

      They've ported Darwin to x86 a while ago.

      Also, their machines are nearly as elegant as the OS. Try out an ibook someday - the intro price is only $999 right now.

      --
      - passion
    2. Re:Now, if only... by Cheesewhiz · · Score: 2, Interesting

      For the last time...

      Apple is a hardware company. They make money from selling hardware, not software. OS X is great in part BECAUSE it's running on a unified Apple hardware architecture. Apple does NOT, however, make money by developing software that enhances their hardware, and then selling it to an unrelated platform. Sun is another example of this, I believe.

      As a result, OS X for x86 is not going to happen. If, by some freak of an accident it does, it's going to be on proprietary, Apple-designed hardware, and it won't run on any old machine.

      If you don't believe me, go to Apple.com's support or specs section and look at how much OS X depends on the concept of OpenFirmware. This, and speed, were two reasons why OS X was not installable on Macs older than the G3. Anything without OpenFirmware is out.

      --

      -----
      "Cogito Eggo Sum: I think, therefore, waffle."
    3. Re:Now, if only... by IamTheRealMike · · Score: 2
      I know for one that I would definately go and buy a copy of OSX!

      No you wouldn't. It's pretty much 95% certain that your hardware wouldn't work with it. Do you see how long it took for Linux to get decent hardware compatability? Over 10 years, and it's still not perfect. The moment people started putting OS X to work anything less than highly controlled hardware, the "Just Works(tm)" factor would go out the window. Nobody, I repeat, nobody has ever been able to crack the x86 OS market before, partly because of this problem. In the real world, computers are at saturation because you can pay basically what you want for them - doesn't mean the hardware is high quality but for many low quality is better than nothing at all.

      It's for this reason that OS X will never be mainstream. Just forget about it.

    4. Re:Now, if only... by Twirlip+of+the+Mists · · Score: 2

      The only reason why OS X doesn't support older machines is because Jobs needed the money for his private jet.

      Oh, quit trolling. This is apple.slashdot.org. Everybody here knows that Steve got his private jet as a gift from the board of directors. He didn't have to pay for it himself.

      Moron.

      --

      I write in my journal
    5. Re:Now, if only... by jonadab · · Score: 2

      > Sun is another example of this, I believe.

      Sun is different, for three reasons. Perhaps most obviously, Sun
      has been making server-grade systems since Apple was associated
      with green screens and keyboards built into the computer chassis,
      so they have a long-standing reputation for what Apple has only
      recently been trying to start doing. But traditions don't last
      forever, and the other two differences are more important. The
      second difference is that Sun doesn't just make their money only on
      hardware per se but on complete "solutions" (similar to what IBM
      does, but to perhaps a lesser extent). Sun (like DEC used to do)
      also works with vendors who base their "solutions" on Sun hardware
      and Solaris. (Think in terms of highly-industry-specific proprietary
      application suites that are sold as a package: hardware, software,
      training, and the maintenance contract all go together.) Apple
      AFAIK has to date not attempted to break into this market.
      (Microsoft has, and has gained a bit at the expense of Compaq (their
      DEC stuff) and others.) The third thing that keeps Apple from being
      quite comparable to Sun is that Apple has a much better relationship
      with Microsoft. Sun has been called a loose cannon, but Apple
      kisses whatever of Microsoft's anatomy is required to get some
      minimal cooperation. This is an attitude thing, but it is probably
      the most important of the three differences. Apple doubtless resents
      Microsoft's dominant position, but they work with it, calmly playing
      their cards and positioning themselves; Sun is more... ruthless.
      That's why you can get Solaris.x86, but Mac OS X86 is a rumour.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  10. Re:I just ... by alfredo · · Score: 2

    Ask any old man, he will tell you.

    --
    photosMy Photostream
  11. MFC?? by shlong · · Score: 4, Insightful

    I hate to say this, but this 'guide' is rather useless and looks to be little more than a reprint of marketing glossies. Don't get me wrong, I love OSX. But to imply that you can easily port MFC apps to Cocoa is humorous. Even rewriting an MFC app in Cocoa will most likely be highly frustrating due to your engineers having to change their mentality from one to the other.

    --
    Cat, the other, tastier white meat.
    1. Re:MFC?? by Lord+Omlette · · Score: 2

      Microsoft used to make cross compilation for MFC a big priority, but let's face it: if you're on Windows and not coding using WinForms or WTL, wtf are you doing?

      --
      [o]_O
  12. Re:X-OSX? heh? by alfredo · · Score: 2

    My wife's eMac is loud, but we are spoiled by the quiet G3's. My dual is not much worse than some PC's, but still I want silence when I am doing audio work.

    --
    photosMy Photostream
  13. Advice to Geeks about to try out mac osx by goombah99 · · Score: 5, Informative

    Sorry to repost this but it gets tiresome to see the same misinformation out there. read on.

    Dear Unix user, welcome to mac. If you trust me you will just do all of the following without asking why, before you start whining about features you miss. The following is a no-fat-added list of essential customization for unix users converting to the mac world.

    1. The Mouse.
    Go buy a 3 button USB mouse. Make sure you get an optical mouse with a wheel. Buy the most expensive one you can. Heriditary mac users prefer a 1 button mouse, but you wont.

    2. The Terminal.
    Open /Applications/Utilities. Drag the terminal.app to the Dock

    3. File system journaling
    Open the terminal.app and type
    sudo diskutil enableJournal /Users
    Just do it. This can be undone and you can change how you want it later.

    4. The Compiler
    Regardless of what compiler you prefer, you need the native compiler and libs. Go to
    http://developer.lanl.gov and register for free. Enter the site and select the downloads option. Scroll through the list till you find "developer tools", download and install it.

    5. Installing GNU ports part 1.
    Goto http://sourceforge.com and find the latest stable release of "fink" for mac os X. download and install it. There will be some questions to answer, just choose the defaults except if offered, ask it to get updates from CVS.

    6. Install X-windows part 1
    If you have 5 hours to you can wait, type in the terminal
    fink install xfree86-rootless
    this is preferred as it gets the latest release of a fast changing package.
    If you are in a hurry you can install the binary.
    Type
    sudo dselect
    Quick intro to dselect: after some preliminaries you are offered the chance to choose packages from a list. Use the down-arrow key to move down and find xfree86-rootless.
    Press the + key to select it. You will be offered "conflict resolution": accept the defaults by pressing return. Then return again to exit the selection. DO NOT GET GREEDY and select other packages yet. Finish the installation.

    7. Installing X-windows part 2: the window manager
    You may prefer fvwm2 or some other window manager but take my advice and try out oroborus first. Oroborus does things the mac way, and later you will be glad you did even if its not familiar at first. Oroborus deliberately eschews many popular features, letting the OS provide those services. For example, if you want virtual screens you DO NOT want them as part of the windows manager! You want them as part of Aqua so that they apply to both aqua and to x-windows. Likewise you want the Dock to manage minimizing windows not the window manager.
    Go to http://apple.com click the OSX tab, then the downloads tab and find oroborus.
    Note: the oroborus that comes with Fink/dselect is not quite the same thing.

    8. Installing GNU ports part 2.
    Use dselect or fink to install a few packages. Fink has about 2000 packages available including your favorite parts of kde and gnome. To see what's avalaible type
    fink list | more
    just for practice try installing gv (ghost view) and xemacs.
    Remember, dselect will install binaries (fast), and fink will install source (slow), generally dselect is a good idea. Once a month type "fink update-all" or update packages in dselect.

    9. Text editor
    Goto http://www.barebones.com and get a free copy of bbedit "lite". I recommend buying the full version, especially to geeks. Note that you can save files in unix/mac/PC formats which have different end of line characters. Despite the name, on a mac you should normally use unix format. Mac mode is mainly for historic reasons but gums up unix commands. Even if this (amazingly) does not turn out to be your preferred editor, you should install it anyhow so that it is there for guests.

    10. Mounting network disks
    You can mount NFS disks by creating a file that looks just like the usual /etc/fstab file. It does not matter where you put it since the mac will ignore it. To mount the disks type "sudo niload fstab" followed by the file path name. However, don't do this right away till you have more experience. Instead do the following.
    In the finder window, select go>servers. In the text field type
    nfs://xxx.xxx.xxx.xxx/hostpath
    Where xxx.xxx.xxx.xxx is the ip address or domain name of the host with the disk, and /hostpath is the exported fs. The disk will be mounted in /Volumes and be "aliased" to the desktop.
    To mount windows network disks we use
    smb://xxx.xxx.xxx.xxx/path
    Be nice and unmount your disks (throw them in the trash) before disconnecting from the net.

    11. using X windows across the network.
    All the usual stuff (like xhosts and DISPLAY) works as expected. However you do need to activate oroborus (which will fire up X-windows) since its not on by default. However, before you do this let me suggest an alternative you may find better. Goto http://apple.com and on the osx downloads page locate VNCdimension (or VNCthing) and install this application. On the X windows client, run vncserver. And on the mac attatch to it using VNC dimension. On anything but the fastest network connection you will find this smoother and faster than using x-windows. Plus its more secure and even runs through firewalls. At present much of X-windows on the mac is not graphics accelerated, but VNC dimension which runs in aqua is.

    12. Shortcuts worth knowing about
    On your unix machine to run netscape you type /usr/bin/Netscape &
    on a mac you type
    open /Applications/Netscape
    to open the file browser at the current working directory type
    open . (note the period)
    to open a web page type
    open http://macosxhints.com

    13. Pitfalls
    There are few pitfalls in the file system you need to know about early on.
    First be careful with cp,mv,rsync, and tar. For 99.9% of the time they work as expected. But a lot of mac applications and mac documents store info in something called the "resource fork" of a file. Unix files only have a single data fork. Mac files have a data and a resource fork. The data fork is the same as what you would see on the unix system. The resource fork can contain almost anything, but usually contains unimportant meta-information about the file itself like what app created it, and so on. But sometimes it contains crucial information (e.g quicken).
    When you do a unix cp or mv or tar all you get are the data forks. The rule of thumb is this: if your file can be used by a unix program then dont worry about the resource fork. Most modern mac apps do not use the resource fork but older ones do.

    Second, mac filenames are case-insensitive but case preserving. Thus ReadME and readme are the same file.

    Third, unfortunately, for backwards compatibility there are two different kinds of soft links on a mac. One is the usual unix soft link and the other is the "alias" function of the OS. The OS is smart enough to recognize the unix links and treat them as file aliases in the GUI. But the reverse is not true. Generally you are better off using the unix soft links.

    Fourth, macs have three layers of file permissions where unix has one. Macs have the usual unix permissions. Plus there is an ability to lock a file against changes or deletion, and finally there is the ability to lock a file against modification even by root. generally you wont ever need either of the latter two, but you may someday find a file you cant seem to delete! just in case, the normal file lock is accessed via "get info"

    Fifth, fstab, exports, shadowpassword, passwd, and most unix configs don't work the way you expect. Use the admin tools to alter netinfo configuration data. (see root below)

    14. Thinking mac-like.
    First off you never need to touch the other mouse buttons outside of x-windows. Second, try to adopt apple applications where they exist to replace you current favorites. For example, use the mail.app instead of pine or Eudora. Sure these have nice features, but long term apple apps will stay more tightly integrated: for example, mail.app links to addressbook which links to iCal. Third, Chill-out dude. Macs force you to do things a certain ways with warning dialog boxes or focus-on-click windows. These are not worse than other ways, and long term you will come to see the benefits from the cross-application uniformity of operations. Unmount disks, especially network disks, by tossing them in the trash. (you may want to add an eject button to the finder menu)

    15. Viruses, Worms, holes, etc...
    Regularly use the software update feature. Bugs get patched quickly. Historically, the only security holes you must stay on top of are Microsoft Internet Explorer holes, Microsoft Entourage/outlook holes, and Microsoft macro viruses. Don't bother worrying about anything else till you worry about these. Many people use Chimera for this reason.

    16. Root
    If you read just one book try "mac OS X for unix geeks", most other books aren't for you because they are trying to explain unix to mac-heads. Avoid using root when you can use an admin tool or sudo instead. Apple has not fully document root admin, so stick with tools. Except don't ever play with netinfo manager or niload until you have a lot of experience, as there is no faster way to make your mac unbootable.

    17. Goodies
    There are virtual window managers at mac OSX downloads.
    Try out Watson at http://www.karelia.com/watson/
    Microsoft office X is a great program even if it is made by Microsoft.
    Scientific plotting: You may like Igor from wavemetrics.com since it has both command line and menu driven interface. Fink comes with R, Octave and Gnu-plot. Mathematicians may prefer mathematica.
    If you have a powerbook, put the dock on the left and make it small.
    Turn off autostart on OS 9.0
    Discover iTunes.
    Consider a mac.com account
    Read http://macosxhints.com

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:Advice to Geeks about to try out mac osx by justsomebody · · Score: 2, Insightful

      I know your intention was good.

      But, wouldn't it be easier and cheaper to buy a PC and install Linux.

      Answers on your thinking what to say next
      1. No, I don't need any commercial applications, at least mac doesn't cover that department of software
      2. No, I my case is much nicer than Apple case, I'm very selective one
      3. Yes, I tryed OSX, even Jaguar, toooo sloooow

      --
      Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
    2. Re:Advice to Geeks about to try out mac osx by Pope · · Score: 3, Informative

      You forgot about signing up for a free Apple Developer Connection membership and getting Apple's developer software for free!

      http://connect.apple.com/

      --
      It doesn't mean much now, it's built for the future.
    3. Re:Advice to Geeks about to try out mac osx by Etcetera · · Score: 3, Interesting


      13. Pitfalls

      Third, unfortunately, for backwards compatibility there are two different kinds of soft links on a mac. One is the usual unix soft link and the other is the "alias" function of the OS. The OS is smart enough to recognize the unix links and treat them as file aliases in the GUI. But the reverse is not true. Generally you are better off using the unix soft links.


      Great post, but I have to take issue with this one. MacOS aliases are far superior to symlinks IMHO. By storing the file ID and other meta-information about the original file (creation date/time, modification date/time, file name, size, creator, type, etc...), the alias has a much higher chance of identifying the proper file should the original file move.

      In fact, you can do pretty much anything to a file you want (short of moving it to another volume and deleting the original) and chances are the alias will still be able to track it down (and update itself) when you double-click it.

      It's an old-school MacOS concept that Unix geeks would do well to learn from.

    4. Re:Advice to Geeks about to try out mac osx by Capt.+DrunkenBum · · Score: 2

      Don't forget to shut off the silly bouncing icons in the dock.

      I have a 266 Mhz Wallstreet Powerbook, with 192MB RAM, and a 20 GB HDD.

      It makes a bigger diffrence than you would believe to the speed of the machine.

      --

      Not everyone deserves a 320i

    5. Re:Advice to Geeks about to try out mac osx by Wesley+Willis · · Score: 2, Insightful

      If you don't want what OS X has to offer (which is quite a bit), then yes goddammit, use Linux on x86. The only reason there is a long explanation for all this stuff is because this is the way to get comfortable with the Mac OS X environment if you are a Linux user.

      So, yes, your implied conclusion is correct-- it's easier to do what you have always done and not try something new, especially if you don't care about the advantages of the alternative.

      Congratulations.

      --


      ---
      Rock over London
      Rock on Chicago
      Wheaties: Breakfast of Champions
    6. Re:Advice to Geeks about to try out mac osx by iomud · · Score: 2


      But, wouldn't it be easier and cheaper to buy a PC and install Linux.

      Run photoshop, dreamweaver|flash|director, logic and microsoft office at a reasonable speed and stability in linux out of the box. I dare you. If you dont need any commercial applications you must be living in some sort of cave or crazy commune.

      The parent post was just illustrating that osx does nearly all the things people like about free unix-like operating systems.

    7. Re:Advice to Geeks about to try out mac osx by Twirlip+of+the+Mists · · Score: 2

      In fact, you can do pretty much anything to a file you want (short of moving it to another volume and deleting the original) and chances are the alias will still be able to track it down (and update itself) when you double-click it.

      If you do manage to "confuse" an alias, a friendly dialog box will pop up when you double-click on it asking you if you'd like to manually associate it with the original, or just delete it. It's stuff like that that really puts Mac OS X head and shoulders above the other UNIX-based and UNIX-like operating systems.

      It's an old-school MacOS concept that Unix geeks would do well to learn from.

      It's not that old school, is it? If I remember correctly, aliases were a new feature of System 7, back in 1990 or thereabouts. Old school Mac stuff dates back to the mid-1980's. Man, I remember early '86 and the first Mac Plus. System 3.0 was sweeeeeet. It had filesystem caching and allowed you to create nested folders. And it won InfoWorld's People's Choice Award for OS of the Year.

      Those were the days, man. I can still close my eyes and hear the sound of the startup beep and of the original Mac floppy drive humming quietly to itself as the machine booted up. So warm and friendly. Mmm.

      --

      I write in my journal
    8. Re:Advice to Geeks about to try out mac osx by jafac · · Score: 4, Informative

      SWEET.

      Even as a veteran Mac user and unix wannabe for the past several years, I learned a lot from your post. Comments:

      1. Older Macs (Beige G3) have ADB instead of USB - and nobody is writing device drivers for ADB devices in OSX. So if you have one of these older machines, *DO* invest in a USB card. However, with 10.2, there seems to be some whacked out performance bug with USB devices that slows the whole system down, so you might want to stick with 10.1.5 until they've nailed it. No, 10.2.3 does NOT fix it.

      2. I can't recommend highly enough, the wonderful shareware terminal replacement, GLTerm. It's so much faster than the regular terminal, you'll often wonder just what the hell terminal.app is doing with all it's time. Maybe browsing the net for porn? Who knows?

      7. Orobourous is extreeeeeeemely unstable. Unless they've fixed it since I tried it 6 months ago. I think Windowmaker is best. It's patterened after the NeXT GUI - so it's really the GUI OS X *should* have, was meant to have.

      9. mi is a great little editor - and it's free.

      13. 'ditto' is the command-line copy utility that is "resource fork" aware.

      14. One of the great joys in life is opening new browser tabs in the background by clicking on links with the scroll-wheel button in Chimera. Chimera is great for it's non-bloatedness, but it REALLY need's ad-server blocking like it's older brother, Mozilla.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    9. Re:Advice to Geeks about to try out mac osx by glwtta · · Score: 2

      Well, considering points 1, 2 and 3 I suppose it would be easier for you to buy a PC and install linux. However, I have this sneaking suspicion that the world does not revolve around you. I could be wrong, of course.

      --
      sic transit gloria mundi
    10. Re:Advice to Geeks about to try out mac osx by benedict · · Score: 3, Informative

      I'm a unix user since 1996, I don't mind using a
      one-button mouse.

      Why journaling? It's not useful for most people.

      The compiler should be gotten from Apple, not from
      lanl.gov. And developer.lanl.gov doesn't exist.

      The window manager to use is OroborOSX, not
      oroboros. That's why it's different from the one
      in fink.

      The "extra layers of file permissions" you speak
      of are not unique to Mac OS X. On any BSD
      system, look at the man page for chflags(1), and
      see the '-o' option to ls(1).

      Starting with version 10.2, some of the files in /etc are checked before NetInfo. So some of
      those files you mention _can_ be used in the
      traditional way.

      I don't think it's very cool to complain about
      misinformation and then post a ton of it. You
      posted some excellent advice as well, but I was
      only able to tell the wheat from the chaff
      because I'm already familiar with unix and Mac OS X.

      --
      Ben "You have your mind on computers, it seems."
    11. Re:Advice to Geeks about to try out mac osx by justsomebody · · Score: 2

      Wrong, nature of my bussines forces me to use MacOS and MacOSX.

      So after 4.5 years of use of Apple. Where's that something new you say about? This interests me, really no trolling.
      My point of view is: (no troll)
      1.slower than MacOS
      2.more ofensive to the eyes than MacOS
      3.Not as friendly
      4.confusion is on much higher level than MacOS (read as, not that simple), well confusion is even higher than in Linux (at least linux is a Unix like and not some semi hidden (system level) unix like OSX made with compromises)

      I care about alternative, That's the main reason I switched from Windows (was using it at home (and ashamed of the fact) and it's still 30% need in my bussines), Mac (slowly moving off), SGI and HP-UX (my first and best) to Linux:-).

      "way to get comfortable with the Mac OS X environment if you are a Linux user"
      So I should buy expensive material and build my self a Mercedes? Well, it's way more simple if you buy a Mercedes. To stay at the fact, he was promoting administrators desktop not users desktop, so... why all that work when there is a better solution? Isn't that what Apple promotes or is just me?
      On the other hand this "comfortable" is not correct, this would be running from the fact and evading running native tools and software. You don't mean to say they will run on OSX forever, at last, Apple is a commercial company

      But damn, you should listen sometimes to what you say, what you said at the end is smart and you can say that to almost every begginer or promoting almost anything. So try alternative, I did

      --
      Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
    12. Re:Advice to Geeks about to try out mac osx by justsomebody · · Score: 2

      I run
      Gimp (photoshop, thanks but screen doesn't need CMYK or process colors, for anything better Gimp suites me better, but maybe is that just me),
      HTML, DHTML, perl and php and SVG (dreamweaver|flash|director no thanks, I don't wanna burn someones processor, and as you guessed in any editor that support them),
      (what is that? I guess I don't need it) logic
      Open Ofice (microsoft office - all my documentation is larger than 50 pages so I'm tired of reformating)

      --
      Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
    13. Re:Advice to Geeks about to try out mac osx by bnenning · · Score: 2
      How does one turn off the the bouncing icons? (I'm on 10.2.3)


      System Preferences->Dock->"Animate opening applications" checkbox. Also in regard to the parent post, if you're trying to run OS X with less than 256 MB of RAM, don't. 256 is just about the minimum acceptable amount, and on a laptop where hitting VM really hurts (both battery life and performance), I recommend at least 512. I saw a significant improvement on my 667 MHz TiBook going from 512 to 1024.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    14. Re:Advice to Geeks about to try out mac osx by mbogosian · · Score: 2

      I know your intention was good. But, wouldn't it be easier and cheaper to buy a PC and install Linux.

      Wouldn't it be easier to buy a PC and run Windows?

      Linux wouldn't be nearly as usable as it is (and there are plenty, myself included, who say it still has a way to go) without this kind of ad hoc HOWTO documentation / advice. Maybe you've never been to tldp.org but for those of us who have, we can certainly appreciate this kind of effort. There needs to be more of it.

      Not only was the intention good, but the follow-through as well. This is useful information. It was to me anyway, and I use Linux most of the time. I also use OS X. Why? Because one of the things OS X does better than anything else is movie editing for non professionals (by that I mean something even my wife could use, which is not something I can say about Adobe Premiere), and you don't have to agree to have some big-brother-relinquish-all-privacy EULA to use it. Now that I'm committed to having an OS X box in my home, guess what? NFS and LDAP make user management on my home machines (OS X included) that much easier.

      Linux was forged in the spirit of "because I can; I don't need another reason". There are some of us who remain enthusiasts: those who desire to know how something works, or (sometimes even better) how two things can work together just because. From the rest of us, thank you to goombah99 for posting this. And thank you to bdash for posting this. And thank you to all those of you who continue to post poorly- or not-at-all-documented features of every operating system. Thank you for keeping information free and putting it into the hands of as many people as possible. These are the true heros of freedom, because without the freedom of knowledge, all other freedoms wither.

    15. Re:Advice to Geeks about to try out mac osx by jeffehobbs · · Score: 2

      (what is that? I guess I don't need it) logic

      Hey, you said it.

      ~jeff

    16. Re:Advice to Geeks about to try out mac osx by herbierobinson · · Score: 2

      Excellent post.

      I'm a Mac Head with a three button mouse and a scroll wheel. Never understood what the scroll wheel was good for on the NT box I have to use at work, but it's really great when it works everyplace (and on the OS from a company that only believes in the one button mouse -- uh huh).

      --
      An engineer who ran for Congress. http://herbrobinson.us
    17. Re:Advice to Geeks about to try out mac osx by jonadab · · Score: 2

      > Wouldn't it be easier to buy a PC and run Windows?

      In a word, no. It is easier to get _started_ that way, but over the
      long term it is not easier. And don't start yammering about file
      format incompatibilities, because I've had pretty rotten experiences
      trying to convert documents from one proprietary format to another
      for use on a different Windows system than the one on which they
      were created. I've been down that path, and I'm not going back.
      All my data now are in accessible formats and _staying_ that way.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    18. Re:Advice to Geeks about to try out mac osx by jonadab · · Score: 2

      > MacOS aliases are far superior to symlinks IMHO.

      In principle, maybe, but they are less well-supported. symlinks
      are supported universally. (Apps that don't understand what
      symlinks are just get the file itself from the filesystem, rather
      than the symlink; that includes apps ported from other platforms.)

      > the alias has a much higher chance of identifying the proper
      > file should the original file move

      Unix geeks don't mv files when there are symlinks pointing to them.
      Worrying about that is like worrying about whether a Mac user who
      is learning Linux/Gnome might screw something up by using the
      incorrect octal numbers while trying to chmod /var

      --
      Cut that out, or I will ship you to Norilsk in a box.
    19. Re:Advice to Geeks about to try out mac osx by WatertonMan · · Score: 2

      OrobosX is pretty stable from what I've seen, and I've used it a fair bit. I admit that the past while I've been running KDE as I like Konquerer. However given how few X11 apps I actually run of late, I generally don't load X11 at all.

      I find that while I run a lot of shell scripts, most of the things I used X11 for (GUI administrators) have Aqua counterparts or I can roll my own with Applescript and Applescript Studio.

      I think that Unix gurus who learn Applescript will be pleasantly surprised at its power. There isn't much equivalent in Linux. The O'Reilly book on it is so-so though. However you are a Unix guru and can browse the web for example scripts. Check OSX Hints a lot. The latest version adds amazing power.

  14. Re:I just ... by Moridineas · · Score: 2

    I hear this type of thought a lot, but is it really true? I've been logging some serious time with osx and the mouse drives me crazy--if I want to use it for any length of time I unplug my logitech 4 button + wheel mouse from my PC and hook it up to the mac.

    I thought I wouldn't use the thumb+middle buttons incidentally, but copy+paste in windows just speeds me up so much. Likewise I find it difficult going back to a computer that doesn't have a wheelmouse.

  15. Great! by JoshuaDFranklin · · Score: 4, Funny
    Soon we will be able to use Cygwin on MacOSX!

    Well, as long as those lazy open-source developers hurry up and follow the guidelines.

  16. Re:How about OS X to x86 Linux porting guide? by BitHive · · Score: 2, Redundant

    Man, I'd hate to be your kids.

  17. A little draconian, no? by mbogosian · · Score: 4, Funny

    From the guide: You will use Interface Builder to translate your application's visual appearance into the visual appearance of a well-designed Mac OS X application.

    You don't need to see his interface specification. These aren't the design elements you're looking for. He can go about his development.

  18. Re:What the Mac ALREADY Has all the Killer APPs!!! by BitHive · · Score: 2

    Are you high or just incredibly stupid?

  19. Re:I just ... by bsartist · · Score: 2

    Don't trust computers with only one mouse button that won't let you eject floppies on your own.

    The Mac I'm using to type this has a three-button wheel mouse. No drivers required - I plugged it in and it worked.

    And as far as floppies go - not that I use them any more - I wouldn't trust a system that allowed me to easily eject removable media without unmounting the filesystem first.

    --
    Lost: Sig, white with black letters. No collar. Reward if found!
  20. Too little too late by corebreech · · Score: 2

    If they were really serious about seeing developers adopt Cocoa they would have released API's allowing native access from C++.

    Instead, they were more interested in punishing everybody who didn't jump on the Objective C bandwagon back in the '80s.

    1. Re:Too little too late by corebreech · · Score: 2

      But why force us to use Objective C in the first place, when C++ is perfectly capable today of handling run-time dispatching?

      Why not just set an intern or two on the task of letting us call the API's from C++ and be done with it?

      A little MI coupled with some RTTI and then I can stay in my language. I don't want to use Objective-C, and if there's no compelling reason to do so, I won't. I am saddled with knowing too many languages as it is.

    2. Re:Too little too late by g4dget · · Score: 2
      Actually for what it's used (GUI programs), Objective-C does a far better work of it than the overengineered nightmare that is C++ (and I LIKE C++).

      In the mid-80's, Objective-C was far better than C++ for GUI programs. Today, I think it's a toss-up. Oh, C++ is still cumbersome for GUI programs in all the same ways it used to be cumbersome, but it has improved greatly in other areas: namespaces, exceptions, smart pointers, and templates really help with making C++ programs more correct and robust. Objective-C could have evolved further, too, but it's still the same language it was in the 1980's.

      The real answer to Objective-C these days are Java and C#: they have all the dynamic features of Objective-C, but they are also safe and use syntax familiar to 99% of the commercial programmers.

    3. Re:Too little too late by Twirlip+of+the+Mists · · Score: 2

      But why force us to use Objective C in the first place, when C++ is perfectly capable today of handling run-time dispatching?

      Two reasons. One, all the work was already done for the Objective C API. Been around since the late 80's, at least. Two, it works better (faster, more efficiently, we have the technology) in Objective C than in C++.

      I don't want to use Objective-C, and if there's no compelling reason to do so, I won't. I am saddled with knowing too many languages as it is.

      Oh, sorry to hear you're so burdened by this overabundance of knowledge. Is that what makes you so whiny, or is it something else?

      --

      I write in my journal
    4. Re:Too little too late by corebreech · · Score: 2

      One, all the work was already done for the Objective C API.

      Which they had no difficulty in replicating for Java.

      Two, it works better (faster, more efficiently, we have the technology) in Objective C than in C++.

      That's an absurd statement. For it to work better implies there's a version for C++ that works at all.

      Oh, sorry to hear you're so burdened by this overabundance of knowledge. Is that what makes you so whiny, or is it something else?

      No burden at all. I'll just write code for a platform other than OS X.

    5. Re:Too little too late by Twirlip+of+the+Mists · · Score: 2

      I'll just write code for a platform other than OS X.

      From what I've heard so far, it sounds like we won't miss you one bit. Good riddance to bad rubbish.

      --

      I write in my journal
    6. Re:Too little too late by bnenning · · Score: 2
      Which they had no difficulty in replicating for Java.


      Because Java has sufficient dynamic capabilities so that it's a reasonable fit for the Cocoa API and runtime. C++ does not, and is not. Simple example: show me the C++ equivalent of NSClassFromString() or java.lang.Class.forName(). More complicated example: explain how to replicate the functionality of -[NSUndoManager prepareWithInvocationTarget] in C++.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    7. Re:Too little too late by corebreech · · Score: 2

      Because Java has sufficient dynamic capabilities so that it's a reasonable fit for the Cocoa API and runtime. C++ does not, and is not.

      There are any number of ways of doing this in C++. One would be to declare a static method that returns an instance of that class. Register it with a class factory via a static constructor.

      Any decent framework that supports serialization is going to have this.

      Adopt a convention whereby a class instance can be constructed using a dictionary object of some kind like STL's map and you have a convenient mechanism through which parameters can be given.

      The prepareWithInvocationTarget example is something that has been done a thousand times or more by C++ programmers supporting AppleScript. Factorization of verb from methods and nouns from objects is very old news.

      The nice thing about C++ is that you can write this so that it runs *fast*. The Cocoa apps I've played with are cute when all that's at issue is a widget or two, but once you start trying to do real work everything slows down to the point where it's unusable. The Finder is an excellent example here. It's an embarrassment.

      Not knowing how to code in C++ isn't a reason to go running away and betting everybody's future on a toy language. The language has been mature for many years now, and there are many tutorials that will help you get your footing.

    8. Re:Too little too late by bnenning · · Score: 2
      One would be to declare a static method that returns an instance of that class. Register it with a class factory via a static constructor. Any decent framework that supports serialization is going to have this.


      Ok, you can go to a fair amount of effort to achieve an inferior version of what other environments have built in, but why reinvent the wheel? And what if I want to use it with classes from another framework? I know, find an entry point and register those classes too. The point is, it's more work than necessary, and increases the amount of your code and thus the potential for bugs.


      The Cocoa apps I've played with are cute when all that's at issue is a widget or two, but once you start trying to do real work everything slows down to the point where it's unusable.


      Cocoa is derived from NextStep, which ran acceptably on 68030 and 60840 boxes. Today's Macs are multiple orders of magnitude faster; the Objective C runtime overhead is unnoticeable. Quartz clearly could use some improvements and CoreFoundation may have issues, but that has nothing to do with C++ vs ObjC.


      The Finder is an excellent example here. It's an embarrassment.


      This is true. Although the Finder is a C++ Carbon app...


      Not knowing how to code in C++ isn't a reason to go running away and betting everybody's future on a toy language.


      I know how to code in C++. That's why I prefer to code in Objective C. As for it being a "toy language", there are plenty of mission critical custom apps still running on NextStep/OpenStep, often after failures to port them to "modern" environments like C++.


      The language has been mature for many years now, and there are many tutorials that will help you get your footing.


      Sounds like a better description of ObjC than C++. How long did it take before there was a C++ compiler that correctly implemented the full spec?
      Look, if you like C++, go ahead and use it. You can even call it transparently from Objective C methods. But Apple isn't going to downgrade Cocoa by shoehorning into it support for a language that clearly isn't a good fit.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    9. Re:Too little too late by jagapen · · Score: 2

      It's easy to call Objective C methods from C++ source. They have a 'language' called Objective C++ which consists of the ObjC extensions on top of C++.
      Now, as to re-writing the whole API in C++, forget it. Cocoa (and OpenStep from whence it came) was designed in and for Objective C and uses features of the language that are just not available in C++. It'd be like re-writing STL for C. (True, Cocoa does have Java support, but it's not seamless.)

    10. Re:Too little too late by corebreech · · Score: 2

      It's not a question of toleration.

      Look at what this story is about. Apple is trying to get people to port their Win32 code over to OSX.

      All I'm saying is that this is putting the cart before the horse. If they were really serious about this they would give us bindings allowing us to use the world's most popular programming language for producing shrinkwrapped applications: C++.

      Why not just do that?

    11. Re:Too little too late by corebreech · · Score: 2
      Ok, you can go to a fair amount of effort to achieve an inferior version of what other environments have built in, but why reinvent the wheel?

      A fair amount of effort? As compared to what... using two different and largely incompatible languages to complete a project?

      And in any case, so what? Apple is the one trying to get Win32 code ported to OSX. Do the effort! Give us an API that lets us stay in C++!

      Although the Finder is a C++ Carbon app...

      Hmmm, my bad. Why on earth would they have chosen Carbon for this? Bizarre.

      The Finder nevertheless illustrates my fears over the two-language approach. When you build something that has an elaborate GUI, and where you are allowing the user to manipulate hundreds or thousands or even millions of objects of all different types and with different properties you inevitably run into the issue of how to represent all these objects in your code.

      Sometimes you can use the same object that you use internally in your code to implement the GUI for that object, sometimes you can't. And what I've found is that what will distinguish a successful projects from one that is less so is the extent to which the programmer gets this one aspect of his code right.

      Using Objective C for the GUI seems to lock me into this approach of deploying peer objects for all of my internal objects, and while I can appreciate how that sometimes is the way to go, it isn't always the way to go.

      I'd like to be able to make such decisions for myself, rather than having my development tools do it for me.

      The best analogy I can come up with that others can relate to involves the way text objects were handled in AppleScript. You generally (always?) wouldn't actually have an object instantiated in your code containing the state for
      word 2 of line 3 of paragraph 4
      , you would somehow encapsulate the object representing all of the text with parameters identifing the portion contained within you were interested in.

      However, elsewhere in the program you would have an object, like window say, wherein you could conveniently bind your scripting functionality with the object being scripted.

      Getting back to the Finder, my thought was that it was this dissonance between the actual state of an object -- which in the case of a file is maintained by the file system -- and the program's internal representation of the object -- which could be either an instance of some class or a procedural API -- along with the object or objects responsible for presenting this file to the user that was responsible for all the woe we all experience.

      In short, I am bothered by the idea of being forced to always implement two objects to represent but one. One object maintains state in my C++ code. The other lets the user see it. A lot of the times you want the two to be the same.
  21. Re:Usless tutorial for 90% of win32 programmers by oscarmv · · Score: 2, Interesting

    Oh yeah, but the other 10% are the ones that do the interesting programs that 90% of the people use ;) I don't think Apple is particularly obsessed about getting VB developers to migrate at any rate...

  22. Re:I just ... by Enahs · · Score: 2
    And for what it's worth, neither Linux nor Windows have required mouse drivers for a *LONG* time.

    I want some of what you're smoking.

    --
    Stating on Slashdot that I like cheese since 1997.
  23. 3D Graphics Information is pretty thin by tc · · Score: 3, Insightful

    To summarise, it basically says: "We support OpenGL, so if your app uses OpenGL, you'll have no problem". It then goes on to list a few things about OpenGL, which a seasoned OpenGL developer would already know.

    At no point does it say what you should do if your Windows app is written using Direct3D. Not even a link to a D3D-to-GL porting guide.

    Regardless of the relative merits of the two APIs, it's an undeniable fact that many 3D Windows apps use Direct3D, and it therefore seems like a pretty huge oversight for Apple to not even mention how one might go about porting them.

    1. Re:3D Graphics Information is pretty thin by Sycraft-fu · · Score: 2

      They actually should have a whole section on DirectX in general. It's more than just a 3d interface, it does 2d, video, audio (music, and both 2d and 3d sound), networking, input, and also provides a common interface for audio and video filters. Plenty of stuff is written to use more than just the 3d part and that is a legitimate concern for porting as well. They really should work on producing a guide covering ALL of DirectX, and how to easiest port a program that uses the various features of it.

    2. Re:3D Graphics Information is pretty thin by tc · · Score: 2

      Looks like they support up to the DX7 interfaces. Which is fine, but I'd imagine most recent apps are using the DX8 interfaces, which have been around for a while now, and MS have just shipped DX9.

      So, this might be a viable route for porting old apps, but nothing leading edge.

  24. something that only . . . . . by kraksmoka · · Score: 3, Interesting
    a /.'er livin in a hole might say: It looks like Apple is getting a bit more aggressive toward Microsoft.

    didn't you see the switchers campaign????? isn't that just a bit aggressive?

    lemme guess, you've been wearing that Ellen Fiess t-shirt this whole time, and couldn't remember why or what the ad was about?????????

    --
    "You never want a serious crisis to go to waste." - Rahm Emanuel
  25. Don't hold your breath by Metalhead01 · · Score: 2, Insightful
    If Apple ever released OSX for PC's, it would be their death knell. Why?

    1. Hardware: OSX will only run on a small percentage of hardware, insuring that its stability is much higher than that of Windows. If OSX were to move to x86, then it would have to support the huge swath of shitty hardware, bringing down its stability level a great deal.

    2. Customer Outrage: Mac users & Mac zealots pride themselves on being different from everyone else. If Apple made OSX available to the horde of beige boxes, they'd riot and go looking for Steve Jobs' blood.

    3. No MS Office: If OSX is released for x86, you can be damn sure that Microsoft won't port Office to it at all. And while you can use OpenOffice, or any other office app, most people don't realize they exist, and won't use them.

    --
    The only reason I keep my Windows partition is so I can mount it like the bitch that it is.
  26. Re:Old man (not really) by alfredo · · Score: 2

    Define real

    --
    photosMy Photostream
  27. "more aggressive"? by greygent · · Score: 2

    Or perhaps Apple just had the crazy notion to discuss the cocoa analogues to the Win32 API in the hopes of attracting more developers into porting their apps to OS X.

    No Win32 with an interest in their prosperity is going to drop the holy grail for the styrofoam cup.

  28. Microsoft never paid Apple by OS24Ever · · Score: 2

    Microsoft bought $150 million of Apple Shares. And as the market works, Apple never saw that money. The investors that sold the shares at the time saw the money.

    --

    As a rock-in-roll Physicist once said, No matter where you go, there you are.

    1. Re:Microsoft never paid Apple by OS24Ever · · Score: 2

      You are right about the non-voting, I didn't know it was a new issue of stock though, thought they just bought some shares. Guess that'd make more sense.

      --

      As a rock-in-roll Physicist once said, No matter where you go, there you are.

  29. Classic by frooyo · · Score: 2, Interesting

    I find it interesting that not only does the article mention the Classic API but almost promotes the API. They never mention that Apple wants to migrate away from Classic, they only mention the pro's and con's of Cocoa vs. Carbon

  30. Relevancy High by duck_prime · · Score: 2
    BY 2010, according to senior Intel architects, a CPU will have processing power equivalent to the brain of a bumble bee

    how random was that?
    It is quite relevant. Ever heard of a honeypot system? Sheesh!
  31. all you need to know for porting Win32 to OS X by g4dget · · Score: 3, Informative

    All you need to know is wxWindows. The wxWindows library is quite similar in terms of design and functionality to Win32, and once you have ported to it, you can compile your application for Win32, Linux/X11, OS X, and several other platforms.

  32. X11 support not quite so good by g4dget · · Score: 2
    I know OSX supports X apps natively,

    That's not quite right. There is an X11 server that runs on OS X, a port of XFree86. But it works by doing drawing off-screen in software and then blitting the result into OS X windows. While it's usable, it's not what I would consider a high quality implementation. It's also too confusing to install and use for regular Mac users.

    OS X could support X11 natively so that the difference between an X11 application and a Cocoa application would appear to be no larger than the difference between a Carbon or Classic application and a Cocoa application, but Apple has chosen not to be that compatible.

    but it would be nice to be able to make, say, the Gimp to be a true Mac app.

    That would mean making an OS X backend for Gtk+. That may well happen (there is a Win32 backend). It's really a question of resources and volunteers. Do you volunteer?

  33. Re:How about OS X to x86 Linux porting guide? by g4dget · · Score: 2

    You can probably port to Linux fairly easily using GNU Step. However, you are probably better off rewriting the GUI using some Linux-native toolkit like Gtk+: Macintosh applications tend to behave in ways that appear inconsistent and cumbersome to Linux users.

  34. Re:Step 2 uncovered! by g4dget · · Score: 2
    and leave in droves for the other mainstream OS that doesn't have any of it.

    You mean Linux?

  35. You win by dalangalma · · Score: 2, Funny

    You know, your compelling argument has shown me the way. I mean... *I* have one butt, why shouldn't my mouse? And it should definitely match the color of my CPU - that dark silicon sheen is pretty sexy.

  36. Re:Back off buddy by Twirlip+of+the+Mists · · Score: 2

    You're confused, friend. Apple never claimed the classic Mac OS was especially reliable. The fact that the OS could crash, or that an application crash could cause the OS to appear to have crashed, was well known. Apple only claimed (truthfully) that it was easier to use a Mac than a computer running one of the other operating systems.

    --

    I write in my journal
  37. Re:fuck apple by kitzilla · · Score: 2

    Well, fuck you right back. And Merry Christmas from those of us who enjoy Macintosh desktops.

    --
    This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
  38. What's a floppy? by kitzilla · · Score: 4, Funny

    Ask your wife.

    Okay, I'm sorry. But you did post AC, after all. ;-)

    --
    This is my post. There are many others like it. If you don't like what you read here, go try one of the others.
  39. Re:Cool! by wheezl · · Score: 2, Insightful

    Don't Forget X-Chat Aqua

    http://xchataqua.sourceforge.net/

    --
    -- oh.... so..... sleeeeeepy.
  40. Re:Step 2 uncovered! by noewun · · Score: 2, Insightful
    The idea of paying lots of money for boxed software at a computer store is so outdated. And the fact that Macintosh is built around that model is going to hurt it badly.

    What color is the sun on your world?

    Seriously: you statement is so head-in-the-clouds-theoretical I have trouble seeing it as anything other than parody. There is no, REPEAT NO, other way 99% of the people in the country will buy things than go to a store/order online and recieve something in a box.

    I'd suggest you spend less time deciding how the world will work and more time away from the computer.

    --
    I am a believer of momentum and curves.
  41. Re:Step 2 uncovered! by bnenning · · Score: 3, Informative
    On the off chance this isn't a troll:


    And the fact that Macintosh is built around that model is going to hurt it badly.


    How on earth is the Mac "built around that model"? That makes no sense at all considering Apple gives away their high-quality IDE and actively supports open source. Perhaps you mean that Mac developers haven't traditionally been involved in open source; this is true but rapidly changing.


    My parents were asking me: why can't we just run all those Linux games? Well, sorry, they don't run on OS X.


    They probably would if you installed Fink. There are dozens of Gnome and KDE games available as Fink packages, and others can be built easily.


    And even after you track stuff down, installing it on OS X is confusing for the average user: drag this here, drag that there, click here to let me do this, click there to let me do that, etc.


    Once again I have no idea what you're talking about. To install: drag app to "Applications" folder. To uninstall: drag app to trash.


    Microsoft has lots of influence on Apple, and Apple won't be able to get out of DRM


    I see no evidence for either of these assertions.

    --
    How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  42. Re:Step 2 uncovered! by g4dget · · Score: 2
    They probably would if you installed Fink [sourceforge.net]. There are dozens of Gnome and KDE games available as Fink packages, and others can be built easily.

    Fink is a god-awful mess, not suitable for mainstream users. Neither is X11 on MacOS, which is very poorly integrated with the rest of the Mac desktop.

    Once again I have no idea what you're talking about. To install: drag app to "Applications" folder. To uninstall: drag app to trash.

    Yes, for nerds like you and me, that's easy. For regular users, it isn't. Trust me: I deal with regular users, you apparently don't.

    How on earth is the Mac "built around that model"? That makes no sense at all considering Apple gives away their high-quality IDE and actively supports open source.

    Again, spoken like a nerd. Apple's open source support for IDEs and other tools is not relevant to end users. The applications that make the Mac platform attractive to end users are sold, require installation, and don't come with the OS.

  43. Re:Step 2 uncovered! by g4dget · · Score: 2
    Do you actually mean to tell me it is easier to install software on Linux than on OS X?

    Most of the time, you don't have to install anything on Linux because it comes with a huge amount of software as part of the system. When you do need to install something, yes, it's easier than on OS X.

    Also, it DOES NOT get any easier than installing on OS X. Usually it is a drag of a folder or a click of an icon.

    Yes, and that's terribly confusing to many users. Where should you drag it? How do you find it when you have dragged it there? How do you update it? How do you get rid of it? What depends on it?

    Can you tell me which "button" you press to install the latest version of perl?

    Sure: pop up whichever package manager you like and click on "Perl". "Synaptic" or "webmin" are easy to use. What is particularly nice when supporting Linux is that you can tell people "just type 'apt-get install something'" over the phone--much easier than walking people through a download and install.

    OS X software installation and management is primitive and dysfunctional in comparison.

  44. Or... by BoomerSooner · · Score: 2

    I guess you missed the "a bit more". Notice the word more. Here is a definition:

    more ( P ) Pronunciation Key (môr, mr)
    adj. Comparative of many., much.

    Greater in number: a hall with more seats.
    Greater in size, amount, extent, or degree: more land; more support.
    Additional; extra: She needs some more time.

    So as you see I said "more" which is in reference to the previous attempts to take MS market share.

    Maybe next time you pull your head out of your ass you'll figure out what the fuck I was saying.

    Dipshit.

  45. PLEASE MOD PARENT AS TROLL! by pressman · · Score: 2

    Please please please please please!

    --
    Pooty tweet
  46. Re:Porting from Windows 2 Mac OS X by pressman · · Score: 2

    I'm sorry, but I do have to jump into the fray here.

    I read people on this board constantly talking about the need to have options when it comes to software and hardware. Then I read this post and the author wants to lessen the available options for processors by advocating Apple dropping the PowerPC and going with X86. Would the author be upset if Apple dropped PPC and went with Transmeta? Or with Power4 (or it's offspring the PPC 970)?

    Apple is making money (read profits) with their current business strategy. $4 billion in the bank is hardly hurting them. They are kicking Avid's ass all over the place in the realm of non-linear video editing because they are the lowest cost option with a very high level of quality .

    Also OS X on Intel would bring down the wrath of the 800 lb gorilla like no one has seen before. Bang! Office v.X.... Gone! Bang! No more development of IE for the Mac. Right now OS X on Intel would be pure suicide for Apple. I know they're keeping their eye on the possibility of some such move, but in the near future it just isn't going to happen.

    As for games... pshaw. All I really need in terms of apps are Final Cut Pro, Photoshop and Illustrator and I'm happy. I GET SHIT DONE with those apps. How productive can one be playing Unreal Tournament or "insert inane first person shooter title here" anyway?

    And who really cares if we don't have some OSS Barbie's Makeover complete with source code or any of the other cheapo games that comprise the ever so rich tapestry of entertainment that is PC gaming?

    --
    Pooty tweet