5 ms·
As someone just getting into .NET (c# desktop applications) anything I should know about .NET and/or it's history?
by Aurelius3 5y ago
As someone just getting into .NET (c# desktop applications) anything I should know about .NET and/or it's history?
- smackeyacky 5y agoThe desktop GUI story is awful and Microsoft have no good ways of fixing it. Most everything else is awesome. .NET core or .NET 6 is what you want.
- WalterGR 5y agoWhat do you think of WinForms?
- p1peridine 5y agoWinForms is great. There are several companies making WinForms components (controls) still. https://www.devexpress.com/products/net/controls/winforms/ https://www.devexpress.com/products/net/controls/winforms/ https://www.syncfusion.com/winforms-ui-controls https://www.syncfusion.com/winforms-ui-controls https://www.nevron.com/products-open-vision-winforms-ui-controls-overview.aspx https://www.nevron.com/products-open-vision-winforms-ui-cont... https://www.infragistics.com/products/windows-forms https://www.infragistics.com/products/windows-forms https://www.grapecity.com/componentone/winforms-ui-controls https://www.grapecity.com/componentone/winforms-ui-controls
- bayesian_horse 5y agoYou are basically selling your soul to Microsoft. Microsoft is controlling virtually all development even on the open source side. Also, expect to write 5-10 times more code than with other popular languages. You may not notice this when you come from Java or C++ because then it is an improvement.
- GiorgioG 5y agoHate Microsoft much? You’re not selling anything to Microsoft. You sound like you just stepped out of the 90s. As for the misinformation about writing 5-10 times more code than other popular languages, which languages would that be?
- EVa5I7bHFq9mnYK 5y agoThe language that was originally created for one-line scripts in the browser.
- kaba0 5y agoIt’s bullshit. There is not even a 2x factor between high level languages when it comes to productivity (and lines of code is a shitty metric to begin with. Typing speed is most definitely not the bottleneck for programmers)
- bayesian_horse 5y agoI did not speak about productivity or typing speed. Readability and reading speed is a factor affected by lines of code. Switching between files when every class is in its own file and you need to touch half a dozen classes for each API endpoint, is more of a factor...
- c0nfused 5y agoTo be pedantic, It is entirely possible in .net to have either multiple classes per file or multiple files per class.this has been in since least .net 2 Pardon my formatting I'm on a phone Namespace foo{ Class class1{} Class class2{} } And Partial class foo{ }
- metaltyphoon 5y agoDo you understand that this is a choice made by someone instead of a requirement?
- mtone 5y ago
- Aurelius3 5y agoOthers are downvoting you, but this is a perspective I appreciate as it is something I have been thinking about. Although I don't think selling out to MS is a large concern for me at the current time. I do think in the future it is important to become more independent and versatile.
- DeWilde 5y agoSo what other compiled languages would be an improvement to .NET's ones?
- bayesian_horse 5y agoDepends on what you are doing. I'd also question the need for "compiled language" in most cases. .NET is sometimes/often chosen for "performance reasons". In my opinion, for websites or web applications this is completely bogus. ASP.NET will slow your development down so much (compared to Django/Node/PhP/RoR) that you won't see any of those benefits any time soon.
- virgilp 5y agoMicrosoft will frequently hype up things only to drop them 1-2-3 years later. Beware of the hype, especially when coming from MS. Also, keep stuff up-to-date, MS will at the same time maintain things forever and drop them mercilessly (look at .NET framework itself; it still runs - so counts as "maintained"; but if you didn't migrate to .NET core/ .NET5 / .NET6, you're in a very bad position for the future. With the announcement of .NET core they made a lot of code obsolete). The previous two things combined create a somewhat bizarre situation: you want to keep up to date with the latest things MS is up to.... but not TOO up-to-date, because you can get into the "hype that will be killed" train. E.g. .NET core 1 was too early to jump onboard - wasn't clear that it's not going to be an UWP. But by .NET core 3, you'd better pay close attention and be ready to invest whatever it takes to move on to the new tech. Probably around .NET core 2.1 was the moment when one should've confidently said that "MS is serious about this .NET core stuff"? (though the exact timing is of course debateable)
- EVa5I7bHFq9mnYK 5y ago>> Microsoft will frequently hype up things only to drop them 1-2-3 years later. Same as Google. Same as YC :)
- Salgat 5y ago.NET Framework was actively developed for two decades. It's not a jab at them to finally move on to a new runtime while simultaneously providing a very excellent migration path. And all the things Microsoft "hypes up them drops after a few years" have low adoption compared to their main offerings anyways. It would be silly of them to continue actively developing things like Silverlight when everyone saw that better options were available.
- virgilp 5y agoIt makes perfect sense to do what they do! And in all honesty sometimes they grind for a very long time before achieving true success (see: Xbox). That said, people don't always realize how many things Microsoft tries (and subsequently abandons, because of course not all of them are going to be a success). That .net core was a success is clear now; but you could've easily believed that UWP will be a success and invested in it (in fact, I know teams who did, with really bad consequences for them). What I say is... just wait a bit. In the early days, not even Microsoft knows what will succeed, and they will "sell" their new initiatives very hard (of course!).
- hughrr 5y agoYeah, use Qt instead :)
- becquerel 5y agoThe main important historical fact is the jump from .NET Framework to .NET Core. Core is cross-platform, whereas Framework is Windows-only. Also, some APIs were put in before generics were introduced and thus don't have type safety. The main ramification of this is to basically always use things in the System.Collections.Generic namespace over other collections.
- alkonaut 5y ago.NET Core is where it is now, and the UI story is (as always) evolving FAST. Make sure to build a good separation between back- and frontend, and be ready to switch If you are lucky and you are making not-very-complex UIs, you can make a thin wrapper using some of the "newer" frameworks. If you make heavy/classic UI's you will probably have to go for WPF or a Third party framework instead.
- bpicolo 5y ago.NET 5 nixed the "Core" naming I think. It's all .NET now. (They kept "ASP.NET Core" for libraries)
- alkonaut 5y agoAh right. ".NET" is it. Not "Framework" (Which no one ever pronounced before) i.e. 4.X
- mattferderer 5y agoThis sounds like good advice no matter what language/framework