Linked by David Adams on Mon 4th Oct 2010 19:32 UTC, submitted by Idefix
OSNews, Generic OSes Once upon a time, operating systems used to matter a lot; they defined what a computer could and couldn't do... Today, there's only one operating system: Unix (okay, there are two, but we'll get to that). This is why I contend that the OS doesn't matter - or that we need to take another look at the word's content, at what we mean when we say 'Operating System'.
Thread beginning with comment 443993
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: "There is only one."
by Neolander on Wed 6th Oct 2010 06:11 UTC in reply to "RE[2]: "There is only one.""
Neolander
Member since:
2010-03-08

There are interesting things in this post, but I think you misunderstood the original comment and went a bit too far in UNIX hate to make a good point.

Since when is the quality of the OS dependent on the apps ported to it? The OS could be great but if there are no apps it is useless, agreed. But I plan on writing more software in the future for Haiku than for SCO UNIX. UNIX is dead, long live UNIX.

The OP complained about several things. Apart from lack of applications on an OS that has been here for a long time, he complained about the low-leven layers (networking stack) and about the lack of vision, of plans for the future. You did not answer those.

Linux I plan on supporting because there are a lot of users of it but UNIX is designed for server usage and multiuser supercomputers. Haiku is a single-user OS and designed for an entirely different market.

Agreed, it's good to point this out. UNIX advocates' point is that it can be adapted to just about anything, but I'm more skeptical about this myself. It remains an OS based on text files and pipes, with a user/admin security model, not exactly the best start for a mono-user OS design.

C++ kicks ass against the C underpinnings used to create UNIX but there are very few OSs built on object-oriented architecture. Haiku and BeOS are written in C++. MacOS X, as you mentioned, has many of its internal apps written in Objective C.

This is highly debatable (and I'm writing a kernel in C++). Several features of C++ (exceptions, RTTI...) require runtime support and can be considered dead for kernel development. Other, like templates, are nice but more adapted to API coding than low-level OS code. When writing code at the kernel level, it's mostly classes (for code separation in independent blocks) and operator overloading (for easier debug code than printf) which prove to be useful. Where most of C++ really shines is on the interface side, and you can very well make a C++ interface to a C kernel.

Also, see what I said about Microsoft Singularity. It's written in an excellent programming language (Sing#) which defines it as something different and special from plain UNIX.

Yeah, it's written in managed code, like those experimental OSs written in Java we've had for ages. And ?

I can foresee a time when a derivative from Singularity kicks UNIX off the servers for good.

This is ridiculous. Singularity has been canned by microsoft and doesn't have the tools which server users use daily. Plus, being fully written in managed code, it will have a comparatively weak performance, maybe suitable for the desktop but not for the power-hungry server market.

Then you'll wish for the day that Haiku was on your hard drive, because then UNIX will truly be dead.

Oh, come on ^^ Aren't you burying it a bit fast ? Look at the current state of Haiku, it's not desirable for anyone else than BeOS fans, and afaik there are no plans to change this.

My point is that, IMHO, UNIX is the tried and true but been there and done that architecture that people only come crying to when all other options have failed. It is the least user-friendly OS that has ever been conceived.

User-friendliness is about UI, and that of Haiku is not nearly close to KDE for that matter. It's for devs that UNIX apis are terrible, and they use extra layers like QT anyway.

The sooner it dies the better. Same goes for Solaris and the parts of Linux that date back to the original GNU projects such as GCC. I hope that more streamlined approaches dominate the world someday and UNIX is the second-biggest obstacle to that occurring.

This is just ridiculous. A compiler is a compiler, no matter how you see it. It has a well-defined purpose, so there's not much room for improvisation. GCC compiles well-optimised code from many languages to a very wide range of binary targets, so it's a good compiler, there's nothing else to say about it ;)

Reply Parent Score: 4

RE[4]: "There is only one."
by SamuraiCrow on Thu 7th Oct 2010 01:27 in reply to "RE[3]: "There is only one.""
SamuraiCrow Member since:
2005-11-19

Re: Singularity

Yeah, it's written in managed code, like those experimental OSs written in Java we've had for ages. And ?

If you had the option of having fine-threaded managed code over course-threaded memory protection, the fine-threaded version would be more stable. The memory protection would be just as slow. With optimization, the main processor could be redesigned with a less obnoxious and invasive MMU to allow more cores and speedups for the same production processes that are used for existing processor models.

UNIX will only win the PC market in time for Windows to come up with something different in time to make the PC obsolete.

Re:death to the original GNU software
This is just ridiculous. A compiler is a compiler, no matter how you see it. It has a well-defined purpose, so there's not much room for improvisation. GCC compiles well-optimised code from many languages to a very wide range of binary targets, so it's a good compiler, there's nothing else to say about it ;)


Clang/LLVM is also a good compiler, if a bit young. It is more modular than GCC. It optimizes nearly as well (with the single exception of autovectorization). It is being designed for C++0x from the ground up as well as Objective C and is used internally by Mono and several JVMs as well. It avoids RTTI in its code base by using templates internally to achieve the same results faster. It is used to optimize shader programs in OpenGL drivers, and is used as a backend by several functional languages as well, namely GHC Haskell and OCaml. GCC is only keeping up with the modular C++ code base of LLVM by sheer brute force of the development staff devoted to it. Put simply, GCC!=LLVM. A compiler is not just a compiler, if it is also a compiler framework.

Reply Parent Score: 2

RE[5]: "There is only one."
by tylerdurden on Thu 7th Oct 2010 03:31 in reply to "RE[4]: "There is only one.""
tylerdurden Member since:
2009-03-17

If you had the option of having fine-threaded managed code over course-threaded memory protection, the fine-threaded version would be more stable. The memory protection would be just as slow. With optimization, the main processor could be redesigned with a less obnoxious and invasive MMU to allow more cores and speedups for the same production processes that are used for existing processor models.


what exactly is "obnoxious and intrusive" about an MMU? And what part of the memory management are you referring (the memory controller, the TLB, what?)

And why are you mixing apples with oranges? Managed code/coarse vs. fine threading/etc. What are the actual justifications for your claim regarding "fine grained" managed code?


UNIX will only win the PC market in time for Windows to come up with something different in time to make the PC obsolete.


That is funny given all the talk about cloud-based computing making the PC obsolete. And most cloud systems are running under Unix-like OSs.

The point is that you are claiming something to be dead, while at the same time proclaiming the future to be something that is based on an even more dead OS (BeOS).


Clang/LLVM is also a good compiler, if a bit young. It is more modular than GCC. It optimizes nearly as well (with the single exception of autovectorization). It is being designed for C++0x from the ground up as well as Objective C and is used internally by Mono and several JVMs as well. It avoids RTTI in its code base by using templates internally to achieve the same results faster. It is used to optimize shader programs in OpenGL drivers, and is used as a backend by several functional languages as well, namely GHC Haskell and OCaml. GCC is only keeping up with the modular C++ code base of LLVM by sheer brute force of the development staff devoted to it. Put simply, GCC!=LLVM. A compiler is not just a compiler, if it is also a compiler framework.


I don't think "keeping up" means what you think it does, since LLVM just started compiling reliable C++ code and it is at a beta level, with a lot of stuff missing. But as of this point, most of the effort in Clang land is to just be at the same level of features as GCC, so technically LLVM is "catching up."

Reply Parent Score: 2

RE[5]: "There is only one."
by Neolander on Thu 7th Oct 2010 06:00 in reply to "RE[4]: "There is only one.""
Neolander Member since:
2010-03-08

Clang/LLVM is also a good compiler, if a bit young.

No doubt about that, but there's room for several compilers around, isn't it ? Especially since I'd rather not see my main compiler being owned by Apple, it seems a bit unsafe to say the least.

It is more modular than GCC. It optimizes nearly as well (with the single exception of autovectorization).

GCC is modular afaik. You can choose which parts of it you want at compile time.

It is being designed for C++0x from the ground up as well as Objective C and is used internally by Mono and several JVMs as well. (...) It is used to optimize shader programs in OpenGL drivers, and is used as a backend by several functional languages as well, namely GHC Haskell and OCaml.

Yeah, and for those who don't use draft standards it still has to provide full and stable support for C++98. As you said, it's a young project. The fact that several projects jump on alpha code like that, rather than impressing me, reminds me of PulseAudio...

It avoids RTTI in its code base by using templates internally to achieve the same results faster.

Sounds interesting indeed. But if GCC implemented this feature too, like LLVM implements many of GCC's optimization technology, what would be the problem with GCC ?

GCC is only keeping up with the modular C++ code base of LLVM by sheer brute force of the development staff devoted to it.

That doesn't sound like a sensible accusation. As I said before, GCC has some modularity too. And if their developers are many and talented, how is it a problem ? As a user, I benefit from that anyway (just like I thank LLVM for existing and making GCC become even better).

Put simply, GCC!=LLVM. A compiler is not just a compiler, if it is also a compiler framework.

Could you please go in more details about that ? I'm not sure I understand this part.

Reply Parent Score: 2