43 ms·
Making life easier for newcomers to the .NET ecosystem
- mikewarot 5y agoI've been programming Windows machines on and off forever. I've never needed .NET libraries in my code, and never have seen the point, it always breaks, and seems to add orders of magnitude of bloat. There's no real need for it, can't the rest of you skip it as well?
- metaltyphoon 5y agoThe responses to this thread are amazing. This video [0] summarizes most opinions about dotnet from outsiders. [0] https://youtu.be/AFNujHJfMtU https://youtu.be/AFNujHJfMtU
- mikewarot 5y agoCan we all agree that .NET is just a Microsoft attempt at lock-in to their platform, and actually adds zero value to Windows or the rest of the world?
- moritonal 5y agoThis doesn't make sense. The blog seems to be annoyed at how .NET is managing to push out new features whilst still support decades of corporate code. Their biggest gripe seems to be that Rider's default templates still have old references, and how they "might" follow a tutorial incorrectly that might not work and dishearten a new user so much they give up on the whole language, all the while overlapping the definition between ASP.NET and C# (which of course, could be improved, sure).
- lloydatkinson 5y agoIt's a pretty poor and very short article
- DrBazza 5y agoVery few languages throw away syntax or features. Python 3 is one that tried, and it took almost a decade for people to switch. C++ famously clings on to old features for a long as possible. Only a tiny amount of things have ever been removed from the language such as trigraphs.
- amelius 5y agoStart by changing the name. It looks like a file extension or a TLD. Using that name as a folder will make it hidden in Unix. Grepping for it, you need to escape the first character, etc. etc.
- eterm 5y agoThat's a trite criticism, by the same argument c++ looks like an instruction. The name has enough history, it's better to focus on what can be done to improve the ecosystem than worry about a 20 year old name.
- Jensson 5y agoAs a programmer who didn't start out in C# it took me many years of hearing .NET being talked about before I started realizing people actually talked about an application framework and not the second largest internet top level domain .net. It is the only technology that I had that problem with, other pieces with a strange name I just look up the strange name and see what it is, but when I saw .NET in a title I just assumed it was about the top level domain, what else could it be? I think that absolutely matters a lot for the health of an ecosystem.
- joelfolksy 5y agoI had the same problem with Go. For years I couldn't figure out what I was doing to offend people.
- Jensson 5y agoMy guess is that their aim was to do the same as they did with internet explorer, where many thought that the internet was internet explorer. So with .NET the aim seems to be that people would think that a web server is .NET because the naming makes it seem that way. But it failed and now we live with that confusing name. > The Microsoft .NET strategy is a marketing plan that Microsoft followed in the early 2000s. Steve Ballmer described it as the company's "most ambitious undertaking since Internet Strategy Day in 1995". https://en.wikipedia.org/wiki/Microsoft_.NET_strategy https://en.wikipedia.org/wiki/Microsoft_.NET_strategy
- taspeotis 5y agoMicrosoft has huge amounts of introductory content: https://dotnet.microsoft.com/learn/csharp https://dotnet.microsoft.com/learn/csharp And most stuff steers you towards the `dotnet new` CLI command to get started. Which I hate, I much prefer a .sln file from the get-go but maybe that’s on me. But it’ll get you a .NET 6/C# 10 .csproj in no time.
- capableweb 5y agoWe seem to be going in the direction of making it as easy to start as possible, without actually understanding anything. `dotnet new` follow that, with creating a bunch of files that most beginners won't have any understanding of, instead of gently introducing you to each concept, so people understand what they are building inside-out.
- marcos100 5y agoI thinks it's easier to engage new people into your technology with this approach. Once they're hooked on, they'll have to learn the details. I don't know if you're old enough, but Rails got a nice momentum with their 'Blog in 15 minutes'.
- taspeotis 5y ago`dotnet new` is not a tutorial.
- smackeyacky 5y agoIts no different than the craziness of angular or node or react. All of them follow that pattern now. I ended up ditching visual studio and solution files though. Vscode and the dotnet cli are a good compromise and arguably more productive than trying to discern what some visual studio wizard just did to your code.
- thrower123 5y agoThis is my largest gripe with dotnet. It seems to have been taken over by the front-end web dev types who have done so much damage elsewhere, and are on a crusade to spread their questionable practices. The churn is getting too fast as they start to get out from under the shadow of continued compatibility with legacy 4.X dotnet. When languages move this fast, the library and tooling ecosystems cannot keep up and you lose one of the greatest advantages that C# had possessed.
- bob1029 5y agoGetting productive and happy in the .NET ecosystem has a learning curve similar to that of Eve Online. There is this amazing world locked away behind a byzantine matrix of legacy bullshit. You could waste an entire month struggling with differences between legacy framework and new framework tutorials. The branding is honestly trash. I feel like if C#10 and latest .NET framework were renamed to something completely different and relaunched under some new company, we wouldn't go a single day without it gracing the front page of HN. What % of developers are missing out based on principles alone? Microsoft is certainly an oppressive monster but they arguably produce some of the best tools in town right now.
- piva00 5y ago> Microsoft is certainly an oppressive monster but they arguably produce some of the best tools in town right now. Can you expand on this point? What tools Microsoft provides that are the top-of-the-crop right now?
- tasogare 5y agoVisual Studio. Always has been. And the base class library of .net.
- 5e92cb50239222b 5y agoDid you actually try the alternatives? If we're talking about dotnet specifically, then Rider? It's miles ahead of VS in every way that I can think of. I don't personally know a single dotnet developer who kept using VS after trying out Rider for a few weeks.
- radicalbyte 5y agoIt depends on what you're doing; Visual Studio with ReSharper is still very good (as long as you have a beast of a machine).
- 5y ago
- tasogare 5y agoBarrier never has been lower: downloading the SDK, creating a folder, running dotnet new console, then dotnet run. Editing Program.cs then back at dotnet run. I don't know of any language where it's as easy to get started. Also VS Code has a semi-decent support of C#.
- eska 5y agoThen you don’t know many languages.
- angio 5y agoTo be fair, on Linux, getting started with dotnet is actually easier than other languages. The packages provided by Microsoft allows to install multiple version of dotnet side by side and then you can choose which one to use project by project. This is a big improvement compared to rust or python where you have to install and learn third party tools.
- 5e92cb50239222b 5y agorustup is not a third-party tool. It allows you to install any number of Rust toolchains for any number of architectures side by side (be it stable or nightly).
- angio 5y agoThe issue with rustup is that it's not integrated in my distro package manager, unlike the dotnet packages.
- tasogare 5y agoArgument better instead of dumb personal attack. I've used/tried a bunch of languages: C, Erlang, F#, PHP, C++, Java, JavaScript, OCaml and Ruby and all had more steps to create and run an executable. Only PHP and JavaScript are simpler if and only if not using any framework.
- DrBazza 5y agoHaving worked on .NET frameworks up to 4.5, and then vaguely following the evolution of C# since then, it certainly seems like a "new language" in many places. The trouble is that you can still write code in the original language, e.g. don't use the elvis operator or Linq or '?.', which is what is likely to happen if you write a lot of code in other languages too - C++, Java, Kotlin, Python, Javascript. There's a common 'subset' language in all of those that's easy to carry mentally from one to another. One thing that Intellij/Kotlin has is that if you write "old fashioned Kotlin", there are a lot of IDE inspections that can convert that "old style" code to sort-of idiomatic Kotlin.
- smackeyacky 5y agoOne of my pet gripes of android development is finally accepting a tool upgrade to android studio, only to have it suddenly complain your coding style got deprecated and your warnings become a sea of yellow down the side. Its infuriating. Give me that C# approach any day.
- trissylegs 5y agoVisual Studio and Rider/Resharper has that for C# too.
- DrBazza 5y agoI know about Resharper, but I haven't fired up Visual Studio since 2015 (I think...) so I have no idea what the built-in refactorings are like these days.
- trissylegs 5y agoI remember when I picked up 2019 I found it was much better than previous versions that I used. (In terms of refactoring and other coding assistance)
- kreeben 5y agoVS's built-in refactoring capabilities are very resharper-like. I haven't used resharper for the last decade. There's no need (for me). Resharper's constantly crashing and/or taking up too much resources while it's doing its "solution wide analysis" in the background, causing many a crash, is not something I miss. VS debugging is a bliss. immediate window: god sent. Does VS crash five times per week. Yes. And it sucks every time. And do I swear upon my late father's grave I will migrate away from .net and devote the rest of my life to destroying MS? Also yes. Then all of a sudden a critical bug is found in production that I can reproduce perfectly, locally, and fix seamlessly and I forget about my mission.
- bayesian_horse 5y agoI'm a newcomer, having been forced to use .NET for work. I really wanted to keep an open mind. But I really can't recommend .NET for web development to anybody. Performance is really the only benefit, and that only gets relevant if you can circumvent or take all the downsides. I really like F# as a language, but C# doesn't really do it for me. Everything else I've seen is very far behind Django/Python and probably PHP, Ruby, Go and Java, though I have less familiarity with those. Documentation and ecosystem certainly. EF as an ORM is a disappointment. Writing REST APIs is at least five to ten times as cumbersome and a lot more annoying. And I have to struggle a lot more to find libraries and support. And it's not just a problem of being anti-Microsoft. Microsoft is running the show and can decide virtually anything (but not everything). You have to be Ok with that, whatever that means for you and your business.
- GOATS- 5y agoThis is really interesting to me. I was also forced to use .NET for work a few months ago, but coming from Python, I found that I tend to like rather than dislike most of the differences between the ecosystems. The whole ordeal with the enterprise application structure was a hassle for me to begin with, but after some mentoring and guidance from a senior developer, it all made sense in the end, and I started to apply the same kind of structure in my Flask projects. What is it that you found C# to be lacking in compared to what we're used to in the Python world?
- bayesian_horse 5y agoFor me Flask is obsolete. If I want a feature-rich web framework I go with Django, if I want (more) performance and simplicity, I go with FastAPI. Comparing .NET to Flask is much easier on .NET, since it doesn't have all those Batteries included and yet doesn't reap the benefits from an async/type annotation approach like FastAPI.
- bayesian_horse 5y agoIn general, I miss all the readability, conciseness, documentation, availability of third party packages... Also Django Rest Framework makes it a lot easier to get up and started.
- chadcmulligan 5y agoAngular 12 and .net are nice to use imho. Make services in .net and typescript and angular front end. Perhaps a nice way to get started for web developers. I suppose you need Entity framework and linq as well to make a full application.
- peter_retief 5y agoIs .NET still a thing? I used it about 13 years back and it was basically a rip off of all the open source projects at the time. Hopefully it has matured since then.
- simooooo 5y agoWell to help address his concerns, the newest version of dotnet had a much simplified set of project types to choose from
- thrower123 5y agoI've seen a disturbing amount of rhetoric from people at Microsoft who work on dotnet that aligns with this article. I'm not sure they have a good handle on how much enterprise code is still being written daily in "old dotnet", or if they do, they don't care. But the general sense is that legacy is lame, get with the cool kids on latest. Also we're encouraging OSS to drop support for you if you're on legacy, and we don't have a great upgrade path for you. Shades of the Great Python Split. I don't really view the new dotnet core/5/6 platform as very stable, not when they are still releasing this often and making breaking changes.
- oaiey 5y agoThey release in the same cadence roughly. The difference is they are no longer grindlocked in Windows, VS and bad patterns. Result: less cloud costs by better performance, capability to run on Linux, lambdas, containers and ability to stay fresh and not turn into Cobol. I understand where you are. I also have to explain my manager ongoing costs for upgrades. Not only for .NET bit every part of the stack. Luckily we have cyber security as an ongoing excuse.
- aitchnyu 5y agoWish there was an easy tutorial for developing and deploying a web app on Linux.
- UglyToad 5y agoThis - https://github.com/EliotJones/LetsShip https://github.com/EliotJones/LetsShip - hopefully gets you some of the way, it uses VS on Windows for development but I can't imagine the experience in Rider or VS Code for Linux is too disimilar. Individual steps here https://github.com/EliotJones/LetsShip/tree/main/docs/posts https://github.com/EliotJones/LetsShip/tree/main/docs/posts I need to complete the full guide at some point but the end result is an application deployed on Linux with both a web app and independently scalable crawling services with zero downtime deployments. Hosted site here: https://pricefalcon.me/ https://pricefalcon.me/ For a simpler deployment without k3s, this guide is the one I originally followed for my trends site and should still work for .NET 6. https://www.hanselman.com/blog/publishing-an-aspnet-core-website-to-a-cheap-linux-vm-host https://www.hanselman.com/blog/publishing-an-aspnet-core-web...
- deleted 5y ago[deleted]
- slownews45 5y agoYou don't have to be under an anti-microsoft rock. If you were a VB/WinForms type person - you've been wondering where Microsoft has been going with their desktop ecosystem for AGES now. Ahh, finally we are told, this new release of .NET solves all the issues. Except when I try to do a simple forms based app with a drag and drop designer (something supported trivially decades ago) it's a constant list of errors, unsupported notices etc. I'm serious. What's the quickest way to drag a button onto a form that when I click it will change a label text to "hello world" with the new .net desktop platform?
- zubspace 5y agoI feel with you. The last time I tried to use Windows Forms with .NET Core was underwhelming. What some people don't realize how huge the .NET sector is (at least here in Europe). A lot of businesses and public services are running on Windows Server and their pace is glacial. Our company is still stuck in the Windows Forms world and slowly transitioning to WPF and even though .NET Core has been around for a while it's truly hard to move old code to the new world. And UI is not the only thing, which hinders us. WCF for example or windows only components (registry or auth-things) are hard to migrate and sometimes require a whole rewrite of some parts. It very much feels like the python 2 to python 3 migration, but the with the risk of Microsoft completely abandoning the old legacy tech in a few years (while python 2 apps could still chug along fine, if you're not in the mood of upgrading).
- to11mtm 5y ago> I feel with you. The last time I tried to use Windows Forms with .NET Core was underwhelming. I recently opined about the UI story on HN[0] and was met with a lot of 'who cares?' Which is really unfortunate, in the process of making .NET 'Webscale' we completely forgot about the desktop workflows that brought so many into the language in the first place. > What some people don't realize how huge the .NET sector is (at least here in Europe). Yeah, a lot of folks here have no idea. I've come to realize it over the years (interacting with a number of very talented European .NET devs, seeing the variety of tech from Europe/Russia) but a lot of American devs really seem to have their blinders on. Odd to note, of all the non-Microsoft OSS libraries I knowingly pull into my app, not very many of them have a US origin or majority of contributions from the US. IDK how much of that is mindset vs contracts (i.e. difficulty perceived or real to get approval to work on or make an OSS project) but it's something I've noticed. > And UI is not the only thing, which hinders us. WCF for example or windows only components (registry or auth-things) are hard to migrate and sometimes require a whole rewrite of some parts The biggest problem though is that there are -footguns- in upgrading. For example, if your old Web calls were using HttpWebRequest or an abstraction over it (like RestSharp,) all of the old assumptions about it not caching like HttpClient go out the window. IDK if you tried CoreWCF, but it's a thing. (I have never worked with WCF.) I know it's limited though. I'll admit that I understand why Microsoft made some of these decisions around killing off certain technologies. I -do- wish they would have handled the process better though. I think one big problem overall though is the community has in many cases not really 'stepped in' to fill these gaps. This is not to detract from the people that are -trying-. But projects like Avalonia have had a hard time building momentum. [0] - https://news.ycombinator.com/item?id=29155173 https://news.ycombinator.com/item?id=29155173
- mattlondon 5y agoI was trying out .Net (...or was it .Net core?) the otherday just out of curiosity, thinking about migrating off of golang. I am still not sure which I need (...or both?) but either way I managed to get neither Visual Studio nor VS Code to get any code to run or compile! I downloaded and installed both SDKs but both failed to work at all - it seems there is some invisible thing configured somewhere (Windows registry? certainly not in the hello world source I was trying to write) that points to the SDK version to use, and neither the .Net nor .Net core SDKs I downloaded appeared to be the correct ones and everything chucks up error messages about the wrong SDK or missing MSBuild (whatever that is), despite just following the tutorials to do `dotnet new`. Very frustrating. It has certainly put me off trying .net now. I wanted to migrate off of golang for my future cross-platform work, but this has really put me off - if I cant even get a hello world to work after a clean SDK install, I can only shudder to think about what the runtime dependency hell is going to be. Real shame.
- JasonCannon 5y agoYou don't use .net core anymore. You use .net 5 or the recently released .net 6. When you use dotnet new it will generate a .csproj file, in that csproj file it will specify what frameowrk you are targeting. I don't know what exactly you did but setup of dot net is super easy. I'd try uninstalling everything you tried to install, and install https://dotnet.microsoft.com/download/dotnet/6.0 https://dotnet.microsoft.com/download/dotnet/6.0 Note, dotnet 6 only works on VSCode or VS2022, older versions of VS don't support it, so you'd have to drop to dotnet 5.
- jmnicolas 5y agoIf you're on Windows just download Visual Studio 2022, it will install everything you need.
- oaiey 5y agoI have one core problem with most of the critique here and in the article: show me a 20 year old framework which does better! Python: which version again, PHP: good luck not doing a kind of injection, Java: Beans? spring? Maven? Gradle?, JavaScript: which 30 packages are currently best of breed, ... Maybe Ruby. Rails killed all competition. Ignoring all what I said, the .NET documentation is definitely worth to improve on the aspect of current versus past state. They should color code it :)
- de_keyboard 5y ago- Install .NET 6 - Install Visual Studio Code (you probably have it already) - Install Ionide extension - Create a new `.fsx` file - Start writing code :) This is by far the quickest way to build something simple on .NET. It doesn't even require a package manifest to pull in dependencies. And it works on all major platforms.
- oaiey 5y ago- Install .NET 6 - dotnet new console - VS Code - Install C# Plugin - Start writing code - dotnet build Also works for the big brother C#
- ReleaseCandidat 5y agoF# is a really, really nice language (it's also one of the few languages that got async right with async workflows: https://fsharpforfunandprofit.com/posts/concurrency-async-and-parallel/ https://fsharpforfunandprofit.com/posts/concurrency-async-an...) with which you can also evade using the XAML stuff for MVU (ELM-style) UIs. But after the Net Foundation and hot-reload drama https://news.ycombinator.com/item?id=28779342 https://news.ycombinator.com/item?id=28779342 https://news.ycombinator.com/item?id=28897314 https://news.ycombinator.com/item?id=28897314 https://www.theverge.com/2021/10/22/22740701/microsoft-dotnet-hot-reload-removal-decision-open-source https://www.theverge.com/2021/10/22/22740701/microsoft-dotne... https://news.ycombinator.com/item?id=28972431 https://news.ycombinator.com/item?id=28972431 I can't really trust MS with anything open source anymore :( https://news.ycombinator.com/item?id=28968231 https://news.ycombinator.com/item?id=28968231
- devmunchies 5y agoyes I had some of the same sentiments as this article and F# recently: https://news.ycombinator.com/item?id=28868104 https://news.ycombinator.com/item?id=28868104 think dotnet (and especially F#) have a lot of low hanging fruit to make it more attractive to newcomers and easier to onboard.
- ameyv 5y agoI have being doing dotnet for at least 7 years now. Started with Webforms being fresh out of university. I'm sad to say I agree with most criticism of dotnet ecosystem. I personally believe MS always want to be in control and that leaves no space for innovation in open source as well. It feels like suffocation at best. MS took control of javascript community in through typescript and npm. Now most of companies want typescript guy doing frontend in react/angular. Added already one more abstraction to already complex JS ecosystem. I have used Python recently. It felt like breath of fresh air. Plus IDE are really smooth. I have nothing against dotnet/C# as language. Its ecosystem that tightly controlled and criticism is shot down quite literally. All important libraries in MS world are locked behind paywall unlike Python, Java, JS, ruby communities. This scene has changed in recent years, but quite it was like that before 2018. Like PDF generation, SSO libraries, tools for profiling. Anyway I personally think that dotnet should not be once first language/entry into programming career. You will miss innovation open source ecosystem and will be behind for years than your other language peers. Also dotnet job market has lot of issues, good paying job are required you to either maintain legacy system in SOAP/XML, webservice and what not. Not much of vibrant job market for dotnet i would say. Apologies for rant.
- ChicagoDave 5y agoOne thing that would be beneficial: A version of Visual Studio strictly for .NET 6 and zero backwards compatibility with other versions of .NET. That code has to be so bloated with compatibility in mind that it's 10x bigger (and slower) than it needs to be. And no, VS Code is no substitute for VS.
- ChicagoDave 5y agoName it Visual Studio Core.
- nathanaldensr 5y agoI completely agree. It's time to leave the legacy of .NET Framework behind forever.
- jmnicolas 5y agoThis is Microsoft we're speaking here, backward compatibility is in their canon!
- nathanaldensr 5y agoIt's really, really sad the lack of good information people have about just how amazing .NET 6 is. Microsoft needs to jettison the cruft and the legacy; .NET is bigger than just corporations now. There's a huge open-source ecosystem. Places like the C# Discord server (with 24k+ members) exist. .NET is bigger than Microsoft in some ways. The recent kerfuffle with the .NET Foundation shows that. Please, Microsoft: invest in marketing, especially to corporations who don't know anything about the tech stacks they use. They need help understanding why .NET 6 is so amazing and why .NET is no longer .NET Framework + ASP.NET Web Forms + IIS.
- oaiey 5y agoThis whole release was very smooth with nice features and nice performance improvements. But the amount of (mostly wrong) negative articles and comments is amazing. It was not like that with .NET 5 and before. HN community grew more hostile to .NET in the last year. Do not know why. Maybe the anti Microsoft sentiment grew the last months again. While being negative press, this article is for the most part right.
- ReleaseCandidat 5y ago> But the amount of (mostly wrong) negative articles and comments is amazing. It was not like that with .NET 5 and before. Well, because MS didn't screw that (5.0, I don't know about Core 3, haven't been a .Net user at that time) release up. The Net devs inside of MS also didn't, well, appreciate these actions. But what would be an example of a wrong negative article or comment about 6?
- oaiey 5y agoNo .NET Core release was a screw up. 1.x was rough but we were happy about the open source part. Nothing on .NET 6 is a screw up. So there is no change regards .NET but the mood changed. Sorry about the wrong articles ... I broke edit that. I was just disappointed by the commentary.
- joshschreuder 5y ago
- cmckn 5y agoI had years of Java experience when I joined MS and started writing C#. I found the tooling to be generally ickier, and was surprised by a few gaps in the ecosystem. For example, there is nothing (official) comparable to javadoc for C#. Documentation is compiled into XML that is consumed by IDE's, but there is no generic, human-navigable documentation artifact. C# has a dizzying number of keywords that obscure perfectly-fine object-oriented expressions. In general, I found the language to have messier abstractions and a far less-discoverable stdlib compared to Java. Visual Studio is non-negotiable for many C# projects, and I found it to be as bloated as any MS desktop app, not incredibly stable, and I swear I installed a multi-gigabyte update every time I opened it. NuGet is serviceable, but I was surprised at how inelegant dependency management was, even inside the company. Finally, it's an aesthetic thing for me -- Java feels unixy, and C# is Microsoft through-and-through. edit: one more qualm, the Mockito equivalent for C#, NSubstitute, cannot mock a concrete class, only an interface. This meant that every C# project I encountered was littered with pointless interfaces that had a single implementation, that only existed because of NSubstitute usage in the testing. This seemed to devolve into C# devs writing an interface for damn-near everything out of habit. I'm talking about writing an interface with getters and setters for a POC#O. I still get nauseous thinking about it. edit: turns out I have a lot to complain about on this Monday! I pray for anyone living under the tyranny of Stylecop rules, which will fail your build if you put a public static field below a private static one, but for some god-forsaken reason cannot actually fix the problem for you.
- GiorgioG 5y ago> edit: one more qualm, the Mockito equivalent for C#, NSubstitute, cannot mock a concrete class, only an interface. I've never heard of NSubstitute (that doesn't mean it's bad), but most places I've worked at typically use Moq (https://github.com/moq/moq4 https://github.com/moq/moq4) which does support interfaces and classes.
- cmckn 5y agoInteresting, I never ran across this at MS. The more you know! Thanks.
- ThinkBeat 5y agoWhat would make the ecosystem better is not to tell everyone to jump like a good little puppy every time Micrsoft squirts out a new release. I have used .Net since the pre Alpha 1. The consulting company I worked for needed X number of consultants certified on this new platform thing so they picked a few of us and said that this .Net thing is now us, run to get certified so we can have our super triple gold star parter relationship. My background was C and C++, Delphi, some Java for the past year. So now I was ordered to be a .Net guy. Yay. A couple of days ago Microsoft officially released C# 10 and .Net 6. I like reading books, I had preordered Pro C# 9 with .NET 5: Foundational Principles and Practices in Programming 10th ed. Edition by Andrew Troelsen It came out May 14, 2021, which is around 6 months ago. The new version for C# 10 and .Net 6 will be released around May in 2022 about 6 months from now. It is not just small changes either. If you know C# 2, there is a lot of code you will not be able to understand in C# 10,9,8. Sells books, blogs, ads, conferences, where people who have spent 4 weeks with a beta version, teach you how to be a master C# developer with C# 10. To be a "good"/"up to date" C# developer, who does not bring in all the "old stuff" from 6 months ago you have to spend time reading blogs, downloading alpha and beta versions, and keep track of what MS promised would be in the next release and what never made it. The "oh its new, shiny, shiny, shiny". I like to wait for a proper release before I spend any time on it. I still have my 2nd edition of C Programming Language K&R from 1988. It is still relevant and informative in 2021. (It is also well written). It is impossible to master a programming language and framework that is a constant moving target. Many programming languages are able to be both useful and produktive without being stuffed with new features of keywords and convention every 12 months. Right now, there is not a single programmer in the world who has mastered C# 9, certainly, none for C# 10. Oh there are a lot of bloggers and fanboys who have -used- C9 maybe even C# 10, and who make $$$ writing, speaking, consulting etc. But using and mastering are two very different things. So please, wait 5 years before the next version of the programming language is pushed. If there are crucial bits you have not been able to get right in 10 version of a programming language, taking a step back would be a great idea.
- lowbloodsugar 5y ago>To those who have been living under an anti-Microsoft-news rock for the last few days Well, it was nice of the Windows side to wait for the .NET6 launch before stealing all their headline thunder by going back to the 2001 antitrust behavior of forcing the use of Microsoft's own browser. [1] [1] https://www.theregister.com/2021/11/11/latest_windows_11_build_enforces_edge_links/ https://www.theregister.com/2021/11/11/latest_windows_11_bui...
- danzk 5y ago>For example, there is nothing (official) comparable to javadoc for C#. I'm not too familiar with Java but DotFX is an official project that builds a static HTML website from your source code comments.