Not windows and OSX? Linux!



  • Just noticed that piece of code why hacking on the calibre ebook manegement app.

    [code]islinux = not(iswindows or isosx)[/code]

    Really, if not windows or OSX, what else? :-) Is there a life beyond those?



  •  Plan9.



  • Turning this thread into a shameless alternative operating system advertising thread:

    Haiku

    DragonflyBSD

    Minix 3


  • Garbage Person

     It makes sense if those are the only 3 OSes on the support list, which, to be fair, covers just about everything in use that can be reasonably built from the same codebase (keeping in mind that a Linux binary will run on a million other platforms).



  • @arty said:

    Turning this thread into a shameless alternative operating system advertising thread:

    Haiku

    DragonflyBSD

    Minix 3

    And from the depths of the holy-fucking-god-why-won't-it-just-die file:

    AmigaOS 

    And don't lets forget that you can run TOPS-20 in emulation these days!

     



  • Oh, OK.

    GS/OS

     



  • @DaveK said:

    And from the depths of the holy-fucking-god-why-won't-it-just-die file…

    Also, RISC OS, still twitching. Even so far as to, apparently, have two Zip drives attached. Surely not?

    The RISC OS GUI itself is freakishly weird. Full of good ideas, as well as very bad ones. Quite which are which, will depend on your own perspective.



  •  @Daniel Beardsmore said:

    @DaveK said:
    And from the depths of the holy-fucking-god-why-won't-it-just-die file…

    Also, RISC OS, still twitching. Even so far as to, apparently, have two Zip drives attached. Surely not?

    The RISC OS GUI itself is freakishly weird. Full of good ideas, as well as very bad ones. Quite which are which, will depend on your own perspective.

    Hmm.  You're from Hertfordshire, you're talking about RISC OS, and your name rings one of those I'm-sure-I-heard-it-somewhere-before-and-in-this-particular-context-too bells...  Do you have some connection with Acorn or ARM?



  • @Weng said:

    ...(keeping in mind that a Linux binary will run on a million other platforms).

    Assuming the binary doesn't use any syscalls that weren't in SysV and is linked statically with all libraries (which will probably bloat the executable by dozens of megs) and that the platform you're running it on doesn't use anything tricky like ASLR.  Otherwise, good luck, although getting different Linux distros to run the same binary is a PITA too.



  •  OS/2



  • Also, presumably, it could have an iphone or webOS or Android version.

    Although iphone is probably close enough to osx and android and webOS are probably close enough to linux to count as them for whatever they're trying to do with these variables.

    Maybe Symbian or BlackBerry's OS, which aren't that close to other OSes, but would likely be using Java or BREW.


  • Garbage Person

    @belgariontheking said:

    Also, presumably, it could have an iphone or webOS or Android version.

    Although iphone is probably close enough to osx and android and webOS are probably close enough to linux to count as them for whatever they're trying to do with these variables.

    Maybe Symbian or BlackBerry's OS, which aren't that close to other OSes, but would likely be using Java or BREW.


     I recently hacked on an opensource game that shall remain nameless. It had:

     

    isWin32

    isWin64

    isWin9x

    isLinux

    isLinux64

    isMacOS

    isIntelMacOS

    isWinMobile

    isSymbian

    isiPhone

    isBeOS

    isAmigaOS

    isFreeBSD

    isMorphOS

    isNetBSD

    isOpenBSD

    isOS2

    isPalm5

    isRiscOS

    isSkyOS (WTF?)

    isSolaris

    isSolarisx86

    isNDS (yes, Nintendo DS)

    isPSP

     

    Just in the main source tree - not counting forked ports.



  • @Weng said:

    isNDS (yes, Nintendo DS)
    isPSP

    If it got that far, then why the hell is it lacking the other consoles?



  • Let's not forget the TIOS. Anyone who's used a TI graphing calculator is familiar with that OS.



  • @Weng said:

     It makes sense if those are the only 3 OSes on the support list, which, to be fair, covers just about everything in use that can be reasonably built from the same codebase (keeping in mind that a Linux binary will run on a million other platforms).

    If, by 'Linux binary', you mean 'compiled Java app' or 'shell script1', then yes!

    Otherwise, not so much.  Native binaries will only work on computers with compatible processors.  (For example, a native binary compiled for a 80386 will probably run just fine on a P4, C3, K7, or other newer, 32-bit CPU.  A native binary compiled specifically for a C3, on the other hand, will almost certainly not work on an 80386.  A native binary for a Sparc will not work on a PPC.  Etc.)  Native binaries will only work with compatible OSes.  There are quite a few Unix-ish OSes for x86 compatible processors which have compatibility with each other.  Not all of them are, last I checked, and alternate OSes on other platforms are, if I'm not mistaken, less likely to be binary compatible.  It's not that there's additional hurtles that one must pass to accomplish this on other CPUs, it's just that there's fewer people interested in making it happen.

    1 And by shell script, I mean any script that'll run on a unix box, either due to its shabang line indicating the right parser or due to it being a bourne shell script and having a first line consisting only of a :.  (What a lame magic cookie.  Sigh.)  Scripts that happen to work on your platform when you invoke them because they're an ASCII text file with appropriate executable bits turned on, and a fortuitous SHELL environment variable set need not apply - they probably make so many assumptions that they're unlikely to work even for any other user on your own system who uses the same shell but not the same config.)  Note, of course, that even if a script does use a proper shabang line, there's at least a dozen things you could do to make it not work on all unix platforms.  And that's just 'hello world'.


Log in to reply