Hacker News new | ask | show | jobs
by hendzen 5071 days ago
For a 'large' webapp I would honestly go with Java. A good stack is Jetty for the http server, and Jersey/JAX-RS for the web framework. The JVM is unbeatable, and you will have an easy time onboarding people since everyone knows Java.

It's not as 'hip' as Rails/Django but you will be very productive and you will have the benefit of the plethora of Java libraries out there that are performant and reliable. Not to mention the great profiling tools.

2 comments

I would prefer ASP.NET MVC (thus C#) over the Java platform. The .NET stack is extremely powerful (much better than Java imho) and the ASP.NET MVC framework has a lot of the features that make RoR great (it's just must faster than Ruby).
..another vote for .Net, MVC and SQL Server from me.

A great example of this stack, is that it powers stackoverflow.com

This is the first time in my life I've seen someone defend C# and .NET. I don't know that I've been looking very hard though.
I take it that it's not popular around here because this site is full of Apple lovers, but there is not denying that C# is 'Java done right/better', so I really see no reason to use Java over C#.

Furthermore C# has the best IDE in the world (Visual Studio), it has a lot better performance than Ruby for instance, it has a sublime integration with web services/databases/etc., it has great documentation (MSDN)...

A lot would argue that it's a horribly cluttered and slow IDE. People who love VIM will definitely not like Visual Studio.

That said, since the last few years Microsoft has really been on top of their game. Their latest frameworks are easy to grasp and perform very well. C# is also not too verbose and on top of that they are starting to push open-source with initiatives like codeplex and NuGet. In their MVC Framework they even push jQuery and they are core contributors to it. They recently released their WebAPI wich is a pretty smooth way to create a REST-ful JSON/XML API.

It's definitely not a bad choice. Especially if your developers have already mastered it.

It might not be hip (yet) but it's definitely solid. Although still lagging behind after the trendsetters (Ruby community imo).

Isn't comparing VIM to VS like comparing apples and oranges? One is a text editor (although highly advanced) and one is an IDE. Would a VIM guy consider any IDE seriously?
If I were going to do .Net on windows, I'd probably use Visual Studio. The last time I used it was about 10 years ago, and I found that it didn't get in my way. Not having VI controls in the buffer editor would probably drive me crazy but I'm adaptable.

I'd still be installing vim on my windows box, but when in Rome...

Great reply, I fully agree with it.
Some of it might have to do with the server platform - a lot of us really like the flexibility of using Linux on the server, but when we think C# we think IIS + Windows.

Is the server-side ecosystem for Linux-hosted C# production worthy? And if so, does it compare well to the solutions getting recommended in this thread?

I wouldn't run .NET software on Linux, I'd just stick to Windows Server. It's really solid nowadays, and there is enough choice (it isn't even more expensive than linux hosting). Check out Azure and AppHarbor for cloud hosting for example: they both work extremely simple, and have powerful capabilities.
>> it isn't even more expensive than linux hosting

A specific comparison would be nice, blanket statements are not helpful.

> Furthermore C# has the best IDE in the world (Visual Studio)

You don't seem to be aware of IntelliJ IDEA. VS may be very good, but it's highly unlikely it's "the best in the world" while IDEA is in it.

I tried IDEA, and it's nice and all (I love JetBrains software), but I can't say that it's a serious competitor to Visual Studio.
IntelliJ also makes Resharper, a VS plugin. VS+R# is the best IDE in the world (IMHO)
not an apple lover, but prefer open source and open tools vs everything MS on top of increasing cost of development, on top of reliance on MS for everything from using an MS stack.
>> there is not denying that C# is 'Java done right/better', so I really see no reason to use Java over C#

I see plenty and I've done both and stuff that existed before Java or C# either one existed like C++, C, BASIC and Assembly.

i don not use windows
I agree - I would choose Java (or I guess Scala if I had a really good team around me) for the core stuff. I might bridge out beyond the core though and start using Groovy or JRuby for non-core functionality.

Jersey/JAX-RS are good, alternatively if I felt like taking a bit of risk I might give Play2 a try.

The Java/JVM ecosystem just has too many positives going for it (awesome VM, libraries, great community, huge developer pool) to really consider another stack for a 'large' web app.