Live data from Hacker News

.NET Culture Shock: Why .NET Adoption Lags Among Startups

aaronstannard.com

51–60 of 71 posts

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#51
post #4

The author asserts that Visual Studio is a much better development platform than everything else. I use IntelliJ, emacs, Unix cli, Perl, etc What am I missing? I'm sure Visual Studio is good but even if it's better, how much better is it?

There are a ton of designers in VS. You can drag and drop database tables to create ORM classes(in 3 different ORM's out of the box). Designers for asp.net web apps, drop controls like tables, textboxes, etc. Designers for win forms, WPF, Silverlight apps.

There are a lot features related ot other MS products - SQL server, TFS (source code control, bugs tracking), Active Directory, etc.

The ultimate edition comes with web/load test tools. You can record some actions in Internet Explorer, than VS can create a coded test perfroming all the requests and testing the responses.

VS has a historical debugger, called InteliTrace. It can show you the state of an app at any previous point of execution.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#52
post #41

Earlier quoted context omitted.

My time doing deployments and dealing with Windows Server issues is not free. Neither is the time lost using RDP instead of SSH, dealing with licenses, requiring much more HD space than the alternatives, and lacking real scripting solutions. I have yet to hear anyone using LINQ on anything that's not SQL Server, and considering the NIH syndrome in Microsoft, I wouldn't recommend it.

Haha, LINQ is the best part of the framework. It was in part designed by Erik Meijer and Don Syme(who are big names in functional languages community). LINQ to objects and to XML are widely used. There are hundreds of non-Microsoft LINQ providers, like LINQ to Amazon. Generally LINQ is about higher order functions, monad pattern, map-reduce. Have you tried it? It's fantastic.

Of course I have. It's great, but it's only marginally better than other ORMs for my use cases (I know it's technically much more than an ORM). The time I gain writing LINQ queries is lost trying to deploy that solution, or attempting to debug marginally complex queries, something that's generally easier on dynamic languages. SQLAlchemy is still my favorite ORM around.

On the same vein, while C# is an excellent language, there's too many sections of .NET and Silverlight that depend on type casting to the point where there's no advantage to using a statically typed language. And unfortunately neither IronPython nor IronRuby are used in the mainstream.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#53

Earlier quoted context omitted.

And the Vim plugin is an absolute failure, and the development enviroment takes 30 seconds to startup, 30 seconds to connect to a TFS server over the Internet, and stutter every 20 seconds whenever you want to switch windows. oh, and let's not forget the 15 second build time for debugging. Vim is here, now, the very second you need it, over an SSH connection, and far, far more customizable and with more useful plugin…

First, VS shouldn't take 20s to switch windows. I just did it and it happened instantly. And I have 60 open windows (not including tool windows). Second, how is Vim more customizable than VS? I can't think of anything I can't do in VS. There's plenty I can't do in Vim. Vim does load faster. Although single file load with VS isn't too bad, but certainly no Vim. And don't use TFS... that's just bad mojo. I say this as…

Have you tried using Silverlight for a RIA app? Rendering a XAML file takes at least 5 seconds, and it's a process that's riddled with bugs and consumes at least 1 gig of memory. I'm sure the WinForms designer is much faster (I've never had any trouble with it in VS 2008), but the new toolkits with WPF and XAML seem to consume all the resources of my dual-core laptop with 3 gigs or RAM (a somewhat acceptable dev machine), the parser is horrendous and prone to causing unexpected exceptions, and is generally not as nice.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#54

I'm using .NET ... most of the tools are provided free and the full versions provided free by BizSpark, which I joined for free and now have a 3 year MSDN subscription that entitles me to a load of stuff. It was only very recently that I stopped running http://www.swfstats.com/ on SQL Server Express. I think the real difference is it's just not front page news you're doing x with .NET. The web just likes to amplify a…

BizSpark isn't really free, is it? You have to pay full price once you fail to meet the eligibility requirements.

There's a $100 fee when you finish.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#55

Earlier quoted context omitted.

My time doing deployments and dealing with Windows Server issues is not free. Neither is the time lost using RDP instead of SSH, dealing with licenses, requiring much more HD space than the alternatives, and lacking real scripting solutions. I have yet to hear anyone using LINQ on anything that's not SQL Server, and considering the NIH syndrome in Microsoft, I wouldn't recommend it.

My time doing deployments and dealing with Windows Server issues is not free. We don't have any issues with our Windows servers, but I guess the number of issues you run into is proportional to your experience. We would have a lot more problems dealing with Linux servers. YMMV. Neither is the time lost using RDP instead of SSH Practice makes perfect... dealing with licenses What? You buy it, you install it, done? req…

Deploying a Linux server on my environments takes exactly 5 minutes. Most Windows Server installations run over half an hour, require babysitting, and quite a bit of time previous to that if I want to make a custom image, a process which I can't really automate.

Using SSH is a much, much better solution for administration. I don't depend on having a large screen or fast connection. Believe, when you're managing servers 8000 miles away it makes you want to tear your eye sockets out.

Licensing. You must be kidding. Keeping track of license numbers, WGA validation, and being artificially limited in how I can move OS images around is nothing pleasant. I don't want to depend on anyone's approval for purchasing licenses; I need to download, burn, and deploy.

> I'll give you this, but I've yet to see the need for such an environment. I've been a UNIX sysadmin, I've seen my Windows counterparts. Please do take the opportunity, if you have the chance, to learn about shell scripting on Unix. It's incredible.

> Don't use it then? I think LINQ is a horrible idea, and horribly implemented Alternatives? I don't know of comparable alternatives. I don't think NHibernate would be right, neither do I want to go back to validating raw SQL.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#56
post #41

Earlier quoted context omitted.

Haha, LINQ is the best part of the framework. It was in part designed by Erik Meijer and Don Syme(who are big names in functional languages community). LINQ to objects and to XML are widely used. There are hundreds of non-Microsoft LINQ providers, like LINQ to Amazon. Generally LINQ is about higher order functions, monad pattern, map-reduce. Have you tried it? It's fantastic.

Of course I have. It's great, but it's only marginally better than other ORMs for my use cases (I know it's technically much more than an ORM). The time I gain writing LINQ queries is lost trying to deploy that solution, or attempting to debug marginally complex queries, something that's generally easier on dynamic languages. SQLAlchemy is still my favorite ORM around. On the same vein, while C# is an excellent langu…

I think what borisk is pointing out is that LINQ isn't an ORM. It's a language feature. You're thinking of LINQ to SQL, specifically.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#57
I only programmed .NET in the days of 2.0, so my problems with it come from an older less capable framework. Nonetheless, when your language of choice requires you to distinguish between:

- IComparable

- IComparable(Of T)

- IEquatable(Of T)

- IStructuralEquatable

- IStructuralComparable

- IEqualityComparer

- IEqualityComparer(Of T)

- IComparer(Of T)

- overriding Object.Equals

- overriding operators , =, =,

...it's time to find a new language.

edit: Just imagine you encounter a new collection BozBag(Of T) which has to test your objects for equality. Without looking at documentation could you as a coder possibly know if BozBag uses x.Equals(y), x = y, x.CompareTo(y) = 0? Heck it could even use x.Equals(DirectCast(y,Object)) or x.CompareTo(DirectCast(y,Object)). The only way to really know is to dig through documentation.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#58

Earlier quoted context omitted.

My time doing deployments and dealing with Windows Server issues is not free. We don't have any issues with our Windows servers, but I guess the number of issues you run into is proportional to your experience. We would have a lot more problems dealing with Linux servers. YMMV. Neither is the time lost using RDP instead of SSH Practice makes perfect... dealing with licenses What? You buy it, you install it, done? req…

Have you even looked at how much bandwidth RDP uses compared to SSH? I can have 7 or 8 ssh connections open and monitoring files where windows can't get one remote connection working properly. As for installing, Debian/Ubuntu can't get any easier. apt-get install And if you need the very latest nginx? wget tar -xzvf cd ./configure make make install Even better, you can script this with bash with little effort. (Compl…

You're comparing apples to oranges. One is graphical while the other is text based. I've personally never had issues with RDP and bandwidth. If you have multiple connections open you can minimize the RDP window; the connection is maintained but the window is not refreshed so it doesn't use your connection.

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#59

I only programmed .NET in the days of 2.0, so my problems with it come from an older less capable framework. Nonetheless, when your language of choice requires you to distinguish between: - IComparable - IComparable(Of T) - IEquatable(Of T) - IStructuralEquatable - IStructuralComparable - IEqualityComparer - IEqualityComparer(Of T) - IComparer(Of T) - overriding Object.Equals - overriding operators , =, =, ...it's ti…

Saying that you need to understand and differentiate between all of these is disingenuous.

- The "Structural*" types are new in .Net 4.0, you never had to understand them before and you probably don't need to even know they exist now.

- Many of these listed are just generic vs non-generic. The generic ones subclass the non-generic ones, so contraviance eliminates the need to really understand the distinction upfront.

- Compare means Compare(a,b):int which returns -1, 0, 1.

- Equals means Equals(a,b):bool

- If it ends in "er" it is a functor which operates on two free objects instead of "able" which means one subject of comparison is "this".

- Overriding individual operators gives you more flexibility than Compare(a,b):int because you can use specific algoritms for specific comparisons.

Maybe it's time to find a new arbitrary reason to hate .NET?

Re: .NET Culture Shock: Why .NET Adoption Lags Among Startups

#60
post #13

To be brutally honest about .Net, and I use it and like it myself, the reason there's no startup market in it is because until MVC there was no point developing in it. ASP.Net controls, postbacks for everything, view state, a general hiding of the actual power of ajax and an obsession with using tables made .Net a terrible web development environment if you had any clue what you were doing. The html it spat out was a…

This is false because it relies on an incorrect assumption: that if you were using .NET to do web development prior to MVC, you had to use ASP.NET. When I was writing .NET web applications, the sum total of ASP.NET integration was implementing IHttpHandler and friends - not much more than access to the request and response streams. You can build your own lightweight framework, which, being lightweight, isn't a big de…

You're totally correct, but if you do that: you are an outlier. Most Microsoft shops stick as close to the neatly groomed path as possible. There is nothing wrong with being an outlier generally, but it can bite you if you find a nitch bug that only affects you; it may never be fixed and you won't have the power to fix it yourself.
Post reply on HN