Live data from Hacker News

Why Startups Could Use .NET, But Don’t

piehead.com

61–70 of 193 posts

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

#61
I'd love to use C# or F# for development: they're in my opinion, superior languages to Java and Scala (respectively) -- although Scala has several salient and interesting points (implicits, traits) that F# doesn't.

However, I am fairly well wed to Linux/OS X, and don't see myself being productive with Windows (whenever I used Windows, the first application I'd install is Cygwin), nor (having never done Windows Systems Engineering) do I know how to find a great SRE/operations engineer for a Windows system (or how to train a great Linux SRE to be a great Windows SRE). Nor can I legally setup a small cluster of Windows Server machines in my apartment (or on Ec2) to prototype the application _before_ I officially start a company (and qualify for bizpark) without paying extra costs. Ditto for setting up a developer desktop with MS Visual Studio.

I am watching Mono seriously, but for now I'd stick to C++, Erlang/OTP, OCaml, and Java/Scala as my choices (with Python or Ruby for scripting) were I to start a new project.

Addendum:

Microsoft: if you're reading this, buy Miguel De Icaza's startup. Make Linux and OS X a first class side deployment platform. Market SQL Server (which, from what I recall is superior to it's primary competitor, which is Oracle) as a way to "upsell" customers using Mono on Linux to use Windows Server (if it makes business sense for them).

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

#62
Agree on the culture thing. Wrote a blog post about a year ago: http://www.softwaresweden.com/2010/04/28/picking-a-programmi...

"They don’t tell you this in school, but there’s a certain organizational personality connected to each language... It’s not a matter of the powers of the languages themselves but how they are used and who uses them and what kind of projects will you be doing with the language."

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

#63

Earlier quoted context omitted.

It'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?

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

My point is that lots of people buy into the popular story that in order to use any tools from Microsoft, you have to use all of them. That's just not true.

Microsoft has tools for test automation, but many people use nUnit because it's better. Microsoft has automated refactoring tools, but many people use ReSharper because it's better. Microsoft has source control tools, but many people use git/hg because they're better.

I've known people who do C# development with Eclipse. It's not as nicely integrated, but whatever. Nothing in the backend stack enforces your IDE tools.

It's the same with postgres or MySql. I personally don't use them because I prefer SQL Server. But I'm not tied to SQL Server by anything but affection for it because it works really really well for what I need.

I can't speak to nginx as I have no experience with it.

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

#64
post #45

Earlier quoted context omitted.

The problem is Microsoft. .Net would be a perfect thing if it wasn't fully owned my MS, in which case it probably won't be far as perfect. However, you have to use MS OS, MS development tools, MS deployment - and it's pretty painful especially because you can't use shiny macbooks any longer :) If you try to replace any element of that chain, you're on your own entirely. On other hand, MS ecosystem is smaller than non…

However, you have to use MS OS, MS development tools, MS deployment You can use Mono tools if you'd like. For deployment, AppHarbor is just awesome. ...you can't use shiny macbooks any longer I'm on a brand new Macbook Pro right now and I just pushed to AppHarbor. Bootcamp is great. For example, what does it have for non-relational storages? MongoDB works great with .NET. I'm actually about to switch my .NET-based st…

I believe that if you would have a problem with some third-party library and mono, you have good chances to be replied with "just drop mono and use real .net" I would glad to be wrong. But with Mono, you would always have slower, less reliable and less supported platform. Would not you?

It might be no big deal for some developers, but the difference between java and c# might be no big deal, too, for some developers. At least when I have my Eclipse on kubuntu with clojure code inside, I know that 1) Eclipse on linux is a supported, solid configuration. 2) clojure is experimental, and it's experimental for everybody, not just me.

On other hand, mono is wonderful if you like tinkering (dotgnu probably is even funnier), but if you like tinkering you might as well take factor, common lisp or dozens of other fun platforms.

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

#65

Earlier quoted context omitted.

Yes, 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 a…

A solution that costs money is not necessarily the "best" solution simply because it cost money. cough perforce cough

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

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

#66
post #8

Earlier quoted context omitted.

Mono lets you run some .NET code on Linux/Mac OS X. Some of my favourite pieces of Microsoft technology are missing or too broken to use - for example WPF is an excellent tool for building desktop applications but it doesn't work on Mono, F# sort of works until you try doing recursion with abstract data types.

IMHO it's kind of silly to expect things like WPF to run on multiple platforms - and I'm actually glad it does not. The world doesn't need more apps with lowest-common-denominator UI. Ugly, kludgy, doesn't work well on any of its platforms because it cannot leverage any platform-specific UI strengths. If anything, the last decade of desktop and mobile computing has shown beyond a doubt that a highly refined user expe…

The Java UIs suck, but that only speaks for the quality of Java. Qt has managed to make great looking cross-platform software for a long time now.

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

#67
post #55

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…

Currently 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?

huh? on AWS I can develop python/php/ruby/c/lisp/go/whatever on linux/freebsd, using pretty much any software stack i want.

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

#68

Earlier quoted context omitted.

It'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?

Yes, 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 a…

FOSS 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?

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

#70

Earlier quoted context omitted.

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

How 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 som…

Monodevelop is apparently a pretty good IDE, even though I haven't used it myself.

I personally can't see myself using Eclipse on purpose again.

Post reply on HN