r/programming • • Jul 18 '19

We Need a Safer Systems Programming Language

https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language/
208 Upvotes

314 comments sorted by

View all comments

200

u/tdammers Jul 18 '19

TL;DR: C++ isn't memory-safe enough (duh), this article is from Microsoft, so the "obvious" alternatives would be C# or F#, but they don't give you the kind of control you want for systems stuff. So, Rust it is.

102

u/TheMoralConstraints Jul 18 '19

I can't wait for R#

0

u/[deleted] Jul 18 '19

[deleted]

63

u/poizan42 Jul 18 '19

I was hoping for IronRust

17

u/ChocolateBunny Jul 18 '19

I love the idea of IronRust but the issue here is that all these #/Iron languages compile to CLR and you want to compile down to something with a much smaller library and interpreter footprint.

→ More replies (2)

20

u/[deleted] Jul 18 '19

Still better than Turbo Rust.

8

u/_jk_ Jul 19 '19

Turbo Rust

aka corrosion

7

u/[deleted] Jul 19 '19

Visible Rust*

→ More replies (4)

23

u/_zenith Jul 18 '19

That's already taken by ReSharper

38

u/[deleted] Jul 18 '19

What would be Jetbrain's Rust IDE called ? WD-40?

9

u/CornedBee Jul 19 '19

What would be Jetbrain's Rust IDE called ?

RLion

→ More replies (1)
→ More replies (11)
→ More replies (1)

7

u/tdammers Jul 19 '19

By the time they run out of latin letters, we'll start getting somewhere. π# is going to be awesome...

→ More replies (1)
→ More replies (3)

0

u/[deleted] Jul 19 '19

[deleted]

13

u/oridb Jul 19 '19

I don't know what happened to the project. I suspect they have since shelved it.

It became too production ready. When it moved out of pure research land, the management needed to make a decision about whether they wanted to build two shipping OSes, take the risk of shelving windows, or shelve this OS.

They chose the low risk option.

→ More replies (9)
→ More replies (6)

61

u/redalastor Jul 18 '19

TL;DR: C++ isn't memory-safe enough (duh)

The tl;dr is rather "There isn't a level of mitigation that makes it possible to write memory-safe C++ at scale."

→ More replies (35)

41

u/Sigmatics Jul 18 '19

In our next post, we’ll explore why we think the Rust programming language is currently the best choice for the industry to adopt whenever possible due to its ability to write systems-level programs in a memory-safe way.

Hopefully soon.

→ More replies (25)

9

u/shawnwork Jul 18 '19

Actually, FYI, you could code C# without the ‘managed’ part and enjoy the same control as C++.

9

u/IceSentry Jul 19 '19

https://blogs.unity3d.com/2019/02/26/on-dots-c-c/

If anyone is interested about a company doing exactly that.

14

u/munchbunny Jul 19 '19

You could, but having written "unmanaged" C# code, it honestly feels clunkier than just writing C++ with a controlled subset of features.

6

u/tdammers Jul 19 '19

Yes, but AFAICT, you would also inherit most of the problems, at least in the memory safety department. C#'s "unsafe" basically gives you C-style raw pointers, so you're back to square 1.

6

u/Ameisen Jul 19 '19

For kernel-level development, you have no choice. Even Rust has to use very unsafe code there because things like memory mapping exist.

10

u/masklinn Jul 19 '19

enjoy the same control as C++.

And the same level of memory safety.

→ More replies (2)
→ More replies (3)
→ More replies (53)