6 ms·
I believe this is what Microsoft is trying to do with .NET Core. It's been successful so far, though they aren't at feature parity yet.
by ahansen 8y ago
I believe this is what Microsoft is trying to do with .NET Core. It's been successful so far, though they aren't at feature parity yet.
- manigandham 8y agoYes, arguably the .NET Framework almost did it and is still one of the most productive frameworks available, but .NET Core has definitely improved things substantially. It's fast, well-designed, and full-featured and I expect usage to pick up greatly.
- lewisinc 8y agoCan I use F# with it? Because I would love to learn me some F# some day.
- manigandham 8y agoF# with .NET Core? Yes, it works fine. There are some challenges coming up with design changes to the compiler and C# that might overlap what F# already has but it'll get sorted out.
- vizzier 8y ago.net core F# support has been pretty great from the initial stages of .net core from my basic usage. Biggest challenge seemed to be around type providers (F# system of generating strongly typed classes from dynamic data such as XML, CSVs, HTTP etc) but that's largely resolved. More info at https://github.com/fsprojects/FSharp.TypeProviders.SDK https://github.com/fsprojects/FSharp.TypeProviders.SDK Great resources for getting started with F# at https://fsharp.org/ https://fsharp.org/ My personal preference is generally to install the SDK and use the http://ionide.io/ http://ionide.io/ with VScode as it seems to work most reliably cross platform.
- davidgrenier 8y agoI'd be very much interested how anyone is using F# on Linux without mono. I have .NET Core but the whole thing seems to require Mono and it isn't clear from fsharp.org that you can do without.
- workinthehead 8y agoMono is not required: https://docs.microsoft.com/en-us/dotnet/fsharp/get-started/get-started-command-line https://docs.microsoft.com/en-us/dotnet/fsharp/get-started/g...
- zzbzq 8y agoSo far the package manager hell has been kept in check because they keep re-doing everything in such a way that you don't intermingle it. So when you're on MVC5 you're on MVC5, and when you're on AspNetCore, you're on that. You're not using 5 of library x and 6 of libarary Y. Likewise the startup and DI stuff has all fully rebooted twice in a few years. But nonetheless, some of that sort of package hell has already seeped in, where you're using different packages that depend on different versions of some underlying thing with breaking changes. I think the choices are either keep rebooting everything or stop making new stuff.
- manigandham 8y agoYes, but it's rapidly getting better with .NET Standard combining all the libraries into a single definition that can be used on any framework implementation. MVC5 was never released though, and the changes have been rather minimal from ASP.NET Core v1 to v2 with straightforward migration guides, so it might look messier than it actually is if you were working through all the previews and release candidates instead. Nevertheless, Microsoft has a long history of having messy v1.0 with most of the stability coming after v2.0, so you can consider the foundation pretty stable now that it's on v2.1 and more.
- poilcn 8y agoWhat I don't like in Microsoft's frameworks is that they've made lots of things multiple times in slightly different variations, like they always do with all their software (10 variations of each type of programs which were outdated before they were finished). Mostly it exists due to historical reasons, but it only underlines the problem of a multi-billion corporation having design skills of a sophomore. They redo and redo things, bloating their frameworks and increasing their number and you have to guess which CookieContainer you should use this time. It makes me understand why language designers like Rust developers insist on a small core library. Because it's better to have one separate library that will do everything regarding Cookie management (and you could control its functionality by including additional traits from it), than to have incompatible variations of it in the standard library and in each framework.
- pjmlp 8y agoAndroid Frameworks will make you love .NET variations.
- rubber_duck 8y agoC# is very verbose and tedious compared to more expressive languages - having to deal with CLR types/API at runtime while using a language with very limited expressiveness (C#) is not very productive. It's better than Java if that's what you're aiming at - but JVM has an incredible ecosystem of stuff that works - much larger than .NET core which is not very mature in many areas (recently had to revert to .NET 4.7 because some encryption method used by a government SOAP service we were talking to wasn't supported). TypeScript and JS underneath is actually quite malleable - you can escape static typing at any point and revert to simple JS object model when things don't map cleanly in the type system - and then still have types at the boundaries - makes meta-programming trivial in some cases - where it would look like a monstrosity in C#. F# is interesting and has a lot of advantages over C#, but few people seem to be willing to invest the time to pick it up in the .NET community. So I don't really view .NET core as a superior alternative, I've worked in JVM land, they are more mature and while Java sucks there are other languages on top of it as well and are decent to use (Kotlin ~ C#, Scala ~ F#)
- Quarrelsome 8y ago> using a language with _very_ limited expressiveness (C#) is not very productive. o_0. Think you need to check yourself mate. I believe the productiveness of more "expressive" language tends to be undermined by the loss of productivity that occurs when you're compelled to write blog posts or comment on hacker news about how amazingly productive and expressive your language is.
- btschaegg 8y ago...as if we wouldn't be writing comments on HN anyway. ;-)
- rubber_duck 8y agoI can do like 3-4 hours of productive work a day realistically - after that I lose focus. I can push this in some periods - but that's the ammount of time I limit myself to be functional over long term. If I need to waste that time sifting trough boilerplate than I'm pretty upset because I get less shit done in that time window. Chatting on forums is a casual brain teaser and keeping up to date on industry stuff.