Need advice about which tool to choose?Ask the StackShare community!
.NET vs Rust: What are the differences?
Developers describe .NET as "A free, cross-platform, open source developer platform for building many different types of applications". .NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more. On the other hand, Rust is detailed as "A safe, concurrent, practical language". Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory.
.NET can be classified as a tool in the "Frameworks (Full Stack)" category, while Rust is grouped under "Languages".
"Tight integration with visual studio" is the top reason why over 245 developers like .NET, while over 81 developers mention "Guaranteed memory safety" as the leading cause for choosing Rust.
.NET and Rust are both open source tools. Rust with 37.3K GitHub stars and 5.85K forks on GitHub appears to be more popular than .NET with 11.2K GitHub stars and 2.41K GitHub forks.
According to the StackShare community, .NET has a broader approval, being mentioned in 1566 company stacks & 239 developers stacks; compared to Rust, which is listed in 40 company stacks and 105 developer stacks.
So, I've been working with all 3 languages JavaScript, Python and Rust, I know that all of these languages are important in their own domain but, I haven't took any of it to the point where i could say I'm a pro at any of these languages. I learned JS and Python out of my own excitement, I learned rust for some IoT based projects. just confused which one i should invest my time in first... that does have Job and freelance potential in market as well...
I am an undergraduate in computer science. (3rd Year)
I would start focusing on Javascript because even working with Rust and Python, you're always going to encounter some Javascript for front-ends at least. It has: - more freelancing opportunities (starting to work short after a virus/crisis, that's gonna help) - can also do back-end if needed (I would personally avoid specializing in this since there's better languages for the back-end part) - hard to avoid. it's everywhere and not going away (well not yet)
Then, later, for back-end programming languages, Rust seems like your best bet. Its pros: - it's satisfying to work with (after the learning curve) - it's got potential to grow big in the next year (also with better paying jobs) - it's super versatile (you can do high-perf system stuff, graphics, ffi, as well as your classic api server) It comes with a few cons though: - it's harder to learn (expect to put in years) - the freelancing options are virtually non-existent (and I would expect them to stay limited, as rust is better for long-term software than prototypes)
I suggest you to go with JavaScript. From my perspective JavaScript is the language you should invest your time in. The community of javascript and lots of framework helps developer to build what they want to build in no time whether it a desktop, web, mobile based application or even you can use javascript as a backend as well. There are lot of frameworks you can start learning i suggest you to go with (react,vue) library both are easy to learn than angular which is a complete framework.
And if you want to go with python as a secondary tool then i suggest you to learn a python framework (Flask,Django).
Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.
Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.
I chose Golang as a language to write Tango because it's super easy to get started with. I also considered Rust, but learning curve of it is much higher than in Golang. I felt like I would need to spend an endless amount of time to even get the hello world app working in Rust. While easy to learn, Golang still shows good performance, multithreading out of the box and fun to implement.
I also could choose PHP and create a phar-based tool, but I was not sure that it would be a good choice as I want to scale to be able to process Gbs of access log data
Pros of .NET
- Tight integration with visual studio271
- Stable code261
- Great community189
- Reliable and strongly typed server side language.182
- Microsoft140
- Fantastic documentation119
- Great 3rd party libraries89
- Speedy80
- Great azure integration71
- Great support63
- C#34
- Linq34
- Highly productive34
- High Performance31
- Great programming languages (C#, VB)28
- Open source25
- Powerful Web application framework (ASP.NET MVC)19
- Clean markup with razor16
- Fast16
- Powerful ORM (EntityFramework)15
- Dependency injection13
- Constantly improving to keep up with new trends10
- Visual studio + Resharper = <310
- High-Performance9
- Security8
- TFS8
- Huge ecosystem and communities7
- Integrated and Reliable7
- Job opportunities7
- Light-weight6
- Lovely6
- Asynchrony5
- Variations5
- {get; set;}5
- Concurrent4
- Support and SImplicity4
- Default Debuging tools4
- Useful IoC4
- Scaffolding4
- Entity framework4
- Blazor3
- F♯2
- Nuget package manager2
Pros of Rust
- Guaranteed memory safety143
- Fast130
- Open source86
- Minimal runtime75
- Pattern matching70
- Type inference63
- Concurrent56
- Algebraic data types56
- Efficient C bindings46
- Practical43
- Best advances in languages in 20 years37
- Safe, fast, easy + friendly community32
- Fix for C/C++30
- Stablity25
- Zero-cost abstractions24
- Closures23
- Great community20
- Extensive compiler checks20
- No NULL type18
- Async/await17
- Completely cross platform: Windows, Linux, Android15
- No Garbage Collection15
- High-performance14
- Great documentations14
- High performance12
- Generics12
- Super fast12
- Macros11
- Safety no runtime crashes11
- Guaranteed thread data race safety11
- Fearless concurrency11
- Compiler can generate Webassembly10
- Helpful compiler10
- Prevents data races9
- Easy Deployment9
- RLS provides great IDE support9
- Real multithreading8
- Painless dependency management8
- Good package management7
- Support on Other Languages5
Sign up to add or upvote prosMake informed product decisions
Cons of .NET
- C#13
- Too expensive to deploy and maintain12
- Microsoft itself8
- Microsoft dependable systems8
- Hard learning curve5
- Not have a full fledged visual studio for linux3
- Tight integration with visual studio3
Cons of Rust
- Hard to learn26
- Ownership learning curve23
- Unfriendly, verbose syntax11
- Variable shadowing4
- High size of builded executable4
- Many type operations make it difficult to follow4
- No jobs3