6 ms·
Tangentially related but I was impressed with .NET recently. I was recently tasked with tackling an extremely old and proprietary video format that embedded GPS
by xeromal 3y ago
Tangentially related but I was impressed with .NET recently. I was recently tasked with tackling an extremely old and proprietary video format that embedded GPS, video, audio, and several other components. The files were huge and just a mess to understand and I eventually found an old player application that was also proprietary.
I decompiled it into C# and stripped the player aspect out of it leaving the code the peeled back the container and allowed me to export MP4 and other pieces. After getting to build into a console application on windows on .net 4 I think I decided to give it a go to upgrade it enough to compile AND run on linux. I upgraded 2x and then updated around 10-15 lines of code that no longer compiled. It was extremely easy considering there were 1000s of lines of code to parse this format. I finally got it running on linux and it only took about a day of full effort. Pretty crazy considering the code I was running was over 10 years old.
- RajT88 3y agoThe .Net ecosystem has a lot of great tooling, for sure. The main issue I have had is if you are trying to get into the .Net Ecosystem without spending money. There are quite good free tools, but you have to figure out what works best for you if you're used to the non-free ones. I assume instead of Reflector for the decompilation, you used DotPeek?
- guhidalg 3y agoI've used ILSpy instead of JetBrain's tools for this. If you're a real OG, you used `ildasm`.
- xeromal 3y agoI learned this from Jeffry Ritcher (https://www.amazon.com/CLR-via-C-Developer-Reference-ebook/dp/B00JDMQJKQ/ref=sr_1_1?crid=27Q9PDF0KHPV3&keywords=clr+via+c%23&qid=1699983990&s=digital-text&sprefix=clr+via+c+%2Cdigital-text%2C118&sr=1-1 https://www.amazon.com/CLR-via-C-Developer-Reference-ebook/d...) A lot of what I know about C# is from his books. I wish every language had someone of his caliber write a book about it. I think the version of the book I read was "CLR via c#" about 10 years ago
- fomine3 3y agodnSpy was the best
- bob1029 3y ago> The main issue I have had is if you are trying to get into the .Net Ecosystem without spending money. I suggest not trying to do this. You can certainly make most of .NET8 work with a pure OSS toolchain, but your overall development experience is going to be destitute compared to that of the official tool chain. To be clear - I think paid alternatives, such as Rider are fantastic too, but even so I've had some trouble at the edges with paid 3rd party (Blazor apps, UWP, etc). At the end of the day, you have to ask yourself about what your hourly rate is. If you are going to spend a 20 hour premium per week bandaging up a "free" .NET toolchain, whereas the official, $100/m stack costs you 1-2 hours, which one actually costs you more? What are your principles worth in terms of your free time?
- SamFold 3y agoWhat would you say is the current best in class toolchain for .NET (assuming I'm running on a ARM Mac)?
- gv83 3y agoJetbrains’ Rider by a very long shot Vscode stuff is ok too if you dislike big and featureful ides, but it’s behind rider. dotnet cli to run commands is sufficient until you have very strange builds. Keep in mind the language has many ways to do the same thing, so rider helps you doing the “modern” things. The base class library is also very vast. Take your time, C# is great but it has a ton of features.
- starik36 3y agoWhat is the issue with using Visual Studio Community Edition? Or if not on Windows, using VS Code with the plugin. All free.
- wiseowise 3y agoWasn’t there some issue with debugger on Non-Windows platforms?
- 3y ago
- starik36 3y agoI use JustDecompile. It's free, last I checked, and it works great.
- xeromal 3y agoI used dotPeek. Made quick work of it!
- declan_roberts 3y agoBackwards compatibility is something they take really seriously in the enterprise world, but something thrown out the window in the rest of the industry.
- jayd16 3y agoI would argue that C#/.NET goes just far enough but not too far with backwards compatibility. As seen in the anecdote, manual changes were required. Java, for example, is more likely to 'just work' but I prefer the language designers' approach to C# and making the occasional breaking change to keep the language in good shape. I really appreciate their good taste.
- codegeek 3y agoMicrosoft has lot of issues but when it comes to Backward compatibility, no one comes close to them. Solid.
- kaba0 3y agoWindows is good at it. .NET is not bad, but also not particularly good — compared to the Java side, at least.
- Salgat 3y agoThe compatibility shims that come implicit with .NET are incredible. In my experience many of the .NET Framework libraries work right out of the box on .NET (Core), even on Linux.
- PH95VuimJjqBqy 3y ago.net core has been able to run .net framework assemblies since around the 3.x days. not everything is supported so not all assemblies will work, but large parts of the standard library are supported so it's most seemless.