topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 7:27 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Why the aversion to .NET Frameworks?  (Read 43469 times)

MrCrispy

  • Participant
  • Joined in 2006
  • *
  • Posts: 332
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #25 on: February 22, 2010, 02:43 PM »
I was surprised they did it for Windows Mobile 7 (oh wait its Windows Phone 7 series, what a stupid name), so there's hope yet. There's no reason why all of Win32 can't run virtualized for legacy apps, just like they did for the 16-bit subsystem, XP compat etc.

This would be more of a political rather than technical decision by the time Windows 8/9 comes out anyway.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #26 on: February 22, 2010, 02:44 PM »
This would be more of a political rather than technical decision by the time Windows 8/9 comes out anyway.
There's also the performance side - especially for games. It's not super-duper-easy to virtualize DX/GL, especially not if you want to do it safely.
- carpe noctem

steeladept

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,061
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #27 on: February 22, 2010, 03:02 PM »
I didn't mean to imply earlier I was against .Net.  Indeed, I generally like it and it's performance.  I was just asking in what ways is it different.

But a hypervisor core, native code for the critical parts of the kernel, perhaps managed code for part of the kernel, a managed userland, and a virtualized Win32 compatibility layer (preferably running within 5% of native speed) - that'd be an interesting OS.

Here, here!  Where do we buy that OS?  :D

Eóin

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,401
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #28 on: February 22, 2010, 03:03 PM »
But did they do it for Mobile 7? It's all rumors so far. And one of the more believable ones floating around is that there will be two editions with the 'professional' edition supporting old applications.

MrCrispy

  • Participant
  • Joined in 2006
  • *
  • Posts: 332
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #29 on: February 22, 2010, 07:38 PM »
I think it was confirmed there will be a Windows Phone Classic edition for all the old apps and carriers who do not want to conform to the new hardware standards. What is not confirmed, but is likely, is if the new OS actually has a new kernel and has removed support for all legacy API's. Even if they are still present, the phone will not install an old app without a 'jailbreak'. We shall find out soon enough at MIX10.

mwb1100

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,645
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #30 on: February 22, 2010, 10:40 PM »
As far as Microsoft possibly removing backwards compatibility on some version(s) of their mobile OS - that's a far cry from an indication they might do something like that for their desktop OS (especially imminently).  Users of cell phones are much less likely to be surprised or upset that old applications might not move forward to a new device. I'm sure there will be some, but nothing like what would happen if MS did the same for applications less than 5 years old (or even 10 years old) on Windows. 

It took them around 15 years to pull the plug on 16-bit backwards compatibility on the desktop.

SchoolDaGeek

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 15
  • WTF?
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #31 on: March 08, 2010, 10:43 PM »
For me my disgust with .NET started with a $3400 HP 19" laptop that came pre-loaded with Windows Media Center 2002.  It was going to replace my TV, DVD, Stereo, and Full Tower computer with a 21" CRT.....

After having it only a short while, all the Media Center functions stopped working.  I had to get on the phone with HP and after walking me through a 2 hour removal process with huge command lines working in the CMD window, it seemed that the .NET 1.x version was conflicting with the newer 1.x version and to quote Monty Python, 2.0 was "right out"....all the wrong extensions, etc. had permeated EVERYTHING....

I had the original discs from HP and even with a fresh, clean install, the Media Center functions would not work due to how .NET was installing incorrectly.  Even to this day, with those same discs slightly modified by nLite to accept any computer, they will not work properly and give .NET errors.  Even the Experience pack and the Space screensaver (EVA spacewalk guy) don't work properly on certain hardware configurations.

Now today, you can download great programs like CDXP Burner but they do not function unless you have the proper .NET framework installed.  What I have finally done is keep all the versions released, 1.1, 1.4, 2.0, 3.0 all on a separate USB drive and keep that in my 'toolbox' for when I am diagnosing certain problems on computers, because they are 20, 200, and 300mb downloads that I simply don't want to wait for, but even with USB 2.0 you still have to wait for extraction and then installation, rebooting a few times, etc....

I liked it when there was only the VB6 Runtimes that needed to install and everything was peachy in W2K...I just don't understand why we need to download and install a 200mb library of 'possibilities' to use a program that is 4mb in size....

I also agree that it was never designed for Linux, and installing the wrong version even below other versions can make X interfere with Y, and to diagnose it is bullocks!!!!!!
My Karma just ran over your Dogma.
« Last Edit: March 08, 2010, 10:46 PM by SchoolDaGeek »

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #32 on: March 09, 2010, 01:08 AM »
SchoolDaGeek: sounds to me more like HP has a modified windows setup that has b0rked stuff, and possibly also that you've b0rked stuff additionally with nLite (which is easy to do, been there & done that).

I just don't understand why we need to download and install a 200mb library of 'possibilities' to use a program that is 4mb in size....
-SchoolDaGeek (March 08, 2010, 10:43 PM)
Because it gives developers at crapload of functionality that they don't have to re-invent, and by having the users download the runtimes you don't have to distribute multi-megabyte executables.

Yeah, the dotNET runtimes are huge, and sometimes I wonder if they have to be that huge. But there's lots and lots and lots of functionality in there.
- carpe noctem

eleman

  • Spam Killer
  • Supporting Member
  • Joined in 2009
  • **
  • default avatar
  • Posts: 413
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #33 on: March 09, 2010, 04:49 AM »
4: Speed of execution for many apps is slow, whether due to framework bloat, or poor coding practices, or...?

This was especially true for 1.1, which was abso-Fing-lutely ridiculously slow. Newer versions feel faster, but I still get that feeling of slowness most java applications give.

CoderOmega

  • Member
  • Joined in 2010
  • **
  • default avatar
  • Posts: 18
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #34 on: March 09, 2010, 06:19 AM »
Yeah, the dotNET runtimes are huge, and sometimes I wonder if they have to be that huge. But there's lots and lots and lots of functionality in there.

the .net 3.0 include both the 32bit and 64bit version. This is the reason of it's massive size.
I saw .net 4.0 is more like 50MB now. Still big but much smaller than the 300MB .net 3.0.

plus now that new OS include .net, soon there won't be a need to worry about .net being installed.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #35 on: March 09, 2010, 06:27 AM »
Yeah, the dotNET runtimes are huge, and sometimes I wonder if they have to be that huge. But there's lots and lots and lots of functionality in there.
the .net 3.0 include both the 32bit and 64bit version. This is the reason of it's massive size.
That really shouldn't affect things much, considering that .NET has machine-neutral MSIL rather than native binaries?
- carpe noctem

CoderOmega

  • Member
  • Joined in 2010
  • **
  • default avatar
  • Posts: 18
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #36 on: March 09, 2010, 06:57 AM »
.net compile to msil, but I'm pretty sure it was written in c++.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #37 on: March 09, 2010, 07:07 AM »
.net compile to msil, but I'm pretty sure it was written in c++.
Parts of it definitely are, like the core VM and it's JITer. Large parts of the framework, however, are in MSIL form, with parts of it native compiled to x86/AMD64 (I wonder if it's using native C++ code, or "just" ngen'ed). Check c:\windows\assembly with explorer. Interestingly, a large amount of assemblies (notable Microsoft.DirectX.*) don't seem to specify Processor Architecture :-s
- carpe noctem

Ramesh Kumar

  • Participant
  • Joined in 2010
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #38 on: March 11, 2010, 01:33 AM »
Last spring I set up a netbook with Unbuntu linux, and the distro came with Mono in it. So it's not just pervasive on Windows, but common in linux as well. And from everything I read, current versions of Mono do a darned good job so long as the whole app is .Net without native code thrown in.

If you're willing to target Vista or Win7, you should be willing to target .Net, because both of those versions of Windows come with .Net preinstalled.

There is a sad correlation in Windows OS I'd like to share:-
1) Vista & Win7 are preinstalled with .NET & both these OS's run fewer apps too as compared to Xp which is not pre-installed with .NET
2) In terms of mkt share Vista is presently one third of Xp & Win7 is less than one eighth of Xp

There are 4 conclusions:-
1) Quite obviously users & third party developers prefer non-.NET runtime over .NET runtime as of now  ;)
2) Win7 adoption rate is in fact half that of Vista. Adoption rate is mkt share in first 12 months of existence.  :o
3) .NET technology in Windows OS has to improve; stabilize  :)
4) Perhaps Linux has done better than Windows in this regard

Ramesh  :)

Ramesh Kumar

  • Participant
  • Joined in 2010
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #39 on: March 11, 2010, 01:51 AM »
VB runtimes gave the whole framework thing a bad taste, MFC didn't really help either (and .NET ... still fits the same bill).

Here's the thing, One .NET app is not a big deal, and two usually isn't either. But... When you start getting 4, 5, 6+ especially when different service pack levels are required ... Things tend to mire quickly.

easily 90% of .NET app come with some type of installer. (and...) Not all installers are intelligent enough to stop and make sure the runtime package they're holding is necessary. So you install app A and app B explodes (I see this a lot). ...Becaused something got moved/changed/updated/tinkered with (what shouldn't). Now if app A just so happens to be a mission critical vertical market management application (and it usually is...) You-Are-Screwed.

I'm usually looking for apps that are small, portable, and have as close to a zero presence foot print as possible. If I have to install framework anything to run an app, then I'm no longer troubleshooting (Just) the problems that existed before I got there - As I now have to deal with the very real possibility that there is now a new problem that I just created by installing X which is (conflicting with Y) now compounding the issue that got me called to the site in the first place.

Stoic Joker you are 110% right!  :)

Sadly enough .NET runtime has replaced non-.NET runtime before .NET technology got stabilized.

There is an interesting conjecture & solution I'd like to suggest. I can't say for sure but I think Java does it. *I think Java allows you to run more than one runtime build at a time!* Go to www.java.com & you will find that they never give you a plainspeak answer to the question - Does one need to uninstall the previous build of runtime before installing the latest runtime or can both co-exist.  :o

It would be nice if Windows works out a similar interim solution. Oh I am not referring to compatibility mode.

Till such time .NET technology stabilizes Windows OS should allow both .NET & non-.NET runtimes to run concurrently during a computing session with the proviso that the non-.NET runtime has the upper hand in deciding how computer resources would get allocated in case of a conflict. That's because presently non-.NET technology has stabilized more as compared to .NET technology!  :)

After .NET technology stabilizes worldwide subsequent OS's could shift to .NET.......but not before then. This approach looks practical to me. I know in the interim third party developers would face the added challenge of developing apps which get along with both runtimes.  ;)

Ramesh  :)

Ramesh Kumar

  • Participant
  • Joined in 2010
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #40 on: March 11, 2010, 01:59 AM »
Last spring I set up a netbook with Unbuntu linux, and the distro came with Mono in it. So it's not just pervasive on Windows, but common in linux as well. And from everything I read, current versions of Mono do a darned good job so long as the whole app is .Net without native code thrown in.

This is true as long as you target .Net 2.0 or lower (maybe 3.0/3.5 now).  But for current versions of .Net Mono is not there yet.  If they really want parity, they need to be working on the current .Net version along side Microsoft (which means they should be about to release .Net 4.0 compatible code).  I mean they already have the technology sharing license and are essentially partners (MS and Novell, the main project backers).  That said, I agree with most of what you are saying.

easily 90% of .NET app come with some type of installer. (and...) Not all installers are intelligent enough to stop and make sure the runtime package they're holding is necessary. So you install app A and app B explodes (I see this a lot). ...Becaused something got moved/changed/updated/tinkered with (what shouldn't).

.net 2.0 doesn't override .net 1, and .net 3 install .net 2.0 automatically because it needs it as it builds on top of it.
So all .net framework can and do coexist without problem on the same machine.

Not always; not entirely.  :)
Sometimes parts of earlier .NET version get discarded simply because a newer way gets seen to be better. That is why some .NET users express surprise over why a .NET app which used to run well on an earlier .NET version does not run on a later .NET version. But you are right for the most part!  :)
Ramesh  :)

Ramesh Kumar

  • Participant
  • Joined in 2010
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #41 on: March 11, 2010, 02:06 AM »
Versus Java I intuit third party developers carry one more fear or apprehension in .NET

They worry that if they create an app & it happens to be in a genre where Microsoft also has an app then the .NET runtime while allocating computer resources would show partiality to a Microsoft app. Perhaps Java has managed this fear psychosis better
Ramesh  :)

Eóin

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,401
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #42 on: March 11, 2010, 03:20 AM »
Good thing the EU courts wouldn't stand for that, if it could be proved of course.

Ramesh Kumar

  • Participant
  • Joined in 2010
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #43 on: March 12, 2010, 03:51 AM »
I have a different reason for so-far avoiding getting into dot net, as a programmer.

I really like a LOT of what they have done with it, but i'm not going to embrace a new giant powerful framework that doesn't have first-class cross platform support as one of it's main goals.

You are right.  :)
This is a major reason why .NET has not succeeded. .NET aka Microsoft has fought bitterly with too many players - both competitors & collaborators to truly become cross platform:-
1)Apple - competitor
2)Java - collaborator

Besides large players have now got stakes to compete both in software & also across computing devices aka hardware. So even if theoretically .NET can become cross platform practical difficulties & bitter memories would prevent it. Trying to strike technological friendship after bitter fights in the market place is just too little too late
Ramesh

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #44 on: October 14, 2010, 08:25 PM »
.NET and C# are wonderful technologies and a joy to develop for.

+1, Mr. Crispy :)

daddydave

  • Supporting Member
  • Joined in 2008
  • **
  • Posts: 867
  • test
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #45 on: October 14, 2010, 08:41 PM »
Microsoft has made .NET the path of least resistance at least for their express versions of their compilers/IDEs, so by avoiding .NET you are weeding out a lot of hobbyist programmers as well, which is a good thing or bad thing depending on how you look at it.

I assume that people who hate .NET hate it on the Windows Mobile platform as well. If I wanted to try my hand at developing an app for Windows Mobile, I'd probably install SharpDevelop which is non-Microsoft IDE for .net/mono apps simply because I have no clue how I would do it otherwise and I have been able to get a "Hello World" running at least that way. (Microsoft's express versions do not support compiling to the mobile versions the last time I checked, you need the full Visual Studio for that).

As a user, which I am 99% of the time, it is weird to have 4 versions of .NET installed at all times but it does seem superior to getting notified of a Java update every week. But I assume the .NET haters hate Java even more than I do.
« Last Edit: October 14, 2010, 08:45 PM by daddydave »

oldfogie

  • Participant
  • Joined in 2010
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #46 on: November 16, 2010, 04:10 PM »
I don't know if I would qualify it as hate so much toward Microsoft as much as, instead, Microsoft hates me.  My beef with Microsoft is their horrible, horrible solution to DLL Hell:  Fusion - better known as Side-by-Side assemblies - that whole WinSxS directory thing.  .NET further propagated that abomination.  Manifests, etc. have made life as a Windows programmer a living hell.  At least I could deal with DLL hell.  Most people don't even know where to begin when Fusion craps out - with the only "solution" being to reinstall the OS, which is hardly a solution.

And don't get me started on MSI.  The slowest, second most bug-ridden piece of junk installer technology on the planet - second only to InstallShield.  Take a good long look at how package managers for Linux work (esp. Ubuntu) and then tell me that MSI is anywhere on par.  (Hint:  It isn't even in the ballpark let alone the parking lot of the ballpark.)  I dislike *NIX for various reasons too but the latest package managers completely blow away MSI.  Yeah, I'm still waiting for someone intelligent to come up with an OS that isn't horrible.

You mention Paint.NET.  Photoshop starts faster than Paint.NET.  Like Java's early days, .NET, overall, has serious performance problems.  The startup time for any .NET app is magnitudes slower than any equivalent native solution.  .NET is interpreted bytecode - but without the decade or so of refinement that Java has.  I dislike Java too but for different reasons.  But some really popular apps are written in Java and those years of refinement are finally paying off.  Barely - but not in time - Oracle had to buy out Sun to keep them from going completely bankrupt.  I can't name a single .NET application that is recognized by major publications that ordinary users might use beyond Paint.NET.  That's because they don't exist - even Stack Overflow can't seem to come up with a list beyond Paint.NET and Visual Studio.

I've seen a few mentions of Mono.  But who actually USES Mono?  Even among my *NIX friends I don't know anyone who actually USES it.  They've played with it but there is a significant difference between playing with something and USING something.  They'd rather write the application in C++ (yay!), Java (meh), or Flex (bleh).  Mono has an unfortunate name too - being named after the "kissing disease", IMO.  Performance is supposedly comparable to .NET but since no one uses it, it doesn't matter.  People who write for .NET are writing for Windows users.  If it HAPPENS to work elsewhere, great...but no support for you!

When it first came out, .NET was touted as having fewer (crash) bugs per application and was advertised as needing fewer try-catch/error checking blocks (because .NET would do the heavy-lifting) but about half the time I fire up .NET applications they crash on me in unexpected ways.  Applications written in Delphi, C++, and even Java seem to be more stable overall.  Then again, I don't run many .NET applications but when a .NET application crashes, it leaves a rather sour taste in my mouth.  I've seen some code in C# and while the stuff I've seen wasn't terribly well written, I didn't see ANY benefits to learning a whole new language to discover new ways to crash software.  We simply don't need a new language.

The real reason I "hate" .NET is Microsoft clearly favors the .NET languages instead of REAL programming languages like C and C++ but then turns around and hypocritically pronounces how much they cater to software developers.  Oh, you're a C++ developer who wants to use the Ribbon interface?  Yeah, you get to wait a few months to do that while .NET developers get extra loving from us.  That's my real problem:  I want to be able to write code in whatever damn language I please and don't tell me you cater to me (developers, developers, developers, developers!) if you aren't actually going to cater to me.  Ribbon was only added to MFC after enough people yelled at Microsoft for favoritism.  And, even then, Ribbon support was incomplete.  .NET was and is a slap in the face to all the C/C++ developers out there.  We knew Microsoft made a huge mistake but they keep pushing it like we will accept it.  Fortunately there are enough C/C++ developers out there to FORCE Microsoft to (grudgingly) conform to our wants and needs.  That's the sole reason Visual C++ still exists as a product that developers can use.  If Microsoft had their way, they would only offer VC++ internally.

And then there is the abomination of Fusion-based Visual C/C++ runtimes that have to be deployed with the application.  Ugh.  And, guess what?  There is NO REASON WHATSOEVER for the Fusion requirement.  In fact, the Fusion "requirement" is a complete lie.  The runtimes check for Fusion-capable OSes (2000 and later) but then never actually do anything Fusion-based whatsoever.  Removing Fusion is a one-byte change.  Fortunately, developers now have legal allowances from the U.S. Copyright Office to make small changes to binaries.  A literal two byte modification is the difference that keeps the VC++ runtimes from operating under Windows 95 and later.  That last sentence is hardly a complaint though but more of an observation that someone at Microsoft actually wrote code to intentionally cripple modern VC++ applications from running on older OSes.  It is a slap in the face of developers who WANT to target Windows 95 for whatever reason.  It isn't Microsoft's place to decide that developers can't target ridiculously outdated OSes.

Also, Microsoft deploys .NET through Windows Update but refuses to deploy the VC++ runtimes the same way so VC++ developers have to bundle the runtimes with their application but .NET developers do not have to bundle .NET.  Another slap in the face.

And it continues on:  Microsoft refuses to provide a C/C++ route on Windows Mobile 7.  Want to write programs?  You've got to use XNA Game Studio and learn C#.  {vomit}  I don't want to learn C#, Java, or any other crappy interpreted bytecode/scripting language.  Especially on mobile devices.  Got that?  Good.  The first mobile OS vendor for smartphones that provides a 100% NATIVE C/C++ interface - NOT the Android NDK, which still requires me to write Java - wins my development $$$ and time.

Here's the ironic kicker:  The important parts of .NET, Java, et al are written in...C/C++ and assembler.  In other words, even the authors of those languages admit that C/C++ is better.

I don't mind that Microsoft has .NET with one caveat:  As long as they don't treat us long-time developers who write C/C++ as second-class citizens, they can do whatever they want that they think they can make money off of.  However, this is NOT the case, so, as a C++ software developer, I feel like I've been slapped in the face a number of times and treated as a second-class citizen.  .NET is pointless.  Fusion is even more pointless.  There is no need for either technology and both should simply vanish.

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,153
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #47 on: November 16, 2010, 05:09 PM »
Can't really speak about the SxS implementation, as I haven't dived into it - but having the ability to have several versions of a component installed is A Good Thing(TM). Theoretically, components should stay backward binary compatible except when major-versions are relased - but that's not always done. And installing an older minor-version on top of a newer minor-version-but-same-major-version can cause trouble... but so can installing a newer component, if an application depended (willingly or not) on a bug in an older version!

Can't recall when I've been bitten by "DLL hell" except for a really old game that needed a really old msvcrt version, but I know there's a lot of crap software around. Never experienced SxS crapping out... but I can imagine it happens when people go messing with "cleaner" style applications or muck around in %SystemDir% without knowing what they're doing.

While I don't particularly enjoy MSI, you can't just compare it to linux package managers and say that the linux way is better - MSI offers a lot more flexibility. I haven't seen a linux package manager that lets you configure subcomponents of a package... if you'er offered any of that flexibility, either it's ports/portage-style compile-from-source, or you have to choose between several differently named packages - one package per featureset, ugh. Too bad MSI is so slow.

You mention Paint.NET.  Photoshop starts faster than Paint.NET.
-oldfogie
Perhaps if what you're comparing to is Photoshop 2, but definitely not the newer versions :)

.NET is interpreted bytecode - but without the decade or so of refinement that Java has.
-oldfogie
It's JIT'ed (and interpreted for the codepaths that don't make sense to JIT). .NET hasn't been around as long as java, sure, but it's not like .NET hasn't benefited from research done before it was invented. As for speed wrt. Java, you can be sure that supports of either language will be able to come up with syntehtic benchmarks beating the opponent - but in the real world, the Java apps I've used feel slow and clunky compared to the .NET apps I've used. The reason most probably being the GUI toolkits used rather than the core VM speed, though.

I can't name a single .NET application that is recognized by major publications that ordinary users might use beyond Paint.NET.  That's because they don't exist - even Stack Overflow can't seem to come up with a list beyond Paint.NET and Visual Studio.
-oldfogie
Probably because a lot of the end-user desktop apps in use are old codebases, and a lot of new development is done for the web platform. Rest assured that a lot of business development is being done i .net :)

I didn't see ANY benefits to learning a whole new language to discover new ways to crash software. We simply don't need a new language.
-oldfogie
While it might not be your impression, C# and the .NET platform definitely makes it faster to develop than C/C++, and definitely easier to avoid a lot of common crash opportunities. Especially people clinging on to C (and using the insecure libc functions) really shouldn't be doing any sort of networked code, please.

Oh, you're a C++ developer who wants to use the Ribbon interface?  Yeah, you get to wait a few months to do that while .NET developers get extra loving from us.
-oldfogie
Heh. The Ribbon was introduced to MFC first, and not added to .NET until 4.0... so come again :). Also, saying that C# isn't a "REAL" language is bullshit - it's a pretty damn fine language, even if the .NET framework isn't perfect.

If Microsoft had their way, they would only offer VC++ internally.
-oldfogie
And that's why they've spent an enormous amount of time doing a lot of VC++ specific features in VS2010? Riiiiight.

A literal two byte modification is the difference that keeps the VC++ runtimes from operating under Windows 95 and later.
-oldfogie
It takes more than that - there's imports for "recent OS" APIs, there's the PE header image/subsystem version fields, there's the loader config data section which Win9x barfs on, and iirc a couple of things more. But hey, you get the CRT sourcecode with Visual Studio... my biggest beef is that the recent linkers won't let you set an image version of 4, everything else is fixable.

Also, Microsoft deploys .NET through Windows Update but refuses to deploy the VC++ runtimes the same way so VC++ developers have to bundle the runtimes with their application but .NET developers do not have to bundle .NET.  Another slap in the face.
-oldfogie
I thought VC++ runtime updates were distributed through wupd as long as you use the recommended (MSI merge module) way of installing it? There's no proper way it can be done if you simply bundle the .DLLs in your own installer - sucks, but that's the way it is.

Microsoft refuses to provide a C/C++ route on Windows Mobile 7.
-oldfogie
Pretty much every phone company has One True Way to program their devices, and it's usually with a managed language. I think Symbian is one of the few exceptions?

Here's the ironic kicker:  The important parts of .NET, Java, et al are written in...C/C++ and assembler.  In other words, even the authors of those languages admit that C/C++ is better.
-oldfogie
Pretty minor parts, really - especially the assembly (*y, not *er). And yes, that is partly because there are performance-critical code pieces where it does make a difference - and partly because of the chicken-and-egg problem of doing a new language.

As much as I like C++, it's a super quirky language with a boatload of problems (language as well as standard libraries). C++0x came too late, and doesn't address all of the problems. There's definitely a need for a richer language than C++, and a more comprehensive standard library - C# and .NET class libraries are pretty decent (even if the .NET class libraries definitely aren't perfect). And it's a helluva lot easier using p/invoke than JNI when you need to dip into native code :)
- carpe noctem

widgewunner

  • Member
  • Joined in 2009
  • **
  • Posts: 93
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #48 on: November 17, 2010, 12:45 PM »
... Especially people clinging on to C (and using the insecure libc functions) really shouldn't be doing any sort of networked code, please. ...

You mean people writing such non-networked code as; Linux, Apache and PHP? (all of which are still "clinging" to straight C).

Truth is, C (and asm) simply can't be beat for systems level programming where size and speed (i.e. performance) really matter.

Eóin

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,401
    • View Profile
    • Donate to Member
Re: Why the aversion to .NET Frameworks?
« Reply #49 on: November 17, 2010, 03:21 PM »
Truth is, C (and asm) simply can't be beat for systems level programming where size and speed (i.e. performance) really matter.

Thanks to templates, C++ offers the compiler much more opportunities for generating optimized code than pure C. And much as I love Asm, it really has no place in systems programming, and in high performance computing the professional world uses Fortran.