9 ms·
.NET Core and F# are the only reasons why I still develop .NET. I really hope the platform can break out of the Microsoft silo and attract talent from other dev
by dustinmoris 8y ago
.NET Core and F# are the only reasons why I still develop .NET. I really hope the platform can break out of the Microsoft silo and attract talent from other dev communities, because the biggest problem with .NET Core, despite the whole OSS move, is still that the majority of C# developers let themselves happily trap by the Microsoft marketing machinery. The average .NET developer never even tries different things like AWS or the Google Cloud, TravisCI or AppVeyor, etc. They just swallow anything which so-called MVPs and conference presenters force them down the throat, primarily Azure which is by all measures inferior to the other two and they don't even know.
Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. Either offer equal tools for all major tech or none, but this subconscious constant selling of their own tools sickens me slowly.
- xps 8y agoI think that's unnecessarily angry at Microsoft. Of course they have to sell something. They offer some great tools for free (as in free speech) and you still complain that their MVPs promote their own paid services at their conferences?
- dustinmoris 8y agoWell Visual Studio is certainly not free (maybe the community edition) and therefore I don't think I deserve to be littered with Azure ads all over a tool which costs already a lot of money. However, my main complaint is not that they advertise their own products, which is absolutely fine, but the way how it is done is starving the .NET community from anything else but Microsoft. The way how all their .NET products are extremely tightly linked to a point where wanting to use something else but Azure or VSTS becomes almost unnaturally difficult, which is what I really dislike. For example, if I look at a nodejs product then I see documentation for all various integration points, with AWS, GC, Azure, etc., but when I look at a Microsoft library there is no documentation or integration points out of the box but Azure and that has a ripple effect on the rest of the community. Every library author only builds their tools optimised for Azure and don't even think about what else there is, which is quite upsetting.
- bonesss 8y agoI don't think this issue is unique to MS, but thanks to their historical business markets (Office, small-to-medium businesses), and product portfolio the sense is that many Azure services are spider-webs of related products. That feeling that you can't just use a component in isolation, but that other tightly bound products are often the only way to serve reasonable services. They've made substantial efforts and improvements, so credit where credit is due. I think the broader .Net community needs to pull their thumbs out and take a hard look at why C# OSS has struggled the way it has, and how the ecosystem should be maturing. The cross-platform, OSS-friendly, orientation of the F# community has been much more reflective of my technical concerns, platforms, desires, and predelictions.
- mattmanser 8y agoI use git inside VS, it's fine, I've a few minor quibbles, but all the GUI git tools I've used are a bit shit (tortoisegit, GitHub for Windows). The built in support for GitHub is fine, so you can stop moaning about VSTS. Also, you don't have to use azure or SQL server. You can close those tools and, poof, it's done. One of the more ironic things is that there's a growing dissatisfaction with MS precisely because they're making it more flexible. Lots of people just want stuff that works with no config, no mucking around with command line tools. That MS are proudly going 'run dotnet blah' is actually, in a lot of ways, a bad thing. Why can't I just click a button, and why clutter tutorials with lots of pointless command lines? The 'no hassle, no fucking around with shitty console tools' programming alternative is going away.
- alkonaut 8y agoGithub was one of the best integrated services in VS even before ms bought it. But that's beside the point- the point is this: it's on Google and Amazon to make the development story good for their platforms. So Google and Amazon should be scrambling to perfect the deployment plugins for VS. True, microsoft is SELLING (some editions of) VS - but there I'm sure they weigh both demand from customers AND the potential earnings. If AWS and Azure features are equally in demand, of course they will focus on their Azure features first because they have benfits for Ms.
- scarface74 8y ago
- bonesss 8y agoIMO the issue isn't MS, really (though parts of the org are still worthy of strong skepticism), it's the cultural phenomenon of a certain generation of developers who essentially eat, breathe, and die by Microsofts product cycles... There are those argued that any innovation is unneccesary until MS launches a product for it, when it becomes a "must", ad nauseum. I'm talking about the developers who never discovered ORMs until MS pushed theirs, who let their products languish for years waiting for MS to address issues, and move lock-step with them on all fronts.... You've seen major motion with "Alt.NET" groups, and some pretty major internal revolutions based on the displeasure of community technical leaders (and their willingness/needs to hop off of MS solutions), that stem from this dissonence. It can create some cross-purposes in their tooling when they're aiming at conservative C#'ers who want a unified MS experience and look at no other technical sources... Especially for the Enterprise devs, cloud-native architect, and cross-platform engineers who have clear needs that don't jive with those assumptions. F# and .Net Core are the only reasons I'm still on their stack. It's a dream to work with, and addresses critical issues of cloud and distributed engineering that previously would have excluded MS and .Net from the discussion. Particularly with scalable cloud systems, OS licensing fees are often show stoppers for NGOs, non-profits, academics, and researchers
- scarface74 8y agoI'm talking about the developers who never discovered ORMs until MS pushed theirs Because every ORM sucks outside of the ones built on top of Linq. Linq is great because it makes a query language a first class citizen and it decouples writing the query and the implementation.
- Jallal 8y agoIn all fairness, you should consider Entity Framework, not Linq, when speaking about ORMs. And the first versions of EF sucked compared to the others frameworks that were available at the time.
- scarface74 8y agoIt’s not just about EF. The beauty of C# and Linq is: Linq => expression trees => provider => native query language of data source => data source. Written correctly, you can pass expressions around like: repo.Find(c => c.age > 65 && c.gender == “male”) And the expression can be interpreted at runtime by either EF creating native sql or the Mongo driver creating a native MongoQuery or even an in memory List for unit testing. No matter how good another ORM may be for another language, what made C#s implementation better was Linq + expression trees.
- hvidgaard 8y agoI'm not sure I agree that AWS and GCP are clearly better than Azure - but I'm not been neck deep in all three so I cannot definitively say so. But Azure is moving fast. > Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. Either offer equal tools for all major tech or none, but this subconscious constant selling of their own tools sickens me slowly. Of course they support their own tools, but you don't have to use Visual Studio, you can use VS Code if you like. But I can understand why people like Visual Studio - live unit testing alone is reason enough to use it.
- mathw 8y agoLive unit testing is great, assuming your company pay for the Enterprise edition which is the only one which has it. (Mine doesn't).
- oblio 8y agoResharper has it for a fraction of the price.
- arethuza 8y agoI'd be surprised if many organisations pay the full price for Visual Studio Enterprise - certainly a former employer of mine (a pretty large company) didn't pay anything like the list price for any of the MS development tools.
- oblio 8y agoLet's say they get it at an 80% discount. VS Enterprise apparently is now available only though a cloud subscription worth ~$3000 per year so it would still be ~$600. Resharper is $299/$239/$179 (1st/2nd/3rd year). And this is a scenario where your company can get an 80% discount (not sure this is doable) plus Resharper has a perpetual license you can keep after 1 year, just without updates.
- 8y ago
- thepp1983 8y ago> The average .NET developer never even tries different things like AWS or the Google Cloud, TravisCI or AppVeyor, etc. They just swallow anything which so-called MVPs and conference presenters force them down the throat, primarily Azure which is by all measures inferior to the other two and they don't even know. I've made an account because this attitude irritates me. 1. This is patently untrue. The real reason is that a large number of developers simply have more important things to do (friends / family / children etc) than learning whatever is considered in fashion. Scott Hanselman even has a name for these developers "Dark Matter Developers". https://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen99.aspx https://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen... If you have 10 years of experience working with .NET and all the parts that normally come with it, it makes more sense to keep within the ecosystem and keep up with the changes in the tooling if you want to stay up to date. There isn't much benefit for most people to look outside of it. I've personally got sick of things changing every 3 months and build almost everything exclusively using full fat .NET because I know it isn't going to be gutted and changed in 6 months time unlike .NET core. It has also 16 years worth of development and documentation behind it. I don't need to spend half a day trawling through stack overflow posts. 2. Most software that is built in .NET is intranet software that will never be seen by the public. It is most likely hosted in a server rack in the basement. Almost 90% of the problems when developing in these places is internal politics, poor IT infrastructure spending and abhorrent legacy code. I could probably list another hundred common problems. > Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. Either offer equal tools for all major tech or none, but this subconscious constant selling of their own tools sickens me slowly. The whole point of VS is that you shouldn't have to go outside of the IDE very often. Thus why wouldn't Microsoft offer tight integration. If you don't want to see the tooling, remove it from your VS installation or use one of the many alternatives now (Rider, VS Code or setup your editor with Omnisharp).
- endorphone 8y agoI do agree that the person you replied to was unnecessarily cynical (and quite irrational -- there is nothing surprising that Microsoft pitches Microsoft services in their own products), but your reply is contradictory. I've worked in a variety of shops, both "Microsoft" shops and non-Microsoft shops, and I would most certainly agree with the GP That Microsoft shops tend to be dominated by developers who like the comfort of just eating whatever pablum Microsoft is serving, often even if that pablum will take years longer to digest than competitive alternatives. There is, in general, a tunnel vision that profoundly limits the options available to build solutions, at substantial project cost. And it's understandable. If you're at a Microsoft shop you aren't going to challenge the norm if your first choice is SQL Server and BizTalk and Azure, etc. It's the easy, laziest option. Occasionally it might be the best option, but that's just accidental given that the choice was predetermined.
- mamby 8y ago> Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. Either offer equal tools for all major tech or none, but this subconscious constant selling of their own tools sickens me slowly. VS works great with other tools (i.e Oracle Db tools) with the same level of integration ! The misconception is the problem, and MS should work on that ...
- elorant 8y agoWhy should I try AWS and pay twice the price I pay in any traditional hosting provider? Don't drink the HN koolaid and thing that trying the latest and greatest will give you any real benefit. The good thing about .NET or Java or any of these seemingly uncool technologies is that they're tried and tested and work just fine. The real problem with developing in .NET is Windows. Everything else is stellar. Hopefully at some point in the not so distant future Visual Studio will run on Linux and then we will all move to greener pastures.
- smashedtoatoms 8y ago1st million calls on lambda are free... then ~$1.80/million calls/month after that. No ops once you deploy... like none. Dotnet runs on it fine after being written on a Mac, with code completion and linq hints etc. No visual studio in site. I didn’t even install mono. Your uncool technologies might be cooler than you think. ;)
- Crosseye_Jack 8y agoAre you forgetting the API gateway charges? API gateway add’s $3.50 per million requests to the price.
- zip1234 8y agoEgress data as well?
- jbergens 8y agoYou can already run VS Code on Linux. Or use emacs or vim and command line tools.
- macca321 8y agoJetBrains have brought out a x-plat C# IDE also, called Rider. It's very nice.
- gaius 8y agoprimarily Azure which is by all measures inferior to the other two and they don't even know. That's a really weird thing to say, by what measures do you mean? In terms of market share, they are AWS, then Azure, then a big gap, then Google. In terms of maturity of the managed services, it's Azure, then AWS, then Google. Google in particular has a lot of "tickbox" features just to say they have them but when you drill down they are far more basic than either Azure or AWS. Visual Studio is littered with SQL server and Azure tools which doesn't even make sense Why doesn't it make sense? I use those tools regularly! The VS team, using their own product to develop their product, is generally super responsive to the user community.
- mrweasel 8y agoI would not call Azure managed services mature across the board. Some of them are excellent, others are broken in weird little ways. The web portal is the best example, you can't use that with just one browser. Some things only works in Chrome, others are only broken in Chrome.
- tumetab1 8y ago> Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. That's the reason I'm phasing out Visual Studio and phase in VSCode. I mess some features but it's a much more open and leaner tool.
- BurnGpuBurn 8y ago> I really hope the platform can break out of the Microsoft silo and attract talent from other dev communities The problem is often trust. Like so many Microsoft projects, to me the goal of .Net Core seems to be to get as much people as possible on to a proprietary language and/or get as many devs as possible onto developing stuff that doesn't hurt Microsoft. There's no guarantee that MS will not pull the plug at some point, and then soon after that .Net and .Net Core will start to diverge, and MS will lure in as much devs as possible with proprietary functionality that everybody wants but is only in .Net, not in Core. Or they'll just pull the plug because of whatever reason, like they did with Silverlight and Xamarin. Don't get me wrong, I kinda like C#. But right now .Net Core feels like it's been developed by Microsoft, not like it's open source. I'm not entirely sure but is looks like the community developing .Net Core is made up almost exclusively of MS people.
- Yusho 8y agoMicrosoft just recently commited them selfs more to .Net Core and it looks like it will replace .Net Framework in a not to distant future https://github.com/aspnet/AspNetCore/issues/3753 https://github.com/aspnet/AspNetCore/issues/3753
- wangyjx 8y agoYes, .Net Framework itself will evolve very slow. New features will be added to .Net Core Only.
- scarface74 8y agoMicrosoft just announced that .Net Framework is in maintenance mode. The future is .Net Core. Over half of the VMs running on Azure are Linux. Microsoft knows that the future is not selling Windows licenses.
- MiyamotoAkira 8y agoSorry, could you please link to the announcement? Agree about the Windows licenses.
- scarface74 8y agoAWS offers excellent plugins for Visual Studio. https://aws.amazon.com/sdk-for-net/ https://aws.amazon.com/sdk-for-net/
- Crosseye_Jack 8y ago> Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. Either offer equal tools for all major tech or none. It makes sense for them to offer tooling for their own services but that doesn’t mean they don't support other software / services as well as their own. I can still use MariaDB with Entity Framework and push changes to the schema with update-database. Visual Studio has extension support so 3rd party devs can add to it because MS might not be the best people to build the tool for a 3rd party, the 3rd party might just well be. AWS provide an extension for managing AWS though Visual Studio called [0]AWS Toolkit which makes pushing code to lambda a breeze. [0] https://aws.amazon.com/visualstudio/ https://aws.amazon.com/visualstudio/
- qubax 8y ago> is still that the majority of C# developers let themselves happily trap by the Microsoft marketing machinery. Or people choose what works for them? Or they have to deal with sunk costs? > They just swallow anything which so-called MVPs and conference presenters force them down the throat, primarily Azure which is by all measures inferior to the other two and they don't even know. Please get off that high horse of yours before you hurt yourself. Nobody is forcing anything down anyone's throat. Your argument is so petty. People go to microsoft-centric conferences and listen to MVPs for microsoft-centric products and talks. It's like you complaining that a linux conference or talk doesn't talk about windows products and hence are forcing inferior linux products down their throats. What do you expect when you go to a mysql conference? Talks about SQL Server? > Visual Studio is littered with SQL server and Azure tools which doesn't even make sense. A significant portion of windows development involves SQL Server and Azure interaction? You do realize that much of what is in Visual Studio is a result of customer surveys and usage data ( telemetrics )? This is why I cringe at fanboyism. Whether it is F#, Ruby, Rust, etc. People get so irrational and consume by zealotry.
- thepp1983 8y ago> This is why I cringe at fanboyism. Whether it is F#, Ruby, Rust, etc. People get so irrational and consume by zealotry. Amen brother.