Live data from Hacker News

Building a Startup - Defending .NET

nashcoding.com

51–60 of 89 posts

Re: Building a Startup - Defending .NET

#52
I don't think this should even be a discussion. If it covers costs well and your solutions work, discussing this doesn't matter.

I started with using .Net for a startup four years ago. Back then there were no Redis, NoSQL wasn't even a invented as a term, cloud servers were just a concept and scaling wasn't anybody's primary concern. In four years the only optimizations I ever did were done via SQL Server profiling or just by modifying a bit of code. I pretty much learnt .Net during this time and the sites I work for get pretty hammered at their peak times and handle well.

So yes from experience .Net is a good starting point. If you know the internals you can probably write and architect code that scales well too without falling back on NoSQL services. You won't need to go looking for complicated PHP cache solutions etc, you won't need to get in the trouble of selecting complicated frameworks. The whole setup gives you ease of mind.

No arguments against LAMP or other environments. Just that I always found .Net to be easier to work with!

Re: Building a Startup - Defending .NET

#53
post #33
post #31

I see some of the .net hate starting to seep into the corporate world as well. I work as a .net developer for a very large corporation and there is more and more talk of re-implementing production applications in Python. The perceived problem is poor code quality. It is an uphill battle to convince people that this problem is not going to be fixed by switching to Ruby if we continue to produce code by lowest bid. I t…

If both of those are true, then doesn't that mean a whole wave of sub-par Ruby and Python developers are coming our way in the next few years?

I can't talk for Python, but from my limited experience the Ruby community started to get the submerged in a wave of sub-par developers when Obie Fernandez et al. started to promote the meme, that attending a Ruby/Rails related conference puts you in the top 5% bracket of software developers.

Re: Building a Startup - Defending .NET

#54
I think it's safe to say that .NET doesn't need defending. People who use it tend to continue using it whenever they have a choice in the matter, and quietly get good results from it every time.

It doesn't need defense because it's not being attacked. It's not being attacked because it just plain works. Granted it's a bit boring, but really that's one of its advantages.

Re: Building a Startup - Defending .NET

#55
post #37
post #2

Same as most other posts defending one technology choice versus others. It's what I know best...I like the tools...can't we all get along... The only interesting point is also the vaguest...The AI that's already available in .NET (and, by the way it's stated, apparently not in others). I also have to counterpoint that ASP.NET MVC is "conceptually" the same as Rails/Django. Conceptual similarities are pretty meaningle…

> ASP.NET MVC is closer to WebForms than Rails. Could you please elaborate on this? I've written many websites in all three technologies and I don't see how standard ASP.NET is at all like ASP.NET MVC. Standard ASP.NET is a train wreck and a simply abysmal environment to be stuck in. People managed to make successful websites in spite of it, not because of it. ASP.NET MVC may be a bit behind the times and a total rip…

I guess I owe an explanation.

Most significantly, much of the Rails magic comes from Ruby. So when you say the two (WebForms and ASP.NET MVC) aren't alike, its like you are forgetting that they both use C#. The DLR is a small step, but it isn't in the same league. We can disagree that Ruby is such a significant productivity boost over C# - that's fine. But, if you think language is completely irrelevant, then imagine an MVC framework like ASP.NET MVC where you had to code your HttpModules, HttpHandlers, controllers, models and data access code in C. Concrete example? You don't do DI in a Rails app...yet it permeates through any WebForms/MVC app you write.

Then there's the tooling. WebForms and MVC share the same deployment and package management. Both are young and inferior to Cap and Gems (but they are young and they've done a good job with it so far). They are both hosted on IIS and essentially deployed/configured/managed the same. WebForms and MVC share the same IDE.

Then there's community. ASP.NET MVC and WebForms generally have access to the same libraries (nUnit, NHibernate, JSON.NET), the same resources, and the same community leaders (hey, I was one of them!)

So far, ASP.NET MVC and WebForms share: Language, Community, Tools, Libraries and deployment story. None of these are shared with Ruby.

Let's talk about code. Neither ASP.NET MVC nor WebForms have a cohesive model/data access story. Microsoft doesn't really provide an "M" with ASP.NET MVC. You can pick DataSets (oh wait, we don't like that anymore), or Linq2Sql (oh wait, we don't like that anymore), or Entity Framework (lolz) or NHibernate. Or, you can use Castle's ActiveRecord. None of these are very similar to Rail's ActiveRecord. So, when it comes to modeling and persisting your data, WebForms and MVC are exactly the same - which happens to be quite different than Rails.

WebForms and MVC share HttpHandlers and HttpModules/Global.asax. These are pretty nice (especially managed HttpHandlers in IIS 7). They also share the same built-in configuration management. But those are, yet again, something they share with each other, not with Rails.

Controllers? Ya, ASP.NET MVC shares more in common here with Rails than it does with WebForm's page model. And I agree this is pretty substantial..but even under the covers, things aren't all the similar. Email sending is very different (in Rails it builds on top of the controller core, which is why I include it here). Routing, model binding, validation...ASP.NET MVC and Rails are more similar than ASP.NET MVC and WebForms...but they still aren't that similar.

Views? ASP.NET MVC shares some stuff with Rails, but easily as much with WebForms. Asset management (or lack thereof), nested layouts...

Honestly, the only thing the two share in common is a controller with actions. And, when you look at typical ASP.NET MVC code, controllers/actions tend to do a lot more than than an equivalent Rails actions.

ASP.NET MVC shares more with Silverlight or WinForms development than it does with Rails.

EDIT: Somehow in all that I forgot to mention that WinForms and MVC share the same framework (.NET) and runtime (DLR/CLR). Neither of which is anything like what Rails runs on.

Re: Building a Startup - Defending .NET

#56
post #36

I do not even see the need for justification : After LINQ and Rx and the maturing of Mono, .NET is now far ahead of the Java ecosystem, even including Scala 2.9, in terms of developer productivity. The only reason I am having to learn Scala is that I am already quite familiar with the Java ecosystem (having used it at work for many years before I started doing something on my own) and do not wish to start from scratc…

I am also quite familiar with the Java (and Ruby and pre iPhone Objective-C) ecosystem and invested quite a lot time in getting proficient with Scala since 2007 but recently got hooked on F#.

My experience has been, that the available documentation on .Net (and F#) is so much better compared to the other stacks I know, that after three months or so of dabbling in my free time with .Net I already feel like having a much more solid base in .Net than the other platforms (where I have 4, 3 and 6 years experience).

Granted this might be due to me either suck at Java, Ruby and Objective-C or me not yet having real world experience with .Net and being oblivious to ugly corner cases, warts etc. you only come across on a big real world project.

But honestly my first contact with some of the books and online resources available for the .Net ecosystem and comparing that with what I was accustomed to was shocking.

Re: Building a Startup - Defending .NET

#57
post #8

.NET is great. It's fast, clean, and the framework libs are incredibly good. C#, IronPython, and F# are amazing. I still haven't found an IDE that compares to VS in terms of productivity and usability. Despite all the things going for it, it's decidely un-trendy and people hate on it. I'm guessing it's primarily because it's from Microsoft. Software trends are silly.

.NET is great. It's fast, clean, and the framework libs are incredibly good. Having worked with .NET, I beg to differ -- .NET framework libs are a mess. C#, IronPython, and F# are amazing. It's not the languages that keep people away from .NET -- to put it simply -- community, tools, price. Microsoft does a good job at playing catch-up, but unfortunately (for them) when it comes to web development, innovation happens…

I am just curious. What .Net libraries do you find messed up?

Re: Building a Startup - Defending .NET

#58
post #5

We've had our share of surprised faces when we told people our company is based on .Net as well. There were a lot of reasons for us to use the Microsoft stack. One of them was also existing expertise . My CoFounder and I previously worked as C# developers for years before working on IActionable.com full-time. And yes, Visual Studio is that awesome. "AppHarbor - It's Heroku for .NET. You simply can't beat it." I agree…

And yes, Visual Studio is that awesome To me, that's only true once you have Resharper installed too,

Resharper is fantastic for speeding up programming and refactoring, I like to add vim to the mix (something like http://www.viemu.com/) for "simple" text editing as well.

Re: Building a Startup - Defending .NET

#59
post #13

Existing expertise If the goal is to get to a minimum viable product quickly (like most startups) then existing knowledge is a pretty good reason to go with a certain stack. He even mentions having the main algorithm already implemented in C# so at that point it's pretty much no contest. He can always go the route similar to StackExchange in using Linux & Open Source on utility servers (Caching/Load Balancing) and ke…

That's an interesting dilemna. I'm a Java web developer, I know the platform / libraries / tools really well, and know how to get things done with it. I've dabbled with more powerful languages in my spare time, but I've been using Java 8+ hours a day for the last 3 years.

If I were to launch a startup, should I go with the "cool shiny powerful" language, or should I stay with the boring verbose language that I know well? Would the fun factor of using Clojure / Scala / Ruby / Python / Blub++ be worth it? Would the language "power" offset the time "lost" gaining experience with a new platform? What about hiring? Hackers love powerful languages.

So many tradeoffs.

Re: Building a Startup - Defending .NET

#60
post #59
post #13

Existing expertise If the goal is to get to a minimum viable product quickly (like most startups) then existing knowledge is a pretty good reason to go with a certain stack. He even mentions having the main algorithm already implemented in C# so at that point it's pretty much no contest. He can always go the route similar to StackExchange in using Linux & Open Source on utility servers (Caching/Load Balancing) and ke…

That's an interesting dilemna. I'm a Java web developer, I know the platform / libraries / tools really well, and know how to get things done with it. I've dabbled with more powerful languages in my spare time, but I've been using Java 8+ hours a day for the last 3 years. If I were to launch a startup, should I go with the "cool shiny powerful" language, or should I stay with the boring verbose language that I know w…

Have you done anything with Grails or Groovy yet? My experience is that it's probably the easiest transition for Java devs, because Groovy is something that can be interchanged in each file with "plain old Java".
Post reply on HN