6 ms·
It's purpose is for people who need to do professional cross-platform .NET work, today. As opposed to tinkering with hello-world examples, and keeping an eye o
by StevePerkins 9y ago
It's purpose is for people who need to do professional cross-platform .NET work, today. As opposed to tinkering with hello-world examples, and keeping an eye on what might be the big thing down the road.
Mono actually works, today. It's hype is not ~5 years ahead of an actual implementation. It's not continuously waiting for one more generation of tooling to settle down, or one more standard to be decided or API to be implemented. Its "Getting Started" examples actually compile and run, consistently.
There are two types of languages/frameworks... the ones that people are excited about, and the ones people currently use. Mono's purpose is to serve the latter.
- Latty 9y agoI think this is a little harsh on .net core - it is not as feature complete as mono yet, the point you are making is correct, but it's still usable right now, with some allowances and restrictions.
- StevePerkins 9y agoUnless it's come a LONG way in just the last 6 months, I don't think I'm being too harsh. I really jumped on board the train back when Microsoft's sudden openness made them the #1 topic on HN for awhile, and C# suddenly found new life as a cool fad language. I tried out .NET Core on all three platforms, started reading C# books, and even listened to the weekly "Community Standup" video podcast to be updated on the implementation's progress. I believe certifications are a bit of joke, but I was even thinking about pursuing a MCSD so that I might shift my career more from Java to C# with my next job change. I had realistic expectations about .NET Core's implementation in the early going, as it was Beta and rapidly changing. But I grew disillusioned as it went to RC and and even RTM, and was obviously still at the alpha stage in reality. Completely changing the build toolset post-launch? Seriously? And everything is branded with a different name every time I turn around? The documentation and community was never on the same page with the current status of the implementation. I could just never get even Microsoft's own basic examples to reliably build and run. Perhaps the "Hello world" console example, but not anything beyond that. I would put it down, and every 3 to 6 month pick it back up again to see if I could get the ASP.NET Core example to run. Sometimes I could, sometimes I couldn't. And it was always one or two more API's (e.g. Entity Framework) away from being ready for real professional use. For awhile I was checking in every 3 months, and then every 6 months, and at this point I think I'm on an annual schedule. And currently I'm no longer seriously considering a career switch. I don't mean to be too harsh on the PEOPLE behind .NET Core, as they seem to be smart, good people striving to re-invent a platform and extend its lifespan by decades. But I think that some realism is sinking in now that the initial hype wave has subsided. Re-implementing even a usable subset of a platform as large as .NET was always going to take WAY longer than people were originally supposing.
- SideburnsOfDoom 9y ago> Unless it's come a LONG way in just the last 6 months, I don't think I'm being too harsh. .Net core has not stood still in the last 6 months - the VS2017 release was a big milestone. In the next six months we expect NetStandard 2.0 and .Net core 2.0
- agentgt 9y agoI'm curious why you wanted to shift your next job to .NET? Money? Hedging it to be the future? Like the tech/languages/tools better?
- StevePerkins 9y agoI work for a company that does a lot in the SaaS backoffice space (e.g. Google Apps), and at the time we were launching a whole new product around Office 365. I just had a bit of "grass is always greener on the other side" envy of our Microsoft team. They were in a bit more sexy position in terms of management focus, their tech stack seemed intriguing, and the more I tinkered with C# the more I liked it. It seemed like everything I loved about Java, with extra features and syntactic sugar over the parts that I didn't like. .NET Core, and the idea of shipping your app with a self-contained runtime only megabytes in size, sounded amazing compared to the 300 MB Docker images we were building for our Java stuff. Everything about the Microsoft/C# team felt next-gen compared to the Google/Java team. I even bought a Windows Phone, and starting doing most of my web searches with Bing. Since then, the Office 365 project got shelved, and most of that team is gone. Microsoft is doing some interesting things to try and catch up with modern trends. But much of it is still smoke-and-mirrors at this point. The cold reality is that underneath all the "cloud" marketing, Microsoft's customer base is very much conservative enterprises and not-so-savvy SMB's. Customers are fine with Microsoft throwing in the cloud offerings as add-ons for the on-prem stuff... but the customer DNA still very much revolves around running on-prem software, one or two (or more) generations behind the current release. There just wasn't a thriving market for partners in the pure-cloud space. A lot of my career has been like that. My perceptions driven by what's happening with my current employer, without having a clear view of where the overall industry is heading. It's really 50% luck that I'm a well-paid senior Java developer today... because there were SEVERAL points along the way when I was tempted by what a past employer was doing with Delphi, or Ruby, or something else that in retrospect would have been a major career detour or setback.
- coldtea 9y ago>Mono actually works, today. It's hype is not ~5 years ahead of an actual implementation. It's not continuously waiting for one more generation of tooling to settle down, or one more standard to be decided or API to be implemented. Its "Getting Started" examples actually compile and run, consistently. Funny, because "it just works" has never been the case for the entire existence of Mono. Always a little behind, always all kinds of obscure bugs and unfinished implementations, etc. Even the commercial Xamarin offerings suffered from those.
- whatnotests 9y agoMono got me out of a jam about 7-8 years ago. Had a Gentoo server that needed a Perl application to fetch data from a MS SQL Server. FreeTDS just would not compile, but Mono installed just fine. I wrote Inline::MonoCS [0] and everything Just Worked. [0] http://search.cpan.org/~johnd/Inline-MonoCS-1.000/lib/Inline/MonoCS.pm http://search.cpan.org/~johnd/Inline-MonoCS-1.000/lib/Inline...
- romanovcode 9y agoPersonally I had much more problems with mono 1 year ago then .NET core today. Also, I run multiple website with databases, gb of record processing in queues etc. Also I'm building CI runner on .NET core and so far I've got 0 problems. so I would not call it "hello world". I have 99 problems but .NET Core ain't one.
- shadowmint 9y agorubbish. I don't believe it. If you haven't had problems with .NET Core, you haven't used it in a serious capacity. I'm not even going to bother to go into the details; anyone is free to look up the issue list and the endless stream of issues, its all on github. The versioning, the nuget support, the package.json stuff, the huge fuss over targeting netcoreapp for the 2.0 preview... .NET Core is the future, but its not here yet. Its the closest its ever been with the new preview release, but honestly, I'm deeply sympathetic to other early adopters. Migrating to .net standard 2 will be painful. Anyone thinking of using core right now: dont. Wait at least for the 2.0 release version to roll out, or you're building on quicksand.
- devwastaken 9y agoWhat are you writing? .NET Core doesn't even impliment many things that Mono and .net framework do yet.
- MichaelGG 9y agoI've got 2 projects working on .Net Core, and one about to go live next week. The tooling in VS2017 makes it even better. My only real problems have been using the new libraries (EFCore, aspnet core) and finding compatible libs. Documentation is a bit of a pain due to all the earlier changes that are fossilized in blog posts. Other than that, it's been pretty smooth. Dev and test on VS/Win, deploy to Linux. Though I've also done the same with Mono and it's been pretty good. Mono starts a lot faster - I don't get why "dotnet X" takes 5 seconds no matter what X is. Fwiw I'm excited about Rust and use that too, and even have a few in-the-wild users of my Rust open source stuff. So I think the line about excited about vs actually use is nonsense used to justify shitty design decisions ala C++ or Go.
- purple-dragon 9y agoThis is an exaggeration. We sell and ship a complex, commercial product built with .NET Core. Our (small) team has had some frustrations as things changed along the way, but it has hardly been a dramatic, nail-biting, disaster-ridden fiasco. We are very happy with the project and its rate of progress.
- manigandham 9y ago.NET Core is not hype, it actually works, today. We have several services doing billions of requests daily on .NET Core while being faster to build, deploy and run than the Windows + full framework combination. Every single example in the .NET Core documentation compiles and runs, please stop spreading FUD. Version 1.2 with the release of VS 2017 now has all the appropriate tooling to make everything work well. The whole project is less than 2 years old and by the end of the year we'll have .NET Standard 2.0 with most of the APIs back, almost full compatibility and even better tooling.
- tracker1 9y agoI really like C#, and have loosely followed .Net Core, dipping my toes in several weeks ago... definitely better than in the past, I think VS2017 adoption can improve things... but it's far from without warts. 2.0 will take care of many of them, but even recently there's been some kerfuffles... I appreciate the effort in .Net Core, I think the info-marketing side could use some attention and with 2.0 some redress to the CTO types... for now, despite some adoption, it's not exactly proven out. I will say that for a few of my early tests, it does about 60% more work than the node based app I ran against... though that was still more effort than I liked, and took a bit longer to write than the node version, either of which frankly exceeded the throughput requirements and could scale horizontally. I'm looking forward to seeing what comes of things... I miss a lot of the integrations that C# + VS offered, but don't miss the lag that is so present in my mind even today regarding working in VS. I do love VS Code though, and haven't tried VS2017 so can't comment.
- justin66 9y ago> Every single example in the .NET Core documentation compiles and runs You've run every single example in the .NET Core documentation? Or you like opining about things you have no experience with?
- manigandham 9y agoYes. Most of them are a few lines of code to tweak other examples, not full apps, and they all work. Have you? Do you have an example of something that doesn't? Or are you talking about something you have no experience with?