TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

.NET: So long and thanks for all the fish

85 pointsby pitdesiover 13 years ago

25 comments

powertowerover 13 years 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".<p>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.<p>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).<p>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.<p>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...<p>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).<p>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!<p>Basically, I forgot to unsubscribe to the BackgroundWorker events. Which caused the previous DoWork attached anonymous functions to run multiple times.<p>.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.
评论 #3587347 未加载
评论 #3588310 未加载
评论 #3587505 未加载
评论 #3588249 未加载
评论 #3588293 未加载
radicalbyteover 13 years ago
Funny to see this considering my opinion is pretty much a polar opposite to Chris'.<p>In the last couple of years C# has gotten better than ever. LINQ, Lambdas &#38; Generics combined with the IDE's autocomplete and refactorings have made the language really nice for power devs.<p>The next release will include a <i>Compiler as a Service</i> which could be a game changer if it's embraced by the community and if it's not borked by Microsoft.<p>A good <i>rule of thumb</i> for .Net is that anything from Microsoft which is built around a tool should be <i>avoided like the plague</i>. For example <i>Entity Framework</i> and <i>WPF</i> are horrible tool-bound monsters. They don't play well with version control, don't play well with clean coding (POCOs) and almost feel designed to sell other tools (<i>SQL Server</i> / <i>Expression Blend</i>).<p>Entity Framework is especially bad. It combines terrible performance, terrible scaling (it has terrible support for large schemas) and until recently didn't even support "code first" development.<p>Thankfully, like other dinosaurs that kind of thing is going the way of VB6.<p>To add a bit of context: I have a pretty broad background - been coding for 21 years (started at 10) and have experience implementing something significant in: C64 (BASIC/6510asm), Pascal/Delphi, VB, Java, PHP/HTML/JS, TSQL/SQL, C# and ActionScript/Flex. I've dabbled with Ruby and the beautiful Python.<p>I abandoned dynamically typed languages for serious projects (those expected to work for &#62; 5 years) because of the poor refactoring support and the dominance of style over substance in the community. I work in the Enterprise, and there software maintenance quickly dominates the cost of projects making the big two static languages a better choice.<p>I still, of course, turn to dynamic language when they're the best solution to the problem. For example for situations where speed of development dominates returns (think opportunity cost) or where a language is deeply embedded in a specific community (Python and NLP).
评论 #3587515 未加载
评论 #3587441 未加载
评论 #3587724 未加载
bedigerover 13 years ago
I'm not a .NET person. Heck, I'm not even a Windows person. I found this sentence interesting:<p><i>Things like the Microsoft "professional engineer" who advises you at your invitation, and then sends e-mails behind your back to executives to inform them of his concern about the "business risks" of non-Microsoft technology choices.</i><p>That's really weird. Who finances these commissars? I mean, I've seen this sort of thing take place, but only when a two-letter consultancy was gunning to take over some director's entire department. What's in it for the commissar?
评论 #3587511 未加载
评论 #3587848 未加载
vyrotekover 13 years ago
I'm a .Net engineer who feels like this day will also come for myself very soon. Don't get me wrong, I love .Net. It has treated me well and I love the direction that Microsoft is going with Azure, their adoption of open source, and the resources they provide for startups.<p>Sometimes it's just hard to 'switch over' like the author as done. I've done plenty with Java and PHP too but there's nothing there that excites me really. So now I'm dabbling with Python to see if there are any sparks there. Have I made a good choice? I guess we'll see.<p>I do find it interesting that you don't seem to hear people say things like "I'm done with Ruby, switching to Python". People make a bigger deal of leaving .Net and Java as if it's something you'll never go back to.
评论 #3587139 未加载
评论 #3587417 未加载
评论 #3587624 未加载
pragmaticover 13 years ago
This is the problem that you define yourself by your programming language/environment/OS of choice, versus just being a really good problem solver.<p>See: <a href="http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/" rel="nofollow">http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...</a><p>I would say don't call yourself a [Java|Javascript|C|C++] developer.<p>If your career were a blog post, languages are more like a tag than a title.<p>Contrast "I Solve Problems" with "I Only Solve Problems with PHP."
评论 #3587103 未加载
评论 #3587156 未加载
评论 #3587119 未加载
评论 #3587540 未加载
mullethunterover 13 years ago
Gotta admit that I'm getting to that point too, so good for you. I've been working with the .NET stack since the beta, and at this point in my career I dabble in other languages, but keep coming back to the bread and butter since "that's what I know". All the while I'm involved in the ALT.NET community secretly eyeing Rails and Python wondering when and if I can take a hard left and make the jump. I'm sick of working in the .NET box where we get excited about tools and features that were released years ago on other stacks, just to have a port done that's about 3/4 as good as the original.<p>tl;dr; good for you man.
评论 #3587065 未加载
127001brewerover 13 years ago
The "tl;dr;" version:<p><i>I just want languages, tools and frameworks to help me get work done and then get out of my way. Is Rails a clean code panacea? Is Javascript elegant? No. However, am I more productive, less burdened and do I have more options and flexibility? Absolutely. I am far less frustrated trying to produce elegant, clear, extensible and maintainable solutions in these dynamic languages. I also find that dynamic languages, modern web frameworks and -nix is just more fun.</i>
jpastikaover 13 years ago
Two years ago I began developing a large web application and I had to choose a language and stack. Having built applications on .NET and PHP most recently, I knew I could fall back on either and be safe. I decided to investigate RoR and .NET MVC. For whatever reason, RoR felt strange and I knew it would have a steeper learning curve initially, but probably be more efficient to develop with in the long run. On the other hand, .NET MVC felt a bit more familiar, and had many attractive qualities that "appeared" to mimic RoR. I went with .NET MVC. Now 2 years later I find myself spending my day job in .NET MVC and my side projects are all RoR. I found that .NET MVC was a great bridge from regular .NET to RoR. I am frustrated that I didn't pursue RoR harder 2 years ago, but hind sight is 20/20. I am extremely happy to be working on side projects in RoR because honestly it is more fun. Don't get me wrong, RoR isn't all roses, I'm just finding fewer weeds!
untogover 13 years ago
I'm also primarily a .NET dev, using ASP.NET MVC. But for my most recent project I used node, and I'm hooked. Probably because it allowed me to take existing JS knowledge and apply it, but still. ASP.NET MVC just feels too heavyweight afterwards.<p>That said, whenever using something other than C# I miss LINQ. It's awesome.
评论 #3587094 未加载
adamcover 13 years ago
This reminds me a lot of posts I used to see on Javablogs 5-6 years ago. Not sure what that means, but I don't think it's the language so much as where people _are_ with the language. In 2005-2006, there were a lot of folks who'd spent almost a decade with Java. They were good at it, but they were also getting bored and looking for new horizons, and Ruby and Python were available. Beta versions of .Net rolled out in 2000, so we might have the same kind of phenomenon.<p>None of which is to say other languages might not be better. But being better has never been enough, on its own. If it were, C++ might never have gotten a start. Language popularity depends a lot on history. But boredom/dissatisfaction with a dominant language can help give a new language a chance.
评论 #3588279 未加载
dazbradburyover 13 years ago
I'm using .Net (MVC3) for my current web startup. I thought about python, I thought about RoR, I thought about Java, but I decided on .Net.<p>Why?<p>I knew C# well at the time, maybe not the best out of the languages I know, but well enough to hit the ground running. And I knew with MVC3, I would be running in no time. Visual Studio is an awesome environment IF you have a fast PC. I have a fast PC. LINQ, and LINQ to SQL, is incredibly powerful. I can drastically alter my SQL DB, and have my ORM code auto-generated immediately.<p>Out of the box, .Net takes care of a lot of the detail. I can optimise this detail later if I need to (I hope).<p>With the aim of this code being maintainable, and having hated maintaining a large python code-base before, I wanted to use a statically typed language.<p>Importantly, I knew .Net was going to be scalable when I needed it be (stackoverflow.com as an example).<p>How is it going?<p>Very well. But I've not launched yet. I have no regrets, and think C# is an amazing language to work with.<p>I would generally consider myself language agnostic, so whilst the decision was hard, I was confident it wouldn't matter too much in the end. Hopefully that will remain the case, but you never know what's around the corner...!
baggachipzover 13 years ago
"It seems as though the whole philosophy of .NET centres on catering to the novice... .NET, and specifically C#, both coddles you and then scolds you at every turn."<p>Perfect summary and exactly how I feel about .NET.
评论 #3587531 未加载
jader201over 13 years ago
After seeing a few blogs like this, I was starting to get the general impression that C# and .NET were dying out.<p>However, according to the TIOBE Index [1], C# was actually second in growth in 2011, just behind Objective C. Not sure how reliable that is, but thought it was an interesting (and unexpected) trend.<p>[1] <a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" rel="nofollow">http://www.tiobe.com/index.php/content/paperinfo/tpci/index....</a>
评论 #3587316 未加载
评论 #3587099 未加载
评论 #3587956 未加载
sakopovover 13 years ago
I too have second thoughts about .NET. I absolutely love C#. I've worked in just about any language &#38; dev stack out there and, to me, nothing comes close to the immense power of C#. My biggest gripes with .NET is tooling and deployments. I do agree that sometimes you wait for ages for tools that are already available in other development stacks (think EF or Team Foundation). Deploying on .NET is an absolutely atrocious experience. Dealing with MSBuild, XAML workflows and WebDeploy is just a royal pain in the butt. On the other hand, I do have to say that when you have a rock-solid group of engineers working on a complex .NET solution, the architectural patterns are much easier to implement and bring new people into than other stacks I'd worked on. Everything just looks cleaner, plus you have some pretty solid frameworks you can tap into such as MVC for web, LINQ for powerful querying, WCF for service-oriented needs, WPF for beautiful desktop apps. Moving from all of this is certainly pretty tough. But I sometimes feel the need to embrace the cool stuff that's happening with the speed of light in other stacks. It's just too big to disregard.
jisterover 13 years ago
&#62;&#62; You’d probably have to have been living under a rock to have missed all the previous blog posts from others leaving .NET for greener pastures<p>Well some people have the opposite experience and also have written posts as to why they are moving to .NET.
评论 #3587142 未加载
ilakshover 13 years ago
To me its about trends as much as anything. I noticed a few years ago that the kids on reddit were not interested in .NET but were interested in JavaScript etc.<p>So, honestly one of the main reasons I got out of .NET was because it seemed like it wasn't as cool as I thought it was anymore.<p>Another reason, although this is probably a secondary rationalization, is that open source isn't really that big in .NET, and open source seemed important (and cool).<p>Which isn't to say that there aren't lots of rational reasons to get out of Microsoft development, but I just think that we should acknowledge that people don't usually do things for rational reasons. They mostly do what other people seem to think they should do.<p>Anyway, I don't see anything wrong with drag-and-drop components or intellisense or even compile time checks. That stuff is really helpful. I am working on composable drag-and-drop widgets for JavaScript/CoffeeScript web applications. And I think that less code is better, and if you can accomplish the same thing with a GUI designer, drag and drop and some property editing, then that is better than writing source code to do it. Its better engineering.<p>IDEs that are slow are not great, of course. The biggest issues for me are that most everything is closed source and generally the language C# is much more verbose compared to CoffeeScript or JavaScript. Also your software will only run on Windows desktops and not over the web.
评论 #3588452 未加载
pragmaticover 13 years ago
.NET is finally mature enough to get the "I'm leaving" posts.<p>There were plenty of these in heady times of '06 and the Ruby rush. Except with Java.<p>I'm sure at some point there were some for Cobol and Fortran and C and C++.
评论 #3587135 未加载
pmarshover 13 years ago
In the end it all boils down to use the best tool for you for the job you're working on.<p>That aside, going from Rails to .NET MVC has been a lesson in patience. While I am glad to have skipped Webforms, there is still something about .NET MVC that weighs on new ideas.<p>It's just easier to get up and running with a Rails stack and get your idea out there.<p>But that's just me, maybe for you it's Python, or C or Assembly. Whatever it is you work best in that's what you use.<p>Posts like this can help a community identify weak points though so I'm always glad to see them.
groutover 13 years ago
<i>sigh</i> Scientists stand on the shoulders of giants; programmers stand on each others' feet.
plasmaover 13 years ago
My biggest pains with .Net C# are:<p>1) Not runnable properly on Linux (I always have trouble with mono - maybe its just me)<p>2) Compilation and app restart time etc are annoying when wanting to develop rapidly<p>LINQ and the syntax of the language, VS etc are all awsome though.
评论 #3588032 未加载
frou_dhover 13 years ago
I have a lot of fondness for C# (version 3+) even though I don't use it any more. VS is a good IDE, too. Windows itself is meh.<p>Overall, you can do a lot worse.
hello_motoover 13 years ago
There are probably 2 reasons why I would look at .NET and one of them is not pure .NET/Windows anyway.<p>1) Consulting/Contracting gigs<p>2) Mono for cross-platform GUI development
macca321over 13 years ago
I love c# to bits.
funkahover 13 years ago
I have worked pretty much my whole career in .NET, and I think it's pretty good in terms of actual coding and development. It has gotten better by leaps and bounds in recent years. .NET and C# aren't the problem, the insanity of the Windows stack is the problem. So many stupid little things unrelated to your code can go wrong, the toolchain is paltry, and deployment is still a mess.<p>If you're actually using drag-and-drop you probably already lost.
评论 #3587566 未加载
Craiggybearover 13 years ago
I no longer do .Net development and leaving it all behind was a breath of fresh air. It was ridiculous.<p>I find it monstrously overblown and while its proponents/fans call it elegant I think its a horrible inelegant mess. Great if all you do is Windows, no doubt.<p>Plus I don't trust Microsoft on Mono (which at one time I thought was a neat idea) and I don't trust them not to dump their existing .Net devs like they did with VB6 sometime down the line and without warning as soon as they and their marketing department decide the next shiny-shiny programming paradigm has arrived. There are plenty of rumours about this and I frankly don't discount any of them as being too far-fetched.
评论 #3588266 未加载