Live data from Hacker News

Why I Left the .NET Framework (2013)

blog.jonathanoliver.com

21–30 of 113 posts

Re: Why I Left the .NET Framework (2013)

#22
post #20

Some of this criticism was outdated already, or has gone out of date since. WebForms (with their underlying concept of abstracting away how web really works) were already in decline two years ago, replaced by MVC. As a former C# developer, turned Android developer, of course I have to admit there is some walled garden mentality among .NET devs, but I think they get stigmatized for that way more than average. If a Rub…

> they get stigmatized for that way more than average. If a Rubyist never sticks nose outside their beloved technology stack, noone makes such a big deal out of it.

Yes, exactly right.

> to vitriolic anti-M$ hater mentality

Right on - this isn't what OP was demonstrating, I think, but general reactions to Microsoft technologies are pretty bizarre. Use it or don't, but I don't get all the hate.

Re: Why I Left the .NET Framework (2013)

#24

From the comments: "Why do people have to "leave" technologies? Why can't they just add new technologies to their arsenals without dramatic quitting blog posts? You don't see musicians who have just learned to play the guitar writing "why I'm leaving the piano" posts. Go is great; Node.js is great; some JVM languages are fine; .NET has a hell of a lot going for it too. Evaluate your options at the start of every proj…

That's great for short term projects, but the musician metaphor breaks down in two ways in my experience:

1. A whole team must use a given stack, so it's more akin to trying to get your whole band to switch to amplified so you don't drown them out with your electric guitar.

2. For continuously supported and developed projects, you're in it for the long haul, and rewrites can become a daunting enough task to actually kill a company, so that first choice of software stack for a little project can start to look pretty significant. Who knows which quick and dirty little web app will end up bloating to a million lines of code and running a company for the next twenty years? I guess the music metaphor for this part is forming a punk band and realizing years later you wanted to play Bach, and trying to get your guitarist to switch to violin, etc.

Edit: my fun C# anecdote of the morning is I just got to deal with how new TFS branches can end up quietly running your Main branch code due to cruft in your Windows user folder. Thanks, Microsoft! http://stackoverflow.com/questions/15818364/vs-2012-launchin...

Re: Why I Left the .NET Framework (2013)

#25
“traditional Windows devs are typically only good at Windows” — why? I developed for Windows, Nintendo, iOS, OSX…

“NIX guys on the other hand are typically familiar with multiple operating systems” Nope, they aren’t familiar with Windows. Just an example, I only see *nix developers started using I/O completion ports (which is the best I/O strategy for a Windows network servers since Windows NT 3.51) only couple of years ago, in node.js and libuv. Before that, most Windows ports of cross-platform servers failed miserably.

“The typical, multi-threaded paradigms in C, Java, and C#” — for C#, those typical multi-threaded paradigm has changed in 2011-2012 with the release of TPL, Rx, async-await.

Re: Why I Left the .NET Framework (2013)

#26
I've been on two interviews recently, and both saw experience in .NET as a negative. I found myself having to down-play experience in .NET in both cases, in order to guide the discussion toward more applicable skills for the role. Even when you may be a polyglot programmer, interviewers tend to label you as .NET or Microsoft. Which, has apparently become a bad thing. Unless you're interviewing with a Fortune-100 company, in which case, .NET is still somewhat popular.

Re: Why I Left the .NET Framework (2013)

#27
post #16
post #11

Earlier quoted context omitted.

What are advantages of Python over C#?

> What are advantages of Python over C#? Well, a major one that comes to mind (and may change as things progress) is application portability. The open CLR project hasn't gotten far enough yet to truly be cross-platform capable. It's also smaller in weight and baggage, some argue faster to prototype/develop-in, community driven (no decade of a single company's inner departments fighting over features and behaviors), i…

Portability is a valid concern - depending on the context - but it's not an innate quality of the programming language, in and of itself.

Ease of prototyping is a general advantage of scripting, dynamically typed languages, so this is apples and oranges really. Or like insisting that Yamaha is superior to Mercedes, of all car manufacturers, because motorbike is more useful in heavy traffic :)

Statically typed languages bring other advantages to the table, they shine is bigger projects.

As for NIH syndrome, once again this is "ancestral sin" at best, not a downside of the language as such.

Still, it wasn't exactly that way. Microsoft didn't try to tout a brand new language at first, they attempted to improve on Java with J++, but they got sued by Sun and this pushed MS to announce C#.

This being said, C# wasn't a corporate rebranding, it's offered substantial improvements over Java, and to this day Java is either playing catch-up (eg. Streams vs. LINQ, abysmal DateTime API only replaced with something more reasonable in java 8), or just remains inferior (type erasure vs. reified generics, checked exceptions etc.)

I don't really code in Python, but at first glance it is missing some goodness you can get in C#, for instance the support for functional programming (or elements thereof) - I'm thinking about lambda support limited to single expressions.

Re: Why I Left the .NET Framework (2013)

#28
Non-Java JVM languages have been part of the Java ecosystem sincw the beginning, from Pizza and Kawa on forward. Maybe .NET made more developers comfortable with that, but I think it had more to do with that the JVM enjoys HUGE cross-platform library support, solving the bootstrapping problem for getting a new language out there and used.

Re: Why I Left the .NET Framework (2013)

#29
I find I agree with the author on the details of his argument yet have reached a different conclusion.

Dude. It's not .NET -- it's the Windows/SQL Server/VS/etc toolchain. Dump the toolchain and work on linux in Mono. Yes, it is a second-class citizen. But even then, it's a hell of a bag of goodies for free.

I got really tired of the MS ecosystem as well. And I feel for those still stuck in it. But why would I want to ditch the CLR, a big honking beast of code that is being tested billions of times daily? Why give up all the libraries created by devs all over the world?

I went with F# and mono and am really happy with it. If I need database support, I pick up something off the shelf. Simply because I use .NET doesn't make me a prisoner of .NET-think.

Post reply on HN