Hacker News new | ask | show | jobs
by ryanmim 4363 days ago
There are two people talking in my head while I read this post. One says :

Too many people obsess about backends. Yes, build your startup in C# and a .NET stack if that's what your familiar with. The backend ultimately doesn't matter, and the faster you can create and then iterate on your product, the better off you'll be. The primary factor that will decide whether your startup is successful or not is if people like your product and actually use it. None of your users will know or care what you built it in, be it .NET, RoR, Django, Yii, whatever.

The other person in my head is saying. "OH MY GOD NO". I've used the .NET stack and various OSS stacks to build complicated web applications. From this experience, I've concluded that the .NET stack sucks. Yes it works, but almost any OSS Framework will provide a much better developer experience. Better while developing the initial product, and better when maintaining and extending it.

3 comments

If there's a good chance you are going to have other developers get involved in the codebase then other considerations come up. E.g. how easy it is to find such a developer, how competitive pay is for the platform, how well established coding standards are to ease collaboration, what type of developer you want to attract (likelihood of being full-stack, willingness to learn about new technologies, experience, ..).

Not to say .NET can't still be the right choice. Just that there are other points to consider other than strictly personal preference. You could argue for an MVP this isn't the case but honestly I think being in a position where you have to do a full rewrite a year later is in some ways worse than facing a (hopefully slight) learning curve when starting out.

"but almost any OSS Framework" - are there real choices that do not involve the dynamic typing maintenance nightmare while giving you a C#-quality language? Maybe just Scala + Play.
I really wanted to use Scala+Play to get away from the MS stack, but the documentation for Play was pretty hard to navigate due to the volume of documentation and the breaking changes in 2.
You can also do Java + Play. And Go's out there now, and it comes with most of the stuff you get from Play out of the box (and for the other stuff, getting it is easy enough).
> And Go's out there now, and it comes with most of the stuff you get from Play out of the box (and for the other stuff, getting it is easy enough).

Any link? That seems to be pretty much wrong.

Which part? The coming with most of what you get from Play? Look at Go's template/html and net/http.

If you don't like those, pango2 aims to provide django-esque templates for go; things like martini, gin-gonic, and negroki provide nicer routers; and Gorilla aims to provide a good deal of web-server-y things.

Go is a narrowly-specialized language though (no cross-platform mobile, lack of generics is bad for some projects etc.).
or as good an ide as visual studio ...
hang on a sec....

Long time developer here, came from vs to eclipse and later Netbeans and Idea:

Tell me: don't you still have to buy resharper to get the same refactoring tools that I get for free in eclipse?

What kind of refactoring tools do you get free in eclipse that aren't included in VS 2013 or 2014?
I'm asking the question: maybe vs has improved since I left.

Until recently the meme among tje fanboys seemed to be "VS is the best ide" (i.e.: after you have installed resharper).

Are all modern refactoring tools installed ootb with vs 2013 or 2014?

the short answer is "no" not all "modern refactoring" tools are available in vs2014.

with the advent of roslyn and the compiler api i would be you'll be seeing more and more built into visual studio, or at the very least broken off into free community extensions as the 'guts' of writing these kinds of plugins will get much easier.

i still vastly prefer vs to eclipse just because of responsiveness alone; the core features are great, and i pay for resharper too because it's a great tool worth the money.

Better how?

C#'s one of the best languages in town and the IDE's the unchallenged best in town by a long way. And the SQL product is amazing, much better than MySlowQL.

So what bit is better? Deployment? Hosting? I'm genuinely asking here, you're just waving hands.

I've used both, the thing that puts me off .Net is the lack of choice when new stuff comes out (like elasticsearch, or a new language, or something like Docker) as it usually takes a year or so before it's easy to use on Windows, but that's about it.

I've used Visual Studio, XCode, Eclipse and IntelliJ - the thought that Visual Studio is the unchallenged king of them all never crossed my mind. Honestly curious - what makes it the best in our opinion?
I've used XCode and Eclipse before, so I have nothing to compare IntelliJ against.

The debugging experience is the key. The best thing a VS user can do to boost productivity substantially is learn how to use the debugging tools (navigating the stack, using Debug output messages, conditional breakpoints, the immediate window, autos and locals, etc.)

The plugin and extension community is awesome. There are two extensions every (web) developer needs - Web Essentials and Productivity Power Pack. These two are produced unofficially by MS teams as a platform for experimental features that may or may not make it into future VS versions.

Refactoring and code correctness is so much better in VS. Code Analysis, StyleCop, and third-party tools like Resharper make it a snap to analyze and correct code that may cause issues in the future.

This, and the planning tools that TFS gives us out of the box (whether you use git or the tfs vcs) is a boon to developer productivity.

Not to mention the great effort MS makes at backward compatibility. If you created an app in 2006, chances are it'll work on the latest version of .NET without much trouble.

Thanks for the detailed reply. One nitpick though: I've recently learned that .NET apps created for version 1.1 - 3.5 do not run on .NET v. 4.0+ - as a Java developer that was kind of surprising. You have to install a separate runtime, which affects Windows 8+ I think, since only v. 4.0/4.5 is installed.
Sorry, I should've said you can usually recompile the source against the latest .NET versions pretty easily.
you can't have that discussion without talking about the tech stack you're working with.

Nothing beats the integration level between .Net and VS, and I don't care what tech stack you're using to compare.

But outside of .Net, for things like C++, javascript, etc, things get a lot murkier.

Which IDE beats VS in C++ editing and debugging capabilities?
IntelliJ, VS, Eclipse, xCode in that order.
You probably forgot to install ReSharper - an understandable mistake.
The only way to fix Visual Studio is to turn it into IntelliJ via Resharper =)
...and then close eyes and pretend that IntelliJ supports C#, F#, Xamarin, UnityVS and other useful things.
Obviously the technology of choice should be Node.js and Ember, duh!
but postgres compared to sqlserver, you won't go back.