back to article BeOS rebuild / Haiku has a new feature / that runs Windows apps

The Haiku operating system has an experimental new feature, WINE. Originally a Linux subsystem, WINE can run unmodified Windows programs on other operating systems. Edward FitzGerald translated only 158 of the more than 1,200 quatrains attributed to the Persian Astronomer-Poet Omar Khayyám so there are probably more …

  1. jollyboyspecial Silver badge

    I absolutely loved BeOS back in the day, but as you say the lack of app support made it a none starter.

    While adding WINE to Haiku might sort of* address the lack of app support it really defeats the object of running a different OS in the first place if you are just going to run apps for another OS on it.

    *I've never found WINE to be 100%

    1. Sixtiesplastictrektableware

      A little unsolicited info about me:

      I'm running XP on this crate as an appliance (I'm all musicular). This thing has no idea other computers exist or where the interwebs is. Does alright.

      I admit my computing prowess is all of being able to count to 4, but if this thing runs lighter than XP and could handle the whole twang and yodel thing, I'd be jobligated to give it a little nosey...

    2. Swarthy

      If they can port Steam's Proton, which can run most windows games in Linux, I bet that would close the rest of the WINE gap.

  2. John 73

    Outliners

    If you want a decent outliner that runs on Linux, try out Trilium. It's actually an outliner, too, which Word isn't! :-P

    1. Bartholomew

      Re: Outliners

      Do you mean Trilium Notes ?

    2. Liam Proven Silver badge

      Re: Outliners

      [Article author here]

      I think it's one of the many that I have looked at in the past. It's useless to me as a writer: it's an _extrinsic_ outliner, in other words a tree-structured arrangement of separate little notes.

      I need an _intrinsic_ outliner, which is a single large document with structure.

      They are also called single-pane vs. two-pane outliners:

      https://en.wikipedia.org/wiki/Outliner#Layout

      Word has a superb one, and it's more or less the last one standing. Grandview, More, PC-Outline, all the others have gone now. The versions of Word that use a ribbon have a slightly crippled outliner, but then, the versions that use a ribbon are crippled in general for me.

      1. John 73

        Re: Outliners

        Fair enough - it's horses for courses, as ever with software! Personally, for that sort of writing tool, I do love Scrivener.

  3. MarkMLl
    Coat

    "relatively modern programming language"

    Noting Torvalds' public fulminations regarding C++ http://harmful.cat-v.org/software/c++/linus I'm not sure it's prudent to describe Haiku as being written in a relatively modern programming language.

    I would certainly agree that using a language which offers decent type checking and modularisation is better than using assembler or K&R C. But let's face it, just about /everything/ has learnt those lessons from Wirth over the last 50 years, and adopting a toolset that offers too much in the way of prepackaged objects can contribute to code which is both enormously bloated and incredibly difficult to maintain when something goes wrong in a layer which the developers normally take for granted.

    1. Charlie Clark Silver badge

      Re: "relatively modern programming language"

      The main difference between BeOS and other OSes due to the use of C++ throughout was the consistent programming model: object orientation and message passing. This meant that lots of things of applications could be implemented directly using system APIs rather having to be written more or less from scratch or using some random toolkit. This did mean that reliable applications could be written quickly. Context switching, essential for multimedia work, was also extremely fast. Work in the kernel was, at least for a while, was restricted to C, but this had as much to do with the way x86 handles privileged code as much as anything else.

      1. Chris Gray 1
        Meh

        Re: "relatively modern programming language"

        I read about BeOS when it was first coming out. Sounded all good, until I got to the part where its OS ABI (Applications Binary Interface - a difference beast from an API) was based on the C++ object representations of the specific C++ compiler they used for it. Makes it painful for native code written in any other programming language.

        Has that changed at all since then?

        1. jotheberlock

          Re: "relatively modern programming language"

          For what it's worth it's not really 'the specific C++ compiler' any more and hasn't been for years. Windows has its own ABI, everyone else uses the relevant CPU-specific variant of the ABI originally developed for the Itanium 20 years ago (so, g++ on Linux and MacOS, clang on similar, basically everyone else outside of maybe some ancient commercial Unix?)

          1. FIA Silver badge

            Re: "relatively modern programming language"

            Nah, everyone else uses ELF, developed for SVR4 in 1988.

            1. Chris Gray 1

              Re: "relatively modern programming language"

              ELF is "Executable and Loadable Format" - its the file format of object files and libraries used on Linux and some other systems. It isn't an ABI. It isn't even an API.

              Now, its certainly possible that that latest BeOS stuff does use a system call ABI much like Linux uses (which is distantly based on the SVR4 stuff, I believe), but my gut feel is that that would mean a number of interfaces had to change significantly (callbacks, auxilliary code, etc. done via expected methods and class members).

              1. FIA Silver badge

                Re: "relatively modern programming language"

                Fair and valid point... I am actually a little ashamed to make such a mistake.

                However as you also point out, most things still use a version of the SVR4 calling convention. Still predates the itanium. (args on the stack in this order, return value in this register here...)

                (I wasn't commenting about BeOS, merely 'everything else')

                Lets be fair, if you're writing an OS these days, you're most likely to adopt the convention used by GCC or LLVM unless you've a very good reason to deviate; the efforts not worth it.

      2. This post has been deleted by its author

    2. Binraider Silver badge

      Re: "relatively modern programming language"

      Criticism and contrasting between Cand C++ are very, very old arguments. But I tend to find that developers that are in a position of having the competence to think at that level, tend not to have the time to direct attention onto doing something about it.

      Both toolsets have their place. C++ is very useful for writing applications, whereas C is safer in respect of systems programming. But there are absolutely examples using either tool for either purpose. Can you whack in a screw with a hammer? And equally, can you use a screwdriver to whack in a nail?

      David Braben of Elite fame has wrote diatribe at length criticising languages and tooling, especially C & C++. But is he going to develop replacements himself? Or use his company's resources to do something about it?

      Rust is looking extremely favourable as a route to learn from the hard fought lessons over C & C++. I am sure some academic will find holes in it.

      But lets be brutally honest, very few have seriously got the time to about designing an alternative toolchain. Mere mortals get to pick tools off the shelf, rather than design them.

  4. Anonymous Coward
    Anonymous Coward

    I bought BEOS back in he day and it felt fine

    However, I also bought windows a couple of times and that always made me feel I'd been kicked in the nuts afterwards.

  5. Dave559 Silver badge

    BeOS themes

    I was "aware of" BeOS at the time (I even had a magazine cover-disc which included a free version of BeOS on it, as an attempt to drum up interest, but having only one computer at that time and not enough money to buy another, trying it out wasn't a risk that I was going to be able to take), and was vaguely keeping an eye on its progress.

    Obviously, various other people were also watching, because, to this day, if you dig around in the window manager preferences, you can still find BeOS themes for many X window managers: a nice echo from the past, when window decorations were elegant, pretty, and professional-looking, as opposed to the ugly flatso crap that everything seems to be converging on these days…

    1. Bartholomew

      Re: BeOS themes

      It was an amazing multimedia OS that existed about 3 to 5 years to early. If it had peaked just a bit latter or if Microsoft did not have their backroom deal with most system sellers where they had to buy a Microsoft license irregardless if they shipped their OS.

      Watch the video section of the 1998 demo https://youtu.be/BsVydyC8ZGQ?t=829

      The machine used for the demo had 64 MiB of RAM

      A dual core Pentium 2 system running at 266 MHz

      At times during the demo they disabled one core to see the effect on performance.

      (or the realtime audio https://youtu.be/BsVydyC8ZGQ?t=758 is damn cool as well)

    2. nautica Silver badge
      Holmes

      Re: BeOS themes

      ...you forgot the <sarc>"ever-popular"</sarc> duo of (1) 'dark-theme', and, (2), the worst offender of all: GREY TEXT ON A WHITE BACKGROUND.

  6. Lennart Sorensen

    Having had the "pleasure" of using BeOS on an actual BeBOX, I guess to me BeOS never had a chance because it was a bad design. It wasn't designed with multiuser in mind from the start, and other annoying issues that were inexcusable at that time. Sure it did some multimedia, but so did my Amiga years earlier. Of course I was already not convinced object oriented was a good solution at that time, so the design didn't win any points there either. Apple certainly made the right choice by switching to nextstep rather than considering BeOS as a MacOS replacement.

    1. Liam Proven Silver badge

      [Article author here]

      No, it was not designed with multiuser in mind. However, in their eyes, and in mine at the time, this was a feature, not a drawback. No end-user computers are normally multiuser any more: people sharing computers was how things worked in the 1960 and 1970s, not in the 21st century.

      Even servers are not generally multiuser now. They don't serve multiple *users*, they serve multiple *other computers* each of which has 1 user.

      People have multiple computers now, not the other way round.

      The only thing for which this legacy cruft is useful for most people today is enforcing security restrictions to protect your computers from malware, by having more and less privileged accounts. The fact that we have reused 1970s tech for this does not mean it is the only way to do it.

      1. doublelayer Silver badge

        "However, in their eyes, and in mine at the time, this was a feature, not a drawback. No end-user computers are normally multiuser any more: people sharing computers was how things worked in the 1960 and 1970s, not in the 21st century."

        That's mostly incorrect; any computer that's run by an organization does have multiple users. While each desktop is probably used only by one person, they have a restricted set of privileges because the administrators run some components. The administrators, while they don't use the machine routinely and may never access it physically, are effective users. Many organizational machines are also available for others to log in, even if they mostly don't do so. Home machines may still have multiple users if it is shared among family members or friends, which was a lot more common in the 1990s but is still common today.

        A multi-user OS can have any number of users, including one. A single-user machine always has the limitations of that design. I think the decision by basically every OS to remove single-user limitations was necessary at the time and still remains useful.

        And yes, servers are multi-user. Not in the sense that every client logs in and runs programs, but in the sense that there are multiple people who do things where they log in and run programs. The server's admin needs root privileges, whereas the clients who run a website from it probably don't. If there are multiple admins, they probably each have their own user account which enables per-user privilege management (even if it's only locking out a user when they leave). Not every server has one admin or a set who can all act as root.

        1. localzuk Silver badge

          That's a very narrow view of "computer" to be honest. There's 15bn mobile phones in the world. A large chunk of which are smart phones. They are decidedly single user. They're also computers.

          Add in iPads and Android tablets on top.

          It is actually a very narrow field today that has "traditional" desktops/laptops which could be considered multi-user.

          Even the Windows world is moving past the model you list. Fully cloudy Intune managed devices are managed via MDM these days, not by an admin logging in to the device itself (at least very often anyway). Onboarding is done automatically when the user turns the device on for the first time.

          1. doublelayer Silver badge

            That's still adding the device to a domain with multiple users, where it can be accessed by other users. MDM doesn't negate the multiple users status I mentioned, especially as I already mentioned it when I said that the admins may never actually use their account on the device but nonetheless it has significance by existing.

            As for phones, you're correct that they are mostly single-user, although this is one of the restrictions that makes mobile OSes unsuitable for many organizational uses. However, they're not necessarily that way. Android supports multiple users. Sure it's a pain and doesn't do very much, but even they knew the option was necessary. People share phones and tablets, even things as simple as a parent giving their child one temporarily (that happens all the time). Just because the OS doesn't allow you to have separate logins doesn't mean that only one person uses one.

  7. jotheberlock

    I am not sure 'subsystem' means what you think it does. It's a program that can run Windows programs. It's not a subsystem with kernel integration in the sense WSL is on the Windows side, for example.

    1. Liam Proven Silver badge

      [Article author here]

      Why do you leap to Windows' definition of subsystem, out of interest?

      WINE is not exactly "a program". It is a tool for running other programs, and it consists of a multitude of other programs. It's not _a_ program – you can't run WINE or interact with it directly – but a package of other programs which don't do anything on their own, and can't usefully interact with a human, but only provide services to other programs, a "subsystem" seemed like a good term for it.

      And as its name points out, it's not an emulator.

      A "subsystem" seemed like a reasonable way to describe this.

      1. Chris Gray 1

        Multiple programs?

        Er, why do you say that?

        I just looked at the "installed files" for Wine here on my Ubuntu Mate system. Two binaries of about a Meg each ("wine64-preloader" and "wine64"). Plus dozens of shared libraries and a whack more things in a "fakedlls" directory, some named <xxx>.exe .

        This *is* a quite old distribution.

  8. Anonymous Coward
    Anonymous Coward

    RIP BeOS

    I worked as a sysadmin at Be, and I drank the Kool-Ade thoroughly. BeOS was wonderful to use compared to any of the competition, but Be faced Microsoft at the height of its monopolistic powers on the one hand and the army of fanatical Linux fanboys on the other (I recall a lot of ill-tempered slagging of BeOS on Slashdot), and then OS X came out, reviving the Mac's lagging fortunes, which really shut Be out of its last possible market. Add to those woes the limited hardware support (including the ill-fated choice to support 3DFX video cards but not this upstart graphics card maker called Nvidia), and Be was pretty much doomed. I'm not a developer, but I also recall that programming for BeOS was substantially harder than for other operating systems due to the use of pervasive multithreading, but don't quote me on that.

    BeOS was an amazing product, but it's hard to envision an alternate timeline where it wouldn't have been doomed from the start. Haiku is a curiosity, and it's hard to see it as anything other than a hobbyist project, especially twenty years past the death of BeOS.

    1. that one in the corner Silver badge

      Re: RIP BeOS

      You are not wrong about BeOS being harder to program for due to the multithreading.

      The real shame is that back then, people saw that MT is tricky and avoided doing it, so BeOS fell, but now it seems every halfwit thinks they know how to MT under Windows and Linux and have no qualms about inflicting the results on us.

      Cue flashback to my team leader asking for a sanity check after seeing the expensive contractors' code create a Mutex as a local variable, strangely always succeeding in locking it on the next line of code. Something that worked so well said contractors decided it was a Pattern and duly cut'n'pasted it... Well, it passed *their* tests, never deadlocking.

  9. Sandstone
    Megaphone

    Need to Know

    But will it run ITunes?!?!?

    1. Throatwarbler Mangrove Silver badge
      Stop

      Re: Need to Know

      Maybe, but why would you want to?

  10. Uncle Slacky Silver badge

    Runs great on the original eeePC

    In case anyone else wants to breathe new life into their old eee, Haiku works well on my 701 4G (even the wifi!).

    1. nautica Silver badge
      Happy

      Re: Runs great on the original eeePC

      Thanks for the tip.

      Got one; still one of the best I've ever owned. Will definitely try this out on my 701, and on my EeePC 900 also.

    2. Richard Crossley

      Re: Runs great on the original eeePC

      I seem to recall it ran well on my Toshiba NB200 netbook as well. Hmm, I should try that again.

      On my venerable Fujitsu Siemens E8010 it was less successful.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like