Suggestions
🚀 Danyl Novhorodov
Freelance .NET Engineer | Architect | C#/F# | Rust | Azure | ES/CQRS | DDD
Danyl Novhorodov is a seasoned Software Engineer with over 20 years of experience in the field. He currently serves as a Technical Lead at RTL, where he focuses on enhancing the architecture and codebase for content distribution and transformation. His team plays a crucial role in managing these technical challenges within the organization.
Danyl holds a degree from Kryvyi Rih Technical University, which has contributed to his extensive expertise in software engineering and technology leadership.12
Highlights
I have enjoyed this course quite a lot. It is slightly outdated (easy to forgive given the Rust evolution pace) but gives an excellent grasp on fundamentals and the heart of Rust. The cherry 🍒 on top is that the course's final project is the demo of building a 2D terminal game 🕹 completely from scratch.
Why Rust🦀? Of course partially because of hype which exists around the language. But I think it is a really beautiful, expressive, and powerful language with a priority on safety and great performance🚀. Escaping from your comfort zone, feeling some pain that is comparable to the one where muscles are sore after a good workout, and learning new approaches is something that expands your thinking and problem-solving capabilities.
To me it is also yet another proof that OOP was a "one-billion-dollar" mistake (in fact nobody knows how much more in reality) our industry has fallen into and wasted decades. Once hardly learned and imprinted in our brains, it is way harder to relearn later. It partly explains the famous steep learning curve of Rust, especially for people coming from the classical OOP background. Yes, you are still able to write perfectly legit, but more safe and more performant code without inheritance and classes. In fact you just need some sort of encapsulation, behaviour sharing, and data types
The most requested and awaited feature for a long time is finally coming into C#. Here you can find a proposal (see link in the comments), see yourself and anticipate it a bit.
Yes, soon we finally would be able to use Option and Result types like in Rust or F# where developers are happier 😁.
If you don't know what they are and why you need them check my article. You can already utilize them with a bit of manual typing. But when they will be part of the language that is a game changer.
