Live data from Hacker News

Why I Left the .NET Framework (2013)

blog.jonathanoliver.com

101–110 of 113 posts

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

#101
post #27
post #16

Earlier quoted context omitted.

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

Serious question: what function features do you think Python's missing, that C# has (other than the lambda point)?

Python indeed supports some functional paradigms:

- functions are first-class citizens

- list and dict comprehensions, generators

- map, filter, reduce, etc. for data pipelining (though these specific idioms are/were contentious [1])

- lambda for anonymous functions, though it indeed has limitations compared to other languages

- other useful functionality in stdlib such as the functools, itertools, and operators modules

- some built in immutable data types, such as str (strings), bytes (byte-strings), tuples, frozensets

You can read more here: https://docs.python.org/3/howto/functional.html

[1] http://www.artima.com/weblogs/viewpost.jsp?thread=98196

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

#102
post #83

Earlier quoted context omitted.

If you're wondering why you are being downvoted, everything you've stated so far has been opinion with no facts to back it up. Why do you think Ruby is more productive than C#? From my position (as someone who has worked with both lightly, but not extensively) I don't see it - things like LINQ in C# are enormously productive.

I'm not wondering, I've been around the block long enough to know how the upvote / downvote convention works. I'm actually surprised I'm not being downvoted more. Dynamic typing adds an entire layer of depth to the things you can do with tooling, over and on top of what you can do with reflection. If I don't know what's going on in a web app, I can load it up in a developer console, get right to where it's going wron…

[deleted]

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

#103
post #97

Earlier quoted context omitted.

We can elaborate on those all day, but I nailed the gist of it and you know it.

VBScript would be something a Samba admin would know of due to VBS being used often for login scripts. Netlogon is a share you would have on your Samba server. Group policy is distributed over SMB. Is this news to you?

“VBScript would be something a Samba admin would know of” — a login script doesn’t have to be a VBScript, could be CMD as well, or just an EXE. WSH is a general-purpose scripting environment unrelated to samba. Professional Windows system engineers use VBScript to automate their tasks, or at least they did before Win7 took off, with the PowerShell built-in.

“Group policy is distributed over SMB” — SMB indeed takes part in the distribution, however LDAP protocol plays key role here: http://blogs.msdn.com/b/canberrapfe/archive/2012/11/15/where... Also it’s less important how they distributed or linked, it’s more important what they are — and AFAIK there’s no *nix equivalent.

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

#104
post #66

Earlier quoted context omitted.

It was ignored by many developers, especially in the corporate world. Pages did not render well

That is true. However, by the time Chrome rolled along, most sites rendered fine in Firefox, and Safari had also been around for quite some time already. Chrome certainly helped to accelerate the pace of standards-compliant site design, but the trend was already underway before it existed.

Yes, Apple had 4% market share. Anyway, read what I wrote the first time. I nailed it. The fact that you were so far off on your estimate really makes me think you are misremembering.

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

#105
After reading about halfway through this I scrolled to the bottom to look for the punch line but there was none. This article comes off as the frustrations of a developer who was forced to use Windows and didn't like it (Boo hoo). A lot of the "issues" he had left me scratching my head and a lot of the observations he's made seem to be very anecdotal.

> As covered previously, Windows is not a good player when it comes to network-based server software.

What is the definition of "network--based server software"? His "as covered previously" article doesn't even contain the word network in it, so it's really unclear what he's complaining about to begin with.

> One other really big problem I see with Windows is that traditional Windows devs are typically only good at Windows and get lost very quickly outside of their comfort zones, which is not true for Linux devs.

That's an anecdotal observation at best. In my opinion most developers have comfort zones and get lost very quickly outside of them. The difference between a good developer and a great developer is that the great developer doesn't back down from a challenge outside their comfort zone and are willing to learn new things in-depth.

I know plenty of good developers who are only good in their language of choice and have no interest in moving outside of that tool-chain. I've worked with plenty of PHP and Ruby developers who deployed to Linux and they didn't know their ass from a hole in the wall regardless of their OS of choice. I've also worked with a few Linux C/C++ developers on some projects and they had a very thin understanding of C#, often coding things from scratch that were built into the language. Not to mention their love of nested loops. I've also worked with some amazing OSX developers who had the same level of comfort on Linux that I do and were about as comfortable in Windows as I was on OSX (i.e. better than average). But none of that matters because it's all anecdotal.

> I had a Core i7 3770K 3.5GHZ desktop I built with 16 GB of RAM and a Vertex 4 512 GB SSD. It literally maxed out the Windows Experience Index and Windows + VS was still slow.

I HAVE a Core i7 Q820 1.73Ghz laptop issued by work with 20 GB of RAM and a Seagate Momentus 320GB HDD with McAfee software based full disk encryption. It literally has a Windows Experience Index of 5.9 and Windows + VS IS perfectly fine.

I'm really not sure what he's done to his system, maybe he forgot to mention that he was running Windows 7 in a VM on Linux and everything down to the disk was virtualized and there was no hardware acceleration. I see no other reason why his performance would be intolerable.

> Now I dev on a MacBook Pro which has less CPU horsepower than my beefy desktop and things are noticebly faster and the UX is infinitely better after a small learning curve.

Seriously? Linux is better than Windows because you use a MacBook Pro and OSX's UI is better than Windows? Is that's what you're arguing?

It's at this point that I stopped reading and scrolled to the bottom.

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

#106

Earlier quoted context omitted.

VBScript would be something a Samba admin would know of due to VBS being used often for login scripts. Netlogon is a share you would have on your Samba server. Group policy is distributed over SMB. Is this news to you?

“VBScript would be something a Samba admin would know of” — a login script doesn’t have to be a VBScript, could be CMD as well, or just an EXE. WSH is a general-purpose scripting environment unrelated to samba. Professional Windows system engineers use VBScript to automate their tasks, or at least they did before Win7 took off, with the PowerShell built-in. “Group policy is distributed over SMB” — SMB indeed takes pa…

You gotta be trolling me. Have fun.

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

#107

Earlier quoted context omitted.

“VBScript would be something a Samba admin would know of” — a login script doesn’t have to be a VBScript, could be CMD as well, or just an EXE. WSH is a general-purpose scripting environment unrelated to samba. Professional Windows system engineers use VBScript to automate their tasks, or at least they did before Win7 took off, with the PowerShell built-in. “Group policy is distributed over SMB” — SMB indeed takes pa…

You gotta be trolling me. Have fun.

I ain’t trolling. Your problem is, you know almost nothing about Windows, but you pretend you do.

You don’t even know there’s no VBScript in Word. The language you wrote you Word macros in 90-s was called VBA = Visual Basic for Applications. Compared to VBScript, it even have different syntax, and of course, they serve different purpose: while VBS is for system engineers, they target VBA towards office users. BTW, I coded both in 90-s.

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

#108
post #74

Earlier quoted context omitted.

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/

Depends on which metrics you look at. Regardless, 25% vs. 30% doesn't change the substance of the argument.

You aren't paying attention to what you are saying, or the facts. Chrome was released in 2006. Firefox didn't have 20% then. In fact, it looks like it's 15%.

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

#109
post #6

Author states "Using the Disruptor (a lock-free ring buffer on the JVM), you can easily process 20M+ events per second. On .NET using ordained "best practices" anything more than a dozen transactions per second is considered decent-to-good performance and at that point, you just need bigger/better/more hardware." WTF? This is inane.

It's also incredible hyperbole. Makes it difficult to take anything else the author wrote seriously.

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

#110
I began writing C# in 2004. I've been writing it since for business and pleasure. Since Microsoft began adopting a more open source approach, it's been, well, amusing to see the open source culture collide with has been historically a closed system.

"Why isn't there a free, open package that solves hard problem X, it's 2015 after all. How preposterous!" The naivety displayed in these kinds of statements is amusing. There are probably many solutions to hard problem X locked away in proprietary "Microsoft Shop" code bases around the world. It's incredibly daft to assume otherwise. Does this approach lead to a lot of duplicated effort- yes; are there a lot of hacked together half working solutions out there- yes; has the .NET community been ok with this- yes. As is the culture of .NET. It's the fine art of not giving a shit because you're going to get paid anyways.

"Oh these poor .NET bastards, they're just sooo clueless of the world around them; they only know Windows." I'm sure this could be said of just about anyone. All tech stacks have their stars and fry cooks. As with many things, it's a matter of how you want to dedicate your time. Could I spend my time focused on file system design, memory issues, and network architectures. Absolutely! It's great that people enjoy this stuff; I personally don't. It's boring to me same reason I don't enjoy futzing around with Linux. I don't care about how it works; just that it does work. When I write for the .NET/C# stack, my focus is on the business problem. How do I impact the end-user (ie Shannon over in accounting, or little Timmy dipshit in Iowa) in a positive way.

"VS also has this really nasty habit of creating "csproj" and "sln" files. I hate those things." this is like bitching about make files. It's beyond silly. Could it be improved- probably, does it need to be- no. I think make files are a horrible way to do things, do I bitch about it- no. I understand that that is the preferred approach of the environment. Learn what I need to do to make it work and get on with my day. And really, these types of complaints are just childish. You're a professional. Deal with it.

As far as IIS is concerned, we can have a ceremonial burning of the source code one day. That product is beyond useless.

The selling point of C#/.NET isn't it's community- it's its productivity. A company can hire a small team of developers and they can crank out a bunch of code in short order to solve some specific problem. The code will be written the ".NET way" not because that's what's best for performance, but because that's what's best for development. Same thing happens in other technology stacks. Code is written to follow a well followed pattern by its community so that new hires and other developers can quickly suss out what's going on without having to stop and think. It's the same song and dance of using third-party libraries. Bit like a royale with cheese instead of a big-mac. Dress it up different, but the same principles are at play.

Fundamentally, there's going to be some cultural exchange between the traditional .NET crowd and the open source crowd. Both parties stand to learn a lot from one another, and have lots of opportunities to discover overlap. Rather than throwing in the towel and saying .NET is bullshit and used by dullards who solve inconsequential problems is short sighted. Find a place for .NET in your stack, look for opportunities to mix it in with your existing open source technologies. If you can't find a spot for it, then move on to whatever works for you. It's not rocket science.

Post reply on HN