Live data from Hacker News

Unapologetically build your startup technology in C#

sirchristian.net

1–10 of 152 posts

Re: Unapologetically build your startup technology in C#

#2
Interesting how the post completely ignores the quality of the language. Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.

Re: Unapologetically build your startup technology in C#

#3
post #2

Interesting how the post completely ignores the quality of the language . Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.

I've only ever heard good things about C#. I believe C# has first class anonymous functions, makes async operations easy, and a combination of VisualStudio and JetBrains resharper you have a pretty amazing development environment. I haven't programmed much with C#, but like I said I've only heard good things.

Re: Unapologetically build your startup technology in C#

#4
post #2

Interesting how the post completely ignores the quality of the language . Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.

I really feel like your idea of C# is based on C# 1. It's at version 5 now, and many modern C# codebases are hardly more verbose than Ruby. Still slightly more verbose, because types, but it's really incomparable to Java these days.

Re: Unapologetically build your startup technology in C#

#5
post #2

Interesting how the post completely ignores the quality of the language . Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.

I think it's just a matter of being used to it. I use c# with MVC on a daily basis and starting up for me it's extremely easy. If I use Rails or anything else that people consider fast or w/e, I find myself extremely awkward. I can do it, but it takes ages to setup and everything. Instead of just going to IIS creating the website and creating the project in VS, that btw is the best IDE I have ever used and it's almost impossible for me to use anything else.

Re: Unapologetically build your startup technology in C#

#6
It's important to remember that C# does not imply .NET

Xamarin has done some great stuff lately, for example you can use C# to make a native 3-platform mobile app. This is still proprietary tech, but it isn't Microsoft and it isn't .NET

In my eyes the best thing about the .NET ecosystem is the tools, if you like me fancy a polished IDE like IDEA, then VS is definitely one of the best ones around. In my eyes tools are more important than platforms, languages and licenses. The productivity hit of poor tools is much more expensive than anything else.

Also, if you are looking at C#, don't forget to consider F#.

Compare a minimalist service built on Node/AWS with one built on F#/Azure and it's not too different in cost but a much nicer language and better tools.

Re: Unapologetically build your startup technology in C#

#7
When you're choosing a tech stack in a startup there's a very important factor to consider that this article neglects to mention. It's likely, if you have any measure of success or you go down the investment route, that you'll be expanding your technical team quite early. The availability and cost of developers is critical at the beginning. Building in languages like PHP, JS, Java, and to a lesser extend Perl and Python, means you have access to lots of cheap devs. Especially in the case of PHP and JS. Those languages will scale reasonably well to the tens of thousands of users, by which time you'll probably be raising a Series A and you'll be able to afford to shift the important bits of the code to a more appropriate language.

While it might be 'right' to build in C# or Erlang or Haskell or Brainfuck or whatever, if you have to pay a premium to get your first engineer you'll be shortening your runway, and that's pretty much the worst thing you can do. It's much better to build in the 'wrong' stack to start with and give your startup time to get traction. At the end of the day, no one using your product gives a damn what it was built in.

Re: Unapologetically build your startup technology in C#

#8
Is your post about C# or the .NET stack? I can (somewhat) relate to using C# over some other languages. However what I cannot relate to is being trapped with the .NET stack.

And a trap it is. You need expensive Windows Servers to host your stuff and Windows just disqualifies itself as a server platform (my subjective opinion). Having to use a powerful latest-tech machine and very recent OS version (2012?) with loads of patches, newest .NET framework just to host a super simple REST service with the almighty IIS is OVERKILL in every sense of the word.

Some people even use this approach when all they do is run an AngularJS powered, single-page javascript web application.

And my bullshit-meter just spikes when I see this kind of (use your imagination).

I agree that Visual Studio is a good choice for Windows software development and that SQL Server is (maybe) a good choice, when you use VS.NET (or .NET at all). But that's just a dependency when you opt for the Microsoft world. Stay clear of it and save yourself some hair.

Just my 2 cents! ;)

Best regards and good look with all that you do, Steviee

Re: Unapologetically build your startup technology in C#

#9
post #2

Interesting how the post completely ignores the quality of the language . Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.

I can see people having reservations about C# for many reasons - mainly as to how closely it is tied to Microsoft and to Windows (yes, I know it is cross platform, but the focus of the eco-system in very much on Windows) - but I can't see the quality of the design of the language being much cause for concern. Personally, I think it's one of the nicer languages in that particular space at the moment - certainly much nicer than Java.

Re: Unapologetically build your startup technology in C#

#10
post #2

Interesting how the post completely ignores the quality of the language . Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.

> they just prefer whatever dynamic language

That's the thing. If you're adamant on a dynamic language you won't even be looking at C# or Java. It has nothing to do with the quality of the language, but the choice of programming paradigm.

Both C# and Java are quality languages. Given the choice between the two, I choose C# anyday. Sadly, this means Visual Studio... Resharper makes this slightly more tolerable.

Post reply on HN