Live data from Hacker News

Why Startups Could Use .NET, But Don’t

piehead.com

51–60 of 103 posts

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

#51
I use C# 4.0 sometimes at my job and it's actually quite well done. The team was right on the money with their implementation of anonymous functions, functional programming paradigms (they don't use common naming conventions like map and reduce, though unfortunately), and variable assignment (you basically never need to explicitly state your types in fact, the key word is var, just like in javascript).

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

#52

Greenspun had some great thoughts on this in 2009: http://blogs.law.harvard.edu/philg/2009/05/18/ruby-on-rails-... Business Guy: Hands Microsoft a bunch of money, launches site on an ASP server with 64GB RAM. He is basically done with IT for the first few years of growth. MIT Genius: Starts off trying to build a system that will scale, from the beginning. He creates about 6 months of IT work for himself. It works, ev…

Not sure that I would call that post "great thoughts". Scenario #1 (business guy) required a significant amount of initial investment, Scenario #2 (MIT Genius) could have bootstrapped the site for $14/mo on AWS. They're two completely different strategies.

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

#53
post #37

So I don't really work at a start-up in a meaningful sense anymore (Fog Creek is a decade old), but my team is just a few people, and we develop in a start-up-like mode for Kiln, which is written almost entirely on a WISC stack. I really, really like .NET, ASP.NET MVC, and C#. And I even have grown to appreciate IIS 7 and SQL Server. But if I left this company and did a start-up project all over again, there is no wa…

I work primarily in .NET and I completely agree with these sentiments. I couldn't have said it better but I'll add my $0.02 anyways.

.NET isn't necessarily slow* to work with (GSD, not benchmark wise), but it can be very restrictive and limiting to work with. This is probably great for "enterprise" (whatever that means anymore) where cutting edge technology is considered inherently risky, but in modern startup environments it's just not going to cut it. Community involvement and maturity is part of it too, a talent pool that has a lot more myopic developers who have limited themselves to one language, one framework and one stack is another. Windows as an environment is a third reason, it just doesn't have the same flexibility, tooling and automation of * nix environment. Fun, as a purely subjective reason, is a fourth, I just see * nix devs having more fun with the tools they are using and the stuff they are building.

*though in my own experience the incredibly strict static typing of C#/Java feels slow to me. If I'm trying to design my software well so that it is extensible, understandable and maintainable I find I have far less trouble with this in Ruby, even considering that I have far more skill and experience in C#. That's just my personal experience so YMMV obviously.

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

#54
post #11

I don't agree that it is mostly culture (and "ego"). Purchasing/licensing software is always a hassle. Even aside from the monetary cost, you need to decide which to buy, go through the purchase process, and sometimes you also have some activation hassle. With open source software, you just download it and use it. If you decide to change to another version of the software or different software entirely, you just do t…

The licensing costs for VS.NET, MSQL, and related products are a rounding error compared to the cost of salary paid to a 3-7 man team. Using open-source tools to save a few dollars is a sure sign of either incompetence or inexperience, and a soon-to-fail project.

The costs are significant for a ramen profitable startup. For example production licences for MSSQL are not cheap. Each virtual machine for a dev is a problem.

For a small startup, the cost is the time it takes to try and understand your licencing agreements - it wastes a lot of time...

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

#55
Why anyone evaluates .Net as something uniquely different to other languages/frameworks/platforms is beyond me. It has a certain set of capabilities, some it does really well, others not so well. Pretty much like any other language/framework/platform.

As with any application or system being built, the available options for building said application should be evaluated and compared for strengths/weaknesses. Whether those fit into an organization's plans is for the organization to decide.

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

#56
The main reasons I can see for a startup not to go .NET/MS Stack.

1) It is maintained exclusively by 1 company, if MS decide to kill off part of the platform or let it stagnate and you have a huge base of code based on it you are going to be missing out on the cool new stuff the ruby/python etc guys are getting. In the event that MS went bankrupt or decided to totally change their business model (i.e focus on consumer products) you are essentially screwed.

Also if they decide to change how their tools work (even just change the GUI around) your pretty much forced to re-learn it, this happens less on unix.

2) Licensing costs, sure these may not be that significant but they are subject to change and however small they may be you are competing with free.

3) Familiarity, Allot of startups probably hire recent bright college grads. These guys will have used desktop windows at some point, but they are very likely to have also installed Linux/BSD on a spare computer at some point and setup apache etc on it by reading stuff on wikis/blogs even if just for kicks. How many of them are likely to have installed a Windows 08 server on their own computer and figured out how to set it all up properly by reading MCSE manuals? It's somewhat different from setting up Windows desktop. It's also pretty complicated, I once went on a 2 week course with work to learn how to do some things on Windows server, doing roughly the same things on Linux took about 2 hours to figure out (ok , the course was pretty slow paced so 2 weeks might not be fair).

4) It's windows, it has a reputation for security issues. While this may not be as common as it was , it still makes allot of people nervous when I talk about forwarding ports to a Windows box.

5) Lock in, once you are commmited to Windows stack there's not allot you can do to chop and change parts of your stack for other things, like for example use a different kernel or filesystem. On the other hand let's say your running Linux servers and decide to move to BSD (or apache to lighthttpd), most likely much less of a hassle.

To overcome these things they would need some serious selling points.

Other than backwards compatibility with older stuff is there really a good reason that MS needs to build it's own OS kernel etc?

If they announced tomorrow that the next version of Windows Server would run a BSD kernel but they would port .Net + Active Directory + Windows GUI and everything else over to it would anything really be lost?

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

#57
post #44
post #11

I don't agree that it is mostly culture (and "ego"). Purchasing/licensing software is always a hassle. Even aside from the monetary cost, you need to decide which to buy, go through the purchase process, and sometimes you also have some activation hassle. With open source software, you just download it and use it. If you decide to change to another version of the software or different software entirely, you just do t…

Really people? You guys are engineers by trade (and good engineers, at that, no?) and you find licensing daunting? Let's assume you are out of BizSpark, which gives you what you need for free. Now you have a list of licenses to acquire. What I did last was to call CDW, they put me in touch with their MS licensing guy which actually looks at this stuff full time, he took our info down and simplified our options and it…

Its not that they're hard per se, they're just another pain in the ass, especially when the alternative is a proven technology obtainable with a no-bullshit grab from a repository and then can be used whenever wherever for whatever.

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

#58

Why anyone evaluates .Net as something uniquely different to other languages/frameworks/platforms is beyond me. It has a certain set of capabilities, some it does really well, others not so well. Pretty much like any other language/framework/platform. As with any application or system being built, the available options for building said application should be evaluated and compared for strengths/weaknesses. Whether th…

Except with .Net you are subscribing to a whole set of things. Windows + IIS and everything else that comes with it.

If you choose python you can deploy to Linx/BSD/Solaris or even Windows. Also you get a nice choice of HTTP servers to run it on.

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

#59
post #2

"The real reason startups don’t use .NET is based more on culture than technology." Ding ding ding, we have a winner. It's more about which tribe you want to belong to than anything these days.

I think there are plenty of valid reasons to avoid MS technology that don't boil down to "because I want to be like these guys."

If you base your infrastructure around Microsoft technology, you're essentially stuck in MSland. Of course, since you're using .NET, you must also have Windows servers and IIS. If you need persistent storage, MS says to use MS SQL Server. You could use other things, but then you're going outside the lines.

OTOH, if you build using free tools, you can change as needs demand. Apache httpd suddenly a little too heavyweight for your needs? Switch to nginx! MySQL working okay but you need geospatial queries, for instance? Migrate to PostgreSQL.

Or how about the ability to run Redis natively, or access to a POSIX environment that literally every other major operating system supports?

If technology isn't playing a role in your technology decisions, you're doing it wrong.

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

#60
post #8

As a programmer, would I choose to be a member of a community based on open and free information, one where contributions are open to all of humanity, or a community built to feed the bottom line of a large corporation? Especially considering large profits are possible with with both, why would I choose the latter?

This assumes that everything else is equal.

If the scope of what you're doing is such that all other things in consideration are actually equal, you have a very narrow view.

Post reply on HN