6 ms·
There is a strong perception (whether accurate or not--and I honestly don't know the answer) that it's the same old story with Microsoft: if you go the .NET rou
by bcrescimanno 15y ago
There is a strong perception (whether accurate or not--and I honestly don't know the answer) that it's the same old story with Microsoft: if you go the .NET route, you've gotta buy into the entire Microsoft ecosystem. It's not just .NET that you're choosing; you're also choosing Windows servers, IIS, Visual Studio, etc.
If that perception is accurate, it's entirely reasonable to say, "Despite liking a lot of what .NET has to offer, we don't want to buy into one specific company's ecosystem that deeply."
If that perception is inaccurate, then there should be some serious marketing around changing that perception (and not just from MS--but more like this type of grass-roots post).
- MartinCron 15y agoIt's not accurate, for what it's worth. I'm working on a startup with .NET, and while I do use some parts of the MS Ecosystem (Visual Studio, C#, ASP.NET MVC, SQL Server, IIS) I use plenty of tools that aren't from Microsoft (NUnit, JQuery, Github, ReSharper, TeamCity, DotTrace, DotCover, Selenium). Any good technologist mixes and matches the things that work best for their solution, right?
- kenjackson 15y agoYes, there's definitely a split. Core infrastructure like the CLR, OS, and IDE greatly benefit coming from MS (although none are requirements, as Mono demonstrates). But anyone who does serious .NET dev work knows that tons of third-party tools are used. One big difference I notice in .NET shops is that they seem a lot more willing to pay for the best solution. Whereas for FOSS shops they seem more likely to get an adequate solution for free.
- bcrescimanno 15y agoA solution that costs money is not necessarily the "best" solution simply because it cost money. cough perforce cough
- kenjackson 15y agoA solution that costs money is not necessarily the "best" solution simply because it cost money. I didn't say it was. I said they're WILLING to pay for the best solution. Not that they go and look for paid products only.
- smhinsey 15y agoAn example of this is the fact that something like ReSharper both exists and is awesome.
- tjogin 15y agoFOSS is adequate and .NET is the best solution, huh? How do you reconcile that with the fact that .NET MVC is a blushingly obvious imitation of Ruby on Rails?
- kenjackson 15y agoFOSS is adequate and .NET is the best solution, huh? Sigh. No. But .NET shops seem more willing to pay for a solution if it is the best one for their task. But if a free solution is the best, then everyone is happy.
- woogychuck 15y agoThey're both implementations of the MVC pattern, but short of that there seem to be very few similarities between them. Admittedly, I've only built one project in RoR, but the framework itself required much less configuration and Ruby is a huge departure from the Java/C# coding style. The MVC design pattern has been in use since 1979; it's nothing new. It's also worth noting that Java devs and Microsoft devs were building MVP (a modified version of MVC) based apps in the 90's. I'm not trying to dis RoR, because it seems like a pretty solid framework and nobody can deny that the 37signals guys were the motivating force behind the current wave of MVC development. However, what they created was a better web implementation of an existing pattern and I honestly think Django and CakePHP are much more obvious imitations. Finally, it's worth noting that the ASP.NET MVC framework is open source and has similar license to RoR.
- tjogin 15y agoASP.NET MVC is a far closer imitation of Ruby on Rails than either CakePHP or even Groovy on Grails. Django isn't even an imitation, by any stretch of the imagination. The similarities between ASP.NET MVC and Rails aren't just that they both use MVC, that's shallow. ASP.NET MVC is blushingly similar, nothing else comes even close, not even those who claim to try to imitate Rails. I'm not saying ASP.NET MVC is bad, in fact it seems pretty good. But anyone using and liking it really ought to have a look at the original, from where Microsoft lifted it wholesale. Those guys must be doing something right.
- bad_user 15y agoalthough none are requirements, as Mono demonstrates Not to bash on Mono, as Miguel and the Mono team did a fantastic job, but Mono has been more focused on client apps (like for embedding in games). Another reason for why hosting ASP.NET projects on Linux is awful is because ASP.NET was built for Windows. Things like async operations are built for the Windows kernel, having architecture decisions that have a negative impact on Linux. Last time I tried it, it also leaked memory, heavily. Nobody sane uses it, unless they made a bad decision to build on ASP.NET at the beginning and it is cheaper to just try using Mono. tons of third-party tools are used But only tools that are replaceable, used mostly in development mode. How many .NET shops are using MySQL or PostgreSQL? How many of them are using NGinx or Varnish? How many are using CouchDB or MongoDB? .NET shops ... seem a lot more willing to pay for the best solution This is wrong on so many levels I can't even begin to comment on it. First of all, .NET shops are digging themselves in a hole by using .NET in the first place. Of course the best solution is SQL Server, because stuff like LINQ doesn't work reliably for PostgreSQL and because the performance of the PostgreSQL client is awful and because the reliable way of designing a database is through Visual Studio, which again, doesn't work so well for PostgreSQL. You would be mad to choose PostgreSQL if working with .NET That's the whole point - Microsoft doesn't care to have interoperability with third-parties. Microsoft wants you to buy Window Server licenses that are limited in the number of CPUs you can use and it wants you to use nothing less than SQL Server, even though for the same money you can buy multiple kick-ass servers and use PostgreSQL for free. This isn't about cheapness, it's about the value provided (i.e. being frugal). Running a business should be done frugally, since you're only in business as long as the money supply doesn't run out. Paying more money than you should is irresponsible.
- kenjackson 15y agoBut only tools that are replaceable, used mostly in development mode. I'm not sure what "tools that are replaceable" means (because to me everything is replaceable), but the comment about mostly in dev mode is just not correct. There are tons of uses of Oracle. In that 25%, it's probably 75%. Tons of MS shops use Flash. Tons of MS shops use EC2. Tons of MS shops use SQLLite. Tons of shops use nHibernate. Tons of MS shops use components from Telerik, Infragistics, Actipro, Component Source, ESRI. Those are all things deployed with the application and not made by MS. Again, the characterization you made is just false.
- StavrosK 15y agoThat's not really saying much. You just mentioned a Microsoft stack with a few client-side or third-party libraries. How easy is it to, say, use Eclipse with C#, nginx and postgres? The pieces you mentioned are either all on the Microsoft stack or irrelevant to it. jQuery and github, for example, have nothing to do with your backend's stack.
- kenjackson 15y agoHow easy is it to, say, use Eclipse with C#, You do realize that C# in VS is just a compiler? It's csc.exe. There's no reason you can't host it in Eclipse. In fact there are several 3rd party components that allow you to host a C# editor anywhere you like. The problem, in this case at least, is that the C# experience is so solid that the motivation to create an Eclipse one is pretty low. Maybe the Mono folks have something for it. But the amount of work that MS has done for the C# experience is truly impressive. I can, and have, written C# programs in vim, but it's not something I'd like to do on a regular basis.
- StavrosK 15y agoI do realise this, I just added eclipse as an afterthought, as it's arguably as irrelevant as jQuery. The main focus was on the webserver/database, I just didn't expect someone to single the IDE out.
- JonoW 15y agoDatabase isn't relevant, there are .Net drivers for pretty much every popular database. Loads of .Net devs use MySql and Postgres, and using document databases like MongoDB is also an option now
- StavrosK 15y agoAh, that's promising, thank you.
- kenjackson 15y ago
- djjose 15y agoNot so sure that's the driver here. Many devs have bought into the iOS ecosystem. This certainly isn't cheap: macbooks, imacs, iphones, ipod touches, ipads. It's also a pretty deep dive to get into. On the web side, I really think cost is the driving factor more than anything. As long as there's a free (open source) solution to MS's framework that is on par (we can argue either way which frameworks/platforms are better) there's little incentive for startups to go .NET. If a LAMP stack started costing as much as a .NET stack the landscape would be very different. .NET faces the problems going against the Java stack. In the end, it's about the money. Which platform can I make more money on and does it more than pay for the costs to be on the platform? Right now on mobile it's iOS and on the web it's typically LAMP or lately a Ruby on Rails stack.
- berntb 15y ago>> Many devs have bought into the iOS ecosystem. This certainly isn't cheap: macbooks, imacs, iphones, ipod touches, ipads. It is a mobile tool chain. You don't need to use Macs for servers... (And the cost of an iPad, iPhone and iPod touch isn't high. You will need a phone anyway. And iPad is the only real game in town for pads, so you'll probably buy one anyway.)
- julianz 15y agoAnd then you'll develop for them using what?
- berntb 15y agoA Mac Mini is really not that expensive. (Do I have to list the $100/year cost, too?)
- msbarnett 15y agoThe laptop I was already using for Rails development. The notion that every dev getting into the iOS space was converting from Windows at an enormous upfront cost seems rather daft. OS X had a lot of dev traction before iOS existed.
- wslh 15y agoCurrently the same applies to every known service. You have developed using AWS or App Engine and try to migrate to other systems without changing a line of code?
- hubb 15y agohuh? on AWS I can develop python/php/ruby/c/lisp/go/whatever on linux/freebsd, using pretty much any software stack i want.
- bcrescimanno 15y agoThere's some level of tie-in there; but it's not nearly as intense as a full-stack lock-in like .NET. "We're tied to AWS and we need to edit some code to deploy on Rackspace Cloud or into our new DC" vs. "We're tied to MS so our options of where we're going to go are severely limited by the fact that we can ONLY move to providers who work with MS."
- zyphlar 15y agoI'd buy your argument if Ruby on Rails only worked on Amazon servers, or if by using Ruby you could only use nginx and not Apache. The fact is when writing a .Net web app, if you don't like the way IIS or Windows Server or their providers are handling things, you're out of options. Oh and if you want those nice features that make the ecosystem usable, you get to upgrade everybody to the Pro version (not just the people who need the features.) Remember to buy the next version, too, so you don't fall behind on updates and enhancements. And the next version.
- woogychuck 15y agoThat's not really true. The providers in .NET are similar to the convention over config philosophy present in RoR. IIS and ASP.NET provide a lot of features in what they consider the "most common" manner. However, almost every one of the built-in providers can be overridden with a custom provider. In fact, I've set Wordpress up on IIS a few times and used a custom ISAPI module to allow mod_rewite like functionality to create friendly URLS. You don't have to rely on the built-in providers any more than and RoR app has to use only the scaffolded views. Also, the Mono project has made it possible to run almost any .NET app on Linux. There are a handful of projects at Novell that are written in C#, but are served via Apache on a Linux box.
- joeyespo 15y agoI think it really is just a perception. I use .NET for developing Windows desktop applications. Visual Studio and .NET's basic framework are the only things I consistently use. By choice. In my experience, there's many open-source options for everything else I've needed. What's interesting is this perception is exactly why the medium-sized company I work for uses .NET. They pay big money for the MS support. So they are reluctant to use other non-MS product because of the cost and risk of introducing another place to go to for support. The other big issue for them is licensing.
- bcrescimanno 15y agoI don't think this perception applies to Windows desktop applications; but I also don't think there's a large contingent of startups (the focus of the original article) building Windows Desktop Applications.
- tmfkmoney 15y agoI have both a .Net start-up which is a Bizspark member and a non-.Net start-up. It's not the software costs for me it's the development costs of using .Net that make it tough. .Net developers get paid a lot which means it's expensive to quit your .Net job and form a start-up and it's expensive to hire people to work on your project.
- vyrotek 15y agoTell me about it :) My co founder and I were both .Net developers before we quit and started working on IActionable. But its worth it in the end! Edit - Do you have an email where I can reach you to talk about StockYoyo.com?
- josephcooney 15y agoI see the .NET "culture" has transferred through even to your company name!
- vyrotek 15y agoI'm glad someone got it! You wouldn't believe the number of people who spell the company name as iActionable. How dare they turn it into an Apple product!
- artmageddon 15y agoI read it and thought, "Ok, so what does it implement exactly?" :)
- jcromartie 15y ago> It's not just .NET that you're choosing; you're also choosing Windows servers, IIS, Visual Studio, etc. That's accurate as far as Microsoft has every incentive for it to be true. Microsoft developed .NET to promote the future of Windows and to compete with the JVM and other cross-platform VMs. As far as I know, they are competing with Mono.
- narrator 15y agoThat's the thing about Microsoft. It's lack of compatibility with the non-Microsoft world means that if you just "want it to work" you have to go all Microsoft. The side effect of just wanting it to work is that eventually the whole infrastructure of the company gets dragged into the Microsoft nickel-and-diming machine and the relentless upgrade treadmill. They make you pay license fees every year for unnecessary upgrades that just move the menus around and often break applications.
- patrickk 15y agoAnother reason for startups not to use .NET is that Microsoft-based hosting for web apps tends to be more expensive than the other alternatives.
- woogychuck 15y agoVery true, I actually made a post on my personal blog about that a year or so ago.
- kennethh 15y agoYou can get a windows VPS for 30$ with 1 gig memory that will perform quite well. Ofcourse Linux is cheaper but a licence to Windows Web Server edtion is 15$ a month on most hosting companies. You also have the BizSpark and WebSpark programs where you get it for free (for 3 years). Dont think the hosting cost is going to matter much in most cases. SQL server is expensive but who says you have to use it...