5 ms·
As a .NET developer that's currently working on a 100,000+ line application that uses all parts of Windows, .NET Framework, and the C# language, I suspect this
by powertower 15y ago
As a .NET developer that's currently working on a 100,000+ line application that uses all parts of Windows, .NET Framework, and the C# language, I suspect this person is pointing his finger in the wrong direction when he's blaming Microsoft, VS.NET, and C# for "getting in his way".
Best case scenario, is he has been using the wrong tools to solve the problems he works on. But can't admin his own fault.
If anything, what I'm working on now would be downright impossibly complex and infuriating if written in Python (his example of a language and ecosystem).
To me VS.NET is incredible. The .NET framework is incredible. And documentation and information is readily available. But more importantly, the problems I'm solving can't be more easily solved using another stack.
And every time I blame one of the above, a few days later I realize that the real issue was just a stupid mistake I was making myself...
As an example, just the other day I was using a BackgroundWorker (new thread) to do some work outside the UI thread. I needed to do 3 or 4 tasks and decided to re-use the BackgroundWorker for each task (instead of using a new one each time).
Of course problems started showing up. For a while, I was convinced that VS.NET was debugging on the wrong thread, and that there was an issue with re-using BackgroundWorkers in NET. I mean I'm a good programmer, it can't be possibly my fault!
Basically, I forgot to unsubscribe to the BackgroundWorker events. Which caused the previous DoWork attached anonymous functions to run multiple times.
.NET is the way Windows applications are built. VS.NET has no rival on this platform. And this stack is not any weaker because people such as the author leave us. Referencing a few negative blog posts does not prove .NET is dying and that "developers are leaving for greener pastures", which by ALL METRICS is completely not true. If the author wants to think that Python and whatever other choice of IDE will now solve his pain... Then let him eat his cake.
- simonw 15y ago"But more importantly, the problems I'm solving can't be more easily solved using another stack." Can you expand on that a little - what are the particular characteristics of the project that make it better suited for Windows than for a web stack of some sort?
- acqq 15y agoIf OP actually cared about the execution speed, he'd be able to have the .NET code running often almost two orders of magnitude faster than Ruby: http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=yarv&lang2=csharp http://shootout.alioth.debian.org/u32/benchmark.php?test=all... If he says that Ruby fits him better I can just conclude that he trades the execution speed for ease of the development, which can be a reasonable trade-off. I'd still like to hear him talking in a year if he actually worked on really comparable problems in .NET and in Ruby.
- rbanffy 15y agoI'm not very familiar with Ruby, but with Python, I can profile my app, map the hotspots and easily rewrite them in C. Probably, I'll be done with the rewrite before the .NET version reaches RC quality. There is no reason to assume Ruby would be much different. In reality, I very rarely have performance problems. I have heard Ruby got much faster with the 1.9 release.
- acqq 15y agoIf you "rarely have performance problems in reality" that explains a lot. Speed differences between Ruby and NET (see the link in my previous post) translate to having one server instead of twenty. If you make low traffic solutions, that's OK. If you move bottlenecks to something outside of your responsibility (like for example, your app waits on sql server because no caching is done) OK, not your problem. If somebody doesn't have problems in buying more hardware, OK. Still it's approx. 20-times (see the link before, it is for Ruby 1.9) trade-off between development convenience and the hardware involved.
- rbanffy 15y agoIf you really need a rack full of Ruby servers to do the job of a single .NET server, your Ruby programmers are doing something (hint: most probably everything) wrong. Language choice excepted. Server performance is only very rarely tied to CPU performance. There are a whole lot of factors other than that that impact performance.
- lloeki 15y agoI think you mixed up something (a detail, really): the author actually mentions Ruby, and Rails. Only a comment is mentioning Python, once.
- deleted 15y ago[deleted]
- jaredsohn 15y ago>Are you expecting me to believe that in the entire development universe there is no solution adequate to any serious problem that didn't come from the MS stack? The previous post does not say this. He is saying that for the particular problems he is facing (likely very Windows-centric), he doesn't think any other stack would be "better". Other stacks could still be equal (but if he knows .NET, there isn't any gain for undergoing the learning curve) and they might work better for other problems.
- Craiggybear 15y agoFair enough.
- Craiggybear 15y ago"But more importantly, the problems I'm solving can't be more easily solved using another stack." Its a sweeping statement to say the least. I know the VS IDE and such often prevent you doing dumb things/shooting yourself in the foot and its great! But are you saying that in the entire development universe there is no solution adequate to any serious problem that didn't come from the MS stack? You'll have never done anything like massively parallel computing or big/complex data sets then. Or AI development. Air Traffic Control system in .Net, for example? Nah. .Net is a just a general-purpose tool for writing certain kinds of software. That's all. And it is telling that none of Microsoft's core products (the ones that earn lots of cash) are even remotely going to ever be converted to .Net or managed code.
- powertower 15y ago> Its a sweeping statement to say the least. No. It's an exact statement based on the particular problem I'm solving. > I know the VS IDE and such often prevent you doing dumb things/shooting yourself in the foot and its great! I have no idea what you're talking about unless you think that VS.NET is "visual drag-and-drop programming". I've never used it as such. > .Net is a just a general-purpose tool for writing certain kinds of software. That's all. .NET is a higher abstraction of the win32 api with many many additional features. And that's an understatement. And that "kinds of software" is more or less the entire Windows desktop market.
- nahname 15y agoThis is a great example of what is wrong with with dotnet. Someone who has been doing their best to improve the situation and finally giving up, after years of effort is dismissed by some random .net programmer as, "...pointing his finger in the wrong direction" or "using the wrong tools to solve the problems he works on". C# is an incredible language and VS w/ R# is a pleasure to work with. I have been working in this stack for over 6 years, so it is fair to say I have enough experience to know what I am talking about with regards to being a .NET developer. That said, .NET, as a development platform, is a couple of diamonds covered by tons of shit and surrounded by people trying to convince everyone else their shovel has all the goodies. Microsoft's shovel comes up empty more often than not and each year sees fewer people sifting through it all to help guide those without the time or taste for it. The biggest killer of .NET is that the majority of the community seems content to keep taking spoonfuls from the MS shovel lying to themselves about it's content.
- powertower 15y ago> Someone who has been doing their best to improve the situation and finally giving up, What I see is a random blogger makes generalized statements based on lack of experience. > so it is fair to say I have enough experience to know what I am talking about with regards to being a .NET developer. Your experience counts, just not mine! And you also know what you're talking about! > That said, .NET, as a development platform, is a couple of diamonds covered by tons of shit and surrounded by people trying to convince everyone else their shovel has all the goodies. You seem to have a lot of anger. Thanks for trying .NET. Have a nice day. P.S., more than likely the blog author used VS.NET in a "visual" capacity (drag-and-drop component building).
- lucisferre 15y agoIs it more likely than say a polyglot, unix loving, vim user who automates even .NET tasks with rake scripts and enjoys long walks on the beach also being sexually attracted to destroying every software project by dragging and dropping in a completely broken visual design paradigm? Thanks for almost RTFA Have a nice day yourself ;-)
- 15y ago