Live data from Hacker News

Why Startups Could Use .NET, But Don’t

piehead.com

111–120 of 193 posts

Re: Why Startups Could Use .NET, But Don’t

#111

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 .NE…

I 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.

Re: Why Startups Could Use .NET, But Don’t

#112

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 .NE…

> 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.

Re: Why Startups Could Use .NET, But Don’t

#113
As a Microsoft developer for more than a decade I can say without a doubt the biggest complaint is that you operate on Microsoft's schedule. If they say LINQ to SQL is dead. It's dead. If they say, you must build Windows apps using XAML, you have to use XAML. I've had to learn at least 5 different data access frameworks over the years.

What I've learned is that core functionality (like arrays, strings, math libraries, etc.) are great but when you adopt higher level Microsoft frameworks (like authentication in ASP.NET) you have to be prepared that at some future point MS will pull the plug.

Open source projects can integrate very well with .NET but if you're starting from scratch at a startup I don't think there is a huge value in the tool chain the Microsoft offers v. OSS tool chain.

Re: Why Startups Could Use .NET, But Don’t

#114

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 .NE…

I 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 a…

I 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.

Re: Why Startups Could Use .NET, But Don’t

#115
post #16

Earlier quoted context omitted.

> It's a fantastic framework that should and could supplant the JVM. What makes you feel that .NET is so superior to the JVM? The JVM itself seems like a solid, performant VM platform, and there is a broad selection of languages in Scala, Groovy, Clojure, JRuby, Jython and friends. Disclaimer: I'm platform agnostic and don't currently develop on the JVM or the .NET CLR, so I have no horse in this race. I'm genuinely…

Here's a few things: 1. JVM cannot do unsafe code. In the CLR, you can create unverifiable IL and do pointer manipulation, etc. Raw memory can be free accessed however you like. That's a handy interop and performance feature. 2. JVM doesn't support structs. Again, performance difference. (Although, sometimes the CLR's JIT hasn't emitted the best code for structs.) 3. The CLR has generics. In Java, generics are implem…

You can use JNI from Java if you need performance. It is the "unsafe but fast" option.

Re: Why Startups Could Use .NET, But Don’t

#116
post #16

Earlier quoted context omitted.

> It's a fantastic framework that should and could supplant the JVM. What makes you feel that .NET is so superior to the JVM? The JVM itself seems like a solid, performant VM platform, and there is a broad selection of languages in Scala, Groovy, Clojure, JRuby, Jython and friends. Disclaimer: I'm platform agnostic and don't currently develop on the JVM or the .NET CLR, so I have no horse in this race. I'm genuinely…

Here's a few things: 1. JVM cannot do unsafe code. In the CLR, you can create unverifiable IL and do pointer manipulation, etc. Raw memory can be free accessed however you like. That's a handy interop and performance feature. 2. JVM doesn't support structs. Again, performance difference. (Although, sometimes the CLR's JIT hasn't emitted the best code for structs.) 3. The CLR has generics. In Java, generics are implem…

In addition, the JVM is just that--a VM. The platforms that run .NET with a JIT compile the IL down to optimized native code. This is similary to the way many Lisps work. Although the JVM is highly optimized and runs faster than Mono in many tests, it will always have an inherent performance disadvantage.

Re: Why Startups Could Use .NET, But Don’t

#117
I think it's a community problem. Stackoverflow is the closest thing to a vibrant .NET community that I've ever seen, and that's not saying much. Despite the massive enterprise buy-in, it's very lonely place to be sometimes.

Nothing really exciting happens in .NET.

Re: Why Startups Could Use .NET, But Don’t

#118

Earlier quoted context omitted.

although 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 negativ…

But 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 s…

    to me everything is replaceable
Well yes, you can always rebuild from scratch.

    There are tons of uses of Oracle
Microsoft has been collaborating with Oracle for the integration provided. It's the only third-party database with that privilege.

     Tons of MS shops use Flash
What's more interesting to me is that tons of MS shops are using Silverlight, even though it isn't the best solution by any stretch of imagination, having the extra handicap that its reach is at most half than the reach of Flash, even inside an intranet environment.

    Those are all things deployed with the 
    application and not made by MS
When you have to choose between software STACKS, you don't decide on the availability of a Hibernate clone, or on the availability of payed ASP.NET components that you wouldn't need if you weren't using ASP.NET in the first place.

You decide based on the 5 biggies - OS, database server, web server, application server, caching layer.

And nothing replaces SQL Server, Windows Server and IIS. And if .NET shops have been using Memcached, that's because no alternative was available from MS.

Re: Why Startups Could Use .NET, But Don’t

#120
A couple years ago when I was working for a mostly rails shop, We built a medium sized e-commerce system in .NET MVC.

It was our first C# project (though we'd done java before). It was actually quite nice.

.NET MVC is, as some others have mentioned, a rather shameless rip off of Rails-style mvc, but they did a good job, and they published the source, which is handy.

C# is pretty nice, after working with it I actually prefer it to Java.

When we finished the project we were so pleased with the .NET MVC stack that we tried to see how we could make it work for other projects, but it came down to tools and platform:

We had to run windows for development and deployment if we wanted to run Visual Studio and IIS. VS is a decent IDE, but having a *nix system is necessary for literally every other thing we do, which meant we were either running windows in virtualization or dual booting (we have no desire to run linux virtualized for development).

We looked into the mono tools, but trying to get our code running there was an exercise in translation: all the tutorials and documentation are focused on the windows world, so it's difficult to find resources for working with .NET on mono for web development.

In the end, .NET MVC is nice, but it's not such a game-changer that we were willing to put up with the windows-centric toolchain and, just as importantly, the windows-centric culture surrounding it. Unfortunately I can't see Microsoft making the effort to push it to a wider audience.

Post reply on HN