Why .NET sucks

Alright, .NET is a great framework for doing stuff, the easy way. It supports lots of classes, easy to to learn methods, and enough power to create a multi-threaded server.

But yesterday, I have ported my Excessive CD Manager (a software which lets you choose applications, and launches it to install) to Visual Studio 2008, and used .NET Framework 2.0. I have burned a cd, and tried it at my brother’s pc.

I tried there because, it is almost certain that the cd will work in my development environment.

But I had a surprise, because it just didn’t work. I have then realized that I have to ship .NET Framework 2.0 with my executable.Β  My executable size is only 160 kb, my cd is filled with software (around 690 mb), and there is no room for a huge framework like .NET.

I wish we could have an option to include only the classes we need, which will be embedded to executable. .NET framework entirely sucks with this approach.

Good old Delphi. I love you. I’ll always love you. Forever.

  1. Fraev
    August 15, 2008 at 4:26 pm

    Yeah, I think the same.

    It’s just a pain having to install the network framework 😦

  2. Henrik
    September 11, 2008 at 1:19 pm

    Delphi’s the language. When I first laid my hands on a Pascal version (the Poly Pascal, even had Compass Pascal copy, the first version from Anders Hejlsberg’s hand) the speed and strict syntax got me hooked.
    Through the career I have tried VB, C, PHP and C++ (it sucks), and here I am; still coding Delphi. I’m quite content about that but fear that I’m falling in behind and loose the position in the IT-world. I feel that I am an enthusiastic member of a dying group of Delphi-users. Does anyone know how many of us there is e.g. in live licenses?

    I’ll stay until the end.

    • April 1, 2010 at 6:51 pm

      I’m a big time Delphi developer…have been for over 12 years now. I am currently and engineer at a company that uses Delphi for front end client apps and C++ as a mid tier server. The work I do in my side company I use Delphi heavily and have developed a website delivery system all designed in Delphi and it runs under IIS and Apache natively. Delphi is not going anywhere anytime soon and will continue to be better than .NET. All .NET is is Java anyway and we all know (or should know) how bad Java is.

    • overtheclock
      November 10, 2010 at 11:53 am

      Cool i also use Delphi, fast to write code, fast processing code.
      Although lastest IDE help sucks. In delphi 7 the help was great. Now they fu..ck the help passing to html.
      By the way whats you company iam in state of unemployment looking for work in delphi.

  3. Daniel
    November 27, 2008 at 5:37 am

    When you deploy the application, set the Framework as a prerequisite and it will make the user download it from Microsoft during the install process.

  4. Suppen
    January 18, 2009 at 12:24 pm

    .NET is Microsofts plan to get rid of both Mac and Linux. Apps written in the framework is VERY hard to port to another OS

  5. stoperror
    February 2, 2009 at 5:59 am

    Yes, I’d have to agree with that. Oh, those open source hippies are getting WINE to work better. Damn, we’d better make something that’ll foil all their work! HAHA! I know the .NET FRAMEWORK!

  6. Amfony
    February 9, 2009 at 3:33 am

    henrik, you are not alone…and people have been predicting the death of Delphi since last century. Hasn’t happened yet and it’s still the fastest and easiest way I’ve found to create powerfull windows applications.

    I’ve been around since Delphi 2 and am on Delphi 2007 and can’t wait to get Delphi 2009 soon. Wish the architect version was cheaper though, I’m interested in object modeling tools.

    • Excessive
      February 9, 2009 at 10:06 am

      Hello Amfony (Again, Again and Again!),

      I’m starting to have difficulties finding a new greetings message πŸ™‚

      I am using Pascal since its 3rd version, and using Delphi since 1995. People are always predicting Delphi’s death, but it will not happen. The users of Delphi are addicted to this language.

      We’re in love. A love which no one can explain.

      As for Delphi 2009, it is a real beauty. Just try it with Update 1, and instant love is guaranteed.


  7. Descendant
    February 10, 2009 at 3:45 am

    Hey it’s me (Amfony)…I didn’t think I was going to post here ever again so this is my more “regular” name in programming circles (Descendant). So it’s great to meet a few Delphi enthusiasts so I’m sure I’ll hang out regularly! πŸ™‚

    Yeah I think our affection to Delphi is on some levels hard to explain and on other levels it’s easy to explain. I’d boil it down to this:

    When you want things to be easy, Delphi is easy. When you want power, Delphi has power.

    Delphi 2009 sounds really sweet. I can’t wait to try it soon. The main thing slowing my down is it allways takes more time then you predict to switch versions (components and what not) and I’m swamped at the moment.

    Again, glad to come across Delphi enthusiasts. Do you guys hang out at #Delphi on efnet on IRC? If not you should. πŸ™‚

  8. Bob
    April 18, 2009 at 9:35 am

    Did you really say that c++ sucks?

  9. Nelson
    June 16, 2009 at 7:23 pm

    Who doesn’t have .NET Framework installed……. seems like a moot point to me…

    • Lenny
      September 21, 2011 at 7:22 pm

      I don’t! I removed it out of spite from my home computer! I have to deal with that pain in the *SS at my work and I hate it! I have to tear it down and rebuild it step by step almost completely from 1.1 to 4.5 every time a new patch or SP comes out, and add in all of the WU crap. What a waste of time. .Net is a sucky a piece of junk, it’s held together by duct tape and chicken wire. The programmers who wrote .Net should be imprisoned indefinitely and tortured daily until they die. If you’re going to make a world-wide used program make it right the first time and then remake it as needed! And especially don’t make the new versions dependant on building off of the old versions!, bunch of lazy bums! Rewrite the whole thing from end to end and make the new versions independently functional,.. WITHOUT PATCHES! Screw .NET!

  10. Andy Foreman
    July 23, 2009 at 3:39 pm

    Ive been a software developer for over 30 years and I can tell you firsthand from the “trenches” that it is amazing how great a leap BACKWARD .Net is. Like most things Microsoft does, it is simply over-complicated for the sake of over-complication. Now think about that – MS takes something simple, over-complicates it – and then gives you “Wizards”, helpers, GUI this, GUI that to help you with the complication they just built into something that could have been very simple. Yes, Delphi was a great system, so was FoxPro and many other 4GL systems that once looked like programming and software development’s future – but as usual, MS couldnt live with that. Its never enough for them to simply make a good easy-to-use product – no, their products must somehow conquer the world.

    Its very sad because when I was young, lots of people programmed in lots of good systems leading to wild creativity and great interplay between developers discussing techniques, features and systems. Now? Now developers must march in lock-step to the one great God – .NET.

    Funny, but in 1984 Steve Jobs introduced the Mac with a commercial showing thousands of drone users all marching in lock-step and then along came a lady who throws a sledge hammer at the giant screen, the “big brother” (believed at the time to be Microsoft), and smashes the screen opening up creativity and indivduality.

    Now with .NET we are more like the old Soviet Union where things MUST be done THIS way, the ONLY way, and there can be NO straying from the path.

    I feel very bad for all the young developers who never knew the fun and easy days of a free world of programming tools. They are all now prisoners of Microsoft and the one God, the Only God – .NET

    What a sad fate for computing.

    • Rob C.
      January 1, 2011 at 4:25 pm

      Andy, I totally agree with you. I am a beginner at programming. I love open source software. But every job opening these days is asking for .NET experience. It is very sad. I have a hard time giving in…I really want to find a job with something open and free.

      • David
        January 10, 2011 at 3:15 pm

        Java – Open AND Free!

      • Lance
        January 24, 2011 at 7:57 pm

        .Net makes me want to stab my leg with a fork. Repeatedly. Both of them. I used to do .Net development for years and consciously made the decision to no longer accept .Net positions and started studying Linux and Ruby on Rails. Now I love my job! Ruby is beautiful and fun to work with. And the Rails framework is like a Chinese gymnast. A sexy one at that.

    • Christopher Hatton
      February 17, 2011 at 2:15 pm

      Dear oh dear, open the shutters and let the light into your self imposed Microsoft dungeon! There’s a wonderful world of other development environments and frameworks out there… headed up by Java running on Linux.

  11. SilentThReaD
    August 8, 2009 at 5:44 am

    I too believe that .net sucks. Especially when it has to do with iterating through collections of com object. The garbage collection interfers with the iteration, and gives false results.

    There should be no such thing as a garbage collector!
    Or at least a way to turn it of completely, not just one 1 object.

  12. October 20, 2009 at 12:11 am

    Yeah, I would have to fully agree with the entire .NET thing, and I feel bad for myself, by the time I get to college… which I’m not even sure is worth going to, knowing I’ll be forced to learn .NET most likely at one point or another… blehh I’ll just go with joining the Navy >.> roflol.

  13. Bill
    October 22, 2009 at 6:22 pm

    I know this is an old thread, but I couldn’t help posting, and couldn’t agree more.

    I’m still in I.T., but the only coding I do these days is JCL/batch kind of stuff.

    20 years ago, there were all sorts of great dev environments, and programming was a great hobby. I did a bunch of projects with Turbo Pascal, then Delphi back in the day. I could pick it up and get something done within hours.

    Ive looked at .NET a few times, and I simply have no desire to even try anything with it. It’s just a big, bloated, pile of stuff. There would be no enjoyment in it for me.

  14. Jeff
    December 9, 2009 at 10:11 pm

    Sorry guys, but I have to admit that .NET is an awesome descendant of Delphi and Turbo Pascal. Delphi is a beautiful product but it has no smart managers behind.

  15. January 2, 2010 at 8:01 pm

    .net is a heathen pile of shite

  16. Matthew
    January 6, 2010 at 7:09 am

    Yes, .NET was an annoyance for Windows XP, good for developers but bad for users, but I would guess that future versions of Windows will ship with .NET, so there will be no need for a download. Don’t Vista and Windows 7 do this already?

    Of course, no one wants Vista or 7 because they, like .NET, are useless technology. Statistics show more people still have XP, because they realize they don’t need Vista or 7, but Microsoft is in the business of creating new technologies that no one needs, so they don’t understand this. Yes, Microsoft is run by sociopaths.

  17. SSDwellah
    January 20, 2010 at 12:09 am

    I agree with most of the sentiments here, except that C++ sucks. If you need to make that claim, then I would argue that you should believe C *really* sucks. Not that I hate C either, I just think that everything you might find to be a pain in C++ is equal, worse, or not even possible in straight C. Also, my first “real” programming language in high school was Pascal (I learned Basic younger in summer school but I find that to be a toy language, no offense) so I don’t hate Delphi either. But I digress from the main point about .NET Framework.

    I believe that exclusive use of .NET is really causing the dumbing down of programmers. It’s astounding how few people coming out of college now know nothing at all about what is going on in the machine or how their poor code or sloppy algorithms are thrashing the TLB, or D-cache, or harddisk or even have the slightest clue how to implement some code ouside of .NET. Don’t even bother them with any kind of pointer math or data structures. I also feel that Microsoft’s flagship language for the CLR, C#, is just a copy of Java that came 5 or 6 years late. Just compare the language rules, package framework, garbage collection, dynamic recompilation and bytecode (not exactly unique to Java either), and syntax of C# 1.0 and Java. It was basically Java with C++’s “:” operator for inheritance instead of Java’s extends/implements keywords. Also, Generics were added in version 2.0 which are just a rip-off, both syntactically and conceptually, of C++ templates except not as powerful (template methods and partial specialization not supported in 2.0 as far as I know for starters) and again 15+ late to the game. And what do you get for all of the complexity? The most often pro I hear for C# v. C++ is garbage collection… so use RAII and stack to clean up for you (e.g. auto_ptr, boost::shared_ptr, etc…). Have you ever seen a correctly written C# or for that matter Java loop exhaust the memory? Do you hate inserting artificial scopes (is that even possible in C#) or slow function calls in a loop to work around these issues? Don’t you wish you could manage the allocation yourself sometimes? Too bad.

    To draw an analogy, I think it’s kind of like the automatic transmission: most real auto racing is done with some variant of a clutched manual transmission (except for some drag racing where shifting has to be really fast). Also I find that driving a manual transmission makes me more attentive, have more control over the vehicle, have a safer and easier merge onto the freeway (since I can choose when my transmission downshifts), and have a better chance and more responsiveness in the case of a crisis. In fact, if I had access to some accident statistics, we might find that drivers of manual transmission cars have fewer at-fault accidents per-capita (just speculating here, but would not be surprised). Thus, it’s my personal experience that many more people knew at least something about cars and how they work in the past, versus now. You can argue that the car is “more accessible” now, but I argue that it is less flexible and it’s users more lethargic or ignorant. Sorry to take so long to draw a parallel, but I think this is directly analogous to .NET. It’s “a way” to do things, but it should not be “the way”, is seldom if ever “the right way”, and often is not even “a good way”.

    If you think that my disdain for .NET is an indication that I am some bitter old engineer from the ’60s or ’70s, I am actually in my 20s and thankfully just missed the fine line between when they stopped teaching “real” programming in school. And by the way, I used to work at Microsoft (full disclosure) and I left of my own accord, but not because of .NET πŸ™‚

  18. SSDwellah
    January 20, 2010 at 12:51 am

    I just noticed a few typographical errors in my last post. I apologize for that. I liked how I phrased it enough to repost an edited version of it on my blog http://jpocas.blogspot.com/2010/01/why-net-heralds-end-of-intelligent.html

  19. ChasingMyTail
    February 23, 2010 at 2:03 am

    I have to agree that .net sucks. I have gone to class after class and read many books.
    The whole .net thing is an interesting concept, but so makes the code so complex.

    By the time I get done making everything into the different classes objects, I spend the rest of my time trying to remember where to find stuff in the thousands of different files.
    I guess writing a program in .net is a good way to ensure job security because no one else could ever figure out this mess of spagetti code.

    When I have to quote a job now a days, I have to add at least a 10x multiplier to what I did in the past.
    That multiplier only continues to go up.

    I have learned – do NOT touch or move anthing in the GUI once you get something working.
    Once bad mouse click or move in the GUI and you will spend days or longer trying to figure out what happened to you code.

  20. one pissed off mofo
    April 6, 2010 at 9:44 am

    When i catch the asshole who first had the idea,and the jerkoff who designed it, I am going to throw them in to hell were thay belong, also their parents for having them. What neocom asswipe jerkoff had his head up there ass when thay came up with that bullcrap!! Then im going put my X Marine boot so far up there ass that there grandchildren are going to feel it, in there teens yet! Im going to twist off the top of there heads, pull there brains out! (if they got any?) then piss in there skull cap. Now that i got that off my chest, how about this! Im going to send candy over there! (A gal i knew in the Marine Corps!) So they can have a chance, ya right this broad is from brooklyn! she will put on her strapon and then skull f*ck the living crap out of them. ya, oh ya; see: that how we handle things in new york thats right!, when you f-up that bad! your ass out baby. I did not put 4 in the Corps to have some pencil neck geek jerkoff mess with my sh*t; oh fu*k no baby

  21. ed ba
    April 25, 2010 at 12:42 pm

    I started with .Net 1.0
    It was a great experience… until I stumbled on the exact issues everyone’s been talking about here. Native C++ all the way since then.

    What further amazes me, is how EVERYTHING (Visual Studio, Windows tools, you name it…) gets reinvented in .NET.
    What the fracking brainassballs? My computer has gone countless times faster, yet it performs slower than Windows 98 back in 2001.

    This “new even older slowshite .NET” is… wait for it… a power consumption disaster.
    I can just feel the new Windows or .NET (or whoever) idiocy make my computer struggle…
    Grandpa Bill goes green, but, apparently, needs to get his facts straight on how he nullifies the efforts.

  22. ed ba
    April 25, 2010 at 12:51 pm

    Oh, and .NET + WPF… in Visual Studio… is a mistake of nature.
    Another great example of overcomplication without any improvement.

    Hell, the bugs are just ridiculuous. Things you wouldn’t even imagine back in 6.0 or 2003…
    I’m looking (and LMAO) at the “Help Library Agent Invisible Window” right now. Not to mention text redraw issues, silly UI design (dark blue & eye-straining contrast… WTF?) and *drum rolls*… crashes.

    Seriously, two years in development and I get THIS?
    I’m starting to really like the Open Source Community.

  23. VerbalVampire
    April 27, 2010 at 12:06 pm

    Haha, let me summarize this all up… **** .NET, it deserves to suck my balls… until the last drop! [really, it sucks that bad.]

  24. Luis Calderon
    July 12, 2010 at 2:44 pm

    If you’re looking for a job, unfortunately you have to learn .net, but if you’re working on your own stay away from .net.

  25. 7QIVI
    August 8, 2010 at 2:51 pm

    Being a beginner programmer, I began using .NET to practice writing some basic applications. But I didn’t like it. It is too slow, just like Java. The framework is a huge download, I found .NET 3.5 SP1 to be 231MB. Thats just too much. Not to mention how damn long it takes to install. I don’t like the fact that applications written in it are running in a virtual machine. It just slows everything down. So instead of that, I tried Delphi. Then I was happy. So in conclusion, .NET really does suck.

    • Nobody
      August 9, 2010 at 12:55 am

      You *do* know the framework is a one-time installation yes? And that anything even remotely current already have 3.5 built into the operating system? Throw on multiple languages, cross-platform, and high productivity, you’re missing out by skipping it. dotNET4 is nothing like the original dotNET, which yes it was a turkey.

      Delphi (the product by Embarcadero, not the Pascal language) is a chunk of shit that needs to disappear already. Countless bugs that never get fixed, they just carried over into the next forced/expensive upgrade. The IDE is miles behind Visual Studio. (Please, if you say otherwise, you’ve not tried 2010.. throw on CodeRush and it’s godmode for programming.) The documentation is utter garbage. If you insist on using Pascal, at least use FPC, which has cross-platform support, hell even 64 bit support, which Delphi *still* has lacked after all these years. (Mayyyyyybe in Delphi 2011?) Their last good version was 7, it just steamrolled downhill from there into the mess that it is.

      If you insist on staying away from the ‘evil’ dotNET, at least go with a real programming language, C++, has been around since forever, used on every platform, and has the widest support base of any language.

    • Christopher Hatton
      February 17, 2011 at 2:16 pm

      Where did you get the idea that Java is slow?

  26. Jack
    August 23, 2010 at 9:19 am

    .Net is programming in a straitjacket and I had been doing it for years only to discover my actual programming skill-set was not only stagnating, but declining because of over-reliance on the .Net super-library. Programmers, keep this in mind. Once you’re locked into .Net you develop a kind of brain-rot and will find yourself woefully inadequate if you ever try to leave your shitty underpaid corporate .Net job to move up the ladder into development that *isn’t* for just code monkeys – and that’s what .Net is. It’s a code monkey tool for lazy developers who steal all of their code off the internet without understanding how it works. You hardly have to think anymore. Steal a wrapper library from here, an algorithm from there and declare yourself “awesome” and “elite” for doing something any fucking moron could do and it appears to work: that is, until you get the big come down when your deployed app crashes and burns like the Hindenburg on release and you have no fucking clue as to how to fix it because everything came from codeproject and you don’t understand it. But hey, you can always claim you’re superior to other developers because they wrote their solutions by hand and know and understand every line of code in their project, but took a little bit longer to write them.

    Additionally .Net really sucks for cross-platform development. I’ll grant that mono is improving, but I always got cryptic runtime errors and display problems and my end users hated .Net apps. I rewrote a mission critical app at work in C++ and Qt and now not only does it work under 4 different platforms with hardly any changes, but it is faster and far more stable. I even rewrote a webservice with gSOAP and now it’s an order of magnitude faster and again more stable. It doesn’t crash every time the other shitty product that you get bolted to (IIS) goes down, which is about twice a week, nor does it force you to spend 10-20K on SQL Server because if you’re going to go .Net you might as well go all the way and stay on the upgrade path. No postgres for you, even if you need async push for your program and your company is stuck on sql server 2000 because they don’t want to pay for an upgrade. Oh and learn to love source (un)safe because your company is religiously dedicated to microsoft shit and can’t afford team server, which still sucks. All of the other devotees will force you into that shit too and scratch their head at your requests for git or svn just like they do at postgres over sql server and just about everything else.

    Fuck that noise. Fuck .Net. Fuck it in the ear.

  27. September 30, 2010 at 9:17 pm

    I could go on forever on why .net sucks. This is the perfect site. Why can’t I find good code out on the internet for .net? Its because Bill Gates and his monopolizing burglars are constantly changing and (making better?) the code base for .net WTF!!! why can’t we stand still for a minute on one version of the framework? why keep making up these F%#king bogus names for every thing that seem to always be heard in a diatribe F*ck Microsoft and every a$$hole licking goody two shoes out there that follow them, like disciples following Jesus. I’m constantly trying to figure out which version of .NET supports which control and what goes OBSOLETE. GET IT RIGHT FOR ONCE AND LEAVE IT ALONE FOR A MINUTE SO I CAN CODE SOMETHING IN IT.

  28. Ex
    March 17, 2011 at 4:51 am

    .NET is piece of shit and its sad how stupid ass microsoft “developers” are using this
    to force real developers to use it

    VB6 times are over sadly…

  29. CleanFun
    June 3, 2011 at 3:59 pm

    The heart of the problem, in my humble opinion, is that it’s sluggish. dotNET is just a bloated virtual machine that stands between your code and the processor. dotNET users have, in short, been reduced to script kiddies. Your executables no longer bounce instructions off the cpu as they did before the dark ages of dotNET. Instead, your instructions are handed to a gatekeeper, who in turn analyzes it and then, if it deems it’s safe and tidy and has blonde hair and blue eyes, places it in the processor’s to-do list.

    Back in the day we would say, “This is how I did it.” Now they say, “This is how it’s done.”

    The flow of every application feels guided in dotNET. It’s like the difference between a tub of legos and a puzzle. With your legos, anything is possible. The puzzle though, every piece has it’s place, and no other. The puzzle is not dynamic and it’s not flexible. To further illustrate my meaning, take 100 people and tell them to write a quick journal app in dotNET and you’ll find that they all look and function very, very similarly. You may get 2 or 3 different flavors out of that 100. But you run that same test 10-15 years ago and you’d end up with 50 different flavors. The resulting applications would be colorful and contrast sharply from one another. You would get diversity. And that’s not just some bull shit I’m making up. Look around and see for yourself if you don’t believe me.

    Next issue is effort. You had to put in work to create an application in “the old days”. A bit of genius was necessary, but it was also encouraged and fed. As a result, there was an great sense of satisfaction upon completion of a given routine or app. Everything about dotNET is pre-chewed, and as a result, all the flavor has been sucked out. You no longer revel in your creation, you’re just happy you got it to work so you can move on.

    Another thing a lot of programmers, including myself, are devastated by size. Not sure how many of you did this, but I’d spend as much time refining and trimming fat from the final file size as I did actually writing the app in the first place. I’m a fanatic when it comes to efficiency. dotNET takes a crap all over efficiency’s face and then it has the gall, the insolence, to tell me it’s chocolate pudding.

    And no, you can’t count on every system having an up to date version of dotNOT. Nor do you want to be the poor bastard who rides in waving that banner. Any client who doesn’t already have it installed is going to trash your app. It leaves a sour taste in their mouth and they resent you for it. They may go on to love a hundred other dotNET apps, but you’re the dirty low-life bastard who popped that cherry and you always will be as long as their memory holds.

  30. October 14, 2011 at 3:10 pm

    i thing a language programming is a tools, whatever i choose .net cause faster to develop applications, and easy to code, cause project is waiting to build.

  31. PthonBoy
    October 18, 2011 at 9:41 pm

    .net sucks and so does Delphi. Python FTW…

  32. March 10, 2012 at 3:13 pm

    It Doesn’t EVEN Accept Linux “WINE” Installation!!! FUCK The Microsoft .NET!!! It SUCKS!

  33. A Coder of the Old Ages
    December 6, 2012 at 1:36 pm

    Microsoft killed the free world of coding. Jobs are no longer fun because they shove .NET down your throats and you shove the down your clients.

    Thank god C++ still sticks around. There are still room to innovate.

  34. Warrior215
    January 6, 2016 at 1:58 am

    i agree net framework is a stupid piece of shit

    • Warrior215
      January 6, 2016 at 2:00 am

      SORRY my comment is wrong it should be .net sucks ass

  1. February 9, 2014 at 10:57 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: