Live data from Hacker News

Why I Left the .NET Framework (2013)

blog.jonathanoliver.com

71–80 of 113 posts

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

#71
post #10

> C# is awesome. I think it's a spectacular language. OCaml, Haskell and Lisp are spectacular. Erlang is spectacular. Tcl and Python are spectacular. C# is an OK-language at best. > I'm not aware of any non-Java JVM languages prior to the CLR [...] Except JVM/Java had JPython, JRuby, and Rhino (JavaScript) earlier. Those are interpreted, sure, but they were running inside JVM and talking to Java code already when .NE…

> OCaml, Haskell and Lisp are spectacular. Erlang is spectacular. Tcl and Python are spectacular. C# is an OK-language at best.

C# not only has built-in monad comprehensions, it can straightforwardly simulate type classes/traits (which even F# can't do). It also has a full metaobject protocol for handling (extreme) late binding, and a good concurrency story (though I rather prefer the Actor Model).

Really, C# only pretends to be a blue-collar language.

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

#72

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 t…

OP here. You're correct that most of the problems were related to the toolchain and Windows.

I did a lot of work using Mono for over a year. After submitting dozens and dozens of bug reports and pull requests to the project, I finally had to get some work done.

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

#73

Earlier quoted context omitted.

> If a Rubyist never sticks nose outside their beloved technology stack, noone makes such a big deal out of it. To be fair, Rails is amazing , the most cutting-edge web framework out there, and it's settling into adulthood nicely. The Ruby ecosystem is so perfectly suited to web development that one hardly needs to go elsewhere to get what one needs. Whatever you could need is right at hand. The .NET dev sitting acro…

If a .NET developer who doesn't use proper source control seats next to you, then perhaps you should take a hard look at the place you work, maybe leave. When I worked with .NET I used TFS and Git. Also, I implemented RESTful web services using .NET's Web API, consumed by a large scale SPA implemented on AngularJS/TypeScript. I never had a complain. Now, I work on an open source stack, and Rails is suited to only one…

> Rails is suited to only one project out of the multiple web services and applications I deal with.

What else do you use, and, if you don't mind elaborating, why did you pick those instead of Rails? My understanding is the more technologies you introduce, the more complex your infrastructure gets, so you're better off picking one web stack, one back-end, etc.

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

#74
post #42

Earlier quoted context omitted.

At one point, not so not so very long ago, Microsoft had 96% desktop market share. I believe that has dropped to 89%, which is still a monopoly. The Internet made that less important but there was a time when Internet Explorer was all developers cared about. If you mentioned Mozilla, they just laughed. Fortunately, Google released Chrome and after several years developers fell in love with it. Unfortunately, IE still…

You're severely downplaying the importance of Firefox. It had a 30% market share before Chrome even existed.

By the way, I fact checked you and you're incorrect.

http://www.computerworld.com/article/2893514/an-incredibly-s...

http://kuwaitiful.com/tag/ie-market-share/

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

#75

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…

Amusingly, in his "Why I love Go" [0] linked from that article he discusses using the right tool for the job: > Instead, this about the right tool for the job. (Could you imagine woodworkers getting into heated arguments about whether a screwdriver or hammer was better?) That would be about as insane as a woodworker writing a blog post about 'leaving the screwdriver' :) [0] http://blog.jonathanoliver.com/why-i-love-g…

You do realize that computer programs and languages are not screwdrivers and hammers, right? We're talking about a world where screwdrivers and hammers both claim to allow you to efficiently drive nails and screw screws. It is very possible for one to be strictly better than the other, and not even unlikely that one is better in most common situations.

I know "the right tool for the job" is some sort of unchallengeable divine hacker slogan, but I've never seen that slogan solve a problem. So maybe it isn't the right tool for this job.

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

#76
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…

> If a Rubyist never sticks nose outside their beloved technology stack, noone makes such a big deal out of it.

Well it doesn't help that there's no such thing as a "ruby technology stack" let alone one under a single all-encompassing directorship. Even Rails isn't a single stack, it's just one piece of the system with plenty of bits around which don't fall under rails (OS, application server, datastore, caches, client-side anything without considering the development tools themselves), and rails is only one of the tools for its levels (not to mention the current rails is the result of community mergers).

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

#77
post #3

tl;dr version - it's mostly about the portability, shortcomings of Windows as OS, and accompanying software (VS, TFS, IIS, MSSQL etc) being bloated. Zero critics about the .NET framework itself.

It's interesting to see how many of the critiques the author cited in 2013 no longer apply to the .NET ecosystem. To name a few: * Git is now a first class VCS for use with Visual Studio * .NET development no longer tied to Visual Studio thanks to things like VS Code or OmniSharp with Submline * .NET development no longer tied to Windows, dev with a Mac or Linux using .NET core

> .NET development no longer tied to Windows, dev with a Mac or Linux using .NET core

.NET core hasn't seen an official release and there's still quite a bit of work to be done. Even with that, the overwhelming majority of .NET libraries don't work on OS X or Linux and it's going to take a significant amount of time to port just a small fraction of them.

.NET core might turn out to be a great cross platform solution but it's nowhere near that right now.

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

#78

Earlier quoted context omitted.

> If a Rubyist never sticks nose outside their beloved technology stack, noone makes such a big deal out of it. To be fair, Rails is amazing , the most cutting-edge web framework out there, and it's settling into adulthood nicely. The Ruby ecosystem is so perfectly suited to web development that one hardly needs to go elsewhere to get what one needs. Whatever you could need is right at hand. The .NET dev sitting acro…

> Whatever you could need is right at hand. Except speed, a really nice IDE and good Windows support. > The Ruby ecosystem is so perfectly suited to web development that one hardly needs to go elsewhere to get what one needs... > I think the main problem is that .NET tries to be all things to all devs... So Ruby is all things to web devs, but it's a bad thing that .NET has the same goal for Windows-centric devs? That…

> Except speed, a really nice IDE and good Windows support.

Web dev doesn't need any of these things. If you need them, then what you are doing isn't web dev, it's something else.

> it's a bad thing that .NET has the same goal for Windows-centric devs?

What is "Windows-centric" development? That doesn't even make sense. Web dev is a fairly specific domain with a standards-based protocol stack that's been iterated reliably on for 30 some-odd years. The sources of variability, the browsers themselves, are well-documented now and even when the variations weren't, you could earn a pretty good living specializing in them.

Microsoft seems to throw their devs under the bus with every new release.

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

#79
post #54

“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 ye…

I have to agree with the author: the Window's guy are usually the ones focused on Window's only solutions. Like, for example, a Windows admin having not heard of nmap. This is common.

Сould you please estimate what share of *nix admins have heard about VBScript, PowerShell, WMI or group policy?

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

#80
post #53

“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 ye…

> Before that, most Windows ports of cross-platform servers failed miserably. No one cares about a Windows port of a cross-platform server because most will just deploy to a Linux or BSD server instance anyway... People only really care about Windows GUI apps...

“No one cares about a Windows port of a cross-platform server” — then who ported Node.js, Apache, MySQL, PostgreSQL, and the rest of them?
Post reply on HN