News for hackers. Stuff that matters.
Re:What Unix Cost Us [video] by linguae on Saturday January 18, 2020 @04:00AM (#22083293)
I thought this talk was an interesting overview of some of the limitations of Unix (particularly Linux) and C, although I wish the speaker had discussed more details as to why C is not a match for modern processor architectures and how modern languages such as Rust address these issues.

Another thing that I'm curious about is how much familiarity the speaker has with Plan 9? Plan 9 from Bell Labs is the spiritual successor to Unix, created by many of the Bell Labs researchers who originally worked on Unix. The creators of Plan 9 pushed "everything is a file" to its limits. Sadly, although I have read some Plan 9 papers, I haven't actually used the operating system. I'm really curious about what the USB example in this talk would look like in Plan 9?

I do wish there was more development in alternative operating systems. I like Unix, but there were many ideas from VMS, Smalltalk, the Genera operating system for Symbolics LISP machines, the classic Mac OS, BeOS, Plan 9, and other operating systems that we can learn from and that would be very useful to have today. Also, today's hardware is quite different from the hardware of 50 years ago. We have multi-core CPUs, GPUs with hundreds of cores, very fast NVMe storage devices, and other amazing technologies. There has also been much advancements in programming languages, with more people willing to explore alternatives to C and C++ such as Python, Rust, Go, Clojure, Haskell, Swift, and many more, each providing different abstractions for dealing with diverse programming tasks. I wonder what an operating system for the 2020s would look like given the advances in technology and the lessons learned in the past decade.

Re:What Unix Cost Us [video] by pjmlp on Saturday January 18, 2020 @04:25AM (#22083406)
> I wonder what an operating system for the 2020s would look like given the advances in technology and the lessons learned in the past decade.

While not perfect, with their own set of issues, macOS/iOS, Windows (with .NET/UWP) and Android are a couple of steps into that direction.

Interesting that you refer Plan 9, but fail to mention Inferno, which was the final vision from the same researchers.

Regarding UNIX, one thing that keeps being missed regarding NeXTSTEP and its derived OSes, and to go along your remark, it that for NeXT and Apple, UNIX wasn't never relevant.

The UNIX compatibility was just a means to bootstrap the OS and attack the UNIX workstation market, the Objective-C technology stack (now Swift as well) was/is where the real value of the OS was.

Anyone using macOS or nowadays WSL as UNIX replacement, is replicating the farmer's story from the talk.

Re:What Unix Cost Us [video] by rumanator on Saturday January 18, 2020 @05:28AM (#22083621)
> Interesting that you refer Plan 9, but fail to mention Inferno, which was the final vision from the same researchers.

For the lazy like me:

https://en.wikipedia.org/wiki/Inferno_(operating_system)

Re:What Unix Cost Us [video] by cpach on Saturday January 18, 2020 @06:00AM (#22083721)
I quite frequently see people mention Plan 9, but seldom Inferno. Does anyone know why Plan 9 became more popular?
Re:What Unix Cost Us [video] by pjmlp on Saturday January 18, 2020 @06:42AM (#22083868)
Lack of teaching would be one.

I bet not many professors bother to dive into it.

The documentation is still available, http://doc.cat-v.org/inferno/4th_edition/, and you can get it as open source and commercial variants, http://www.vitanuova.com/inferno/

So it is mostly a matter of actually caring to dive into it.

Not only one will discover how many of the Plan 9 design issues got worked on, some of the design ideas that went into Go will be more clear.

It is also revealing to dive into Oberon OS linage and then see how some of its design went into ACME on Plan 9, dynamic loading on Inferno or eventually Go's method call and unsafe package design.

Instead most get off at the Plan 9 train station.

Re:What Unix Cost Us [video] by aruggirello on Saturday January 18, 2020 @05:18AM (#22083572)
> there were many ideas from VMS, Smalltalk, the Genera operating system for Symbolics LISP machines, the classic Mac OS, BeOS, Plan 9, and other operating systems that we can learn from and that would be very useful to have today.

Since we're at it, I'd add: Amiga. And I'm not sure, but maybe AREXX also deserves a mention too.

Re:What Unix Cost Us [video] by kragen on Saturday January 18, 2020 @05:20AM (#22083581)
What were the interesting ideas in AmigaOS? I don't have any experience with it, except that I played Harmony on it one day around 1990.
Re:What Unix Cost Us [video] by flohofwoe on Saturday January 18, 2020 @06:31AM (#22083844)
I think the most interesting aspect of AmigaOS was that it brought features only known from much more expensive workstations into a cheap home computer.

To my knowledge there haven't been any outstanding innovations on the software side that haven't been available in other operating systems too, but it did so in a computer that was 10..100x cheaper than a UNIX workstation with a comparable graphical user interface.

AmigaOS was more like a stripped down UNIX (preemptive scheduling, but no memory protection/process isolation), MacOS looked like a toy in comparison to be honest, at least from the technical side.

In the later years, AmigaOS (or rather its applications) offered a glimpse into a future how applications and the underlying operating system could work together to create a professional working environment, applications didn't feel isolated, there were standards in place how UI applications can be controlled from the command line, how they can be automated through scripting, how applications can talk to each other, and how they can be extended via operating system plugins (for instance if one application added support for a new image format to the operating system, all other application dealing with images automatically gained support for this new image format too).

Basically: how can the straightforward automation from the command line brought into the domain of UI applications.

Alas, it was a glimpse into a future that would never happen.

Re:What Unix Cost Us [video] by pjmlp on Saturday January 18, 2020 @06:48AM (#22083891)
I rather think of it as a stripped down version of a Xerox PARC workstation.

With exception of SGI and NeXT, UNIX never had a multimedia culture.

Re:What Unix Cost Us [video] by kragen on Saturday January 18, 2020 @06:53AM (#22083908)
That sounds right. Also PARC had Cedar, which did multitasking without memory protection, which Unix didn't usually at the time.

BTW, I'm curious what you think about the question I asked in https://news.ycombinator.com/item?id=22083468

Re:What Unix Cost Us [video] by blihp on Saturday January 18, 2020 @06:04AM (#22083745)
I don't recall any when compared to other OS's of the day. The special sauce of the Amiga was its hardware and the games/applications that it enabled.

Tools like ARexx and Amiga Basic were better (IMO) than what you got on other platforms, but the OS itself was rather meh. I guess you could say it was rather interesting in the sense that it had preemptive multitasking (years before PCs and Macs would) without memory protection... but that's hardly something you'd want to carry forward to present day.

Re:What Unix Cost Us [video] by kragen on Saturday January 18, 2020 @06:05AM (#22083751)
What was better about AREXX?
Re:What Unix Cost Us [video] by blihp on Saturday January 18, 2020 @06:27AM (#22083830)
ARexx was basically AppleScript before AppleScript existed. It was widely supported by most Amiga productivity software since it was a selling point in the same way AppleScript support is/was for Mac apps in terms of being the de-facto scripting solution on the platform for automating tasks. So if REXX was the dream, ARexx was the realization of that dream on a personal computer.
Re:What Unix Cost Us [video] by the8472 on Saturday January 18, 2020 @05:21AM (#22083586)
> The creators of Plan 9 pushed "everything is a file" to its limits.

Isn't linux advancing in similar direction, except that everything is a file descriptor (even processes are now!) instead of a file bound to the directory tree? And technically, everything that is a file descriptor is also a file, thanks to procfs.

Re:What Unix Cost Us [video] by sparkie on Sunday January 19, 2020 @12:34AM (#22089665)
I think Linux is going in the direction of "everything is a dbus API" instead. Linux needs it's own "9P," or equivalently practical, if it wants to reverse this trend. DBus, while perhaps not the best IPC mechanism, currently fills the gap. Several of the systemd binaries are there purely to shift from reading and writing files to pushing updates over dbus. See for example systemd-hostnamed.
Re:What Unix Cost Us [video] by duck2 on Saturday January 18, 2020 @06:01AM (#22083729)
procfs is "loan-feature" from plan9 :)
Re:What Unix Cost Us [video] by scroot on Saturday January 18, 2020 @12:43PM (#22085748)
> I do wish there was more development in alternative operating systems.

This should also go hand in hand with development in alternative computing systems, environments, and architectures as well. Just as the dominance of Unix occurred in part for social/economic/cultural reasons, so too did the current dominant computing architectures. We have examples from the past of interesting attempts (i432, Rekursiv, maybe Oberon etc).

Because we have universal data interchange standards today (think XML structures, JSON, hell even TCP/IP itself) we don't have to worry as much about the "compatibility" issues that were a real end user problem in the 80s and 90s. We can and should be experimenting with alternative systems. Maybe open hardware will also help with that.

Re:What Unix Cost Us [video] by stiray on Saturday January 18, 2020 @06:48AM (#22083892)
I get little pink dots around the face when I see the sentences like this:

> alternatives to C and C++ such as Python, Rust, Go, Clojure, Haskell, Swift

Please advise me. I am just writting a kernel module for hooking kernel calls and I really """hate C""", I would love to do it in python (even better in js or vbscript, logo also comes to my mind - i just love driving a turtle). The input is python, the output .ko.

And as normal for kernel module it needs to be rock stable and as fast as possible as the hooked functions are called a lot on the system and cant loose much time there.

Can you share a sample please? I am thinking of doing it in bash script by emitting opcodes directly but it seems like it just take too long to dig out all opcodes. Yeah, I know what you think, but it is not assembly, it is bash script.

/sarcasm off

Re:What Unix Cost Us [video] by Phrodo_00 on Saturday January 18, 2020 @06:59AM (#22083934)
The other bit is that when they say that some language is not a good fit for current processors, that also applies to x86_64 Assembly, that provides no way to control certain ways the processor works, like pipelining, that would be pretty interesting for a compiler to have access to.
Re:What Unix Cost Us [video] by pjmlp on Saturday January 18, 2020 @07:22AM (#22084026)
You could start with Circuit Python, Nim, and go from there.

I for one get dots when keep seeing people with lack of vision.

[dead]
Re:What Unix Cost Us [video] by pjmlp on Saturday January 18, 2020 @07:38AM (#22084101)
I already joined the Apple and Microsoft cathedrals, which have better alternatives in place for C.
Re:What Unix Cost Us [video] by stiray on Saturday January 18, 2020 @07:42AM (#22084119)
Guess what, I am also proficient in writting NT kernel drivers - I love their kernel btw. Maybe you can start by sharing your visionary skills with Microsoft. Or maybe Apple (but do try freebsd forums first, Apple and Microsoft might ignore you, but I know there will be responses there - maybe, just maybe, head to bsd kernel development mailing list directly).

/sarcasm ooooooooofffffff

Re:What Unix Cost Us [video] by dang on Saturday January 18, 2020 @03:42PM (#22087036)
Please don't post in the flamewar style to HN. It's destructive of curious conversation, which is what we're going for here.

https://news.ycombinator.com/newsguidelines.html

Re:What Unix Cost Us [video] by ChrisSD on Saturday January 18, 2020 @07:52AM (#22084161)
Microsoft writes much of the kernel in (msvc) C++ but they're keenly investigating other languages. They're also researching designs for new ones.

C isn't the only game in town.

Re:What Unix Cost Us [video] by pjmlp on Saturday January 18, 2020 @07:59AM (#22084188)
In case you missed the message, C is deprecated on Windows, any updates beyond C89 are done as side effect of ISO C++ compliance, and UWP, including universal drivers, is not going away no matter how a couple few might hate it.

BSD is becoming irrelevant in world at large, so that would just be a waste of time.

In any case, the bazaar has proven that it is only technically able to produce UNIX clones.

Re:What Unix Cost Us [video] by jammygit on Saturday January 18, 2020 @04:13AM (#22083348)
He gave a good talk about SystemD once too: https://www.youtube.com/watch?v=o_AIw9bGogo

edit: found a version with better camera angles

Re:What Unix Cost Us [video] by sprash on Saturday January 18, 2020 @06:58AM (#22083924)
I didn't like that talk at all. I disagree with almost everything he says[1].

This talk is much better but some of his criticism are rather pointless because what he wants is a complete new OS design vastly different from UNIX. If he likes Windows/MacOS so much he should just use that.

1.: https://news.ycombinator.com/item?id=19966321

Re:What Unix Cost Us [video] by Koshkin on Saturday January 18, 2020 @10:22AM (#22084877)
I agree that criticizing UNIX for being UNIX is pointless.
Re:What Unix Cost Us [video] by nwmcsween on Saturday January 18, 2020 @06:23PM (#22088101)
> C is not a match for modern processor architectures and how modern languages such as Rust address these issues.

The basic answer I get when asking this is 'because hardware has changed' which is obvious but avoids the question. Sometimes someone will bring up vector instructions are supported in rust but for a large portion of programming you don't want to vectorize (seriously measure what you think you need to vectorize). Ideally a compiler could compile $lang to word at a time aka SWAR if needed.