7 ms·
Microsoft's Introduction to Rust Video Course
- nlawalker 5y agoMicrosoft Learn has Rust learning content as well: https://docs.microsoft.com/learn/paths/rust-first-steps/ https://docs.microsoft.com/learn/paths/rust-first-steps/
- magnio 5y agoI discovered Microsoft Learn about six months ago, and still can't believe it: Microsoft putting up programming tutorials and guides with XP and whatnot. I also found it funny that the part on setting up the dev environment in Python worths more XP than the memory management part in the Rust course.
- CSMastermind 5y agoI hadn't heard of this resource (Microsoft is terrible at promoting their stuff). But I will say that I first learned programming by reading MSDN documentation on CDs that I got for free through my high school. I'll forever be grateful to the company for putting that content out.
- systems 5y agoThis is more of a question to anyone that may have insider information It is normal for any large organization to be interested and use many language But is microsoft really getting invested and interest in Rust? Will the start using Rust for some of their major products Or is this just business as usual
- mtobeiyf 5y agoI've seen news that Microsoft is adopting Rust for safe systems programming. I believe they've been investing in Rust for a while. - https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe-systems-programming/ https://msrc-blog.microsoft.com/2019/07/22/why-rust-for-safe... - https://github.com/microsoft/windows-rs https://github.com/microsoft/windows-rs - https://cloudblogs.microsoft.com/opensource/2021/02/08/microsoft-joins-rust-foundation/ https://cloudblogs.microsoft.com/opensource/2021/02/08/micro...
- wongarsu 5y agoIt's also very in-character for them to push for safer languages. They have quite successfully pushed C# over C++ for Windows software development, and pushed more and more static analysis into (c/c++) Windows driver development.
- Jtsummers 5y agoYep. And at MS Research they've had various projects focusing on safe languages over the past couple decades (the time I've paid attention to it, probably more research preceding that). It would make sense for MS to be interested in an existing, popular, relatively mature language that possessed many of the safety features their research languages have explored.
- pjmlp 5y agoI think Joe Duffy mentioned somewhere that if Rust was around when they started Midori, that would have been their option instead of creating System C# (aka M#), but I cannot find that quote.
- Arnavion 5y agoMicrosoft has been using Rust in shipping products since at least 2018.
- qbasic_forever 5y agoThere are a smattering (36 right now) of job openings on their career site that mention rust: https://careers.microsoft.com/us/en/search-results?keywords=rust https://careers.microsoft.com/us/en/search-results?keywords=... A few seem to be boilerplate lists of languages, but some actually mention a preference for candidates that know rust. My read on this is that there are probably some small teams (looks like in Azure) that use rust. But I don't see a big company-wide push yet--there would be a lot more open positions if so.
- mynameisash 5y agoThere are teams that are big into Rust and are hiring for it. They seem to be mostly in Windows and Azure, which makes sense: both have a huge need for safety and reliability (moreso than other areas). But Windows has been around for 35 years; it's a huge C++ codebase, so trying to turn that ship takes time. And just as you can't wholesale rewrite Linux in Rust, it'll take time to integrate Rust into the OS. I assume Azure is a bit easier since there are new services coming online all the time that aren't necessarily dependent on others. I imagine that as these safety- and performance-critical 'experiments' take off, you'll see other teams investing in a big way. (FD: I'm in the Windows org but don't have any sort of special knowledge of the decision calculus here.)
- gwmnxnp_516a 5y agoThe reason may be that just like Mozilla Foundation, they may be tired of dealing with bugs such as buffer overflow, integer overflow, undefined behaviours and use-after-free which are responsible for most security vulnerabilities that still haunts C and C++.
- mjburgess 5y agoIs anyone aware of any learning research which analyses this 5min-by-5min approach to course production? I'm really not a fan of it. There's something not quite right in treating "conceptual learning" as if it were a sort of follow-these-steps "to tie a knot" problem. Imagine https://www.youtube.com/watch?v=J7DzL2_Na80#t=2m20s https://www.youtube.com/watch?v=J7DzL2_Na80#t=2m20s as a series of 5min videos... It also seems like Microsoft produces a lot of developer videos done in this style, as if the thing to be learned were a wizard ("next, next, next, next"). Consider the video: https://www.youtube.com/watch?v=ajvipmDMwAg https://www.youtube.com/watch?v=ajvipmDMwAg . Each step is simply a "next step", and the narrator merely describes what is being done. Gilbert would, I'd say begin with the problem: "Suppose we're looking a films. And what is a film? It's these things: ..... Now in Rust we model that with a struct -- ". And so on: the learning here is illustrating the connection between the mindset of programming and the activity. Quite a lot of what I've seen from Microsoft, and increasingly many 5-min-by-5min courses, is very little modelling of thought process. The very thing to be learned.
- chobytes 5y agoIm skeptical of this kind of educational material. It seems like they want to provide the feeling and the aesthetic of learning, but aren't willing to dig in to the hard work of it.
- mjburgess 5y agoI think it has a lot to do with the people producing it just not being educators; at least, not for years and not with the 100s/1000s of students necessary to build up those skills. And a lot of the training for technical educators is based around technical learning being tool-based; where you do just need a series of short videos on a GUI. It's a complex problem. I am aware, however, that a lot of people working in online learning think that this is a good style. I believe as it helps with learner engagement. I have to think, however, that this is just because there's nothing actually challenging to engage with.
- chmod600 5y agoThere is choice overload. People are willing to dig in and learn deep concepts. But they have to get past analysis paralysis first, and start doing something.
- dicroce 5y agoLifetimes! That's what I need help with! How do you learn lifetimes?
- juancampa 5y agoHonestly, the best way to learn is by diving in and implementing something. Personally I learned how lifetimes work by implementing a zero-copy parser: it builds an AST that borrows from the original string instead of copying tokens out. This is one of those tasks where Rust really shines.
- spoiler 5y agoOut of curiosity, what did you parse? Since in I imagine copying things is quite useful sometimes when generating an AST. On top of that, I think sometimes you can't avoiding copying (imagine a string with special backslash sequences like \x20, you probably copy parts of the string that don't need special interpolation)
- juancampa 5y agoThat's right. At that point I learned about std::borrow::Cow (copy-on-write) and it worked pretty nicely. The unescaping is done lazily (on access) so it's indeed zero-copy unless strictly necessary. The parser was for a tiny language we use to express references within graphs over at membrane.io. similar to URLs but typed and not ambiguous. It's simple enough. Perhaps writing a URL parser would be good for learning.
- brundolf 5y agoI've linked this on HN four or five times but it remains a great introduction to the specific quirks of working with Rust: https://rust-unofficial.github.io/too-many-lists/ https://rust-unofficial.github.io/too-many-lists/
- adamnemecek 5y agoAre you aware of this? https://doc.rust-lang.org/nomicon/lifetimes.html https://doc.rust-lang.org/nomicon/lifetimes.html
- zerr 5y agoWould be great if such materials go beyond console apps. I hope desktop/GUI topic gets more attention.
- IshKebab 5y agoThere aren't any solid GUI solutions for Rust yet though.
- nailer 5y agoI'm pretty sure Rust can run in the browser via WASM.
- gwmnxnp_516a 5y agoIf you are not afraid of unsafe blocks and extern "C" functions, it is possible to call a any C api directly including Win32 API for GUI graphical user interfaces. On Linux, one can call Gtk directly or call Qt through a custom C wrapper. The only problem is that both methods are not cross-platform. However, one with enough motivation can develop a cross-platform unified wrapper or interface that abstracts Gtk, X11 and/or Win32 API and MacOSX cocoa API. Calling Qt5 widgets through a custom C-wrapper may be a better approach than reinventing the whell since Qt already abstracts Win32 API, Unix X11 (X Windows Systems), Unix-Wayland, and MacOSX Cocoa .
- 3PS 5y agoThere aren't any mature solutions yet, but you can find a list of GUI frameworks here: http://www.areweguiyet.com/ http://www.areweguiyet.com/
- peterkos 5y agoI’ve poked around with GUI code in Rust and it just feels strange without some flavor of OOP. To me it makes much more sense to develop GUI apps with a bit higher level of abstraction (or lower?) than a rather functional interface.
- adamnemecek 5y ago
- deleted 5y ago[deleted]
- wpdev_63 5y agoMicrosoft really could be using their resources much better than this... Seriously..