Announcing September 2016 Updates for .NET Core 1.0
blogs.msdn.microsoft.com
blogs.msdn.microsoft.com
Even now when I tell some people that .NET is very simple, fast and runs on osx/linux they are like "Really!? No way bla bla."
* ASP.NET
* .NET MVC
* .NET 4.5
* .NET WCF
* WPF
It's a nebula of names, but I've been ridiculously productive while trying to grasp .NET core. I'm currently trying to make a job to take DB data and dump it on Elasticsearch. It honestly feels like PHP7 with async, it's great
* ASP.NET = Web subsystem of the .NET framework.
* ASP.NET MVC = MVC framework that is part of ASP.NET (not ".NET MVC")
* WCF = Communications subsystem of the .NET framework (not ".NET WCF")
* WPF = Presentation layer subsystem of the .NET framework
1. The compiler checks for exceptions being thrown and and makes you write a catch.
2. Anonymous inner classes.I prefer even handlers, but would still like this feature.
I think c# does a good job of always adding features that make it easier to write code.
[0] http://www.mindview.net/Etc/Discussions/CheckedExceptions/
All that said, .NET Core is a huge win on the operational side of things, so it's definitely moving in the right direction.
Websphere is such a pain to use, yet it still is everywhere on enterprise projects.
It is the typical enterprise software suitable to sell consulting experience in what concerns configuration and management.
Endless list of configuration options, some of them only available via scripting and best of all IBM J9 specific features.
One of the issues we once had around 2006 was that our entity beans stubs would only work properly if compiled via J9.
Anyway, I agree that operationally .NET has struggled, and of course the community was much different than other open source solutions, but it both have gotten much, much better in just the last few years.
At my last job we had two teams, one had a .NET stack, and the other had a Java EE stack, it was almost like someone had set up a lab to test which one was better (both were required to deliver very similar style LOB applications, one for one department and the other for another).
The .NET team consistently delivered a lot more value faster, and the Java deliverables always had reliability problems which they attributed to the JBoss setup. To be fair, the Java side was hampered by an "old-school" architect who refused to use the right tools for the job (even on the Java side, there are pretty decent frameworks and IDEs).
Is F# support ready for Prime Time?
It's a good start, lot of things work, lots doesnt.
Is for early adopters but it's not bleeding edge anymore i think. Not ready for production
F# using .net core sdk from command line works (new, restore, build, run, test, publish) like c#.
xplat is ok where .net core is supported, so osx/ubuntu/win/docker.
Docs need some improvements, but lots are language agnostic, or c# examples help (docs are open source, if someone want to help).
Important wip or not implemented yet feature of compiler/language:
- type providers
- portablepdb for enable debugging
- f# repl
The f# libraries in ecosystem are starting to support .net core (netstandard), like FSharp.Compiler.Services (the compiler as library), Suave ( github.com/SuaveIO/Suave-CoreCLR-sample ), Argu, Fable. These are not hello world examples, so it works. Some are in prerelease, but it's expected because it's a new framework/tooling and need testing.
There are only few libraries of the f# ecosystem who support .net core, but it's expected because is a bootstrapping issue in lot of cases (i need to wait .net core support for my dependencies add support..)
Obv it's possibile to use all others .net libraries who support .net core (netstandard) like the BCL, Kestrel, etc.
As editor, vscode has the best support using usual the amazing Ionide plugin for f# (who already give f# support for .net and mono). Intellisense, build, run is ok but not debugging.
Using Visual studio, only build/run works (xproj and project.json), but not intellisense or debugging.
If you want to chat there are two good f# slack groups
- #dotnetcore in fsharp.org slack (other chan too)
- #fsharp in fpchat.com