Live data from Hacker News

Why Startups Could Use .NET, But Don’t

piehead.com

131–140 of 193 posts

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

#131
post #7

I'm using rails for my company but ruby is definitely not my preferred language. Blocks/Procs/Lambdas (why are there three almost identical constructs?) definitely don't compare to function application / currying. I'd much rather write in F# but I'm worried about all the nice to haves that come with the rails stack, like capistrano or the plugins to serve/upload your assets to S3. (e.g. ASP.NET has HAML but not sass)…

> (e.g. ASP.NET has HAML but not sass) I fixed that this past weekend :) http://blog.paulbetts.org/index.php/2011/05/16/announcing-sa...

This rocks. I'm going to check this out when I get to work. Thanks!

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

#132

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…

I don't do .NET currently, but did up until about a year ago and my main dev tools were Emacs and msbuild. I almost never fired up VS.

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

#133

The writer of this awful article obviously has not done much web development programming, because if he had, he'd know that microsoft is atrocious in every respect. Microsoft has its own standards, its own way of doing things. Microsoft does not "play nice". When I code a site that needs to be compatable with all browsers, I need seperate code for ie6, ie7, and ie8. They all interpret code and standards a bit differe…

Hey Hysterix, I'm the author of the post.

First off, I've been doing web development for about 8 years and I've been using both PHP and .NET for most of that time.

Based on your clear bias, I'm guessing you're basing your opinions of Microsoft's development tools solely based on your experience with older versions of IE. This isn't really a valid way to judge technology, any more than it's valid to judge the quality of Google Maps based on experiences with Google Wave. IE and .NET are two completely separate entities. It's also worth noting that we all have to deal with cross-browser issues regardless of what server side tools we use.

You clearly have some dislike for Microsoft as an organization, but most of your statements here are unsubstantiated and completely irrelevant to .NET. An actual developer knows how to choose technologies based on what best fits the project, not based on personal opinions.

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

#134

    However, Microsoft has been running their 
    Bizspark program for a few years, which 
    eliminates most of the startup costs normally 
    associated with employing a .NET framework.
The problem with BizSpark is that it is a ticking time bomb.

When starting a business, you don't really know what will happen in 3 years, but only one thing is certain -- the path to success usually takes more than 3 years.

And unless you've got VC money to burn irresponsibly, why build on top of a stack that you'll probably have to replace? Does it provide more value than the alternatives? When it comes to web services, all evidence is to the contrary.

    At Piehead, we build web applications on a faster 
    pace than almost any startup
This is an unsupported anecdotal evidence.

It also seems incorrect based on the sheer number of businesses I've seen doing kick-ass work with non-MS technologies.

    programmers start to choose technologies based
    on that cultural perception, rather than focusing 
    on the best approach for the kinds software they 
    want to build
This implies that .NET is the best approach for certain kinds of software - the article does nothing to name them. Which is IMHO, not the best way to advocate for the usage of .NET.

And again, all evidence is to the contrary - most popular web-services online are not built with MS technologies, with a few exceptions that you could count by using the fingers on one hand. And what else, other than ASP.NET-powered web applications? For client-apps targeted to consumers? For mobile apps? Again, all evidence is to the contrary.

Besides the price and the interoperability story - another reason would be that Microsoft is currently a follower.

Besides a couple of exceptions, which are small in scope, Microsoft currently does nothing but to copy ideas taken from (shock and horror) open-source projects. Sorry, but innovation happens somewhere else.

I also like being able to be in control. Even if I don't know the internals of some component I'm using, I like being able getting in touch with the core developers of that component and ask them nicely or pay them directly to fix it for me. And if that component is valuable to me, I also like being able to improve it myself.

Open-source gives you that, Microsoft software doesn't.

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

#135

Earlier quoted context omitted.

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.

Eh, I'm going to disagree with you there. Qt on OS X still produces dramatically non-standard looking UIs.

I don't think papering over the significant differences in UI paradigms between Windows and OS X is something that is fundamentally solvable by a widget toolkit. You can make a toolbar full of buttons work on both platforms, but you can't solve the fact that cramming 40 buttons onto a toolbar feels completely non-native under OS X.

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

#136
As an enterprise software stack, .NET may be fine and competitive. However, the reasons that make it a good enterprise stack work against it in the startup space.

Take the example of a web page returning JSON. In Rails there's a prescribed way to do this. It is generally straight forward and one gets it done literally after 5 minutes of tutorials.

In .NET, you have to install the WCF REST stack, learn about endpoints, bindings, the difference between Raw, and wrapped formats, then there are authorization behaviors (tokens, windows integrated etc etc). Mess around with service hosts in IIS and then pray it works. With everything being pluggable, there is no simple prescriptive method to get code working and moving on to the next feature. The stack is so complicated that blog posts even by MS employees contain errors which stay uncorrected. I have spent two days trying to figure out what is the best practice for uploading a large file to a web service and the combination of options are simply bewildering and with so many parts one wonders if it is going to work at all.

Now imagine this struggle being repeated in every aspect of your development. You will spend the day stepping through Factories and Hosts and Locators using Reflector.exe before finding the little bit of code that does what you want. Then you swear at MS because it is marked "internal" and you can't monkey patch it.

This syndrome is in part due to the size of Microsoft. MS would never dare release software that wasn't pluggable because it has a big audience and big audiences want a clear delineation between what is their code and what is maintained by Microsoft. The startup ecosystem just wants to hack code until it works and get things done. No startup developer can really devote the necessary time to the study of large software stacks before sending out a piece of string.

MS has done an outstanding back-to-basics job with WebMatrix and its PHP-like simplicity. However, it is still a long way behind in other respect.

For example, MS doesn't cultivate a community the way open source projects do. There is no central place to find able consultants, or centralized Planet-style feeds, or given provide a site where users can contribute tutorials. The employees are answering forums in their free time (I saw some post at midnight, and this is devotion, but the msdn forums are literary broken - you can see the answers being doubled up in the rendered page but no one fixes them). The experience simply reeks of helplessness on the poor MS-employees' part because someone else in the company has created such a shitty place for developer interaction.

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

#137
post #116

Earlier quoted context omitted.

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.

Surely you can't be unaware that the JVM has a JIT?

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

#138

That biz sparks program is like a drug dealer giving free samples... yeh u get a free copy of visual studio, but then you got to pay if you exceed any of these requirements... http://www.microsoft.com/bizspark/ Privately held? Less than three years old? Making less than US $1M annually?

Is it really a problem to pay for the software you run when you make more than $1M/year in revenue?

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

#139
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 are my reasons for not using Java: Visual Studio .Net (huge), C# vs Java (C# has WAY more features), SQL Server integration (if you are using it), IIS is pretty much painless to configure and works really well with .Net, LINQ which is a pretty good ORM.

> Visual Studio .Net (huge)

Funny, I'm currently in a mode of development where I switch daily between Eclipse/Java and Visual Studio / C#, and as far as I'm concerned Eclipse is the best thing Java has going for it. The refactoring and code navigation are miles ahead of what seems to come with Visual Studio. I find myself renaming methods and classes almost indulgently - just to see if I feel better about the name a different way. Having errors instantly highlighted across the whole build tree every time I save is awesome as well. Visual Studio seems quite primitive by comparison in a lot of respects.

My frustrations with Java are much more about the language and how it hasn't really progressed at all in 5 years.

NB: I am using Visual Studio 2008, perhaps 2010 advanced a lot.

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

#140
I am a knee-jerk Microsoft hater (with reasons I won't bore you with). Last fall I saw a bank developer giving a demo of how to build a system using F# and accessing the the windows GUIs library on .Net. I have to say it was very, very nice and powerful. I was half tempted...
Post reply on HN