HackerTube

RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy

Confreaks2 HN recommenders · recommended in 2 months, 2017–2025
YouTube
talk · intermediate · evergreen · 2017–2025 on HN

Joe Duffy's RustConf 2017 closing keynote on his experience at Microsoft building Midori, an operating system written in a Rust-like safe systems language. He covers the technical and cultural challenges of applying those lessons to Windows.

HN repeatedly cites it for Midori lessons: compatibility matters for adoption, and the Windows team stayed sceptical even with Midori running real workloads.

12 comments from Hacker News

@shepmaster2020-01 · in “Blogging about Midori (2015)”

See also "Safe Systems Software and the Future of Computing" by Joe Duffy, the closing keynote at RustConf 2017: ▶ this video Midori and Rust have several striking similarities, and Microsoft's recent uptick in interest in Rust (and Rust-like languages) bodes well for improved software quality.

Recommends View on HN
@chubot2017-09 · in “Some Were Meant for C: The Endurance of an Unmanageable Language [pdf]”

Related: "Safe Systems Software and the Future of Computing by Joe Duffy" at RustConf 2017. ▶ this video I summarized this excellent talk here [1], but one of the main points is that compatibility with existing systems is important for adoption. (They learned that the hard way -- by having their entire project cancelled and almost everything thrown out.) He advocates unit-by-unit rewrites rather than big-bang rewrites, just like Kell does in this conference article. And compatibility with C in Windows should be easier than it is in the Unix world, because the whole OS is architected around a binary protocol AFAIK -- COM. My sense is that Rust may not have thought enough about compatibility early in its life. Only later when they ran into adoption problems did they start talking more about compatibility. Also, it seems Rust competes more with C++ than C, and there seems to be very little attempt to be compatible with C++ (although perhaps that problem is intractable.) Personally I don't think Rust will be a successful C replacement. It will have some adoption, but the Linux kernel will still be running on bajillions of devices 10 years from now, written in C. And in 20 years, something else will come along to replace either C or Linux, but that thing won't involve Rust. [1] link

Recommends View on HN
@pjmlp2025-11 · in “New OS aims to provide (some) compatibility with macOS”

Mostly because of internal politics, it was used in production for Bing. > While never reaching commercial release, at one time Midori powered all of Microsoft’s natural language search service for the West Coast and Asia. From link Enjoy this recording of an internal presentation, while it is still available on YouTube, link Joe Duffy also did a few presentations, on one of them (too lazy to search for the exact moment), he mentions that even with Midori running in front of them, the Windows team was very sceptical of it, "RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy" ▶ this video "Safe Systems Programming in C# and .NET" link

@pjmlp2025-07 · in “.NET 10 Preview 6 brings JIT improvements, one-shot tool execution”

I agree with your point of view, this was the second coming of Longhorn, WinRT was after all pushed by the same folks that killed the Longhorn effort, those on Windows team that sided with Steven Sinofsky, using COM in Vista as future foundation for .NET ideas in Longhorn. The Hilo tutorial for Windows 7 remarks regarding C++ are quite telling of their point of view, on which programming language one should be using, link "The rich user experience of Windows 7 is best accessed through a powerful, flexible language, and that means C++: by using C++ you can access the raw power of the APIs for Windows 7." From link Joe Duffy has some remarks on how even with Midori running Asia Bing infrastructure, and proving workloads in front of the Windows team, the reception to it was rather cold. ▶ this video Eventually he left MSR and created Pulumin on top of Go. Meanwhile Apple/NeXT and Google, decided to push languages like Objective-C, Swift, Java, Kotlin, over classical C and C++, proving the point that change is possible if management is willing to support the team, even if that is a very long run. See Apple's Metal Swift bindings, versus Microsoft's Agility SDK for DirectX.

@pjmlp2025-03 · in “Recommendation for non-DOS/Unix open source OS outside x86/X64”

Project Oberon, link The evolution of Oberon based OSes, Ethos, link Active Oberon which is the Oberon variant I prefer, link link link Some screenshots at my article, take it while the site still exists, link SPIN, done in Modula-3 link Singularity, link link Midori, although no source code, the blog posts, existing talks and internal session at Microsof do provide some nice overview, link "The Midori Operating System Overview" link "Safe Systems Programming in C# and .NET" link "Safe Systems Software and the Future of Computing" ▶ this video Xerox PARC Mesa, used on the Xerox Star OS link link link Xerox PARC Cedar, used on Dorado platforms link link link link link Xerox PARC Smalltalk, original documentation can be taken from link - Smalltalk-80, Bits of History, Words of Advice - Smalltalk-80: The Language and its Implementation - Smalltalk-80, The Interactive Programming Environment Squeak and Pharos linage, link link Xerox PARC Interlisp-D, with Medley link link House, written in Haskell link MirageOS, written in OCaml, partially used by Docker (TCP/IP stack), and Xen Hypervisor link link link AmigaOS, link link link link Solo in Concurrent Pascal, The solo operating system: A concurrent pascal program link Lillith in Modula-2 link link Now go out and explore, UNIX is not the be all, end all of how an OS is supposed to be, neither is C the ultimate systems programming language.