More Silicon Valley startups need to get on board with .NET. Yeah, I know it's strongly typed and doesn't abuse white space, but you're missing A LOT of potential customers when you skip out on .NET. Seems like a really poor business decision to ignore it simply because there isn't someone on your team who has built a compiler for it in their spare time.
I just wanted to chime in on this. IMO It will happen more often now, but .NET had/has a higher cost to entry (higher than say, ruby/py/java) which is the real reason why SV startups haven't been on board.
It is arguably also a bad business decision to shell out $$ for a language that isn't used at your company.
> It is arguably also a bad business decision to shell out $$ for a language that isn't used at your company.
What cost(s) are you thinking of here? .NET doesn't cost anything (monetarily). Some of the tools cost money but you can also get by in the .NET world with a command-prompt and text editor (I did as a hobbyist for quite some time).
I might be misunderstanding your statements, but it's also possible that you're misunderstanding .NET, I'm just trying to clarify which one it :)
I've been doing .NET development since 2006 and have never had to buy commercial components. Every time I have needed something there has been free/open source stuff. I'm guessing it depends on what type of software you are working on?
I'm using the Stripe.NET library - but begrudgingly - there's a whole slew of FxCop-compliance issues with the code and some code-smells that I don't like (e.g. they read the JSON objects into strings, then deserialize the strings - it's more efficient to use the JSON.NET stream-deserializer). My biggest issue is the lack of `using()` statements: objects are not being disposed-of correctly!
(I'd submit a PR with fixes, but I'm short for time).
Fantastic that they are taking over the Open Source library that was already out there. Have used it and the maintainer had obviously put in a ton of work on it.
My company uses .NET mainly so it's nice to see these libraries. But from recent experience with several of them I am starting to be a little wary of .NET SDKs. It seems most .NET SDKs are either buggy, incomplete or have some other issues. It feels like you are a second class citizen with .NET.
I would prefer if I could call Java SDKs from .NET. These SDKs seem to be higher quality than most .NET SDKs.
C# is a great language and .NET is good but for the availability of 3rd party libraries I would probably go the Java route if I had to start from scratch.
not sure i would go this route, but you can actually call java libraries from .net using a project called IKVM. I used it for a toy project and it seemed to work
So sad to learn about that. Ikvm was so great! It was really granting you access to all the Java world in .Net I hope it will find a new developer. Microsoft should pay someone to do it IMHO
I don't understand why MS hasn't been supporting IKVM already. It makes .NET a much more viable option for many projects. There are a lot of Java libraries out there for which .NET has no equivalent or only low quality ports.
It always seems odd to me that people are excited about .net coming to Linux or osx. Mono has been around for so long I can't remember when it showed up, 2001?
As far as I know mono's been feature complete for a decade or more.
.net core is neat, but for me it's a tooling thing and not a "we can write .net of Linux" thing
Mono has never put a focus on reliability or production-ready code. It's been awesome for desktop software and client applications, but we actually deployed ASP.NET on Mono to unify our deployment environment across our web infrastructure and ran into random bugs and show stoppers on a daily basis. And I'm not just talking about the horrible process of getting Visual Studio projects to deploy to a Mono server, the unavailability of certain APIs, functions that don't quite work the same way, or issues with the Mono frontend server, but also runtime infrastructure issues, random crashes, and more that made it a horrible nightmare worth maintaining two different operating systems for (our reliance on PHP for WordPress and vBulletin (back then, now XenForo instead of vB) meant we faced basically the same .NET-on-Linux issues with PHP-on-Windows, prevented us from going all-Windows at the time).
.NET Core is actually cross-platform from the ground up and the .NET Core team considers it blocking issue and won't release if the codebase doesn't run properly and identically on all supported platforms. It's a night-and-day difference.
I agree, I've been using mono in semi-production for the best part of a decade for ASP.NET and it's been a complete nightmare every time.
It's also a shame that VS for Mac is so half baked for web projects despite MSFTs backing. This issue I have been search for an answer for a while is so obvious I don't understand how they didn't catch it: https://stackoverflow.com/questions/43967326/visual-studio-m...
$139 a year or $14 a month for an individual license is "expensive"?
On top of that if you buy a yearly license or you pay the monthly license for a year, you get a "perpetual" license. You get to keep the turn current version forever without buying another license.
Well, before .net core, Mono never had support for the most important frameworks that were commonly used in .NET world. Namely no support for WPF, EntityFramework, WebAPI, WCF (partial support came later on). This was a dealbreaker for most windows devs. If you accepted this and went for open source alternatives and/or mono's own frameworks (NHibernate, Gtk#, ServiceStack etc.), mono was pretty solid.
I got excited about running mono about 5 minutes every year for the last decade. Each time the enthusiasm came to a complete halt when I actually tried it. Core is in a much better position in terms of completeness, reliability, user friendlyness and not least usage. You always felt like you were the only person trying C# on Linux years ago. Not so now.
mono has been around but was very buggy outside of Xamarin based apps. .net core is a first class .net implementation using lots of the same code code from .net framework and works much better in high stress server workloads.
I've worked with .Net devs for most of the past 17-18 years... I've done my fair share of C# development beyond that. And I've seen a lot of shops move away from .Net. Several to Node.js, others to Java or Ruby. It's not just a Hacker News bubble.
I'm working in a place now, where most new development is .Net core to be deployed in Linux. There are also a few node projects, and go is also approved for new projects. Being able to target and deploy cross platform is huge.
Thats an odd way to phrase it considering v1 was released 15 years ago. Like saying I've spent almost half of the last 10 years with my 4 years old son.
Yes, and in case there's confusion around Core vs. Standard. Standard can be thought of a spec, and supporting a version of .NET Standard implies support in a specific set of versions of .NET Core.
Speaking with experience of the Python Stripe library, automatic type conversions, native exceptions, keeps my code cleaner.
If it were a simple API, I might agree, but Stripe does a lot of stuff and in payments, many things can go wrong. Particularly being able to directly handle exceptions (rather than picking apart obscure status codes) is a godsend.
A little off-topic but I'm gettinga little impatient.
What is the reason we can't have a dnf install dotnet or apt install dotnet and have it linked to whatever is the most recent? I can even do that with php-cli.
A deeper problem to me is I don't think there's enough expertise outside of Microsoft to continue this project should Microsoft decide to take its toys and go home.
Yes but who will (indeed can) continue the project should Microsoft stop work on it?
I mean no disrespect to my hardworking friends at red hat but they cannot take over stewardship of the entirety of dot net. Nobody else seems remotely interested.
I get that until 2016 and Nadella/.NETCore only Ruby, JavaScript, and Python were the hipster languages of choice for web development... but .NET has been an awesome, rapid-development, tried-and-tested, business-friendly option for creating business applications, including, believe it or not, eCommerce platforms.
Outside the "hacker bubble" no one in their right mind would have neglected .NET as a first-class API target for this long. It's insane that Stripe got away with it for as long as they did, actually.
Still in my hall of shame: CockroachDB, which decided Closure and Rust were more important than .NET - I love Cockroach but based on this I wonder if they want to make any money.
shrug - they're a billion dollar company so maybe it wasn't that bad a decision.
We're planning on using stripe (with our .NET code base) and if they didn't have an api - we would have simply used their REST api. We weren't going to switch to another payment processor just for a wrapper around the web service.
Also - the .NET ecosystem is large - but how many .NET-based products are there (that would take payments via Stripe)? It's got to be a small percentage right?
When those superior languages are able to target the same environments and match in terms of IDE support, graphical debuggers, server monitoring tools and cluster deployment, game development engines GUI toolkits, and compile times.
Rust has good IDE support, graphical debuggers are around the corners, gui toolkits are coming and compile times are improving. By the time 2017 ends, rust will improve on all these things, while .NET platform will still be stuck with a slow GC (2017 and GC in same sentence lol) while rust is going to get faster, safer and better. I suggest you to see for yourself, maybe start learning it - it ain't so hard ;)
The big 4 are already using rust in various internal projects (including Microsoft). This comment just shows that you're afraid your job will be taken up by one of the rust devs in future..