Slashdot Mirror


Is .NET Relevant to Game Developers?

andrew stuart asks: "We've heard an awful lot about how .NET is the future and how .NET signals the end for COM based Windows development, but how far does this go? Is it really the end of COM? Will ALL Windows programming be done with .NET? What about games development? Will games be developed with .NET? If games aren't developed with .NET and Microsoft is killing COM, then what future for games development on Windows? Will there be DirectX for .NET?"

489 comments

  1. That Giant Sucking Sound... by ackthpt · · Score: 3, Insightful
    CLR produces slow code. A trend I observed decades ago appears thus: As hardware capability and processing speed advance, software takes advantage in ways previously unthinkable due to severe degradation of overall performance. Windows isn't fast, it also has overhead, loading up memory with libraries the session might reference. Put .net with it's CLR on top and you get the feeling you've been here before. Yes! It was when people complained how slow Java was.

    Well, it's pretty much the same thing. (And before that was UCSD Pascal and P-code) Interpreters don't have brute strength speed that assembler, or even earlier C++ had. Sure, they're quick for instantiating a zillion objects from an already loaded class, but are awful for anything doing heavy calculations. For heavy math/memory moving you'll need tighter native compiled code libraries, which I'm already finding to be a headache. That and unless your game runs in a browser, your players will have to have the .net Framework (~20 meg, of which I note 1.1 is now downloading on Microsoft update.)

    So what else does .net have to offer? This whole XML thing? Can't say I've ever considered that a necessity for game play. Maybe it'll allow the player to enjoy games which are Office compatible or such, doesn't seem relevant. I feel .net is not for game programmers, at least action games. Probably fine for strategy games which don't have to do a lot of iterating potential moves.

    Then again, maybe this explains the long delays for Star Wars: Galaxies and Duke Nukem Forever...

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 2, Insightful

      What utter nonsense. The CLR isn't that slow at all, and if you do find that you'd like to call a library written in another language, it's trivial to do that in .NET.

      Your argument sounds very like the "proofs" we were all given that games would always be written in asm, not in C++. Look at what tosh that is.

    2. Re:That Giant Sucking Sound... by scenic · · Score: 2, Interesting
      I thought the .NET framework allowed compiling down to native code?

      The bigger issue for game development is that memory management is turned over to the system, which takes a lot of control away from game developers... these are people that put inline assembly code to speed up certain sections...

      I'd be interested in the .NET experts out there to comment on the parent post. AFAIR, .NET's main disadvantage is the defering of resource management to runtime. Since you can compile it down, that part of the performance equation isn't so bad. that's IIRC. :)

      Sujal

      --

      politics, food, music, life: FatMixx

    3. Re:That Giant Sucking Sound... by disc-chord · · Score: 4, Informative

      The bigger issue for game development is that memory management is turned over to the system, which takes a lot of control away from game developers... these are people that put inline assembly code to speed up certain sections...

      Oh how I fear for anyone whose source of .NET information is /.

      The memory managment is not "turned over" to the system. There is an automagic Garbage Collector like Java, but you still have control if you don't want to wait for the automagic processes.

    4. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 5, Informative

      Wow have you even tried .NET? This entire slashdot article could have been eliminated with a quick google search.

      CLR doesn't produce slow code. It's NOTHING like when people complained how slow java was. That's because .NET isn't interpreted, but designed to be JITted. Heavy math is fast in C#, and made even faster since you have the option of STRUCTs! (we do plenty in our research work that involves computer vision.)

      It won't do MMX optimizations so far, at least not that I know, so that stuff is still done by hand. But DirectX 9 is basically 'DirectX.NET', and the .NET DX9 libraries give you 98% of the C++ performance. That isn't too bad now is it?
      Most of the stuff we've used in DX9.NET has been very fast, and using the simple interop with native code we've written plenty of MMX/SSE/SSEII optimized methods where we needed them.

      In addition to your game needing the .NET framework - that's only 20 megs. When most games nowadays are coming out on several CDs, installing the .NET framework isn't a big deal.

      What does this give a game developer? Plenty! Faster development of games with fewer crashes possibly, easier patching of games and auto-updating. Games are a different beast than commercial apps - you don't need versioning so much, you don't need XML, or rapid GUI development. But there's nothing wrong with writing a game in C#, it's just another language, and its plenty fast.

    5. Re:That Giant Sucking Sound... by salimma · · Score: 1
      players will have to have the .net Framework (~20 meg, of which I note 1.1 is now downloading on Microsoft update.)

      Just received my new computer and surprise surprise, it did not actually ship with .NET Framework, which I have had to install to run #Develop.

      Wish Microsoft bundles both Java and .NET - wasn't the whole reason why .NET does not come bundled yet, Microsoft's apprehension of being forced to bundle Java too?

      --
      Michel
      Fedora Project Contribut
    6. Re:That Giant Sucking Sound... by gammelby · · Score: 1
      It was when people complained how slow Java was.

      Well, it's pretty much the same thing. [...] Interpreters don't have brute strength speed that assembler, or even earlier C++ had. Sure, they're quick for instantiating a zillion objects from an already loaded class, but are awful for anything doing heavy calculations. For heavy math/memory moving you'll need tighter native compiled code libraries, which I'm already finding to be a headache

      No decent VMs are solely interpreter based - modern JITs perform comparable to C/C++ also under the conditions you mention. E.g., check out this C vs. Java comparison.

      /ulrik

    7. Re:That Giant Sucking Sound... by cygnusx · · Score: 1

      Wish Microsoft bundles both Java and .NET - wasn't the whole reason why .NET does not come bundled yet, Microsoft's apprehension of being forced to bundle Java too?

      The Windows Server 2003 release candidates all have the framework installed, along with updates to the framework.

      The framework is also a 'recommended download' on WindowsUpdate for Win2k computers (not sure about XP).

    8. Re:That Giant Sucking Sound... by ackthpt · · Score: 1
      Just received my new computer and surprise surprise, it did not actually ship with .NET Framework

      This was a bit of a shock when I installed XP Pro on my home system. Still fooling around with a 56K connection, downloading the .net framework (1.0) was an activity to plan around, i.e. start the download and go see a movie. Now for the joy of (1.1) I've downloaded it at work, and will look hopefully for an .MSI which I can just pop on a flashdisk and carry home, rather than go through that slow ~20+Meg download again.

      --

      A feeling of having made the same mistake before: Deja Foobar
    9. Re:That Giant Sucking Sound... by akadruid · · Score: 0, Redundant

      Very true. In the end like many things where there are multiple solutions to a problem, the one that is marketed the best will come to dominate.
      When you begin a new project, you have many factors influencing you choice of language, and there may be nothing that is exactly perfect, just choices between different strengths.
      A good design can make more difference than the difference between languages anyway.

      --
      "Those who cast the votes decide nothing; those who count the votes decide everything." (attrib. Joseph Stalin)
    10. Re:That Giant Sucking Sound... by danro · · Score: 1

      There is an automagic Garbage Collector like Java, but you still have control if you don't want to wait for the automagic processes.

      ...and just like in Java, that control is less than perfect.
      If I remember correctly there is, for example, no way to guarantee a destructor will run for a particular instance before it is recycled.

      Is this still true?

      --

      "First lesson," Jon said. "Stick them with the pointy end."
    11. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0
      The memory managment is not "turned over" to the system. There is an automagic Garbage Collector like Java, but you still have control if you don't want to wait for the automagic processes.

      Not exactly. In .NET you can release objects so that your own program can no longer access them in memory, but you still have to wait for the automatic garbage collection to really clean it up. You really have no true control over garbage collection in .NET; you can only influence it somewhat.

      Cleaning things up on your own in .NET as you describe is like putting your trash out on the curb: the trash is still taking up space on your property waiting for the garbage man, but your dog can't get at it any more.

    12. Re:That Giant Sucking Sound... by uradu · · Score: 2

      > ...and using the simple interop with native code...

      Aha, there's the rub. If you assume a pure .NET world, then performance is certainly adequate. But most of the world and much of the component libraries and legacy code currently in use are still mainly COM. Which means that for quite some time yet we will be living with Mr. interop.dll lurking around, along with the very considerable drop in performance that entails. I assume Microsoft is providing a native .NET version of DirectX, because otherwise you would be pining for the blazing performance of IDispatch in the good old days.

      That being said, I can't say I will miss COM too much. I think .NET offers many more benefits than downsides, but let's just kill legacy COM code ASAP if we're really going all out .NET.

    13. Re:That Giant Sucking Sound... by salimma · · Score: 1

      That's why I like Apple's Software Updater: it basically just download the package to a temporary directory, run it then delete the file - but since OS 10.2 (I think) there is an option to download the file to your desktop; that way it stays there after installation.

      --
      Michel
      Fedora Project Contribut
    14. Re:That Giant Sucking Sound... by Caoch93 · · Score: 5, Informative
      ...and just like in Java, that control is less than perfect.

      On the contrary, you have zero memory control in Java unless you use Java objects as JNI wrappers and then do all your memory managment in C. Alternately, you can use JVMPI to trap memory allocs and deallocs and try to control things that way. Or you find a VM that lets you tune and reprogram GC behavior. All objects in Java are subject to the GC. In .NET, there is some support for hand-managed memory, though attempts to limit it exist.

      If I remember correctly there is, for example, no way to guarantee a destructor will run for a particular instance before it is recycled. Is this still true?

      It was never true. You're guaranteed that finalize() will run on an object before it is removed from memory. What you're not guaranteed is that the object will ever be the target of a collection, meaning finalize() might never run. Additionally, it's impossible to know at what point in time after the running of finalize() (if ever) the object will actually be taken out of memory.

    15. Re:That Giant Sucking Sound... by sebmol · · Score: 0

      Destructors will be run for every instance that is created. The only thing that's not determined is at what time that happens. It just is guaranteed to happen before your program terminates.

      --
      "Light is faster than sound." - "Is that why people tend to look bright until you hear them speak?"
    16. Re:That Giant Sucking Sound... by salimma · · Score: 1
      The framework is also a 'recommended download' on WindowsUpdate for Win2k computers (not sure about XP).

      Funnily enough, it's not there. Maybe they are pitching XP more at home users? Funny considering my copy is actually XP Professional...

      --
      Michel
      Fedora Project Contribut
    17. Re:That Giant Sucking Sound... by johnnliu · · Score: 4, Informative

      I'm curious how ask slashdot has become a free goole answers service... The person asking the question should really do some research first.

      Some comments here:

      1. Is it really the end of COM?

      We (any .NET developer) hope so! But alas, I don't think the time has come yet.

      2. Will ALL Windows programming be done with .NET?

      Sure, you can do the hard core stuff in [Unsafe] C#/C++, leave the rest in .NET. What's wrong with that? Honestly you don't need to optimize some part of the application, like the start-up screens or the options dialogue.

      3. DirectX is already available for .NET. Check DirectX 9 SDK, you can use it with C#, VB.NET, etc. There are sample projects everywhere.

      4. .NET Framework allows compiling down to native code, there is a .NET framework tool "ngen.exe" which generates a native image of your CLR assembly down to native code for YOUR machine - it will optimize for the particular processor. This is kept in the cache on the particular machine.

      5. I personally think it's down to what game you are planning to write. If you want to do Doom III in .NET, you'll probably have to wait till computers with 5GHz processors and 2GB memory are common. Then again, everybody will agree with me that certain games just have to be written the hardcore C/C++ way. So what's the point of the question?

      6. Summary:

      If you are referring to using DirectX 9 with .NET like you do with Direct8 with C++ via COM interfaces, I think they are equally good, may be a bit slower due to the overheads.

      If you want to do stuff like Diablo/Starcraft in .NET - as long as the user has sufficient memory I don't see why you can't.

      Don't do Doom III in .NET please.


      jliu

    18. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1
      Not exactly. In .NET you can release objects so that your own program can no longer access them in memory, but you still have to wait for the automatic garbage collection to really clean it up. You really have no true control over garbage collection in .NET; you can only influence it somewhat.

      Even when you do raw pointer manipulation in an an unsafe block of code? I thought that the point of pinned pointers and the "unsafe" keyword in C# was so that you could engage in direct memory managment in limited scopes. Pointer pins keep the GC from moving your stuff around and the unsafe block turns off the manager for local scopes, no? So, shouldn't this allow you to hand-manage some memory?

    19. Re:That Giant Sucking Sound... by barnsleyBigUn · · Score: 1

      Destructors will be called for all objects created (one of the main tenants of GC)...

      However, if you wrap a code block in a "using" directive .NET will clean up at the end of that block.

      e.g.

      using(SqlConnection conn = new SqlConnection(dbinfo))
      {
      do db stuff
      } // connection is cleaned and recycled

    20. Re:That Giant Sucking Sound... by arkanes · · Score: 2, Informative
      .NET does NOT allow compiling to native code. What you can do is compile your assembly to a Win32 executable ( a clever little hack that stores the bytecode and a stubloader for the framework). This confuses some people (since you get app.exe, they think it's native code - it's not).

      As for memory management - as one of the other posters said, you can take control of the GC, but you really mess with it when you do this. - "fixed" blocks prevent the GC from moving chuncks, which really messes with it's performance.

      If you use managed C++ rather than a pure .NET solution, you can get some of the benefits of the (very nifty) standard library, but still have your important code running unmanaged. However, I don't really see any gain to this. .NET is a good framework (and I hate MS...), it's like Java but with 10 years of watching all the things Java did wrong, but the areas where it really helps aren't worth the tradeoff for game developers.

      It's good for server programs (like J2EE) because of the managed code - less chance for security flaws and harder to take advantage of them if they do exist. It's even okay for plain old application development (the GUI is noticably worse than compiled code, but it's better than Java [under Windows]). But a 3d engine needs the low level control that native code allows.

    21. Re:That Giant Sucking Sound... by Tattva · · Score: 3, Informative
      The Finalize method, or destructor, will execute in most situations. MS in the .NET beta said finalizer methods of remaining objects would not necessarily execute upon process shutdown. They have ammended this in the release to say that if the finalize process (of every leftover object) upon process shutdown takes longer than 40 seconds, finalization will be terminated and any remaining objects will not be finalized.

      That said, "Finalize" in Java and destructors in C# aren't particularly useful. You can't be sure that any managed objects you reference are available during this period, and if you have any unmanaged resources left over, the destructor is a suboptimal place to clean them up, for the 40 second rule and due to the unpredictable time the garbage collector will call these methods. Better to implement IDisposable interface with its "Dispose" method, and provide a "Close" method that calls "Dispose". This give the user more control of cleanup of system resources, but still provides a minimum level of protection for users who fail to protect themselves, since you can fall back on the finalizer if "Dispose" is never called.

      --
      personal attacks hurt, especially when deserved
    22. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      ask slashdot has been around longer than google.

    23. Re:That Giant Sucking Sound... by ergo98 · · Score: 1

      The memory managment is not "turned over" to the system. There is an automagic Garbage Collector like Java, but you still have control if you don't want to wait for the automagic processes.

      True but not true. You can explicitly "free" your objects, and you can politely request a garbage collection via gc.Collect(), however neither guarantees that all released objects will be collected and the memory released, and gc.Collect really is just a polite suggestion.

    24. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 1, Funny

      "It's NOTHING like when people complained how slow java was"

      Yeah. The difference for me was that the non-native Java gui on my Cyrix P-133+ with 16 MB of RAM was at least 4 times as slow as VB.Net on my P4 2.4 GHz with 512 MB RAM.

    25. Re:That Giant Sucking Sound... by jhamm_ccs · · Score: 2, Informative

      You actually _CAN_ compile C# to native code at deployment time. C# has a nice utility named ngen which will essentially run the JIT and store the compiled code as a native image. While you still have the performance overhead of running in a managed environment, this does reduce the loading time significantly.

    26. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1
      Yes, but what about the options in C# that allow you to work with pointers? Isn't raw memory managment the reason for the "unsafe" keyword?

      According to ECMA-334, unsafe code is "code that is permitted to perform such lower-level operations as declaring and operating on pointers, performing conversions between pointers and integral types, and taking the address of variables. Such operations provide functionality such as permitting interfacing with the underlying operating system, accessing a memory-mapped device, or implementing a time-critical algorithm."

      Surely one is allowed to engage in one's own memory managment in unsafe code blocks without the GC's "help."

    27. Re:That Giant Sucking Sound... by tomgilder · · Score: 1

      Wish Microsoft bundles both Java and .NET - wasn't the whole reason why .NET does not come bundled yet, Microsoft's apprehension of being forced to bundle Java too?

      The .NET Framework came on my XP SP1 CD, but isn't installed by default. You have to hunt to find it a bit :)

    28. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      ^Troll

    29. Re:That Giant Sucking Sound... by Bake · · Score: 1

      You mention that heavy math is fast in C#, perhaps you can answer me this (I've googled all over and found nothing that answers it)...

      Is there any form of support for big numbers in C#? Something like BigInteger in Java perhaps? The largest I've found is unsigned long, which is not all that big when dealing with numbers like 2^4092 and really huge numbers like that.

    30. Re:That Giant Sucking Sound... by Tony+Hoyle · · Score: 2, Insightful

      The CLR is really very slow. When I first came across it at an MSDN demo they were running it on really fast machines and it still obviously dragged on the simple app they were writing. I've got the misfortune of having to do some stuff in it (mostly a frontend to the C++ backend because we *need* speed) and I'd estimate it goes between 10 and 20 times slower than native code (~5 seconds to generate a single web page on a Dual P4).

    31. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      >In addition to your game needing the .NET framework - that's only 20 megs. When most games nowadays are coming out on several CDs, installing the .NET framework isn't a big deal.

      Installing .NET is a big deal. When Joe Sixpack has to download .NET from MS over his slower-than-mollasses dial-up connection, it'll make him think twice about this game. Not everyone has high-speed internet. In fact, I would be willing to be that most people still have dial up. 20 megs over dial up takes hours (I would know, I did it for a stupid 5 meg app that never worked). The computing world is moving from a

      slow computer, slow internet, and little storage to a

      fast computer, fast internet, and wads of storage and

      no one seems to care any more. Back in the day, programs were made to run mean and lean; now when you make a program, there are at least 5 different things running below your program. While having a few safety checks going on below your program are good, you don't need a JIT or a CLR or a whole damn framework that takes up a 20 Meg installer and supposedly 1GB of hard disk space. There are established protocols that exist for communicating between devices. There are protocols for web traffic. Why do we have to re-invent the wheel so we can send our date book across the web? use the iCal format.

    32. Re:That Giant Sucking Sound... by nightcrawler77 · · Score: 2, Informative

      The JIT compiler in the CLR generates native code as its needed. It's true, there is a delay once a new code path is executed, but following JIT compilation, the native code version is executed thereafter.

      For web pages, there is a signifcant delay when a page is hit for the first time. ASP.NET needs to cache the .ASPX file in a temp folder, generate the code and then JIT it. After that, you're back to running directly from native code.

      --

      "Power corrupts, and absolute power corrupts absolutely." -- Lord Acton

    33. Re:That Giant Sucking Sound... by mrlpz · · Score: 1

      You actually believe that tripe ? It was posted by an AC for crimony sakes !!!

    34. Re:That Giant Sucking Sound... by e2d2 · · Score: 1

      And to add: If one uses Interop within .Net you expose yourself to the same problems inherit in COM, with buffer overflows being the most dangerous. Interop code is run as "unsafe", meaning memory allocation and deallocation is up to the developer. So while you can write DirectX applications in .Net, the memory handling/garbage collection features of the CLR are not available when Interoping with COM code. You must clean up after yourself. Nothing new for game developers but it must be considered.

      But I suspect .Net interop with DirectX will allows those of us that aren't C++ gurus to use a 3D interface. I think those coming from a Java background will be pleased at how quickly they can get up to speed with C#/.Net and DirectX9.

    35. Re:That Giant Sucking Sound... by nightcrawler77 · · Score: 4, Insightful

      I hear a lot of complaints about the lack of deterministic finalization, but I really have to wonder why people care so much about when the memory is actually freed for a particular object.

      Most complaints center around the fact that you don't know when your destructor is going to execute. That's a valid concern, but there is nothing that really separates a destructor from a regular method. If you have some clean-up that needs to happen, put it into a Dispose() method and call it yourself. Pretty simple.

      "But the memory isn't freed after I call Dispose()!"...who cares? Just let go of your reference and let the GC handle it. You've executed your cleanup code, so why do you care that there is a block of memory out there that you can't even see that's still allocated? It's not going to leak, so just let the GC do it's job.

      --

      "Power corrupts, and absolute power corrupts absolutely." -- Lord Acton

    36. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      It's also not possible to temporarily turn off the garbage collector -- so much for real-time. Gamers are gonna love that.

    37. Re:That Giant Sucking Sound... by MillionthMonkey · · Score: 1

      That said, "Finalize" in Java and destructors in C# aren't particularly useful. You can't be sure that any managed objects you reference are available during this period, and if you have any unmanaged resources left over, the destructor is a suboptimal place to clean them up, for the 40 second rule and due to the unpredictable time the garbage collector will call these methods.

      The only use I've found for Java's finalize() is overriding it on expensive "hub" objects (which have lots of references and are referenced frequently by other code). The garbage collector thread prints a little note to the console in our nonrelease version. That way if the QA guys never see it after those objects are expected to leave scope, we're tipped off to a possible memory leak.

      Although you'd be surprised by how late they show up. Much later than you would think. I wouldn't use finalization for anything more important than diagnostics. People also use them as a failsafe for resource recovery, but even that is dangerous if the failsafe is silently doing resource recovery for you during development and testing. You can mask bugs that way if you're not careful.

    38. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      Why is that any different than using the Windows Update site...downloading ~20meg through a 56K modem is the same no matter what operating system you use.

    39. Re:That Giant Sucking Sound... by DoXaVG · · Score: 1

      5. I personally think it's down to what game you are planning to write. If you want to do Doom III in .NET, you'll probably have to wait till computers with 5GHz processors and 2GB memory are common. Then again, everybody will agree with me that certain games just have to be written the hardcore C/C++ way. So what's the point of the question?
      So, uhhh this would be like next year right? Sounds reasonable to me seeing as it's gonna take that long at least to write the code :) --Dox

    40. Re:That Giant Sucking Sound... by mysterious_mark · · Score: 1

      Not quite, you have reference objects, a concurrent garbage collection in the latest VM, but I understand it easiert to slander Java tehn to learn the details of it. MM

    41. Re:That Giant Sucking Sound... by Caoch93 · · Score: 4, Interesting
      I hear a lot of complaints about the lack of deterministic finalization, but I really have to wonder why people care so much about when the memory is actually freed for a particular object.

      Technically, you're talking about two different things. Finalization is the "end of lifecycle" processing of an object, beyond which the object becomes semantically meaningless. Removal from memory of the "dead bytes" of that object is something different. The reason people often complain about deterministic finalization is because, without it, you have no control over when the object's cleanup happens. You know you don't need that object anymore, but you can't actually get rid of it. That can be annoying, especially if you come from a C or C++ background and are very much accostumed to being able to control everything.

      Being able to control finalization and memory frees (which are technically not coupled in Java or .NET memory managed code) can also be really important when you're either in a small memory space (J2ME) or you're writing server software like a J2EE container. The reason why is because, bascially, you're replacing your intimate knowledge of your own software with some best-guess heuristics. There's little I know of that's worse than a thrashing GC, and this can be avoided if you can micromanage memory collection to happen at more opportune times. Some JVMs (Sun's, most notably) allow you to tune their GCs to help prevent this through a control of the amount of memory given to objects of different ages. This can be quite helpful in performance tuning.

      If you have some clean-up that needs to happen, put it into a Dispose() method and call it yourself. Pretty simple.

      I don't know enough about .NET to comment, but if there's an interface you can implement to provide uniformity in the call and use of that method, that's great. Java, AFAIK, has no such interface, so hand-made deterministic cleanup is idiosyncratic. That's okay, but it's not ideal. What's more, though, let me ask you this- in some large middleware or object framework following your idea, what guarantee is there that your disposal method won't accidentally get called twice? This could lead to indeterminate states in the system that aren't immediately understood, since there's no check against that implicit. At least with a C++ destructor, destroying the object guarantees that further use of the object is impossible. No such guarantee is available with homespun management. Yes, the roll-your-own you're describing is good enough, but that doesn't mean it's without flaw.

      ...who cares? Just let go of your reference and let the GC handle it. You've executed your cleanup code, so why do you care that there is a block of memory out there that you can't even see that's still allocated? It's not going to leak, so just let the GC do it's job.

      Maybe, but again, think about situations where you're trying to minimize memory use. Deterministic destruction makes memory immediately available again. You can put a new object in that freshly freed memory. With a GC, that may not be possible. Thus, I dispose() my object, which scrubs it clean, then I throw it to the wolves...only they're not hungry just yet. I go to make a new object, and that memory isn't available. On most systems, this will force the GC to mark the dereferenced object's memory as fair game, yes, so this isn't a big big deal, but the decoupling described can lead to ickiness. Also, as I mentioned, having memory deallocation occur synchronously to my call to a destructor means the GC will never thrash. GC thrashing seriously slows a program down, and after thrashing and thrashing, it still might not have the memory you're looking for (for various reasons).

      In my experience, the loss of control that results from being in a GC environment is neither as big a deal as its oponents make it out to be, nor is it as little a deal as its proponents make it out

    42. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      Excuse me if I'm missing something, I've neither the time or inclination to read the entire EULA, but couldn't we say the same thing about DirectX? Leaving aside some potential so-far-unnoticed clause in the license, I'm betting the day people start writing games in .NET is the day people start putting the .NET runtime installer on Game CDs.

      Well, OK, the day people who write games in .NET /go gold/ is the day that... but still...

      Yeah, yeah, people are building software that takes advantage of the state of technology rather than pretending it's still 1969 and ever byte is precious, and yeah, it's not necessarily a good thing, things could be a bit tighter... but I'd prefer to play a good game [that works] /now/ than wait another six months for that same game that could easily run on the computer I had three years ago. ;-P

    43. Re:That Giant Sucking Sound... by frank_adrian314159 · · Score: 1
      That said, "Finalize" in Java and destructors in C# aren't particularly useful. You can't be sure that any managed objects you reference are available during this period, and if you have any unmanaged resources left over, the destructor is a suboptimal place to clean them up, for the 40 second rule and due to the unpredictable time the garbage collector will call these methods. Better to implement IDisposable interface with its "Dispose" method, and provide a "Close" method that calls "Dispose". This give the user more control of cleanup of system resources, but still provides a minimum level of protection for users who fail to protect themselves, since you can fall back on the finalizer if "Dispose" is never called.

      After reading this I just have to think how much time we in the computer industry waste continuing to re-invent (and retrain people for) the wheel. Gosh! Nothing like teaching people something that was learned 25 years ago when Smalltalk designers realized this and 35 years after Lisp systems designers did! Do people ever look at legacy systems to figure out how to wisely use these "new fangled" features like GC? Obviously not...

      --
      That is all.
    44. Re:That Giant Sucking Sound... by geekoid · · Score: 1

      I was at a lanch event and they were going on about the niftyness of the new version of COM++

      Properly done, DOOMIII would run fine in .net. you might have to hand hold certian operations, but it an certianly be done and not need a huge processor and memory jump.

      What they would have to do is force an instance of the game at the end of the install, so it would be in 'cache' already.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    45. Re:That Giant Sucking Sound... by ADRA · · Score: 3, Interesting

      The main difference between the ASM->C/C++ and C/C++ -> .NET leap is that the .NET cdoe cannot be tracked down to efficeincy buy looking at it. A skilled C++ programmer will know the weight of the commands they call, and in a lot of cases, optimize the code to be close to ASM levels of performance most of the time. .NET has no to-hardware pass-through by design which means optimization lay in the jit-type area where programmers cannot control performance.

      About your first statement, the only (slight) adcantage that your first statement means is that instead of having an in-game scripting language in your game, you could compile a real scripting engine into your code. Otherwise, there is no use for cross-language games programming.

      Porttability hasn't been touched yet. Does anyone think this would help games development to other platforms???

      --
      Bye!
    46. Re:That Giant Sucking Sound... by wwalker98 · · Score: 1

      This reminds me of the old LISP addage: A LISP programmer knows the value of everything but the cost of nothing.

    47. Re:That Giant Sucking Sound... by arkanes · · Score: 1
      It's still not really native code. It's basically a cache of the JITed assembly (the framework actually stores this stuff for you, so you don't need to re-JIT your assemblies every time you run them).

      In the context of the discussion, "compilation to native code" means "running against the natice API" rather than in the VM.

    48. Re:That Giant Sucking Sound... by arkanes · · Score: 1
      It's intentionally awkward. You can do it if you really need to (like if you're interfacing with a native library and need to pass it a pointer) but it can seriously affect the performance of the GC. It's done like this:

      fixed (pointer) {
      //inside this block, pointer will always be in the same memory location
      }
      //afterward, it's back to the GC
      You could just wrap everything in a fixed block, but thats silly. Getting away from wanting to do that is important (and I'm coming from C++, so it's hard for me to do to :P)
    49. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1

      Oh, I know that dodging fixed pointers, pinned stuff, and blocks of unsafe code is a drain on the runtime. I wouldn't do it if I didn't need to. I'm pointing out, though, that the option to do so exists, so there is some degree of manual memory management in .NET and it's not 100% dominated by the GC.

    50. Re:That Giant Sucking Sound... by antiher0 · · Score: 1

      Actually, I imagine that the .Net Framework will install just after the DirectX 9 update. Especially considering that MS has provided a redistributable runtime for developers. Subject to the licensing agreements for the SDK, I don't see any reason why this couldn't be tacked on to the end of the install like the DirectX9 runtime installer.

    51. Re:That Giant Sucking Sound... by pyrrho · · Score: 1

      "ask slashdot" is not about getting at free or even a good answer. It's not about getting the right answer.

      It's to find out what slashdot thinks. Feel free to point and laugh if you like.

      --

      -pyrrho

    52. Re:That Giant Sucking Sound... by Baki · · Score: 2, Informative

      .NET is NOT faster than Java. Those who claim it is have only been listening to MSFT marketing and/or not tried for themselves. Have YOU even tried a Java version from the past 2 years?

      I have (benchmarking is one of my hobbies :) ) and in average Java was 30% faster than C#. Both are pretty decent however, compared to native code (which is about twice as fast). Note I have been measuring pure language + JIT + VM speed, not the libraries. Java's standard libraries are better than .NET, which is only logical given .NET is still quite new.

      Java once was quite slow but since Java2 and also the last JRE 1.4 there have been huge improvements in the JIT. However many browsers still contain ancient JRE versions, and also the "native" Java GUI (AWT) is not very good/fast. Using another GUI toolkit removes this problem.

      Garbage collection can cause some slowness in both C# and Java, but if one takes care and does not use unnecessarily big amounts of instance (i.e. use object recycling) one can avoid this.

    53. Re:That Giant Sucking Sound... by jerdenn · · Score: 1
      I don't know enough about .NET to comment, but if there's an interface you can implement to provide uniformity in the call and use of that method, that's great. Java, AFAIK, has no such interface, so hand-made deterministic cleanup is idiosyncratic. That's okay, but it's not ideal. What's more, though, let me ask you this- in some large middleware or object framework following your idea, what guarantee is there that your disposal method won't accidentally get called twice? This could lead to indeterminate states in the system that aren't immediately understood, since there's no check against that implicit. At least with a C++ destructor, destroying the object guarantees that further use of the object is impossible. No such guarantee is available with homespun management. Yes, the roll-your-own you're describing is good enough, but that doesn't mean it's without flaw.

      .NET encourages the implementation of the framework's IDisposable interface for objects that will implement the .Dispose() pattern. There is also some syntactical sugar in the C# language that allows for the guaranteed calling of .Dispose() on an object by initiating the object with the using() construct like so:

      using( MyObject m = new MyObject() ) {

      // go ahead and reference m all you'd like

      } // dispose will be automatically called on m
      // if it implements the IDisposable interface.
      // It will also be called
      // by the runtime if an exception is thrown,
      // before the exception is thrown up the call
      // stack.

      As far as addressing the calling of Dispose() multiple times, it's pretty trivial to make certain that your cleanup only happens once, regardless of the number of times the method is called. This is covered pretty well in Jeffrey Richter's book, Applied .NET Framework Programming.

      -jerdenn

    54. Re:That Giant Sucking Sound... by Keeper · · Score: 1

      I don't know enough about .NET to comment, but if there's an interface you can implement to provide uniformity in the call and use of that method, that's great. Java, AFAIK, has no such interface, so hand-made deterministic cleanup is idiosyncratic. That's okay, but it's not ideal. What's more, though, let me ask you this- in some large middleware or object framework following your idea, what guarantee is there that your disposal method won't accidentally get called twice? This could lead to indeterminate states in the system that aren't immediately understood, since there's no check against that implicit. At least with a C++ destructor, destroying the object guarantees that further use of the object is impossible. No such guarantee is available with homespun management. Yes, the roll-your-own you're describing is good enough, but that doesn't mean it's without flaw.

      Have your object implement the IDisposable interface to spec and override the finalize method. Call .Dispose when you want to get rid of your resources. Calling .Dispose multiple times should be harmless.

      Maybe, but again, think about situations where you're trying to minimize memory use. Deterministic destruction makes memory immediately available again. You can put a new object in that freshly freed memory. With a GC, that may not be possible. Thus, I dispose() my object, which scrubs it clean, then I throw it to the wolves...only they're not hungry just yet. I go to make a new object, and that memory isn't [...]

      Having a garbage collector means you don't have to care about memory management and optimization. In fact, odds are that the memory management code can do a better job of optimizing memory usage than your own code can. It can compress the memory store when things get tight (something very difficult to do with unmanaged code), but when things arn't tight it doesn't have to waste time constantly allocating/releasing tiny blocks of memory.

      On top of that, if you *really* don't like the gargabe collector you get by default, you can roll your own and create an instance of the managed runtime that uses YOUR garbage collector.

      If you're in the corner case where you've got a small of memory to work with and you're trashing the GC, then yeah, writing an app in managed code is NOT a great idea. On a modern computer it isn't an issue.

    55. Re:That Giant Sucking Sound... by tshak · · Score: 1

      AFAIK Int64 is as big as it get's in C# (although I don't work with large numbers). Check out this article for the handling of really large numbers(http://www.codeproject.com/csharp/BigInteg er.asp)

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    56. Re:That Giant Sucking Sound... by juggleboy · · Score: 2, Insightful
      3. DirectX is already available for .NET. Check DirectX 9 SDK [microsoft.com], you can use it with C#, VB.NET, etc. There are sample projects everywhere.

      Also available is DirectX for for Visual Basic. Yet for some reason I don't see many Visual Basic games being released.

      If you want to do stuff like Diablo/Starcraft in .NET - as long as the user has sufficient memory I don't see why you can't.

      On the other hand, if you could code your Diablo/Starcraft clone in C++ and halve the system requirements, why on earth would you dream of coding it in .NET?

    57. Re:That Giant Sucking Sound... by Gnulix · · Score: 1

      There are sample projects everywhere.

      You liar! I looked all over my appartment, couldn't find a single .net project!

    58. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1
      Having a garbage collector means you don't have to care about memory management and optimization. In fact, odds are that the memory management code can do a better job of optimizing memory usage than your own code can.

      Generally speaking, yes, I agree with you, especially when talking about application software.

      It can compress the memory store when things get tight (something very difficult to do with unmanaged code), but when things arn't tight it doesn't have to waste time constantly allocating/releasing tiny blocks of memory.

      Also agreed. You definitely have the benefits of GC down pat. I wouldn't disagree.

      If you're in the corner case where you've got a small of memory to work with and you're trashing the GC, then yeah, writing an app in managed code is NOT a great idea. On a modern computer it isn't an issue.

      Modern doesn't mean you're not in a "corner case", though. Memory-intensive software in a large memory space is a "corner case", and an increasing number of "modern" applications are appearing on embedded systems with extremely limited memory.

    59. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1

      Appreciated! The majority of what I know about .NET comes from reading ECMA-335, as I'm interested in the runtime internals more than anything else, and I don't know nearly as much about programming with, say, C#.

    60. Re:That Giant Sucking Sound... by Slack3r78 · · Score: 1
      Properly done, DOOMIII would run fine in .net. you might have to hand hold certian operations, but it an certianly be done and not need a huge processor and memory jump.
      Except that Carmack is an OpenGL fan, so the whole .NET thing is kinda irellevant. ;) In all seriousness, I really am hoping all of this does help drive developers back towards OpenGL. Open Standards == Good. And for the record, I've worked with both DX and OGL, and by far prefer OGL, so it's not just a blind /. pushing of standards, that's just an added bonus.
    61. Re:That Giant Sucking Sound... by Keeper · · Score: 1

      Modern doesn't mean you're not in a "corner case", though. Memory-intensive software in a large memory space is a "corner case", and an increasing number of "modern" applications are appearing on embedded systems with extremely limited memory.

      Embedded systems aren't an issue, at least for now. It isn't practicle to write .NET code for a system that can't execute it. :) I should have been more clear and said "modern windows pc" and not "modern computer."

      What I'm basically getting at is that most people seem to hate garbage collection because they lose control over stuff. The thing is, that loss of control doesn't matter 99% of the time. And for that 1% of the time it matters, you can still do it the old way. And the net result is that it makes life as a programmer much easier and leads to more stable applications.

      Anyway, that's my 2c plus some change. :)

    62. Re:That Giant Sucking Sound... by yomegaman · · Score: 1

      If it really stores the output of the JIT compiler as claimed, then I don't see why you'd need the VM to run it. What would be the difference between such an executable and one that used MFC, for example? Neither have direct calls to the Windows API in their source code AFAIK, but I would call both of them 'native' executables.

      --
      ...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
    63. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      If .NET is so fast, why do the license agreements for critical hotfixes contain the clause "You may not disclose the results of any benchmark test of the .NET without Microsoft's prior written approval"?

    64. Re:That Giant Sucking Sound... by spongman · · Score: 1
      In the context of the discussion, "compilation to native code" means "running against the natice API" rather than in the VM.
      eh?

      "native code" is an x86 instruction stream. There's no such thing as "the native API", unless you're talking about writing to hardware. Calling kernel32.dll!GlobalAlloc is no more native than new Object. Sure, they do different things, but they're just addresses of code you jump to.

    65. Re:That Giant Sucking Sound... by spongman · · Score: 1
    66. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1
      I agree in the general case to what you're saying. I myself have been a fan of a runtime garbage collector managing all memory activities for a while now. What I do believe, though, is that that's not an end-all answer, either. Yes, it is for applications development on a desktop PC where memory use isn't generally a problem.

      But let's skip .NET for a second and look at what people are doing with Java. JBoss, an open source J2EE server, is a massive application (when you're using all the J2EE stuff, anyway). There's a constant concern on their developers list about "thrashing", a state where the garbage collector's activity, no matter how frequent, doesn't satisfy memory needs. Memory reclamation and allocation for short-term use are just that coincidentaly. I can't help but feel that situations like this could be better alleviated if some sort of just-in-time memory recycling were possible. This is what I was alluding to when I talked about future runtime environments and the possibility of allowing programmers to decide how much involvement the GC has.

      Again, I agree totally that, most of the time and for most cases, living under the GC is a Good Thing. I disagree with your 99%/1% comparison, though, because that depends entirely on what you're writing and for what kind of system. I'm talking in generalities. I'm not talking about just in .NET.

    67. Re:That Giant Sucking Sound... by antoy · · Score: 1

      Also, as I mentioned, having memory deallocation occur synchronously to my call to a destructor means the GC will never thrash

      It is possible to explicitly cause a garbage collection at any time (using System.GC.Collect). Calling this after each dereferencing is major overkill but a game written in .net should do that periodically in its idle periods to prevent thrashing. That is an extra step that seems to be required if you want smooth operation as needed in games.

    68. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      lol

    69. Re:That Giant Sucking Sound... by Keeper · · Score: 1

      Again, I agree totally that, most of the time and for most cases, living under the GC is a Good Thing. I disagree with your 99%/1% comparison, though, because that depends entirely on what you're writing and for what kind of system. I'm talking in generalities. I'm not talking about just in .NET.

      I tend to view things from what kind of development work that I do, and that does not include web app development -- from the perspective you're looking at things from, thrashing the gc is probably a more frequent problem. ;)

      Unfortunately, nothing is perfect.

    70. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1
      I tend to view things from what kind of development work that I do, and that does not include web app development -- from the perspective you're looking at things from, thrashing the gc is probably a more frequent problem. ;)

      Actually, what I'm looking at isn't web apps. It's application servers. Those are even more memory intensive. Memory issues and GC thrashing really show up on any large project I've seen. Even something that doesn't look big, like an IDE, can have this problem. I've written literally dozens of apps and lightweight frameworks that never worry about memory management, though.

      Unfortunately, nothing is perfect.

      Bah. Perfection is overrated and boring. If things were already perfect, I'd never get to think about how I could make stuff better. ;)

    71. Re:That Giant Sucking Sound... by Caoch93 · · Score: 1

      Does the call to System.GC.Collect block until completion of the GC's deallocation run, or does it just heavily prioritize the GC and return right away? I'm just curious.

    72. Re:That Giant Sucking Sound... by foxed · · Score: 1

      Microsoft designed in the IDisposable interface, give examples of how to use it, and use it in their own library.

      Seems like a fair attempt to teach people and figure out how to use GC wisely to me.

    73. Re:That Giant Sucking Sound... by mazor · · Score: 1
      If I remember correctly there is, for example, no way to guarantee a destructor will run for a particular instance before it is recycled.

      There are no destructors in .NET. There are finalizers, which are guaranteed to be executed sometime after the object is no longer in use, but the restrictions on what you can do in a finalizer and the costs of having one on a type are pretty high.

      With the exception of closing file handles, most of what destructors do in the unmanaged world is no longer needed in the managed world. File handles (and other unmanaged resource releasing) is taken care of by the IDisposeable pattern.

      --mazor

    74. Re:That Giant Sucking Sound... by mazor · · Score: 1
      Wrong.

      .NET JIT'd code is 100% native machine code running on the host processor in the host processor's naive instruction set. The first time a routine is executed, the JIT'r jumps in and compiles the bytecode down to machine code. The next time the routine is called, it's already in machine code.

      It doesn't get any more 'native' than that. You want "native API calls"? You can, through the P/Invoke mechanism. You declare what external DLL function you want to call, and at JIT time the JIT compiler codegens a native call to the external DLL, all in native instructions.

      --mazor

    75. Re:That Giant Sucking Sound... by antoy · · Score: 1

      I'm not sure, but since GC always runs in the background I guess it just kickstarts GC and returns immediately.

    76. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      reindexing MSDN on slashdot, what a fucking accomplishment mister super hacker uber fucker NET zealot fag. Hi there kiddie fuckfag!

    77. Re:That Giant Sucking Sound... by Anonymous Coward · · Score: 0

      Elmer FUD at it again.

    78. Re:That Giant Sucking Sound... by Dossy · · Score: 1
      "But the memory isn't freed after I call Dispose()!"...who cares? Just let go of your reference and let the GC handle it. You've executed your cleanup code, so why do you care that there is a block of memory out there that you can't even see that's still allocated? It's not going to leak, so just let the GC do it's job.

      I hope developers with attitudes like the one expressed above are never allowed to work on hard realtime systems.

      "Why is the airplane plummeting towards the ground?"

      "Oh, the flight control subsystem is busy GC'ing all the freed objects ... flight control will resume in a few seconds ..."

      God help us all.

      -- Dossy

    79. Re:That Giant Sucking Sound... by nightcrawler77 · · Score: 1

      You know what, you're right. I don't work on realtime systems. I do internal software development to automate business processes.

      There's a large difference there and I think that a good developer is able to decide when to use a GC'ed environment like Java or .NET, and when to use a more low-level manual environment like C or assembly.

      "Why can't I bring up this customer's account record?"

      "Oh, we wrote the code in assembly. Object-oriented? Flexibility? Ability to make rapid design changes? We laugh at those things! Bwahahaha!"

      --

      "Power corrupts, and absolute power corrupts absolutely." -- Lord Acton

  2. Dotnet won't rule the world. by dtolton · · Score: 5, Informative

    At work I've used dotnet for the past year and half full time.
    I've built websites with it, I've build desktop apps with it,
    I've even built auto-updating distributed apps with it.

    Dotnet has some good things to it and some bad things just like
    any other technology. Before dotnet, most of my work solutions
    were written in VB *shudder*, but when dotnet was released I
    switched immediately to C#. C# does some things right that Java
    didn't do too well on, but those are honestly pretty rare. IMO,
    C# is very much like an immature version of Java. That being
    said, Microsoft is pushing dotnet pretty hard.

    When it comes to dotnet for game development, it is a
    possibility. Mainly because Microsoft is putting so much
    emphasis on it. With good native integration into DirectX, they
    could push a lot of DirectX developers into using C# or Managed
    C++, maybe. It will only happnen if MS can make the integration
    fast and tight, and even then I don't think everyone doing
    DirectX will use dotnet, it imposes too many rules on you as the
    developer and really hides the low level details that are so
    critical to many high performance games (yes even using unsafe code). On the other hand it
    could be a good language for someone to learn to write games in,
    for just that reason.

    Of course, that really only applies to people who want to use a
    Microsoft product for building games. The ubiquity of dotnet
    within the MS world will have little to no effect on the OpenGL
    programmers, except that they may need to find a different
    editor *if* they have been using Visual Studio.

    In reality I think dotnet is what everyone thinks, a competitor
    to Java. How many highgrade professional games are written in
    Java currently?

    --

    Doug Tolton

    "The destruction of a value which is, will not bring value to that which isn't." -John Galt
    1. Re:Dotnet won't rule the world. by ackthpt · · Score: 2, Informative
      At work I've used dotnet for the past year and half full time. I've built websites with it, I've build desktop apps with it, I've even built auto-updating distributed apps with it.

      Your post is excellent with much more thought than I could cram into mine (office moving day, sigh.) Effectively .Net is intended for business application development, whether on server or client, or client-server. It has the typical rapid (well, unless you get stuck, it being so new yet, help can be hard to find) development ability of most tools which aren't geared to engineering or game work. Though, as processor speeds increase, hardware architecture improves and people get faster connections (which has been a reversed trend for a while with DSL ISP's going kapoot) the burden becomes less visible.

      As an afterthought. I've still got some old games which were probably coded largely in assembler and c and are unplayable because hardware is so damn fast now. MoSlo hasn't been much of a help, either, since it provides uneven compensation for increased horsepower. I think anyone who thinks .NET isn't really too slow needs to see what these old games look like GHz processors and think about where all that increased power has gone.

      --

      A feeling of having made the same mistake before: Deja Foobar
    2. Re:Dotnet won't rule the world. by danro · · Score: 2, Insightful

      How many highgrade professional games are written in Java currently?

      None.
      But that is largly because of javas lingering performance issues.
      Everything running on a VM has to have some extra overhead compared to native code, but .NET, unlike Java has the luxury of not having to be platform independent, and should have less of a problem in this departement.
      (In fact, not being platform independent is a plus for MS. They will need something to prop up their OS business in an age of increasingly commoditized* operating systems.)

      I think .NET may have the potential to become suitable for games programming.
      These parts of .NET will of course be hopelessly tangeled with the windows operating system (moreso than the winforms parts), ie. hard to port and utterly unusable on other operating systems.

      Or, I may be talking out of my ass here.

      *) Read: GNU-Linux and friends...

      --

      "First lesson," Jon said. "Stick them with the pointy end."
    3. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 1, Insightful
      think about where all that increased power has gone.
      It's gone into making more complex game worlds and better graphics. Either that, or it isn't being used.
    4. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 2, Funny

      I've said it before and now I'm ready to beg. Enough with the carriage returns! Our browsers word wrap automatically just fine!

    5. Re:Dotnet won't rule the world. by Arethan · · Score: 1

      You must also consider the implications that using C# has on your scripting language choices. I can't think of many big games that don't have a scripting language of some sort. Usually a company will write or license an engine, and then extend it into the game they are trying to create. This involves scripting on some level. A lot of games currently use Lua, I've seen some that use Python, and some that use their own custom C-like language. The down side with C# is that I'm not aware of any C# bindings for the popular scripting languages. Obviously a custom script engine could be made to have C# bindings (or could even be written in C#), but most games don't use custom script languages, and will instead use an existing language simply because it lessens their development and bug finding time.

    6. Re:Dotnet won't rule the world. by Asprin · · Score: 5, Interesting


      Of course, that really only applies to people who want to use a Microsoft product for building games.
      ...
      In reality I think dotnet is what everyone thinks, a competitor to Java. How many highgrade professional games are written in Java currently?


      You got me thinking, so I'm going to take a flyer here.

      Remember back in the **OLD** days when Atari, Commodore and Apple games weren't launched from the OS, they were loaded from a boot floppy because we really didn't have OS's back then? (Unless you purchased CP/M, of course.)

      Well, Knoppix has demonstrated an absolutely ridiculous level of competence at autodetecting hardware, and since . Would the gaming industry consider the possibility of using Linux as a development platform in a trend back to using bootable disks for games?

      Think about it: a bootable CD that has the Linux kernel, drivers, support libraries and your game code.


      PRO:
      [Fully customizable and optimized kernel]
      + [NO OS OVERHEAD or CPU/RAM competition]
      -----------------
      = [Mad crazy performance out the wazoo regardless of what other spyware crap the boneheaded user has been suckered into installing.]

      PRO: OpenGL, Internet Integration, divers filesystem support for saving games to floppy, hard drive, memory card, cdrw, THE INTERNET.

      PRO and CON: Potential for DRM and proprietary CDROM file systems to limit piracy and legal backups.

      PRO: Their kernels would be open source, so we could see if they were spying on our hard drives or personal data. (This might be a big problem because you're giving their cd exclusive control of your PC to play a game.)

      PRO: Reduced support costs - you'd be distributing an embedded system that only includes the drivers YOU specifically choose.

      CON: Game developers may start developing drivers again. (**shudder**)

      CON: No downloading or listening to MP3's in the background while playing Half-Life anymore, though they could certainly throw in those feature if they wanted to.


      Woah... Am I on to something?

      Anyone else have any ideas to add?

      --
      "Lawyers are for sucks."
      - Doug McKenzie
    7. Re:Dotnet won't rule the world. by Sonicated · · Score: 1

      C# is very much like an immature version of Java

      Java can be said to be a subset of C# making it easy to translate Java programs to C#, which would have been a design goal so I don't know how it can be reffered to as an immature version of Java.

      In my oppinion its quite a nice language. Praise be to Mono!

    8. Re:Dotnet won't rule the world. by grolim13 · · Score: 1, Informative
      Not quite... DotNET is platform-independent. The Mono project is developing an independent implementation of .NET for Linux - with Microsoft's help, as I understand it.

      Java is slow for desktop applications because its graphics library is rubbish, not because the VM is inherently slow.

    9. Re:Dotnet won't rule the world. by Migrant+Programmer · · Score: 1

      They have those things already. They're called video game consoles. Examples: Playstation 2, Gamecube, XBOX.

      You forgot the biggest CON: Rebooting every time you want to play a game. Why do you think WineX is taking off?

    10. Re:Dotnet won't rule the world. by arkanes · · Score: 1

      C# is not a scripting language, and isn't really suited to be used as one. ECMAScript is pretty common, though, and there's JScript bindings for .NET.

    11. Re:Dotnet won't rule the world. by recursiv · · Score: 1

      Do you have any idea what you are talking about? On of the main points of .NET is that it's platform independent.

      --
      I used to bulls-eye womp-rats in my pants
    12. Re:Dotnet won't rule the world. by Mr.+Shiny+And+New · · Score: 3, Insightful

      This has been an entire /. article before, if I recall. And I think mainly it isn't worth the trouble; it means that games won't work on the latest hardware; it means you have to reboot to play games; it means that you have to essentially single-task. no more printing, downloading, whatever.

      The task of building a "game" distro would be complex; a game company would have to spend lots of time building it; otherwise, it has to be outsourced. If you're not building it, why are you shipping on only that OS? If you are concerned only with certifying on one platform, why not just pick a popular platform and say "we only support X". It's easier and keeps the users happier.

    13. Re:Dotnet won't rule the world. by molarmass192 · · Score: 1

      I've had this discussion before. Yeah, it's a very good idea with one major limitation, namely people don't want to reboot to play a quick game, they want it in a window or be able to close it at a moments notice and get back to real work. I know LoadLin provides a sort-kinda way around this but it's based on real mode DOS (Win95/98/ME) and doesn't work in (*cough*) "modern" MS OSes like XP. Excuses aside, this begs the question as to what it would take to create a LoadLin-like driver for WinXP. My guess is that it be quite difficult since all access to hardware from the Linux kernel would need to be redirected through the XP HAL.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    14. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 1, Informative

      Clearly you don't. The grandparent of this post clearly mentions windows.forms which is a KNOWN windows-only mess that MS have not submitted for standardisation, and depends on lots of "unmanaged" ms code.

    15. Re:Dotnet won't rule the world. by earache · · Score: 1

      You have custom script engines already built into the .net framework. I can load and compile "scripts" on the fly with a few lines of code (VB, JScript, C# or any other .net language). You can load those scripts in your current application domain, or isolate them in a seperate domain for increased security.

      If you load them into your current application domain, those scripts have direct access to your object model, plus they are "compiled" to the CLR before execution so they'll execute just as quickly as the rest of your app.

    16. Re:Dotnet won't rule the world. by earache · · Score: 1

      > were written in VB *shudder*, but when dotnet
      > was released I switched immediately to C#.
      > C# does some things right that Java
      > didn't do too well on, but those are honestly
      > pretty rare. IMO, C# is very much like an
      > immature version of Java. That being

      Pass around whatever your smoking, I'd like some.

      Delegates, true properties, attribute based programming are all vast improvements over anything you get with Java. Because you come from "VB" I can understand where you wouldn't understand or use all of C#'s features, but don't tout your ignorance of them as fact.

    17. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 0

      heh. Just heh. That's pretty much all I can say to that.

    18. Re:Dotnet won't rule the world. by digidave · · Score: 1

      Great, so now we're back to DOS -- requiring to select the VESA video driver because your video card isn't supported.

      I think the solution to that is to have a /drivers partition on your hard drive that the CD uses to pick up whatever drivers and settings your system needs. Trouble is that then you run into the problem of having to setup your system in a way that MS won't support, just so you can play games.

      BTW, check out the Gentoo Live CD sometime. It includes Unreal Tournament 2003 Demo. Perfect for quickly booting into a game without installing anything, assuming you have a Nvidia video card.

      --
      The global economy is a great thing until you feel it locally.
    19. Re:Dotnet won't rule the world. by Hard_Code · · Score: 2, Insightful

      Then again, I do NOT want arbitrary games to have complete superuser access to all my hardware. What an absolute nightmare. Some sort of "special" kernel mode that disables many things and gives utmost priority to one process might suffice. But then again, you can sort of already get this with a modular kernel, process nicing, and an intelligent schedular.

      --

      It's 10 PM. Do you know if you're un-American?
    20. Re:Dotnet won't rule the world. by Tattva · · Score: 1
      attribute based programming

      <shudder>

      I hope you don't really mean that. If you based your programming on attributes you'd make yourself an unreadable mess. IMO, attributes are a spice, not the main course.

      --
      personal attacks hurt, especially when deserved
    21. Re:Dotnet won't rule the world. by mrlpz · · Score: 2, Informative

      Are you like, high on cattle fodder or something ? Windows Forms is SPECIFICALLY platform DEPENDENT, it sits atop Win32 ( albeit quite poorly...every try to easily change font attributes without having to destroy and re-create objects galore ? ). It's a part of .NET that will NEVER get sent to a standards organization. Probably because the clamoring of OPENING UP the API would be more than they would care to deal with.

    22. Re:Dotnet won't rule the world. by ruiner13 · · Score: 1

      Unless you run it in VMware, I don't think the average /. user would like this. It would require you to shutdown and reboot your computer anytime you run a game. That sounds like a very big CON you left off your list, even bigger than not being able to play your MP3s in the background. For me, it would be a deal breaker.

      --

      today is spelling optional day.

    23. Re:Dotnet won't rule the world. by nmg196 · · Score: 1

      > In reality I think dotnet is what everyone thinks, a competitor
      > to Java.

      Er, not *everyone* thinks it's a competitor to Java. Sure it has similarities, but that doesn't mean to say it's trying to compete with it. It's not even multi-platform - which is half the point of Java. In fact I've found that it's mainly slashdot readers who think like this. Most of the rest of the IT world think it's a very good new platform.

      > How many highgrade professional games are written in Java currently?

      None, but that's because Java is SLOW AS HELL. .NET isn't slow - it's often faster than C/C++ in fact (although probably using more memory). Look at some benchmarks if you don't believe me, or at least run a big application and try and imagine the same thing in Java. Even Visual Studio.NET itself is written in C# and it's no slower than version 6 which is C++. I think you can even generate native binaries if you're really worried about the speed of your .NET app (util called ngen.exe).

      I'm very sure that we'll start to see .NET games coming out quite soon (now that DirectX 9 supports .NET), and I'm pretty sure that most types of games won't suffer a performance hit. If they do, it's not hard to link to C++ code for the bits which need more optimisation (MMX etc).

      Nick... (ASP.NET developer)

    24. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 0

      As mentioned in another post, what you're describing already exists in the form of game consoles. What you could consider is the idea of an 'open' console platform.

      That is, create a special distro, make a narrow list of the hardware supported, and let people build their own consoles with those specs. Make sure that users, console-builders, and developers (probably all the same people, actually) all know exactly what hardware is 'officially' supported, so that everybody's compatable. Build the distro in such a way that any developer can just drop his game in, burn it to disc, and boot right into it.
      Any enterprising person could build his own one of these consoles, or buy one prebuilt. Most games for such a thing would be free (in both senses), but there'd be nothing to stop one from selling them.

    25. Re:Dotnet won't rule the world. by zizzo · · Score: 1

      No, you're not on to something.

      Bootable game disks make sense for the same reason game discs make sense in a PS/2: uniform hardware platform. All Apple IIs were pretty much the same. They had to be since the OS provided no uniform API above the hardware. The same is true for all those old 8 bit systems. Some deviation was possible: varing amounts of RAM, I/O cards, etc. But they couldn't supplant core hardware features without tremendous risk.

      In the PC world, it's a different ballgame entirely. It's hard to even find a solid universal VGA solution, nevermind universal GL or (god forbid) audio support.

      Nowadays, you really need that OS more than ever. It would be very hard to program a compelling game without an OS.

    26. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 0

      >How many highgrade professional games are written in Java currently?
      >None.
      >But that is largly because of javas lingering performance issues.

      I think the main reason people don't write games in java is because they can be decompiled. Java for years had sloppy ways to access soundcards and do graphics, swing and AWT are just a joke.

      With .Net both c#, vb.net can be decompiled there are already companies providing decompilers, and I think there is even one that comes with .Net. You just arn't going to see serious engineering/application/game development with it because of this unless it is used in house. Having the ability to use directx with .NET is great, not everything is supported yet but it will probably all be there in DX 10. Sure you could write all you proprietary code in C++ and then use a COM wrapper but you just won't see things written in pure c#. VB.net on the other hand, I just don't know what the hell MS was thinking, OO Basic??? They should just discontinue it or make it more like VB 6

      .NET lets you build pretty good interfaces, very similar to the way you can make things in VB 6 which is great for rapid prototyping. If MS finds a way to make encrypted versions of executables that can't be decompiled (of course someone will find a way around it but for regular programmers they probably won't bother) then I think a lot more people will use it for serious things. I think Java and .NET will pretty much just be used for server stuff for the years to come unless MS does a few tweaks to change it.

      Yes it is a shame that MS hasn't ported .NET to everyones special distro of linux or other operating systems but people will just have to deal. Hopefully in the future they will release versions for things like Solaris/AIX/Irix/yes even Linux.

    27. Re:Dotnet won't rule the world. by arkanes · · Score: 1

      Windows.Forms is actually implemented in Mono, although not completely. In the MS .NET environment it maps to win32 calls, in Mono it either uses Wine or maps to Gtk. There's nothing inherently windows-only about Windows.Forms, despite the name.

    28. Re:Dotnet won't rule the world. by jerdenn · · Score: 1

      There is a python.net port, though it doesn't work that well.

      -jerdenn

    29. Re:Dotnet won't rule the world. by Slack3r78 · · Score: 1

      Javascript in C#? For some reason, I find that thought rather amusing. =)

    30. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 0

      VS.NET is not written in C#. It is about 90% C++ and assembler. I know, I work on it. This is changing, though.

    31. Re:Dotnet won't rule the world. by spongman · · Score: 1
    32. Re:Dotnet won't rule the world. by Asprin · · Score: 1


      That is, create a special distro, make a narrow list of the hardware supported, and let people build their own consoles with those specs. Make sure that users, console-builders, and developers (probably all the same people, actually) all know exactly what hardware is 'officially' supported, so that everybody's compatable. Build the distro in such a way that any developer can just drop his game in, burn it to disc, and boot right into it.

      Any enterprising person could build his own one of these consoles, or buy one prebuilt. Most games for such a thing would be free (in both senses), but there'd be nothing to stop one from selling them.


      Maybe what you do is use TWO disks - the first boots the "OpenConsole OS" (drivers, core library support and management code) and the second (provided by the game developer) with the game code on it.

      That way, when you upgrade your video card or buy a new PC, you just have to re-download and burn the latest OpenConsole image that includes drivers for your platform.

      Or how about this - instead of distributing a prebuilt fixed OpenConsole OS CD, you distribute an OpenConsole distribution **BUILDER** CD. It would:
      CD 1) Detects and verifies your hardware
      2) Downloads any needed drivers and libraries
      3) Build optimized code from source if you want (like Gentoo)
      4) Provide full testing suite to guarantee compatability
      5) Let you add additional features (MP3, Kazaa/FTP download support), etc.
      6) Finally, it would then BURN THE BOOT CD FOR YOU.
      7) Alternately, you could create a small bootable "OpenConsole OS" partition on your hard drive and boot it from there

      Hmmm. That might work, but your still have the problem of having to reboot just to play games. Maybe we could design a "DirectX"-like set of libraries that could also be installed into any standard linux setup, but I don't now how feasable that is.

      --
      "Lawyers are for sucks."
      - Doug McKenzie
    33. Re:Dotnet won't rule the world. by jasonditz · · Score: 1

      I have an even better idea, how about the user just install the OS on their hard drive and just run the game off the CD?

    34. Re:Dotnet won't rule the world. by crosbie · · Score: 1
      I like your idea, but it needs to address the 'boot delay' issue. What would get round that would be a machine switching system, where multiple machines/OSes (Windows/Linux/whatever) use shared hardware (CPU/storage/bandwidth), but only have access to user I/O devices when the user gives them the 'focus'. The user can also control the priority and resource quota for each machine. Moreover, each machine is completely isolated from the others (except via network access).

      You'd then have the flexibility to instantiate a new machine/OS whenever you felt it needed to run one or more programs isolated from all the others, e.g. a game.

      This is a sort of cross between the complete isolation of 'dual boot', but dedicated access to hardware, and virtual machines (performance compromised).

      Just need a new low level OS....

      :-\

    35. Re:Dotnet won't rule the world. by Asprin · · Score: 1


      Holy Crap!

      You just invented DesqView***!

      [grin]









      *** For those of you who don't know who the "Thompson Twins" are, DesqView was a DOS task switching shell from Quarterdeck from the 80's and 90's. It ran DOS, OSs/2 and Windows 3.x (I think) programs in different memory subspaces and was later evolved into a DOS X Windows shell after Windows 3.1 made it (mostly) irrelevant.

      --
      "Lawyers are for sucks."
      - Doug McKenzie
    36. Re:Dotnet won't rule the world. by PierceLabs · · Score: 1

      It's nice that you're a ASP.Net developer and all, but your statements about Java performance are unfounded. I think perhaps you should download and use Lightweight Java Game Library which can be grabbed from sourceforge.net. There are people using this library doing games that use pixel shaders and such. LWJGL has a binding to OpenGL and since (if you know anything about rendering loops) your application will be spending more time on the card than you will rendering the scene graph you will see how the results they've achieved on any modern machine - (i.e 800Mhz+) are the same as as what you get out of Managed .Net with DirectX performance wise.

      The reason why there are no professional games in Java and why there won't be any in .Net is that game development is a risk averse industry. The community adopts new technologies VERY slowly and unless there is some compelling reason to use a new technology, using it only increases the level of risk in an already highly risky business. Java doesn't really buy that community much. They aren't really gung ho on building anything other than server components for Linux, and the mac is still mostly neglected. So what real value is there in writing code in Java? Especially considering that most of these studios are bound at the hip to middleware like NDL and Renderware which only support DirectX (properly) for their PC interface?

      Nevertheless, most Java developers who are writing games in Java are compiling their applications into .exes using Jet anyways - so when you DO take the time to actually follow up on this post, realize that some of the commercial games out there DO use Java and have been compiled into .exe form for distribution. RoboForge isn't the only Java game to make it to retail store shelves :)

    37. Re:Dotnet won't rule the world. by Anonymous Coward · · Score: 0

      I should call you Elmer. Elmer FUD

      Baseless, inexperinced MSDN repeating microsoft zealots FUD.

  3. maybe developers would wise up then.... by dwgranth · · Score: 1

    and use OpenGL

    1. Re:maybe developers would wise up then.... by dwgranth · · Score: 2

      ACK! There is even a plugin for VB.net in OpenGL oh cruel world

    2. Re:maybe developers would wise up then.... by drzhivago · · Score: 1

      Great and all, but how does OpenGL handle mice and joystick input?

      Part of the problem with comparing DirectX and OpenGL is that too many people are really only comparing Direct3D and OpenGL.

    3. Re:maybe developers would wise up then.... by Anonymous Coward · · Score: 0

      For joystick and other input you can use SDL. Open source and uses the LGPL.

    4. Re:maybe developers would wise up then.... by arkanes · · Score: 2, Interesting

      VB .NET isn't really VB anymore. C#, VB .NET, and J# are all more or less the same language (there's slight differences in what they allow you to do at the lower levels of the framework), the main diffrence being what language they're syntatically close to. VB .NET exists soley to move the massive base of VB "developers" to the .NET platform (a huge step up from raw VB, and maybe some of them will earn that title now), C# is the refrence implementation language (kind of a cross between C++ and Java) and J# is almost identical to Java (syntatically), designed to lure Java programmers.

    5. Re:maybe developers would wise up then.... by drzhivago · · Score: 1

      Which, on Windows, uses DirectX...

    6. Re:maybe developers would wise up then.... by dwgranth · · Score: 1

      true.. i probably should learn more about game dev before i make such a comment ;)

    7. Re:maybe developers would wise up then.... by Slack3r78 · · Score: 1

      It doesn't. SDL does. I'm usually not one for short posts, but there's really not much else to say.

      Part of the problem with comparing DirectX and OpenGL is that too many people forget there are ways of handling input, audio, etc other than DirectX.

  4. .NET is used for game development by Fnagaton · · Score: 1, Flamebait

    For starters you have to use .NET for XBox stuff. :) The optimisation is also better than VC6 so it makes sense to use .NET for games.

    --
    Martin Piper
    Owner - ReplicaNet and RNLobby
    1. Re:.NET is used for game development by Anonymous Coward · · Score: 0

      Have to use .net for xbox? I don't think so. In fact, I dont even think you CAN.

    2. Re:.NET is used for game development by Anonymous Coward · · Score: 0

      You have to use Visual Studio .NET for Xbox.
      That doesn't mean you have to use C#.

    3. Re:.NET is used for game development by Anonymous Coward · · Score: 0

      Just because you are using Visual Studio .NET doesn't mean you are really using the .NET that everybody is talking about here.

      MS released the VS.NET compiler to be used with Visual Studio 6 first. That is because you are really using VC7, not really Visual Studio .NET.

      VS.NET also includes Visual Basic, and a bunch of enterprise data base stuff, but that certainly doesn't apply to xbox development.

    4. Re:.NET is used for game development by egomaniac · · Score: 3, Informative

      That's a very misleading statement. Yes, you use Visual Studio .NET, but the XBox does not run CLR code, it runs ordinary native binaries.

      That's like saying "I'm running Java!" because you used a Java-to-native compiler and produced an ordinary native EXE, and then ran it without any trace of Java on the system.

      --
      ZFS: because love is never having to say fsck
  5. DirectX 9.0 for Managed Code (its out already) by tsinbad · · Score: 5, Informative

    DirectX 9.0 for Managed Code
    (its out already)

    With DirectX 9.0, developers can take advantage of DirectX multimedia functionality and hardware acceleration while using managed code. Managed DirectX enables access to most of the original unmanaged DirectX functionality. The following are the managed code languages supported by DirectX 9.0 and documented in the software development kit (SDK).

    Microsoft Visual C#(TM)
    Microsoft Visual Basic® .NET
    Microsoft Visual C++®
    Microsoft JScript® .NET

    http://msdn.microsoft.com/library/default.asp?url= /library/en-us/directx9_m/directx/directx9m.asp?fr ame=true

    1. Re:DirectX 9.0 for Managed Code (its out already) by anonymous+loser · · Score: 4, Interesting

      Actually a couple of weeks ago I decided to try out the managed directx 9 stuff, so I sat down and wrote a Tetris clone in C# .NET.

      The first thing I noticed is that unlike previous versions of DirectX, the managed DirectX API is very different depending upon which language you are using. For example, in C# I used a lot of DirectDraw functions to draw all of my screen elements. When I had my game up and running, I looked into what it would take to port to C++. Well, there is no "DirectDraw" object in the C++ API. According to MS, all of those functions have been folded under the Direct3D object in C++. The names are mostly different, and some of the methods and properties in DirectDraw didn't seem to have directly equivilent methods in the C++ Direct3D API. My question is if they decided to put those functions under Direct3D, that's fine, but why did they make it completely different in C#? Why not just use the same API for all the languages? It's not like C# can't support it.

      That, and the documentation was spartan at best. There were several pages of documentation which just had function headers with cryptic parameter type names as the arguments. It sorta reminded me of reading documentation for some of the OSS projects I've developed stuff with. Sure, you can figure it out through educated guesses trial-and-error, but as a developer that's not how I like to spend my time.

    2. Re:DirectX 9.0 for Managed Code (its out already) by nick+this · · Score: 2, Insightful

      And there were DirectX interfaces for Visual Basic, too, but for some reason Id decided not to do Doom 3 in VB. Go figure.

      It's really a question of appropriateness. C# isn't appropriate for games. My guess is that the whole reason for Managed DirectX is to allow apps to do visualization and stuff... so that managers can look at sales figures as a cluster of three-d spheres or something stupid, not to write a 3d shooter with.

      That's not to say you couldn't... wrong tool for the wrong job, but you could probably do it. You could probably fry an egg in a toaster, too... it would just be messy as hell. Not to mention stupid. Kinda like game programming in C#.

    3. Re:DirectX 9.0 for Managed Code (its out already) by djohnsto · · Score: 5, Informative

      It looks as though you were using the unmanaged (a.k.a. native) version of DirectX when doing the C++ port. You could use managed C++ and use the managed DX bindings. If you had done that, the DX interfaces would be EXACTLY the same between (managed) C++ and C#. This is because you would be using the exact same interfaces. The managed interfaces to DX are greatly simplified and a little less flexible than the native C/C++ interfaces.

      FYI, the DirectDraw interface in managed DX is just a wrapper around making D3D calls. There is no DirectDraw layer ANYWHERE in DX9. The managed interface just makes it easier to do 2D operations, everything ends up going through the 3D driver eventually.

      Finally, I agree, the managed DX documentation is no where near as complete as the native DX docs.

      --
      Dan
    4. Re:DirectX 9.0 for Managed Code (its out already) by Anonymous Coward · · Score: 0

      DirectDraw is separate from Direct3D. In the C/C++ version, you can access both, but it appears Microsoft didn't write a .NET wrapper for DirectDraw, hence your inability to use it.

  6. No. by Anonymous Coward · · Score: 0

    Were all games based on COM?
    Of course not.

    Alot of developers are using visual studio .net, but that doesnt mean games will ".NET" based.

    ....yawn...

    1. Re:No. by S.Lemmon · · Score: 1

      DirectX is COM based, so yes - most windows games heavily use COM.

  7. Based on what microsoft has done in .net games NO by will_die · · Score: 4, Informative

    The developers of AC2, developed by another company for microsoft, where given authencation code and chat server code developed by microsoft. The addition of this code has made the game unplayable. Here is a quote about the problem from the microsoft head of the game: " Right now the Chat and Authentication System (the Microsoft technology that handles this entire sort of chat) relies on system calls to another system--one that is not related to the Chat and Authentication System or to AC2--to send out the packets that contain your chat. What is happening is that under high CPU usage (that is, when the game starts reaching its peak), this third system starts to throttle the packets and queue up the game server messages (not to be confused with messages/chat to players)." From what is know about the authentication server and chat they are based on .net technologies. So since microsoft cannot produce its own reliable stuff using .net what is the chance of someone else?

  8. Proper implementation would have saved this by ShwAsasin · · Score: 1

    If Microsoft had've written DirectX in C, instead of their freeko C++/COM methods, this would probably be avoided. OpenGL was written in C, and it works fine all sorts of platforms, regardless of what other functions are available. Microsoft has cleaned up much of their in recent versions, but for the longest time DirectX was a nightmare to code in.

    I won't use .NET for game development, period. I guess I'm old fashioned, but I like my SDK's as simple as possible, something Microsoft doesn't seem to like making anymore.

    1. Re:Proper implementation would have saved this by Anonymous Coward · · Score: 0

      You won't be using .NET for game development because you're a janitor.

    2. Re:Proper implementation would have saved this by quantum+bit · · Score: 2, Funny

      I won't use .NET for game development, period. I guess I'm old fashioned, but I like my SDK's as simple as possible, something Microsoft doesn't seem to like making anymore.

      But... How would you write efficient code if your functions didn't have helpful names like DDLockBufferAndBlitToSurfaceAndPrayThePointerIsVal id_u ?

    3. Re:Proper implementation would have saved this by Slack3r78 · · Score: 1

      hehe Wow. Thanks. I spent about a month trying to learn DX before I eventually decided it was too convulted and went back to OpenGL, and the type of thing in your post is just why. :)

  9. Visual Studio .Net is, Managed code is not by Master_Flash · · Score: 2, Interesting

    I asked this question at a .Net seminar and the naswer was. Use the non managed version of C++ for game development but NOT the managed code. Two reasons. Managed code is slower. Also calls into and out of the CLR are very slow if you are mixing managed and unmanaged code.

    --
    The home of the 3D Socialization and Interaction Engine
  10. Why are you asking us? by pete-classic · · Score: 1

    Why don't you ask Steve "Developers, Developers, Developers" Ballmer?

    I say this, not to be snide (well, okay, a little bit), but to point out that the ostensible strengths of proprietary software are mostly illusory.

    Next up, "My boss wouldn't let me run Linux, 'cause there was no one to sue if things went wrong. We subsequently got burned by some MS software, but the license agreement says we can't sue them. How did we come out ahead on this?"

    -Peter

  11. Doubtful. by Sheetrock · · Score: 1, Troll

    It's not like we've even figured out what the hell .NET is yet, right? I've played around a bit with C# (both Microsoft and Ximian versions) and thought, well, this is great but where is this going to take us that Java hasn't? It's important not to get caught up in the buzzwords, the hype, or the marketing ploy to redefine the paradigm. For example, just the other day while I was enjoying a meal of Hunan Chicken I was reflecting on the history of chopsticks, and the humor in the whole situation of people getting pretentious in their ability to use them. Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities? But this is just another situation where marketing has gained such a foothold that myth becomes historical fact, amusingly so when you realize that chopstick use in Asia now far outstrips American chopstick use and that something like 1% of all our lumber exports go towards manufacturing wooden chopsticks. It's easy to carve new markets out of ignorance, but it doesn't imply relevancy -- far from it. You can slap .NET on a game, but it still comes down to the fundamentals: does it run, is it fun, does your player have a gun? I don't see anything in the toolset that will make development any simpler, and in fact think it'll make it harder to create something that works properly and properly exploits all this expensive hardware people are packing into their systems nowadays.

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




    1. Re:Doubtful. by salimma · · Score: 5, Informative
      Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?


      I think you were thinking of fortune cookies, not chopsticks. I can assure you, coming from South-East Asia, that the Chinese, Japanese and Koreans all have been using chopsticks for millenias.


      Which is why there was much backslapping when a Chinese archaeologist claimed to have found a fork in a cave in China dated to about 3000 BC - it's not that they have not discovered forks, it's that they have "moved on".

      And no, my chopstick handling is still rather poor. I can use it to eat rice though :p

      --
      Michel
      Fedora Project Contribut
    2. Re:Doubtful. by Anonymous Coward · · Score: 0
      Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?
      Er - no. They were invented sometime around 1700BC in China. Where did you get this peculiar idea from?
    3. Re:Doubtful. by Anonymous Coward · · Score: 0

      Chopsticks were developed about 5,000 years ago in China. It is likely that people cooked their food in large pots which held heat for a long time, and hasty eaters then broke twigs off trees to retrieve the food. By 400 B.C., because of a large population and dwindling resources, food was chopped into small pieces so it could be cooked rapidly to conserve fuel.

      The pieces of food were small enough that they negated the need for knives at the dinner table, and thus, chopsticks became staple utensils. It is also thought that Confucius, a vegetarian, advised people not to use knives at the table because knives would remind them of the slaughterhouse. Chinese chopsticks, called kuai-zi (quick little fellows), are usually 9 to 10 inches long and rectangular with a blunt end. By A.D. 500, chopstick use had spread from China to present day Vietnam, Korea, and Japan.

    4. Re:Doubtful. by reg106 · · Score: 4, Interesting

      Hi,

      Where did you get that information on chopsticks? It sounded like interesting story to have on hand, so I took a look at Enclopedia Brittanica, which said:

      "Chopsticks of bamboo or wood, and subsequently of ivory and precious metals, originated in China as early as the Shang dynasty (c. 1766-c. 1122 BC) and from there spread throughout East Asia. In China, the substitution of chopsticks for knives at the table reflected the ascendancy of the scholar over the warrior as a cultural hero."

      Which would seem to indicate that chopsticks were around for several millenia, and also gives some basis for the pretension associated with them. Do you have any further references on the use of chopsticks in mining restaurants in the U.S.?

    5. Re:Doubtful. by jafiwam · · Score: 1

      I was enjoying a meal of Hunan Chicken I was reflecting on the history of chopsticks, and the humor in the whole situation of people getting pretentious in their ability to use them. Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?

      I think you are remembering the invention of the Fortune Cookie, which is said to have been invented in San Francisco or some other West Coast city by chinese immigrants.

      Chopsticks have been around a LONG time. Google it if you don't believe me, for the lazy, here is a link: California Academy of Sciences Anthropology Department History of the Chopstick

    6. Re:Doubtful. by Anonymous Coward · · Score: 0

      The history of chopsticks:

      http://www.factmonster.com/spot/chopsticks1.html

    7. Re:Doubtful. by Anonymous Coward · · Score: 0

      Chopsticks have been used in China for 5000 years.

    8. Re:Doubtful. by Anonymous Coward · · Score: 0
      Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?

      Got references? This seems to say otherwise;

      http://chineseculture.about.com/library/weekly/a a_chopsticks02a.htm

      It's easy to carve new markets out of ignorance, but it doesn't imply relevancy -- far from it.

      Pick a better example next time.

    9. Re:Doubtful. by Anonymous Coward · · Score: 0

      Here is a link which refutes the alleged chopstick forgery:

      http://www.calacademy.org/research/anthropology/ ut ensil/chpstck.htm

    10. Re:Doubtful. by kahei · · Score: 4, Funny
      [chopsticks] were invented in America in the 1800s


      I think that's probably the most easily-disproved wild assertion I've ever read, even on /.

      There should be a special prize or something.

      --
      Whence? Hence. Whither? Thither.
    11. Re:Doubtful. by Anonymous Coward · · Score: 0
      something like 1% of all our lumber exports go towards manufacturing wooden chopsticks

      This is a complete fabrication, much like the rest of your post. Would you care to provide a source of information for this whopper.

    12. Re:Doubtful. by Anonymous Coward · · Score: 0

      Parent post on chopsticks: "Aren't people aware that the things were invented in America in the 1800s by Chinese immaigrants seeking to differentiate their restaurants in the mining communities?"

      Must've been a marketing genius:

      [Setting : Back in 1800s, San Fancisco]
      Hey, no one's coming to our Chinese restaurant. They're all going to The Miner's Kitchen down the street. Let's invent a utensil that no one is comfortable with using because they all grew up using forks and spoons. That way, when they try to eat our food, they won't be able to lift it from the plate to their mouth.
      ???
      Profit!

      Yet another reason that that story doesn't make sense.

    13. Re:Doubtful. by gpinzone · · Score: 3, Insightful

      Which is why there was much backslapping when a Chinese archaeologist claimed to have found a fork in a cave in China dated to about 3000 BC - it's not that they have not discovered forks, it's that they have moved on.

      How do you know if the Chinese inventor of the fork just didn't market his or her idea well enough for it to catch on? Either that or maybe people resisted the change since they didn't want to give up the simplicity of braking twigs off trees to eat? Just because a technology is superior doesn't make it the popular choice.

    14. Re:Doubtful. by goatpunch · · Score: 1

      What on earth are you talking about? Chopsticks were invented thousands of years ago, and I very much doubt that a significant percentage of lumber is used in their manufacture; many disposable chopsticks are manufactured from bamboo.

    15. Re:Doubtful. by Anonymous Coward · · Score: 0

      you're thinking about chop suey, not chopsticks, idiot. of course, other than that minor oversight, your point makes perfect sense (NOT).

    16. Re:Doubtful. by Hideyoshi · · Score: 2, Funny

      Dude, it was meant to be a joke! Don't take everything so literally!

    17. Re:Doubtful. by Anonymous Coward · · Score: 0

      just the other day while I was enjoying a meal of Hunan Chicken I was reflecting on the history of chopsticks

      My advice . . . Stick with KFC.

    18. Re:Doubtful. by geekoid · · Score: 1

      "Where did you get that information on chopsticks?"

      I'm guessing the poster got it from /.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    19. Re:Doubtful. by Anonymous Coward · · Score: 0

      Or perhaps he was thinking of Chop Suey, which was introduced in the mining camps by the Chinese immigrants of the time.

    20. Re:Doubtful. by Anonymous Coward · · Score: 0

      Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants
      Yeah, pizza and french fries were invented by Americans too! Even Columbus was an American. Wait a minute...

      Roman

    21. Re:Doubtful. by salimma · · Score: 1

      Precisely :). Speaking of funny eating habits, I also find it funny that Westerners do not tend to use spoons for eating rice ...

      ps did you happen to come from Owari then? :p

      --
      Michel
      Fedora Project Contribut
  12. Uh huh by stratjakt · · Score: 5, Insightful

    Will games be written with .NET?

    Yes

    Will all games be written with .NET?

    No

    Will games be written with SDL and OpenGL?

    Yes

    Will all games be written with SDL and OpenGL?

    No

    Will more games be written with .NET than are written for Linux?

    Yes

    Will it really be any different from the way it is now?

    No

    Was this article posted just to give zealots a chance to yammer about MS world conquest and other conspiracy theories?

    Yes

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:Uh huh by kirkb · · Score: 1

      Should this article have been posted to our ugly purple friend, games.slashdot.org instead?

      Yes

      --
      Slashdot: come for the pedantry, stay for the condescension.
    2. Re:Uh huh by bogie · · Score: 4, Insightful

      "Was this article posted just to give zealots a chance to yammer about MS world conquest and other conspiracy theories?

      Yes"

      Actually No. The only zealous act here is what you say in your 7th point which bashes linux users. The poster asked directly about the future of gaming on Windows. The entire post along with its many questions on how this relates DIRECTLY TO GAMING ON WINDOWS is below if you feel like reading it again.

      "We've heard an awful lot about how .NET is the future and how .NET signals the end for COM based Windows development, but how far does this go? Is it really the end of COM? Will ALL Windows programming be done with .NET? What about games development? Will games be developed with .NET? If games aren't developed with .NET and Microsoft is killing COM, then what future for games development on Windows? Will there be DirectX for .NET?"

      Zealot - n.
      The most overdone word in the geek lexicon.

      --
      If you wanna get rich, you know that payback is a bitch
    3. Re:Uh huh by menasius · · Score: 1

      Will it really be any different from the way it is now? No

      Actually, it could stand to be very different. The base of .Net is on a virtual machine which for lack of non-java terminology interprets bytecodes.

      While I agree .Net will not ruin or drastically change the industry, it will be tough to squeeze the same performance out of any interpreted language when compared to a peice of native code. Beleive it or not there are still games released with performance critical parts written in good old x86 assembly, an option not likely available to an interpreted language.

      I think a question should be will .NET take a significant amount of the industry away from the current staple platforms?

      No.

      -bort

    4. Re:Uh huh by teslatug · · Score: 1

      Does Rumsfeld read Slashdot?

      Yes.

      It is retarded to make up your own questions and then procede to answer them?

      Yes.

    5. Re:Uh huh by Anonymous Coward · · Score: 0

      How is it possible that after all this time people still believe that .NET bytecode is interpreted?

      .NET BYTECODE IS NOT INTERPRETED!!!!!!!!!!

      It gets compiled to native code before being executed. In fact, you can precompile the entire application before even running it.

      In addition, you CAN drop down to assembly in .NET, so quit your bitching!

    6. Re:Uh huh by Anonymous Coward · · Score: 0
      Why do you continue to stick around at a place that bothers you so much to cause you to incessantly bitch and whine as much as you do?

      Some would question your reasoning. I know, I know, it's easier to make fun of people than to attempt to understand them, but it makes me wonder; how valuable do you really consider your time, if you use it to just sit around posting on a website that you clearly hate?

    7. Re:Uh huh by Anonymous Coward · · Score: 0

      It is retarded to make up your own questions and then procede to answer them?

      Yes.


      Are *you* retarded?

      Yes.

      Am I retarded?

      Wait a minute...

    8. Re:Uh huh by menasius · · Score: 1

      I assume that you are refering to JIT compiling a process also used in java.

      While it is true the code is compiled to native machine code before running and is not interpreted, JIT compiling is not without its drawbacks. I merely refered to certain preformance loses when using a scheme like this. In the case of JIT compiling you sacrifice an overhead at the onset of a peice of code (be it a method or what not) to improve the performance later.

      As for dropping down to assembly in .NET I was unaware you could, It seemed unlikely given some of the features that .NET promised that they would offer this. If they do then good, for them. Although I cannot find a single internet source which lists using assembly language in managed C++ or c#, there are assemlies which are different and also dropping down the the .NET IL which is like assembly, but I couldnt find real assembly. Though this is not the first time I've missed something.

      -bort

  13. DirectX for .NET by Sir+Banana · · Score: 1

    DX9 has a managed inteface for most if the core components. MSFT are claiming a few% slowdown over C++ however i think that it pretty much irrelevant nowdays since games programmers seem to be having a hard time keeping up with the vast advances in computing power available to them. If working in .NET drops the framerate from 100 to 95 in exchange for a more productive porgramming environment then i think that it is worthwhile.

    Directx9 also includes good integration with vstudio.net that lets you debug your shaders nicely.

    There are 2 problems: the documentation is very poor at the moment - i have to find the equivelent c++ function in the help to get any info on what it does - and not all the parts are available (DirectMusic being the most noticable)

    --
    -- "Outside of a dog, a book is a man's best friend. Inside of a dog, it's too dark to read."
    1. Re:DirectX for .NET by Anonymous Coward · · Score: 0

      "...i think that it pretty much irrelevant nowdays since games programmers seem to be having a hard time keeping up with the vast advances in computing power available to them"

      This is a completely incorrect statement. Most games can scale to lower hardware requirements but that's not the point. Many have the potential to use much more CPU/GPU than is currently available. For example Deus Ex will push the limits on hardware requirements and will require the very latest video cards to even run (i won't be able to play it), while RB6 Raven Shield (UW eng) can just barely be cranked up on my P4 2.6ghz/GF Ti 4600 at 1280x1024...

    2. Re:DirectX for .NET by Slack3r78 · · Score: 1
      however i think that it pretty much irrelevant nowdays since games programmers seem to be having a hard time keeping up with the vast advances in computing power available to them.
      I can think of one developer that certainly has no trouble keeping up with hardware right off the top of my head. Any way I can transport myself to your alternate reality? It'd be really nice not to have to upgrade my year old system to play Doom III. :)
  14. XML Thing... by redragon · · Score: 3, Insightful
    So what else does .net have to offer? This whole XML thing? Can't say I've ever considered that a necessity for game play. Maybe it'll allow the player to enjoy games which are Office compatible or such, doesn't seem relevant.

    XML is great for game development. Would I ever distribute a game that uses XML at run time? Probably not. Will I use it for development, and "compile" things down later? Heck yes. A lot of developers forget how nice it is to be able to let your artists play with all sorts of settings and make things dynamically, XML isn't the nicest interface, but easier than bugging a programmer to tweak something for you. However, you really don't need .NET for XML. It's easy to use, sure. However, Xerces C++ interface isn't that bad, and just about anyone can stick a simpler interface on it.

    I tend to agree that the CLR is slower than compiling down to machine code. However, I've also seen some pretty cool Java based game development. I think it comes down to the game itself...if it's pushing hardware limits, then .NET is a no go. If it doesn't push the hardware, why not?

    --
    - Sighuh?
  15. No, game development will still be the same... by Fallen+Kell · · Score: 4, Interesting

    ... at least for now. .NET is a "good" idea in theory. But it's performance is just not up to par compared to the execution times of applications using .NET vs C++.

    It is the equivelent of placing another abstraction layer on the executable code before it is executed. This inherently decreses performance of the application (its something like the equivelent of writing a game in perl... it relies on the perl interpreter to create the actual executable code which is why something written in perl takes longer to execute then something written in C++ (I know there is a debate on this, but for the majority of cases this is true, however, it is also true that it may be 1000x easier to "code" the application in perl vs C++))

    If MS optimizes their interpreter, then in theory, it will eventually become almost as fast as C++, and at that time, it may be worth the benefits of coding in .NET for the applications. .NET is fairly easy to code many types of applications, but when performance of the final executable is your major goal, then .NET is really not the language for you.

    --
    We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
    1. Re:No, game development will still be the same... by Junks+Jerzey · · Score: 1

      ... at least for now. .NET is a "good" idea in theory. But it's performance is just not up to par compared to the execution times of applications using .NET vs C++.

      Of course now there are commercial games being written in Blitz Basic and Python+SDL+Pygame, plus a huge number of games in recent years, even on consoles, include interpreted scripting languages. With 2GHz behind you and a graphics card that does all of the heavy visual lifting, people sticking to C++ for everything are just causing themselves extra pain. That's not to say .net is The Way, but it is at least one possible way.

    2. Re:No, game development will still be the same... by fatcat1111 · · Score: 1

      I've heard a lot of claims like this, but haven't seen any numbers. Can anybody substantiate this?

      After all, it's not really analogous to perl, where a big lag is in the interpreter, as in .NET once the JITter (or NGen) is done you're running a regular binary.

      Yes, it's on a runtime layer, but what's the impact of that? Could it be that the runtime, in handling plumbing for you, and your code being optimized for it, is actually faster?

      This is sort of like the argument that writing directly in assembly results in better perf than something written in C++. Sure, it's true in the very rare case where that hand wrought assembly was actually done right, but in the majority of cases the C++ compiler is able to optimize as well as or better than the human. And this is setting aside the massively reduced dev time for working in C++.

      --
      How Politicians Lie: http://www.factcheck.org/
    3. Re:No, game development will still be the same... by blrptrpl · · Score: 1

      there are commercial games being written in Blitz Basic and Python+SDL+Pygame, plus a huge number of games in recent years, even on consoles, include interpreted scripting languages
      Fascinating. Could you name a few?

    4. Re:No, game development will still be the same... by arkanes · · Score: 1
      A good example - morrowind. Damn near everything in morrowind is based on text scripts (although they seem to be pre-compiled to some sort of bytecode). And here's the freaky thing - ALL the scripts run ALL the time. Granted, Morrowind is a notoriously heavy game, but you can get a machine that will bend it over and make it cry for less than a grand now.

      That said, I still don't think anyone will write engines in C# any time soon. AI (maybe) and the game logic wrapping the engine, maybe.

  16. The only use for .NET in games... by CoolVibe · · Score: 1
    ...as I see it is maybe for an in-game scripting language, i.e. QuakeC in the golden olden days.

    I mean, I'm not advocating .NET or anything, but the idea of being able to plug perl or python (or whatever else) could be pretty cool for making game mods, dontchathink?

    Using .NET to write a full blown, polygon-pushing, 3d-accelerated game would be like shooting off your foot with a nuke. Although, I'd like to be proven wrong :)

    1. Re:The only use for .NET in games... by stratjakt · · Score: 1

      Using VC++ .Net is just an upgrade from using VC++ 6, you don't have to use managed code if you dont want to.

      So it's the exact same development process, with a slightly better compiler, in that it produces slightly faster code (better optimized for AthlonXP, iSSE2, etc).

      Using .NET doesnt mean using the CLR or creating interpreted code or making everything XML. .NET is also speak for Vis Studio 7, same as XP is speak for Windows v6.

      Though frankly the CLR isn't as slow (on a windows box) as slashbots make it out to be. Maybe mono is, but run natively it's fast enough that I could see games being created for it. For most eye-candy intensive games, it's your video card choking while your CPU is only at 12% utilization.

      --
      I don't need no instructions to know how to rock!!!!
    2. Re:The only use for .NET in games... by grmoc · · Score: 1

      Actually, the compiler support in .net (2002, or the upcoming 2003) is much MUCH better than it was in MSVC++6.0

      2002+ the Intel C++ compiler gets you a nearly ISO standards compliant (insofar as ANY development environment is ISO c++ compliant), and 2003 should be there without the addon.

      Since I use 'advanced c++' features pretty often, it isn't even possible for me to use 6.0.

      In short, MSVC++ .net (2002|2003) is a vast improvement in the compiler area.

    3. Re:The only use for .NET in games... by Anonymous Coward · · Score: 0

      "I mean, I'm not advocating .NET or anything, but the idea of being able to plug perl or python (or whatever else) could be pretty cool for making game mods, dontchathink? "

      Hm, http://bloodgate.com/perl/sdl/game.html - Just use Perl to do the game :-P

      Cheers!

  17. the CLR does not produce slow code, JAVA is SLOW by Anonymous Coward · · Score: 0

    I've developed in both.

    If your client platform is only Win32 (and thats 99.9% of people) then there is NO reason to use anything but .NET.

    I've yet to see a Java app that ran worth a shit. SLOW SLOW SLOW. .NET is everything Java meant to be.

  18. Why does every one of your solutions involve MS? by Anonymous Coward · · Score: 0

    There were programs written before Microsoft
    came along, and there will be after they're gone.
    You've got a brain, use it, don't rely on
    others to tell you what to do and how it should
    be done.

  19. .NET and Passport are not the same thing by Anonymous Coward · · Score: 2, Informative

    People keep asking the (dumb) question "but if you build it with .NET then I'll have to have Passport/reveal my shoe size to Microsoft/bring about the downfall of Western Civilization in order to use it, right? WRONG... RTFM. .NET is just an application development framework (a very comprehensive one at that). You may be thinking instead of the erstwhile "Hailstorm," which is not the same thing as the .NET application development framework, and to my knowledge is basically a failed initiative at this point. People who have never developed any .NET code should probably refrain from pontificating about its shortcomings.

    There is already Managed DirectX for .NET, as others have pointed out, and this makes good sense considering how easy it is to call COM code from .NET. To those whining about how slow CLR code is, I suggest you actually try it and benchmark it before opening your mouth... Java it is *not* (hallelujah)...

    1. Re:.NET and Passport are not the same thing by Anonymous Coward · · Score: 0

      ---- if you build it with .NET then I'll have to have Passport/reveal my shoe size to Microsoft/bring about the downfall of Western Civilization in order to use it, right? WRO----

      Weeelll, when I install the .NET framework my McAfee firewall blocks an outgoing registration... I don't know if they're sending Bill my shoesize... but I bet they are !

  20. What exactly is the point of .NET? by Dr.+Bent · · Score: 2, Interesting

    Could someone explain to me exactly what .NET is good for, that couldn't be better accomplished using Java, or Win32/C++, or PHP? Seriously.

    I can't see it being useful for games, because it's going to be slower than C++.

    I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform.

    I can't see it being better than any of the various web development solutions (PHP, cold fusion, etc...)

    I can't see it being useful for enterprise server side apps because Java is more mature, more reliable, and has a VM implementation on lots of different platforms.

    I can't see it being useful for PDA/Phone apps because the framework is too heavyweight.

    So I know that it's new and shiny and Microsoft....but what, exactly, is it good for? What can you do with .NET that you can't do better with something else?

    1. Re:What exactly is the point of .NET? by Anonymous Coward · · Score: 0

      Hmm, the .NET compact framework is pretty small and easily installs on PDAs/Phone Apps.

      If you're an enterprise customer, platform isn't something you worry about so often. How often does an enterprise customer switch between MS and Sun and Java and IBM? Not too often I'd guess - if you're switching platforms that often then you definately didn't make the right design decisions.

      Java isn't necessarily more reliable. It's also harder to deploy, harder to manage, and harder to maintain than an equivalent .NET App. J2EE is a complex, messy, PLATFORM DEPENDENT protocol - you can't build a decent, real world J2EE App without using the proprietary application server API. So if you move from JBoss to IBM's J2EE server you're going to have to recode a bunch of stuff.

      Also J2EE is a lot more expensive ;-).

      Honestly, we could do everything in ASM/C if you'd like. .NET fixes problems they saw in Java and COM. It's an improvement, just like all of computer science.

    2. Re:What exactly is the point of .NET? by telstar · · Score: 2, Insightful
      "I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform."
      • For many users and industries, they don't care if something is cross-platform. They invest their money in a single platform, and as long as their stuff runs on it, they're happy.

    3. Re:What exactly is the point of .NET? by MagPulse · · Score: 1

      Nothing right now, because the speed hit you take with managed code is very noticable at today's hardware speeds. But in ten years, it will be worth it. If you've done serious C++ programming, you know what the ability to modify any memory within your application does to debugging time. Given the same talented developer, his managed code will have less bugs than his unmanaged code because the runtime can tell him more and catch more things.

    4. Re:What exactly is the point of .NET? by mangu · · Score: 1
      What can you do with .NET that you can't do better with something else?


      It's a microsoft product, so the answer to your question probably is "absolutely nothing". However, it seems to be a substitute for the VB/COM RAD system, which means it will be used by people who need a relatively easy development system for small, quick and dirty applications. A typical application, I guess, would be for office workers to create reasonably good-looking reports from existing ms-office files. AFAIK, none of the alternative systems you mentioned above can read excel spreadsheets.

    5. Re:What exactly is the point of .NET? by wirde · · Score: 1
      I can't see it being useful for games, because it's going to be slower than C++.

      Slower, but not by much. For many types of games it will certainly be fast enough.

      I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform.

      Agree with you here.

      I can't see it being better than any of the various web development solutions (PHP, cold fusion, etc...)

      Can't really answer this one. Better? Worse? I'd settle with different.

      I can't see it being useful for enterprise server side apps because Java is more mature, more reliable, and has a VM implementation on lots of different platforms.

      Thanks to JIT it is much, *much* faster than Java. The only thing Java has going for it here is platform independence and the huge libraries.

      I can't see it being useful for PDA/Phone apps because the framework is too heavyweight.

      20 MB is not that bad for next generation PDA's... I'd rather have .NET than a Java JVM on my PDA.

      --
      in GNUin GNUin GNUin GNUin GNUin GNUin GNUin GNUSegmentation fault
    6. Re:What exactly is the point of .NET? by Caoch93 · · Score: 1
      Thanks to JIT it is much, *much* faster than Java. The only thing Java has going for it here is platform independence and the huge libraries.

      There is no such thing as it being "faster than Java". The MS CLI implementation may be able to outpace a certain JVM on certain activities, but don't confuse a JVM with Java. There's a fundamental difference. I can get radically different performance on the same Java program from different VMs.

      Also, do you really think that the major JVMs don't use JIT compilation techniques?

    7. Re:What exactly is the point of .NET? by CrazyLegs · · Score: 1
      Ummm.... I've been doing enterprise-scale development for many years and can tell you that "platform" is, indeed, something we think and worry about often. Here's the platform gap between .NET and J2EE.

      I'm no homer for J2EE (just another tool), but it can run on many different platforms all the way up Big Iron (IBM zSeries or perhaps Sun 10000 series). .NET runs on puny Intel-like servers. For a company that worries about scale (like the bank I work for), I would much rather manage J2EE running on a Parallel Sysplex environment than sheparding a growing cluster of Windows servers.

      A few other points:

      • J2EE is not a lot more expensive when you look at all-in cost for development, platform, admin, etc.
      • we build lots of lots of lots of real world apps (10 million customer bank with Web, Wireless, full branch, call center)with J2EE and, no, we do not use proprietary server APIs.
      --

      CrazyLegs

      "Pork!!" said the Fish, and we all laughed.

    8. Re:What exactly is the point of .NET? by soulhuntre · · Score: 4, Insightful

      Could someone explain to me exactly what .NET is good for, that couldn't be better accomplished using Java, or Win32/C++, or PHP? Seriously.

      Seriously? I doubt many people will actually pay any attention to the answers.

      I can't see it being useful for games, because it's going to be slower than C++.

      While it may be slightly slower (and I mean slightly) the problem is easily solved and/or irrelevant. because your calling the highly optimized stuff in DirectX for most of the graphics work your speed issues are minimal and any core routing that is really slowing you down can be coded in something else without forcing the whole project into a less useful environment.

      I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform.

      For most developers the issue of cross platform is irrelevant. In general I can support most biz needs via a web service anyway or in Windows. The rest of the world is Mac (and there WILL be a Mac implementation because Office on the Mac is a good cash source) or Linux - and Linux is irrelevant for this type of thing.

      I can't see it being better than any of the various web development solutions (PHP, cold fusion, etc...)

      Then you haven't looked very hard. The Web controls, event model and code behind features are light years ahead of CF and PHP. mod_perl isn't even a player.

      I can't see it being useful for enterprise server side apps because Java is more mature, more reliable, and has a VM implementation on lots of different platforms.

      The enterprise level apps I have been involved with are either Intranet based (and this .NET is perfect) or Windows based. In both cases .NET is a great environment and has strong advantages over Java. Besides, given how much Sun is throwing their weight around with Java most firms see java as a single source tool and Sun is a much less attractive partner.

      I can't see it being useful for PDA/Phone apps because the framework is too heavyweight.

      You can cut the framework down for custom applications.

      So I know that it's new and shiny and Microsoft....but what, exactly, is it good for? What can you do with .NET that you can't do better with something else?

      It's as good or better than Java, runs as fast as C++ and is much easier to code for than Win32. The web event model rocks and the ability to mix languages kicks ass.

      In short, it's good.

      --
      --> Fight tyranny and repression.... read /. at -1!
    9. Re:What exactly is the point of .NET? by wirde · · Score: 1
      I am aware of the difference between Java the language, and JVM the platform. I also know that different JVM have differing performance characteristics.

      I do assure you that applications written in C# running on the .NET platform will outperform Java applications running on any JVM in most cases.

      Many JVM's use JIT compilation techniques. They just don't work as well as .NET. I am sorry, but Java is slow, on any JVM I know of.

      Note:
      I don't particulary like Microsoft in general, and the bulk of my professional development is done in Java. I do think that the .NET platform is the best M$ has produced since... well ever.

      Don't knock .NET until you have tried it!

      --
      in GNUin GNUin GNUin GNUin GNUin GNUin GNUin GNUSegmentation fault
    10. Re:What exactly is the point of .NET? by Anonymous Coward · · Score: 0

      Could someone explain to me exactly what .NET is good for, that couldn't be better accomplished using Java, or Win32/C++, or PHP? Seriously.

      How about the possibility to mix Java, C++ and even PHP *sigh* in a single project. Why to be language depended?

      I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform.
      .NET is a open standard, anyone can implement it. Microsoft won't does it only for windows but it doesn't stop Ximian implementing it.

      I can't see it being useful for PDA/Phone apps because the framework is too heavyweight.

      There's a thing called .NET Compact Framework.

    11. Re:What exactly is the point of .NET? by MojoMonkey · · Score: 1

      I am sorry, but Java is slow, on any JVM I know of.

      Define what you mean by slow. That is, what you are using for comparison.

      AWT/Swing is unresponsive and not snappy, definately giving the feeling of slow. Use IBM's SWT to remedy this.

      I/O operations are more expensive than native apps. Use 1.4's nio package to remedy this.

      I'll agree that somethings (maybe even many) it may be slowER, but I wouldn't call it slow.

      --

      ----- "Blame the guy who doesn't speak English." -- Homer J. Simpson
    12. Re:What exactly is the point of .NET? by Caoch93 · · Score: 1
      I do assure you that applications written in C# running on the .NET platform will outperform Java applications running on any JVM in most cases.

      Your assurances would have more thrust if they involved some hard numbers.

      Many JVM's use JIT compilation techniques. They just don't work as well as .NET. I am sorry, but Java is slow, on any JVM I know of.

      I have heard anecdotal evidence, mostly from Mono project types, that CIL is easier to apply JIT optimizations to than Java bytecode. Having written a bytecode loader and verifier, I might believe this, since I have found most of classloading (especially dealing with attributes) to be annoying at best. Again, though, your arguments would be better served if you had more than your personal impressions available.

      Note: I don't particulary like Microsoft in general, and the bulk of my professional development is done in Java. I do think that the .NET platform is the best M$ has produced since... well ever.

      I would tend to agree, but at the same time, this doesn't say a hell of a lot about previous APIs from MS more than anything.

      Don't knock .NET until you have tried it!

      I have, and I have programmed in it, and I've read quite a bit of Mono's source code, and I own and have read most of a copy of ECMA-335. Additionally, you'll see that nowhere in anything I wrote did I actually "knock" .NET.

    13. Re:What exactly is the point of .NET? by fgb · · Score: 2, Funny

      "I can't see it being useful for cross-platform GUI apps because there's no guarantee that .NET really is cross-platform."

      Of course it's cross-platform. It runs on 2000, XP and .NET Server!

    14. Re:What exactly is the point of .NET? by atlasheavy · · Score: 1

      For most developers the issue of cross platform is irrelevant. In general I can support most biz needs via a web service anyway or in Windows. The rest of the world is Mac (and there WILL be a Mac implementation because Office on the Mac is a good cash source) or Linux - and Linux is irrelevant for this type of thing.

      There is a mac port of .Net. It's called the SSCLI, or Rotor. However, just like Office for Windows is all C/C++, so is Office mac. It's written as a Carbon application under Mac OS X, which is the older not-so-much-legacy-but-definitely-not-as-cool-as-C ocoa framework for developing Mac applications. There is no reason why MS would throw millions of perfectly good LOC in the trash just because C# came along. Besides, Rotor (for now) is an MS Research product, regardless of whether it's on Mac OS X, FreeBSD, or Windows. Mac Office is a product of the Mac Business Unit.

      --

      iRooster, the Mac OS X a
    15. Re:What exactly is the point of .NET? by geekoid · · Score: 1

      "Linux - and Linux is irrelevant for this type of thing."

      interesting note, at the .net launch, they recommended going ot and looking at .net mono, and dotgnu. They 'support'* and encourge, other platforms implementation.

      *presumably, support as in words, not as in cash.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    16. Re:What exactly is the point of .NET? by Dr.+Bent · · Score: 1
      For most developers the issue of cross platform is irrelevant.

      Oh, really? Well 78% of the developers out there disagree with you. Cross-platform development is not only relevant, in many cases it is required.

      The enterprise level apps I have been involved with are either Intranet based (and this .NET is perfect) or Windows based. In both cases .NET is a great environment and has strong advantages over Java.

      "strong advantages" eh? Like what exactly? This is what I always run into when talking with people about .NET. The answer I get is "it's better" (in one form or another) but they never specifically state why. I can give you a list of very useful technologies that Java has that .NET doesn't (applets, checked exceptions, and multiple VM implementations, to name a few). And regarding PDA/Phone applications:

      You can cut the framework down for custom applications.

      So are you going to distribute your stripped down version of .NET with a 50k cell phone app? Java 2 Micro Edition is going to come pre-installed on 100 million nokia phones this year. How many phones are going to have .NET pre-installed? Is that even possible?

      My main problem right now is that I still have no idea what .NET is capable of, and I've spent way too much time looking already. If Microsoft has such a great product, why aren't they promoting the benefits? It's not like they don't have the marketing talent. I suspect the real reason is that all they have is a rebranded version of COM/DCOM and a new GUI toolkit. And until someone can give me some specific technology that .NET provides that can't be found elsewhere, that's what I (and a lot of other developers) will continue to think.
    17. Re:What exactly is the point of .NET? by arkanes · · Score: 1
      Well, I'll chime in. It's better than both VB and C++ for buisness apps because it's faster and cleaner than VB while being safer than C++. It's at least partially cross platform, but lets reserve judgement on that for a while. It's an excellent web development platform, although there's very little beyond preference to value one of the other. I'm a cold fusion developer in my day job (among other things) and I'd prefer ASP .NET (althought not normal ASP) due to the better library and cleaner syntax.

      It's VERY comparable to Java for server side apps, and is being targeted very heavily there (and is, in fact, in fairly wide use in that role).

      I also develop for the PocketPC and it's hands down the best environment for that, despite the weight of the framework. It's probably the best for Windows CE, too. I can't speak to Linux or Palm based handhelds.

      My own personal opinion is that C# is also a clean, powerful, easy language to use, the framework itself has a well designed and extensive library, and it's avoid the issues that make me detest Java.

    18. Re:What exactly is the point of .NET? by soulhuntre · · Score: 1

      Well 78% of the developers out there disagree with you.

      And they are welcome to go with Java then :) I doubt that the winwriters.com survey is scientific or all inclusive.

      "strong advantages" eh? Like what exactly?

      Visual Studio (one of the best IDE's going) a fantastic framework and ease of work across languages. Not to mention a much more stable target environment.

      Everyone who writes non trivial Java applicatiosn knows that the ability to run on multiple VM's is often frought with peril, let alone across platforms.

      Does it work? Sure. Is it a lock? hell no.

      Looking for something unique to .NET over Java? An event model that is functionally equivelent when rendering to Windows native or HTML clients.

      "How many phones are going to have .NET pre-installed? Is that even possible?"

      1) No idea - but I doubt that applet apps delivered to phones is a big market for msot developers. On the other hand web applications that deliver to phones via a browser will be huge :)

      2) As far as I know, yes.

      My main problem right now is that I still have no idea what .NET is capable of, and I've spent way too much time looking already.

      Look in the right places. Download the framework, go grab web matrix from someplace and write a little code.

      You don't have to spend a dime.

      --
      --> Fight tyranny and repression.... read /. at -1!
    19. Re:What exactly is the point of .NET? by fredrik70 · · Score: 1

      indeed, having said that though, there will be a point n the future when a switch *might* be neccesary, and if it's not cross platform then you an run into problems. Think of all the old mainframes that still are running just because they run some old app which they can't live without and noone knows for sure how it works.
      Having said that .net is actually a quite nice piece of work fromwhat I have seen, nevermind what one might think of MS and their business methods.

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    20. Re:What exactly is the point of .NET? by rune2 · · Score: 1


      Cross-platform development is not only relevant, in many cases it is required.

      If you want to develop .Net applications in Linux you can use the Shared Source CLI or Mono. In fact I recently watched as one guy developed a .Net console app in WINDOWS on Visual Studio, uploaded to his Linux box and RAN it immediately with the Shared Source CLI. Now that was cool! :-) As Sharpdevelop (for an IDE), the SSCLI and mono mature the cross platform capabilities for .NET will also increase.

      "strong advantages" eh? Like what exactly?

      I wouldn't say that .NET is altogether "better" than Java but it does improve on Java in a bunch of little areas as well as some of the major ones. For a lot of situations it still makes sense to use Java over .NET. But for the everyday Windows application and XML webservice development .NET offers some major advantages especially in terms of speed and ease of development. - There are language enhancements in terms of additional data structures and operators. Enumerators, Struts, Collections, Properties (ie. get and set access methods), Meta Data tags/Attributes, the For Each statement (for iterating through collections), delegates (similar concept to C++'s Function Pointers), assemblies, namespaces, direct event handling support, the abilty to use pointers via the 'unsafe' modifier, Boxing and Unboxing to automagically convert between value and reference types.

      - The .NET Garbage collector is a improvement on Java's. Basically it's a fast multiple stage progressive garbage collector (supports interesting concepts like "memory pinning", and object resurrection).

      - You can use multiple .NET languages in application development. I understand that they're working on getting ECMA certification for other .Net languages too.

      - C# is an actually an offical standard as it's ECMA certified..

      - As previously mentioned Visual Studio.Net (and now 2003) is one of the best if not *the* best IDEs out there.

      - Java is playing catchup on the concept of XML Webservices as a whole but they've been focusing more on the security standards aspects than Microsoft has been (and seems to be slowly doing).

      - .Net applications are JIT compiled *once* the first time that they are run. And are just as fast as compiled C++ exe's when running them thereafter. This means no VMs are needed. No interpretation.

      - ADO.Net is very fast. I spoke to one guy whose company was evaluating a bunch of different technologies for doing huge queries on datasources (like returning 20,000 records at once). ADO.net and C# came out on top after doing it in like 0.03 seconds.

      How many phones are going to have .NET pre-installed? Is that even possible?

      Actually it is. It's called the .Net Compact Framework and it's used for "mobile" devices such as smartphones and Pocket PCs. Have a look at it here and here. J2ME has a major lead in terms of an install base but .Net applications are incredibly easy to develop and deploy. Support for it is built into (and is a major feature of) Visual Studio.NET 2003.

    21. Re:What exactly is the point of .NET? by wirde · · Score: 1
      Your assurances would have more thrust if they involved some hard numbers.

      No hard numbers. This is Slashdot right? ;)

      I would tend to agree, but at the same time, this doesn't say a hell of a lot about previous APIs from MS more than anything.

      Agreed. I find the Windows API as well as MFC to be... less than excellent...

      --
      in GNUin GNUin GNUin GNUin GNUin GNUin GNUin GNUSegmentation fault
    22. Re:What exactly is the point of .NET? by wirde · · Score: 1
      Ok, slower than natively compiled code. It has long been claimed that better JVM's would make the difference small. I have yet to see that.

      AWT/Swing is horrible. Ecplipse looks excellent on the other hand. I will definetly try out IBM's SWT.

      --
      in GNUin GNUin GNUin GNUin GNUin GNUin GNUin GNUSegmentation fault
    23. Re:What exactly is the point of .NET? by spongman · · Score: 1
      .NET runs on puny Intel-like servers
      What, like the 64x Itanium 2-based HP Superdome that runs Windows Server 2003 and owns the non-clustered TPC benchmark? I'm sure there's a Sun 10K somewhere on that list...
    24. Re:What exactly is the point of .NET? by ramzey5150 · · Score: 1

      For the money, the 64x Itanium 2 blows away the competition (it's likely a few engineers at Sun have lost many nights sleep over it) It won't happen overnight, but it will happen. Proprietary OS based systems by Sun, IBM and others will continue on the path to fade out. Why? Because they are too expensive, it's getting to the point that the pay off isn't there. Even if you hate Win32, you can run Linux on a Itanium 2 (and wait and see Sun will likely announce Solaris for it before years end)

      How does .NET play into all this? Easy enough, write once run on WinX (Win32, Win64, WinCE, etc..) Itanium 2 is not backwards compatable with 32-bit code, so .NET will provide a bridge there that will likely be at least twice as fast as the on-chip 32-bit emulator. I'm sure this was part of the strategy behind putting everything though a virtual machine.

    25. Re:What exactly is the point of .NET? by CrazyLegs · · Score: 1

      ....right...You won't see Sun 10K or IBM zSeries on that list, cause they're in a different league. For many organizations, the TPC.org class of processors is more than fine. For large organizations with larger TP needs, these platforms are not enough for backend processing.

      --

      CrazyLegs

      "Pork!!" said the Fish, and we all laughed.

    26. Re:What exactly is the point of .NET? by Anonymous Coward · · Score: 0

      hey, retard, notice 3rd place has been there for 2 years?

      have you evern seen an itanic2 server in production? did you know you cant buy the superdome for another couple of months?

      and im sure you think windows2003 is battle tested, but if you would just fucking learn to read, you would see problems all over microsoft's past with horrible patching, horrible updating and horrible performance denigration over time for all thier platforms. you have no real world experience or you would know better to point out a termporary "win" for microsoft/itanic and say, there is the future based on ZERO years of market dominance.

      retard.

    27. Re:What exactly is the point of .NET? by Anonymous Coward · · Score: 0

      did you ever take the time to look at multi-terabyte database performance? 3TB and 10TB? there are benchamrks for those. just to know, Sun E15K, NCR/Teradata and the p690 own hard here. And not a Itanium or windows box in sight. you probably also dont know what a mature crossbar can do for you.

    28. Re:What exactly is the point of .NET? by spongman · · Score: 1

      no, i just looked at the ptc benchmarks. and i noticed that the machines you mentioned aren't in there. i wonder what their $/tpmC would be?

    29. Re:What exactly is the point of .NET? by Anonymous Coward · · Score: 0

      lame. the point is can your coveted itanic machines running windows 2003 chew on multiterabyte databses? you would actually not want a sun E15K over a some experimental superdome? you are fuckin crazy. yeah, ill trade in my 80,000 simulataneus user i800 series (what IBM calls MIDRANGE) for a fucking win2003 box.

      HAHAHAHAHAHAHHAA.

      noobie in scaled computing.

    30. Re:What exactly is the point of .NET? by Anonymous Coward · · Score: 0


      * g o a t s e x * g o a t s e x * g o a t s e x *
      gcccccccccccccccccccccccccccccccccccccccccccccc cg
      oc/ccccc\ccccccccccccc\cccccccccccc/cccc\ccccc cco
      a|ccccccc|ccccccccccccc\cccccccccc|cccccc|ccc ccca
      t|ccccccc`.ccccccccccccc|ccccccccc|ccccccc:c cccct
      s`cccccccc|ccccccccccccc|cccccccc\|ccccccc| cccccs
      ec\ccccccc|c/ccccccc/cc\\\ccc--__c\\cccccc c:cccce
      xcc\cccccc\/ccc_--~~cccccccccc~--__|c\ccc cc|ccccx
      *ccc\cccccc\_-~cccccccccccccccccccc~-_\c ccc|cccc*
      gcccc\_ccccc\cccccccc_.--------.______\ |ccc|ccccg
      occcccc\ccccc\______//c_c___c_c(_(__>c c\ccc|ccc co
      accccccc\ccc.ccCc___)cc______c(_(____>cc|cc/cc c ca
      tccccccc/\c|cccCc____)/cccccc\c(_____>cc|_/ccc c ct
      scccccc/c/\|cccC_____)Piers Haken __>ccc/cc\ccccs
      eccccc|ccc(ccc_C_____)\FUCKS ASS//c_/c/ccccc\ccce
      xccccc|cccc\cc|__ccc\\______ ___//c(__/ccccccc|ccx
      *cccc|c\cccc\____)ccc`----c cc--'ccccccccccccc|cc*
      gcccc|cc\_cccccccccc___\cc ccccc/_cccccccccc_/c|cg
      occc|cccccccccccccc/cccc| ccccc|cc\cccccccccccc|co
      accc|ccccccccccccc|cccc/ ccccccc\cc\ccccccccccc|ca
      tccc|cccccccccc/c/cccc| ccccccccc|cc\ccccccccccc|t
      sccc|ccccccccc/c/ccccc c\__/\___/cccc|cccccccccc|s
      ecc|ccccccccccc/ccccc ccc|cccc|ccccccc|ccccccccc|e
      xcc|cccccccccc|ccccc cccc|cccc|ccccccc|ccccccccc|x
      * g o a t s e x * g o a t s e x * g o a t s e x *

      I should state that to understand what Piers "Fucking Retard Windows Kiddie" Haken's particularly snotty form of nihilism has encompassed as a movement and as a system of rule, we have to look at its historical context and development as a form of neurotic politics that first arose in early twentieth-century Europe in response to rapid social upheaval, the devastation of World War I, and the Bolshevik Revolution. Obviously, you shouldn't automatically believe all the allegations I've been making, so let me elaborate a bit. The only appropriate attitudes in a society overrun by disgraceful Piers "Fucking Retard Windows Kiddie" Haken clones (especially the bloody-minded type) are fear and distrust. Excuse me; that's not entirely correct. What I meant to say is that Piers "Fucking Retard Windows Kiddie" Haken can out-reason the worst types of disreputable punks there are but not anyone else. Let's remember that. Strictly speaking, he says he's going to encourage silly, obstreperous autocrats to see themselves as victims and, therefore, live by alibis rather than by honest effort some day. Good old Piers "Fucking Retard Windows Kiddie" Haken. He just loves to open his mouth and let all kinds of things come out without listening to how dissolute they sound.

      Accordingly, in order to draw a picture of what we conceive of under the word "cinematographical", we must carve solutions that are neither inarticulate nor conceited. And that's just the first step. Remember, Piers "Fucking Retard Windows Kiddie" Haken is right about one thing, namely that fear is what motivates us. Fear of what it means when tendentious losers rescue blackguardism from the rubbish heap of history, dust it off, slap on a coat of cheap sophistry, and market it as new and improved. Fear of what it says about our society when we teach our children that a plausible excuse is a satisfactory substitute for performance. And fear of libidinous thugs like Piers "Fucking Retard Windows Kiddie" Haken who identify political and religious groups that are his political enemies and re-label them as "belligerent, moonstruck quacks" in order to justify operations against them. I am deliberately using colorful language in this letter. I am delibera

  21. .NET is also an IDE, and an optimized C++ compiler by spaten-optimator · · Score: 5, Informative

    The parent article seems to have a vague concept of what .NET is. (Perhaps this is more MS propaganda's fault.) MS released C#, and that's what they're toting when they talk about ending COM-based windows development, I think. If you knew what COM was, you might have a better understanding of what Microsoft is phasing out. COM is the Component Object Model. It allows programs to invoke special versions of other software (which has a COM written for it) and call routines out of that software. For example, I could call the spellchecker for MS Word from my email-writing program, assuming the user had Word installed, of course. I used COM in writing an application meant to automate customer response letters (the user wanted to have Word-compatible documents when the program was finished - a perfect example of COM) and let me tell you: COM is hairy. You have to pass pointers to functions, call functions with nasty parameters... it's a good idea, it just doesn't work inside the C/C++ syntax very well. Unless you're looking for your game to be able to read and write MS Word files, or print through Excel, games probably wouldn't have used the Component Object Model. C# apparently has the same functionality that COM did, but probably does it a little more elegantly. In any case, game developers didn't use COM, and they're probably not using C#. They WILL, however, be using .NET. Because Visual Studio .NET is Microsoft's latest incarnation of their programming IDE and compiler package. And the later versions (hopefully) contain more and more code optimization. And Microsoft HAS good code optimization: they bought all of Watcom's optimizing people a few generations back (when game programming was done almost exclusively in Watcom). In short: Visual Studio .NET is probably phasing out COM. This has absolutely no bearing on game programming.

    --

    --
    Disclaimer: The above statement probably includes half-truths, because real truth is too complicated.
  22. We could only hope... by mahdi13 · · Score: 1

    ...that DirectX would go away and everyone would start using a more portable language like OpenGL or SDL...but MS would never let that happen and already have DirectX available for .NET

    --
    "Some things have to be believed to be seen." - Ralph Hodgson
    1. Re:We could only hope... by jadams2484 · · Score: 2, Informative

      DirectX is more than a graphics library... it has a great input section with DirectInput. You don't have to give up on DirectX to use OpenGL (even the big guys at id software use DirectInput alongside the OpenGL graphics.)

      Your problem is thinking of DirectX as a "language" when its not.

    2. Re:We could only hope... by Anonymous Coward · · Score: 0

      Right, it's a "toolkit"

      There's more to a game then the graphics and DirectX has all these wrapped up nicely in a neat little bundle

      DirectX seems more like IE all the time, trying to do everything all at once...

  23. On top of everything else said by truthsearch · · Score: 1

    Along with everything else said about the extra .NET layer, this will work out the same as everything else for developers on Windows: those who look for the best solution to their needs may or may not use it (probably not), but those who blindly follow Microsoft's push - the vast majority - will use it if MS tells them to. Unfortunately most developers only familiar with the Microsoft world do whatever they push. It may seem like COM is dying, but it's the underlying technology to all of .NET until they rewrite .NET to do all the work Win32 already does. So if you want to keep using COM go right ahead, it's not going anywhere for a long time. But Microsoft will be able to push the majority of developers to .NET simply because they'll listen to whatever they're told.

    1. Re:On top of everything else said by Keeper · · Score: 1

      ...and of course, since MS came up with it, the blind assumption is that the .NET framework and CLS languages are a step backwards.

      Which is incorrect.

      COM *is* dying. It won't be dead for a very, very long time. In much the same way that OLE (what COM replaced) still isn't dead, and won't be for a very long time. And just as doing things the COM way was better than doing them the OLE way, doing things in .NET is generally better than doing them in COM.

      COM is just a way to create and use objects between processes. .NET code doesn't communicate between .NET processes using a COM wrapper. However, it does communicate with COM classes using a proxy class which implements a COM wrapper. COM doesn't do anything other than that. All the extra stuff you get with .NET isn't present in COM.

      The rest of the stuff in .NET is analogous to MFC and the C++ stdlib. MFC is also just a wrapper on top of Win32 functions, so nothing lost there -- and I'm sure most people would agree that MFC just needs to die a painful death. And of course, the stdlib is just a bunch of standard functions that end up calling the Win32 API at some point anyway. The CLR implements these things, and the neat thing about it is that the CLR is common between all .NET languages.

      Most of the developers will be going to .NET not because it's "what they're told", but because it's better. If you don't agree, that's fine, but don't be fooling yourself into thinking that the only reason it's being adopted is because you think it's being crammed down people's throats.

    2. Re:On top of everything else said by truthsearch · · Score: 1

      First, you really need to read this. The first half you're probably familiar with, but read the rest. Second, cross-language development is irrelevant when all of the languages are new. If a company is picking .NET, they're also picking just one language, because those who were using C++ will keep with C++ or switch to C#. Those using VB need to learn a whole new VB or learn C#. Either way, moving to .NET for now means picking one language. Instead of providing all the great new functionality in COM, MS chose to go with a whole new platform, not because anything is wrong with COM, but to generate revenue and continue vendor lock-in. Again, read "What's the need for .NET?".

  24. I think what we have here... by Anonymous Coward · · Score: 0

    ..is a bunch of Java developers crying because they have wasted so much time with a failed technology (Java is dead).

    Even the suits are starting to realize that if they can actually watch the dropdown box be drawn, it must be Java.

  25. .Net and Games - It is a reality by Anonymous Coward · · Score: 4, Interesting

    way back when .net was still beta and machines were at least 1/2 to 1/4 the speed they are today I saw a demo of Quake 2 models being rendered in .net flawlessly - and this was using OpenGL and an ultra craptastic laptop.

    Fast forward two years with Managed DirectX and you have a pretty decent system for writing games with fewer bugs because you are not likely to encounter certain errors (memory leaks for one). Games like Unreal Tournament 2003 and Doom 3 will obviously be tuned using assmebler and written primarily in C/C++ ... but I think many games in the future (maybe 3-5 years) will be using .net simply because it makes developing that much easier.

    I have benchmarked some encryption routines I wrote in school back in the day, and they were originally done in Java. The Java code started much slower (stupid JVM - big issues) but once everything was in ram and cruising along it wasn't much slower than C++... with .NET it actually ran slightly faster than my C++ code (probably because of being able to instantiate and destroy objects better). I am a big believer in .net and can't want for better cross platform support

    1. Re:.Net and Games - It is a reality by Anonymous Coward · · Score: 0

      "Games like Unreal Tournament 2003 and Doom 3 will obviously be tuned using assmebler and written primarily in C/C++ ... but I think many games in the future (maybe 3-5 years) will be using .net simply because it makes developing that much easier."

      That reminds me of something Steve White (Paul Weller's drummer) said in an issue of Rhythm magazine. I can't remember his exact words, but they were something like "everyone wants to be the finished article, and instant gratification has overtaken good, honest craftsmanship".

    2. Re:.Net and Games - It is a reality by podperson · · Score: 1

      Rendering Quake2 models is not exactly bleeding edge. Quake2 ran just fine on 200MHz computers; rendering models out of Quake2 is a lot less demanding than running Quake2.

      In short, rendering Quake2 models in a demo is slightly more compelling that the Amiga boing demo running on a Dual GHz G4...wait I just got that from Apple.

  26. WRONG by Anonymous Coward · · Score: 0

    Check your facts on the chopsticks.

    "Chopsticks were developed about 5,000 years ago in China. It is likely that people cooked their food in large pots which held heat for a long time, and hasty eaters then broke twigs off trees to retrieve the food. By 400 B.C., because of a large population and dwindling resources, food was chopped into small pieces so it could be cooked rapidly to conserve fuel. "

    http://www.calacademy.org/research/anthropology/ut ensil/chpstck.htm

  27. com by Anonymous Coward · · Score: 0

    My understanding, from the corporate training and seminars i've attended, is that not event Microsoft believes that dot net is stable enough to run in life-or death situations like hospitals and games.
    Seriously, ms will continue to support com because com works. Dot net is managed code for a connected environment. It is an easy environment to work in, whereas com is more challenging. Microsoft wants dot net to replace vb, server-side scripting and java, but they acknowledge that c is still more efficient.

  28. Yes, But by sjvn · · Score: 4, Interesting

    It's not like Microsoft developers will have much choice in the matter. The new Visual Studio is bult around .NET, the title gives it away: "Visual Studio .NET 2003."

    But, what does that really mean? Good question, Microsoft is backing off from calling everything .NET because they overused it to the point that the term became essentially meaningless. With the newest VS, it boils down to you can use the .NET Framework (think object-oriented, component-based API), try mixing code from different lanaguages with CLI, and run C#. Oh, and it makes easier to use the still betaish ActiveX.

    Does any of that make sense for a game programmer? Maybe, but since performance is everything to gamers, I suspect it will be a while before we'll see such games. Learning how to exploit .NET Framework means wrapping your mind around what, for many programmers will be a new way of developing programs. Simply knowing objects by way of C++ won't cut it. Because of that aspect, I don't see that using old languages via CLI will help that much to get killer performance. And, as for C#, I've never liked it that nuch, and while I know lots of folks who will argue over its functionality, especially over Java, and vice-versa, I seldom hear anyone comparing it performance numbers to those of C or C++.

    Bottom line, yes, it will get used because for some developers VS .NET will be the only tools they have for Microsoft OSs. But, will it lend itself to producing killer games? Maybe someday, but I don't see it happening for another couple of years myself. For now, were I a game programmer, I'd be sticking to C and C++.

    Steven

    1. Re:Yes, But by pmz · · Score: 1

      "Visual Studio .NET 2003."

      I'm holding out for Visual Studio Advanced Professional Server .NET 2003 Home Edition 7.0.

    2. Re:Yes, But by mrtroy · · Score: 1

      What the hell is .NET defined as now

      And what the hell is the COM the author referred to

      I find it odd to understand every other part of the comments and posts here, excluding the ".NET" and "COM" parts hehe

      And yes, I have lived under a rock for the last....(actually I thought I knew what .net was but it apparently is not a broad enough definition!

      --
      [I can picture a world without war, without hate. I can picture us attacking that world, because they'd never expect it]
    3. Re:Yes, But by godefroi · · Score: 1

      It's not like Microsoft developers will have much choice in the matter. The new Visual Studio is bult around .NET, the title gives it away: "Visual Studio .NET 2003."

      You can still write plain old c or c++ in vs.net, and the compiler is better than the one in vs6. The only thing I'm aware of that you can't do anymore is write code in vb or [whatever ms's javaish is called] without using the clr.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    4. Re:Yes, But by arkanes · · Score: 1
      .NET (in this context) is the .NET Framework, a java-like VM and standard library.

      .NET is also used widely by Microsoft in product names. These names have nothing to do with the framework and can safely be ignored.

      For a while, .NET was ALSO used to refer to the Hailstorm project, which is a sort of centralized computing thing. Interestingly, I was at the Server 2003/VS 2003 launch event and didn't hear a word about that, although they talked alot about Sharepoint, which is a cool looking server product that lets you set up your own collaborative system (highly integrated into Windows Messenger and other stuff, although they claim the API is fully open and documented so third parties can integrate just as well).

      COM is the Component Object Model, a fundamental Windows technology. You write objects (called COM servers) that can be loaded up and called from any COM supporting language. .NET has a different kind of language neutrality and has been hyped to replace COM, which is kind of silly because COM truly is *fundamental* to windows - almost everything uses it.

    5. Re:Yes, But by Keeper · · Score: 1

      They arn't backing off from calling everything .NET because they overused it, or because the term became meaningless. It's changing for a few reasons, mainly because nobody at Microsoft has really figure out a good way to communicate what .NET really is. Even the team that developed it can't summarize what it is with a short statement. .NET is being dropped from Office/Windows names because it didn't make sense to have it there (well, it made about as much sense as calling Win2k Server "Win2k COM+ Server"). .NET languages don't introduce any new revolutionary concepts to the OOP world. They added a few nifty things that I haven't seen in other languages (attributes), and improved on several things that were "painful" to do in C++ (delegates), but it's nothing new. Writing a class in C# isn't significantly different than doing so in C++.

      Performance wise, C# is very close in performance to C++ code. In some cases it may be faster, in some cases it may be slower. The JIT compiling/optimization is very impressive.

      Most of the resistance I've seen in moving to it is that it's an unknown. Which is reasonable -- you don't want to start a big project when the system you're basing it on is a giant question mark. But don't let the thing remain a giant question mark. It's a very neat set of technology.

    6. Re:Yes, But by Billly+Gates · · Score: 1

      How is object oriented programming different? I do not have the money to blow on c#.net so I have not used it( yet ).

      Isn't passing pointers to remote functions as arguments the same? I hate pointers and think they are nasty unless they are needed in certain situations. They are overused by this is what bonobo and com use.

      Pointers because corrupt and memory management issues arise but this is what you get. Unless its in Java of course. I hate the long library names for everything in Java but it sure as hell is less buggy due to the lack of pointers.

  29. Is it really the end of COM? by Jack+William+Bell · · Score: 4, Insightful

    The rest of the questions asked have already been answered, so I am going to tackle "Is it really the end of COM?"

    Uh... Was Windows 95 the end of MS/DOS? Was COM the end of DDE? Microsoft has a tendancy to wrap up stale old code in fresh new interfaces and let their Marketing people slap a new name on it. Sometimes those interfaces aren't all that fresh; ActiveX was mostly just a rename of COM with a couple of extra methods.

    So the answer is no. At least not right away. Maybe ten years from now, but by that time Microsoft will be pushing some new technology without admitting that their new thing has .NET under the hood...

    --
    - -
    Are you an SF Fan? Are you a Tru-Fan?
    1. Re:Is it really the end of COM? by johnnliu · · Score: 2, Interesting

      .NET is COM interoperable, but is not COM.

      When MS tried to make Java COM/MFC interoperable, Sun sued them. That's why there's now .NET.

      jliu

    2. Re:Is it really the end of COM? by Jack+William+Bell · · Score: 1

      My point is that MS has a major investment in COM code that will not go away soon. Instead they will hide it behind layers of .NET or will just continue using it without publishing the interfaces. COM and COM support will not go away soon.

      --
      - -
      Are you an SF Fan? Are you a Tru-Fan?
    3. Re:Is it really the end of COM? by ednopantz · · Score: 1

      Microsoft has a tendancy to wrap up stale old code in fresh new interfaces and let their Marketing people slap a new name on it

      Not just Microsoft. I just pulled the last of our Crystal Reports from out VB.NET project because we couldn't do xcopy distribution. .NET compatible, oh to laugh!

    4. Re:Is it really the end of COM? by geekoid · · Score: 1

      do not confuse COM with COM+

      MS is getting rid of COM. It will not magically go away from all existing products that need support.
      If you are creating new programs in .net, you will not be using COM.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    5. Re:Is it really the end of COM? by harvardian · · Score: 1
      "Sometimes those interfaces aren't all that fresh"? Please, try posting something other than completely subjective blather.

      Yes, Win95 wasn't the end of MS/DOS, but WinNT pretty much WAS the end of MS/DOS. Of course not completely, but grandfathering old macrokernel code was overshot by the desire for a non-shitty microkernel. Just the same, .NET is a substantial departure from COM...it puts much more focus on interchangeable code, interoperability, and a run-time environment rather than a hack of an inter-program communication system. They are different beasts, despite your witty rhetorical questions.

    6. Re:Is it really the end of COM? by Keeper · · Score: 1

      Well, you CAN use COM in new programs you create in .NET, but you're generally making your life much harder than it has to be when you do and it doesn't really do you any good. Only reason why you'd want to is because your .NET code needs to implement a COM interface that older code interacts with...

    7. Re:Is it really the end of COM? by Kalani · · Score: 1
      Sometimes those interfaces aren't all that fresh; ActiveX was mostly just a rename of COM with a couple of extra methods.


      Maybe you mean OLE? COM has always been the binary standard and interface querying protocol for components. OLE and ActiveX are component standards built on top of the COM foundation. They define standard ways of interacting with embedded document objects, programmable controls, and scriptable objects.
      --
      ___
      The ends are ape-chosen, only the means are man's. -- Aldous Huxley
  30. VC++ 7 might work by kko · · Score: 2, Interesting

    VC++ 7 (which uses the VS.NET IDE) might work for games. AFAIK, VC++ 7 generates native Win32 code, while the other languages generate CLR code.
    I have no idea how fast VC++ 7 is compared to the previous versions, but I know for a fact it's way faster than C# code (and I guess it kicks VB.NET in the balls).
    Some of the managed classes might be useful for some aspect of a game (savegames is the only thing that I could come up with right off the top of my head), yet .NET code is painfully slow.

    --
    No, seriously, I just come here for the articles.
    1. Re:VC++ 7 might work by Anonymous Coward · · Score: 0

      C# is only ever 20% slower than C++ as is VB.NET.

      If you think 20 is too high a price to pay then fair enough, but don't go posting stupid e-mails suggesting that C# and VB run like perl etc.

      Also it's worth pointing out that memory allocation and garbage collection is actually far faster using managed code than C++ use of malloc and free which are a huige overhead.

    2. Re:VC++ 7 might work by MagPulse · · Score: 1

      Of course it will work. VC7 is a plain old C/C++ compiler and has nothing to do with .NET, except that you can turn on managed C++ extensions if you choose. VC7's C++ compiler also has big improvements, and VC2003 (VC7.1?) is even closer to the standard. The only reason to stick with VC6 is if you can't afford VC7 or you don't want to make the minimal effort to port your code.

    3. Re:VC++ 7 might work by arkanes · · Score: 1

      Or if you prefer the IDE, like I do :P It's not TO difficult to use the VC 7/7.1 compilers from VC 6.

    4. Re:VC++ 7 might work by egoots · · Score: 1

      Also it's worth pointing out that memory allocation and garbage collection is actually far faster using managed code than C++ use of malloc and free which are a huige overhead

      Do you have some benchmarks to back this up?... I am aware that Jeffrey Richter wrote 2 articles in MSDN on .NET garbage collection, and he mentioned that "Microsoft's performance tests show that managed heap allocations are faster than standard allocations performed by the Win32 HeapAlloc function." The malloc function uses an algorithm which calls HeapAlloc. Does this mean that malloc is slower than what .NET does for memory allocation? I dont think you can conclude that, because you need to measure the entire algorithm". If you have further references or benchmarks, I would be interested.

      Note, malloc is a "general purpose" memory allocator, in that it tries to be do something that suits a wide variety of uses. Can one write something better?... of course! For example, it is easy to write a special purpose allocator that is way faster, but more specialized. For a C++ example, check out the book "Modern C++ Design" by Andre Alexandrescu... he develops a small object memory allocator which is an example of one of these (note this is just an example of some info, not a recommendation on the worlds fastest small object allocator).

    5. Re:VC++ 7 might work by spongman · · Score: 1

      Yeah, I've been using both IDEs for a while now, v7 for .NET and v6 for C++ and I'm still feeling reluctant to move over to v7 for C++ work. There are some features, like autcomplete, that work better, but other things, like multi-project builds that are much worse.

  31. C# vs C, DirectX samples by SteveX · · Score: 4, Interesting

    Here's one data point: When the SDK came out I compared the framerate of the DirectX samples in C with the framerate of the equivalent samples in C# (most of the samples are available for both, as examples).

    The framerates were very similar - the .NET code lost some benchmarks, but it won a few and on the vast majority, they were within a few percent.

    There doesn't appear to be any huge disadvantage to using .NET to write games.

    One big advantage, however, is CPU portability - with two flavours of 64 bit CPUs just around the corner, plus different optimization strategies for P4 vs Athlon, having bytecode that gets compiled for your CPU when the game is run will be a big advantage if you happen to own anything but a P4.

    It's doubtful that anyone's going to ship a game CD with an Itanium build of the binaries, but if it's .NET, then they don't have to.

    - Steve

    1. Re:C# vs C, DirectX samples by ZigMonty · · Score: 2, Informative
      What were the examples? If they're mostly doing graphics stuff (rotating cubes, etc) then why would there be any difference? That's either native code or hardware accelerated.

      How good is .NET at heavy calculation? Games are more than just graphics.

      If they *were* realistic examples of all the stuff a modern games does, then disregard this post.

    2. Re:C# vs C, DirectX samples by Anonymous Coward · · Score: 0
      How good is .NET at heavy calculation?
      As good as C or C++, since it's got full support for value types and structs, or even calling out to non-managed libraries written in whatever you like.
    3. Re:C# vs C, DirectX samples by Tattva · · Score: 4, Informative
      .NET should be excellent at heavy calculation. Things like math compile down to native code and don't really incur any overhead. The overhead of managed languages like .NET are in method invocation, accessing advanced features like runtime types that aren't available in other languages anyway, exception handling, and a larger memory footprint. Arguably, the last two are the only "real" significant disadvantages.

      Some argue garbage collection is expensive, but try calling C++'s "new()" a few million times and see how much you like it then. Memory ALLOCATION in .NET is almost a no-op relatively, and deallocation's only real downside other than non-determinism is that a poor GC (garbage collector) can cause "burps" in performance if it falls behind due to too many objects being created and unreferenced too quickly. Generational GC's like .NET's tend to mitigate this to a large degree.

      I suppose if you consistently use 100% of the processor and are allocating objects, eventually the processing overhead of the GC will become apparent, but most programs use the procecessor unevenly, leaving spare cycles for the GC to consume.

      --
      personal attacks hurt, especially when deserved
    4. Re:C# vs C, DirectX samples by arkanes · · Score: 1

      Runtime checks on things like array accessing can hurt, too, and in unexpected ways. As some other people have mentioned, one of the biggest hurdles for fast .NET apps is that people are just relatively unfamiliar with .NET and, unlike good C++/Java/even VB programmers, don't have the experience to know whats expensive and whats cheap and thus how to write efficent code.

    5. Re:C# vs C, DirectX samples by pyrrho · · Score: 1

      not only do gamers hate the slow down of intervening layers (hell, they moved from DOS to Win95 kicking and screaming), but they are at a competitive disadvantage.

      They'd rather compile for your platform than have the creamy goodness of a garbage dump... um, I mean, garbage collector.

      --

      -pyrrho

    6. Re:C# vs C, DirectX samples by Screaming+Lunatic · · Score: 1
      The framerates were very similar - the .NET code lost some benchmarks, but it won a few and on the vast majority, they were within a few percent.

      Is this the .NET beta that you speak of? If it is, I hope you realize that your are breaking the NDA that you signed. I believe benchmarking .NET is still under NDA. But of course, I am not a llama.

    7. Re:C# vs C, DirectX samples by spongman · · Score: 1

      one of the differences between the desktop and server version of the .NET runtime is that the desktop uses a separate thread in which to do asynchronous GCs (in order to reduce the 'burping') whereas the server version prefers to stop (most) everthing and GC synchronously (in order to avoid synchronization costs).

    8. Re:C# vs C, DirectX samples by Anonymous Coward · · Score: 0

      half truths, lies and FUD. everyone needs to carefully consider anything this child says. he doesnt have an enterprise proving ground for his machinations (or a job for that matter) so be careful with this guys "advice"

    9. Re:C# vs C, DirectX samples by spongman · · Score: 1
      From Performance Considerations for Run-Time Technologies in the .NET Framework.:
      Server GC:
      • Multiprocessor (MP) Scalable, Parallel
      • One GC thread per CPU
      • Program paused during marking
      Workstation GC:
      • Minimizes pauses by running concurrently during full collections
      Consider yourself schooled.
  32. C++ will NEVER replace assembly in Game Coding!! by FortKnox · · Score: 4, Interesting

    This is great. So many "NO WAY! .NET IS TOO SLOW!" reminds me of assembly programmers saying "C++? Its slow and a memory hog! Games will NEVER be programmed in C++!!"

    Well, you can read some books on using DirectX9 for .Net, or even play some games that were made with directX and .net.

    While computers gain more powerful hardware (faster CPUs, bigger memory, etc...) the coding for games will go forward to the newer languages that makes coding easier. You may not like it, but don't worry. There's always jobs for those with assembly knowledge.

    And, for what its worth, I think game coding in Java will start becoming a reality in the next five years (and not just on PDAs and mobile phones)...

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  33. Excuse me by Guilly · · Score: 5, Informative

    While you might not be aware of this, cross-platform solutions have been used, are used and will continue to be used to develop games.

    Will ALL Windows programming be done with .NET?
    no. A whole bunch of DirectX developers that use it because they don't know any better will probably move on to .NET gaming. Those who use DirectX because there is specific things in DirectX that they can't find elsewhere will move on to .NET. Others will realize that OpenGL is better than DirectX as an API for mostly anything (Don't flame me for the exceptions).

    If games aren't developed with .NET and Microsoft is killing COM, then what future for games development on Windows?

    For christ's sake... is developing games and DirectX now linked by some kind of godly power? Most of the good games out there (quake anyone?) have been built on multiple platforms and released on multiple platforms because their developers had a clue, which most developers don't. Having used Microsoft stuff for the past years is not a good point while trying to choose which library to base a project on. Finding the most portable and easy to use one is.

    There was a discussion earlier this week about writing portable games here on slashdot. I believe you haven't read it so here it the main idea:
    * If you decide to write a game from scratch, pick portable libraries right at the beginning of the project
    * test that the project compiles and works on both platforms as it grows.
    * keep bad code and unportable code out of the source.

    That way you can probably get rid of DirectX, .NET and COM programming in one step.

    1. Re:Excuse me by Anonymous Coward · · Score: 0

      Exactly. If you make a game, make it portable and sell more copies. Wow. That was accounting 101 for today.

      Thanks.

  34. moron wonders if game developers are relevant by Anonymous Coward · · Score: 0

    to the 'net? we already know that the phonIE payper liesense softwar gangsters that robbIE is whoring for, are not.

  35. Cross platform? by nelsonal · · Score: 1

    I'm a lowly businessman, but at a Microsoft presentation they were pushing .NET as cross platform (Windows Mac and BSD). Would .NET games be significantly easier to port to any plaform with a .NET framwork?

    --
    Degaussing scares the bad magnetism out of the monitor and fills it with good karma.
    1. Re:Cross platform? by m1chael · · Score: 0

      isnt the point of .net so you dont have to port the apps just the actual framwork to other platforms?

      --
      I know you are psychotic, but please make an effort.
    2. Re:Cross platform? by arkanes · · Score: 1

      Probably not, since .NET games will ise DirectX, which won't exist on the other platforms. If someone writes a compatible .NET wrapper for OpenGL, then sure, assuming that the non-Windows .NET environments are as good as the Windows ones (which is certainly not the case now, although one has hopes).

  36. .NET performance by Anonymous Coward · · Score: 0

    .NET and C# are not interpreted languages, they get JIT compiled, this is very different from an interpreter.

    The performance degradation of using C# over C or C++ combined with Direct X is 95%.

    The productivity gains of using C# for application development are potentially 30-50%.

    Most games don't use modern CPU's and GPU's fully anyway.

    There are so many comments in these replies that are just nonsense and obviously don't come from people who have actually developed software on .NET, once you have you will realise that the overhead is MINIMAL and wonder why you'd ever want to go back to using C++ again.

  37. The future by MagPulse · · Score: 5, Informative

    .NET is the future, but it's not here yet. It's great for writing small applications quickly, like those corporations use internally. The earliest Microsoft would switch over large applications like Office to fully managed code will be around 2007, because only then will most PCs be able to handle it. 3D games will wait at least a few more years. Right now 95%+ of professional game development is done in C++. COM interfaces aren't going anywhere.

    In 2010 when we might see a serious move to managed code even in games, then COM might start to quietly go away. But thanks to COM interop via COM-callable wrappers, there will continue to be options for C++ developers for the forseeable future.

    And if you utter the words "COM is dead" to any Microsoft-employed programmer, they'll tell you to stop being spoon fed by their awesome marketing division. Even Don Box, father of COM and star .NET evangelist, would answer with "a resounding no".

    1. Re:The future by pmz · · Score: 1

      .NET is the future [of Microsoft], but it's not here yet.

      I suspect this premise is true for all values of t.

    2. Re:The future by Anonymous Coward · · Score: 0

      Don Box, father of COM and star .NET evangelist, would answer with "a resounding no".

      Dude, that link is almost 3 years old! COM may not be dead yet, but it's definitely on life support.

    3. Re:The future by RhymeAndReason · · Score: 2, Interesting

      Why would microsoft put effort into developing attributed programming for VC++ 7, which provides a much easier way to create COM components, if they were intending to kill it immediately? .NET is set up to be the successor of COM, but COM seems to be very much alive in the realm of unmanaged C++.

    4. Re:The future by KoSpdX · · Score: 1

      Don Box is now a .NET evangelist, having left Developmentor to join Microsoft (Designing the web services architecture). In every conference he gives on .NET, he always begins by saying, "COM is dead."...

  38. america is inteligent ! by Kursh+Run · · Score: 1

    You're a chopstick. How can someone move from .NET to chopsticks? Seriously...I'm calling the BS flag on you. "Chopsticks were developed about 5,000 years ago in China."(http://www.calacademy.org/research/anthrop ology/utensil/chpstck.htm) "During the Middle Ages, aristocrats often favored silver chopsticks since it was thought that silver would turn color if it came into contact with poison"(http://www.factmonster.com/spot/chopsticks 1.html) And no, the "middle ages" were not invented by americans in the late 1800's by amish asian's to distinguish differentiating time periods. "Middle Ages, period in Western European history that followed the disintegration of the West Roman Empire in the 4th and 5th cent. and lasted into the 15th cent"(http://www.burstnet.com/cgi-bin/ads/ad10126b .cgi/2089/RETURN-CODE) Yadda, yadda... fall of rome, some time in the "middle", then the 1500's...basically, a long time ago... not so much the 1800's.

    --
    Decaffeinated coffee? Kinda like kissing your sister. - Bob Irwin
  39. Mod parent down. HE FAILS IT. by Anonymous Coward · · Score: 0

    No chopsticks for you, lazy non-reference-checking fool.

  40. I call bullshit by autopr0n · · Score: 1

    That's the most ridiculous thing I've ever heard. You're probably confusing 'chopsticks' with 'fortune cookies'. But even then you'd be wrong, since they were invented by a Japanese American in this century.

    How could an entirely new form of eating utensil take off like wildfire throughout all of east Asia in just 200 years? If they really had that kind of traction, they certainly would have become popular in the US, Europe, and the rest of the world too. You think some uneducated peasant in rural china is going to stop eating with their hands (or whatever) and adopt hard to use chopsticks in order to be 'cool'?

    Do you think that the Japanese, while trying to modernize and westernize would replace all their eating utensils with something used only in Chinese restaurants on the west cost of the US?

    In conclusion, you're an idiot.

    Oh, and Chopsticks were developed about 5,000 years ago in China. It is likely that people cooked their food in large pots which held heat for a long time, and hasty eaters then broke twigs off trees to retrieve the food....By A.D. 500, chopstick use had spread from China to present day Vietnam, Korea, and Japan. The chopsticks to the left, while Japanese, are rectangular in the style of Chinese chopsticks.

    --
    autopr0n is like, down and stuff.
    1. Re:I call bullshit by RabidOverYou · · Score: 3, Funny

      > they were invented by a Japanese American in this century.

      Whoa, I could have sworn I saw them as far back as 1998.

  41. The technology should work; desktops not ready by Anonymous Coward · · Score: 0

    Personally, I've coded using managed DirectX 9, using C# for Visual Studio .NET (2001).

    It works great, and I would go beyond the proof of concept/prototype stage, except for the #1 problem: the framework isn't automatically on the desktop yet.

    This means more than the performance or features arguments you'll hear from lots of folks. # of desktop installs is key in this case. Fact is, there is no version of windows for users where the framework is there by DEFAULT. Option install = no coding .NET yet.

    So, I'm ready...I'd like to code in it NOW, but alas...maybe 2 years away. RELEASE FREAKING LONGHORN SOONER Microsoft! The game community will wait until that happens, IMHO.

  42. Re:Superlative! by Anonymous Coward · · Score: 0
    Sure I'll bite. Say you want to build a webservice, which and deploy/undeploy without restarting IIS. Do you have a standard management API with reference implementation to start from? I'm still trying to find a solution to this problem and haven't found one. That isn't to say there isn't a solution, just that I haven't found one.


    Take threading in .NET for example. Threading in .NET uses delegates, and is not POSIX threads. I'm not going to bother to go over the basics of .NET threading you can do a search for it. The bottom line is this. If you want to have a persistent server manager so that you can deploy/undeploy webservices dynamically, I haven't found a way. IIS has been integrated with .NET framework, but it hasn't been rewritten in C#, which is something MS is going to have to do eventually. Even better, try to create a schema using VS.NET that has an element that is a subelement of two elements. It won't work. The error VS.NET gives is "table cannot be a sub element of multiple tables."

    When other tools are used like XMLSpy, it works just fine. The default mode for schema creation in VS.NET is to convert everything to a flat table, rather than declare complexTypes and reference those types in top level complexTypes.

  43. Question asked of Java by kevlar · · Score: 1


    This same question was asked of Java back in the day. In fact, I believe ID Software was planning on releasing a version of Quake written in Java. Then came the realization that 3D rendering that pushes hardware to the limits will never be achieved through an Object Oriented Language. It does not have to do with the fact that Java or .NET can be run interpretive or with a JIT compiler, it merely deals with the facts that in an OO language, literal string names mean EVERYTHING. Both .NET and Java highly rely on the names of classes, variables, functions, etc at runtime to link code properly. This is the crux of the problem.

    1. Re:Question asked of Java by Anonymous Coward · · Score: 0

      Quake-C
      QuakeII-C
      QuakeIII-C++?
      DoomIII-C++

      It is using an object oriented language. Hell, you can use even C OO style, look at how GNOME works.

      When QuakeIII came out JC was quoted saying 70% of the time is spent in the OpenGL driver. This is why dual CPU support died off and with faster video cards we get 300fps. The CPU doesn't matter that much because the bulk of the work happens in the OpenGL driver and with an advanced enough card the bulk of that work happens on a separate processor.

      Even if Java/C# was half speed of compiled C++ code QuakeIII's frame rate wouldn't be cut in half because most of the time it isn't running C++/Java/C#/assembly, it is waiting for the OpenGL functions to return.

      PS id never was planning on using Java for Quake, but I know Brian Hook at id was looking into using Java+OpenGL for the tools. Perhaps if that went well enough their next game would've been written in Java.

    2. Re:Question asked of Java by Anonymous Coward · · Score: 0

      OO is a little slower than c or assembly, but you yould be out of your mind to write old structured code with todays computers. Like 120fps vs 112fps for a 3d game is a big deal. Stack them classes high and stack them deep.

    3. Re:Question asked of Java by arkanes · · Score: 1

      I don't think Object Oriented Language means what you think it means. You know that all modern games are writting an OO languages, right? You're also confused about (at least the .NET, I dunno about Java) compilation.

    4. Re:Question asked of Java by f3r0c7ty · · Score: 1

      I am not sure you understand OOP or OOP Languages.

      Doom III is being developed right now with a brand new C++ Object Oriented 3D engine.

      Check out: www.gamespy.com/e32002/pc/carmack

      You can download the Quake II source code that is now opensource at www.sourceforge.net/projects/quake . If you take a look you will see they used many OOP constructs in the C source code.

    5. Re:Question asked of Java by Anonymous Coward · · Score: 0

      Strings? That's a laugh. OO languages do not use strings for everything. You sir, do not know what you are talking about.

    6. Re:Question asked of Java by Anonymous Coward · · Score: 0

      Nobody ever said "Strings" were used for everything. Its that Strings are heavily used in an OO language like Java and .NET languages. Its a fact.

  44. nobody asked me, but: by LifesABeach · · Score: 0


    1. .net issues here? why?

    2. is there an equivalent linux software solution that one can compare .net to?

    just a thought.

  45. Yes! by GeckoUK · · Score: 2, Informative

    Writing lightening fast engines optimised to a specific console is only one small part of writing a game.

    Writing tools that an artist or designer can use to create content for said engine is a big part (and set to get much, much bigger).

    Anything that speeds up the process of getting tools into the hands of the creative people is a Good Thing(tm)

  46. Visual Studio .NET or .NET Framework? by Hellraisr · · Score: 2, Informative

    You can still make regular C++ programs with Visual Studio .NET and not have to use the .NET framework.

    Otherwise, .NET framework is useless to a game programmer. It adds a lot of bulk and crap that you don't even need in the first place. The first thing you do to make a game is to #DEFINE WIN32_LEAN_AND_MEAN which takes out all the crap. Then you create a window and use DirectX through it.

    Looking at the way the CLR works.. you could I guess make a cross-platform game that way. But who cares? All the hard-core gamers have windows boxes and are interested in getting the most FPS out of their games.

    As far as I'm concerned, if you really had to break down and use some windows stuff, you could put the MFC crap in too, but it's going to slow down your game. .NET Framework is basically dumping a bunch of more libraries and components on top of what you already have, increasing the overhead and forcing you to compile into a not-quite .exe

    It's decent for apps but games are high-performance.

    1. Re:Visual Studio .NET or .NET Framework? by Keeper · · Score: 1

      All WIN32_LEAN_AND_MEAN does is exclude some headers from being included. All it does is make your code compile faster. It has nothing to do with execution speed or what libraries you link to.

  47. Re:The real question is "is .net relevant to anyon by Anonymous Coward · · Score: 0

    Will Pat get a job once he graduates from the mediocre Brandeis?

    The answer is no.

  48. Too Generic A Question by EXTomar · · Score: 1

    There are plenty of reasons why and why not to make a game on .NET. They aren't good or bad just different.

    One of the issues with Direct X and other .NET API calls directly onto the OS layer is that they are really just wrappers on the Win32 called via PInvoke. So while the .NET binary maybe portable to whatever platforms that can support the CLR, the underlying Win32 calls need to be supported.

    So the MS dream of a write once run anywhere game is still a bit off. They still need to port Win32 to platforms they are targeting. Maybe this will change in the future but that will progress (or regress) to the mess Java had with UI.

  49. Dependency of .NET framework by jalilv · · Score: 4, Interesting

    The .NET framework on Windows is entirely dependent on existing Win32 APIs and COM technology. Although Microsoft is encouring people to drop the use of COM and Win32 APIs, they themselves heavily depend on these technologies. As it is now, the .NET framework is just a wrapper around existing APIs (COM and Win32). The C# comipler has been implemented using COM, csc.exe being a wrapper around this COM C# compiler. The VS.NET IDE depends heavily on COM. The .NET framework is huge (more than 3000 classes) but only 15-20% of APIs have been covered by these classes. Apparantly, that is enough to write usual application.

    <plug class="shameless" >

    I have written an article called Whats the need for .NET where in I argue if there was a real need for MS to come up with .NET. The statements I made above have been backed up in the article by providing links to the comments that MS employees have made about this.

    </plug >

    Jalil Vaidya

    1. Re:Dependency of .NET framework by Anonymous Coward · · Score: 0

      with regards to the promotion of developers, which is a class of XML attribute?

      with regards to the promotoion of markup languages, which is a category of promotions?

  50. short memories by avandesande · · Score: 4, Insightful

    Rember how many years before game programmers moved away from dos booting games to windows games (for performance reasons) the same thing will happen with dot net. Ask me again in 5 years.

    --
    love is just extroverted narcissism
    1. Re:short memories by InferiorFloater · · Score: 1

      I doubt developers moved from DOS because of performance reasons, but then again, no one exactly misses having to manage drivers by hand to get games to run. The shift to windows came because it was increasingly inconvenient to run dos games in a windows environment, which was rapidly beoming the standard.

      .NET introduces no incompatibilities with basic development - it's not like I *have* to switch or else my program won't run right. All .NET is for is making a common interface across multiple languages to Windows functionality. Since most games use very little windows functionality, other than starting up a rendering rendering environment, .NET means little to a game developer It means nothing to someone not developing for an MS platform i.e., PS2 or Gamecube. PC developers *could* use .NET, but games require such fanatical management of memory that garbage collection is out of the question. Programming high-performance games requires programming habits that garbage-collecting languages don't really encourage - you don't want stuff in memory if it doesn't need to be.

      --

      ---------
      Get back to me when my brain starts working.
  51. Right tool for the right job... by Anonymous Coward · · Score: 0

    I had a similar question when I was first learning Java; Java works really well for modeling something, while C/C++/Asm work great for speed, so why not use Java for high level game logic and use low level stuff for rendering, calculations, etc (stuff that needs the raw power).

    Well it turns out there are game dev studios that already do this. In fact I went to a talk by James Gosling and he talked about how one release of Java was called the "Harry Potter" release, because the game Harry Potter used Java and something while developing the release was broken such that Harry Potter wouldn't run, and they had to fix it.

    Anyway, why not do the same thing here? Use C# for high level game logic, and use C++ where needed for stuff that needs to be tuned performance-wise?

  52. Yes - but not where you think by Donut · · Score: 5, Interesting

    As a game developer, I am/will use the heck out of C# and .NET to develop software - just not the runtime portions of my games.

    Tool development takes up an increasing amount of my team's time. We have custom tools for art manipulation, sound manipulation, and data warehousing. Not to mention our tool for level creation, which we hope to release with the game. All of these tools need to be robust, have clean interfaces, and be developed and changed quickly, and grow with the run time modules. .NET allows me to use or not use various parts of the run time (assuming that we architected the interfaces correctly!) in a way that can both maximize usefulness (it looks like it will in the game!), and unit test the game code in a better environment.

    Remember that C# and .NET are robust enough for these - the .NET IDE proves that.

    I won't go into why C# and .NET are better for windows app development - either you have done it, and understand why MFC and C++ blow chunks, or you are in for quite a pleasent suprise when you write that first tool.

    -Donut

    1. Re:Yes - but not where you think by Anonymous Coward · · Score: 0

      Completely agree. .NET is not a 100% replacement for unmanaged code. But it sure is usefull for communications, IDE's and other pieces where dev speed is important and performance is secondary.

    2. Re:Yes - but not where you think by jetkust · · Score: 1

      I won't go into why C# and .NET are better for windows app development - either you have done it, and understand why MFC and C++ blow chunks

      I will elaborate further.

      Having to interface with resource files and resource IDs was one of the killers of the MFC Vc++ enviroment. Resource files were dropped in C#; resource ids were dropped. Layout editing generates the source code for creating the form. No more GetDlgItem, no more hwnds, no picking a number from 100 to 32000, no more resource.h files. No more mounds of ridiculous MFC AppWizard rubbish.

      Then there is garbage collection, and all the built in collection classes: ArrayLists, HashTables. Usable bitmap and Graphic classes (no more dcs, hbitmaps). No more having to fill out a 30 item structure every single function call. But most importantly, C# != MFC.

    3. Re:Yes - but not where you think by smallpaul · · Score: 2, Informative

      Remember that C# and .NET are robust enough for these - the .NET IDE proves that.

      Visual Studio .NET is for the most part not written using the .NET framework. It was developed concurrently with the .NET framework.

    4. Re:Yes - but not where you think by arkanes · · Score: 1

      I share your pain. On the other hand, there are toolkits that are much better than MFC - I've always wondered why it was so popular. I fled from it as fast as I could as soon as I found Qt (and then wxWindows, which I greatly prefer).

  53. SDL.Net by Anonymous Coward · · Score: 0

    You could always try SDL.Net if you really must use .Net (it's reasonably fast)

  54. Our accounting software just went .NET by vasqzr · · Score: 1


    We installed the 8.x version of Timberline, our accounting program.

    Not only do you have to reboot each machine about 6 times during the installation (not to mention the installation that required rebooting the server 6 times), the program now requires like an insane amount of RAM and hard drive space, but NOTHING has changed.

    All Windows programs are going to be using .NET in the future, just like they all have used OLE, COM, etc every few years since the 80's. Blame this on VB, RAD, and tight project deadlines.

    I love how fast 'raw' Win32 apps are...

    1. Re:Our accounting software just went .NET by vasqzr · · Score: 1



      Those might not sound THAT extreme, but the previous requirements were like, Pentium 120, Windows 98, 32MB....

      This is ACCOUNTING software. Not MS Word or even game software. We've seen NO benefit with the new software, other than slower speed, especially when switching modules or starting the program.

      Ugh...

      Microsoft® Windows®, Windows 2000 Professional, and Windows XP Professional.
      450 MHz PC.
      256 MB RAM.
      400 MB available disk space1 plus 30 MB available disk space per application installed on the server.

    2. Re:Our accounting software just went .NET by arkanes · · Score: 1

      That's just shitty development on Timberlines part. .NET is not THAT heavy weight (it runs great on my 200Mhz PDA :P), and installing shouldn't have taken more than 1 reboot (installing just the framework often doesn't even need that).

  55. Why .NET multimedia apps should be slow ? by master_p · · Score: 1

    Even in managed mode, the bulk of the work is done in the very much optimized libraries that DirectX consists of. So it is highly unlikely that .NET-based games would be slow.

    There may be a problem in A.I. or any other routines that are not-hardware assisted, but with the current level of CPU power (and the future one), this is hardly a problem.

    From a developer point of view though, I don't think using SDL+OpenGL is any different...at least you get the additional benefit of the app being cross platform. I am learning SDL today (well, it is very easy, I have already learned it), and I am going to seriously dig in OpenGL from tomorrow, since it is a cross platform solution.

  56. My Exp, with .NET and Game Dev Says Yes by ben+h · · Score: 5, Informative

    I have been using .NET since September 2001. I wrote an open source 3D engine using C#. It makes use of BSP tree visibility culling, it uses WorldCraft as a level editor, it supports OpenGL and it did support NVIDIA's Cg until they changed their interface. When I released this engine open source back in February 2002 I stated clearly that I thought that .NET would be useful for game development.

    ExoEngine - A C#, OpenGL .NET 3D Engine

    PS. Some people notice that in the screen shots the engine is only getting about 10fps or less. This is because it was running without 3D hardware accelleration.

  57. Re:Based on what microsoft has done in .net games by anonymous+loser · · Score: 1

    "Based on .NET technologies" is a far cry from being actual .NET code. Does AC2 require the installation of the .NET platform to run? If not, I kinda doubt it's actually using .NET anything under the hood.

  58. Re:Based on what microsoft has done in .net games by Anonymous Coward · · Score: 0

    Roll your own chat protocols then. It says nothing on what that code is using - is it Web Services? Remoting? Else? This isn't .NET's fault - its chat developers fault.

  59. Chopsticks are ancient chinese, ya troll. by Ashurbanipal · · Score: 1

    As authoritively documented on that red sleeve thingy and, more mundanely, on Access Asia.

  60. Re:Based on what microsoft has done in .net games by BattleTroll · · Score: 1

    Sounds like bad code unrelated to the underlying infrastructure. Why does chat have higher priority than game-required packets? Why is the game so sensitive to CPU utilization? Does the networking code account for a high number of dropped packets requiring retransmit?

    A bad design in one application != a bad programming API.

  61. Re:.NET is also an IDE, and an optimized C++ compi by Anonymous Coward · · Score: 0

    Uh...no. You seem to be the confused one here. DirectX was for a long time based on COM, and therefore many many games currently use COM. I think this is what the poster was originally referring to.

  62. but .NET may... by oliverthered · · Score: 1


    Having byte code is like having the source code.
    You can take preformance stats and recompile during runtime for a faster slicker application. For that reason byte code should always produce a faster application after a few runs than pre-compiled code.

    --
    thank God the internet isn't a human right.
  63. Usual Answer by 4of12 · · Score: 1

    With regard to any great new MS technology:

    Version 3.0 is the real FCS version.
    You can play with it earlier, but you'll be a beta tester, helping to iron out bugs, performance bottlenecks, desperately needed new features, etc.

    Some people like living in that world for the rush, some people don't have the patience for it.

    --
    "Provided by the management for your protection."
  64. PARENT IS A LYING TROLL by Anonymous Coward · · Score: 0

    Nuff said. .NET rulez.

  65. Yahoo! Games by yerricde · · Score: 2, Insightful

    How many highgrade professional games are written in Java currently?

    Do you claim that Java platform games such as Cubis and Bookworm available at Yahoo! Games either earn low marks, or are not written by professionals, or both?

    --
    Will I retire or break 10K?
    1. Re:Yahoo! Games by Batou · · Score: 1

      Both. Compare any of this to most of the A+ titles on shelves now.

      I'm not trying to belittle the efforts of the developers of these titles, but it's a little bit of a stretch to compare Bookworm to the new Doom, or CnC, or Unreal, or anything remotely viable as a commercial product.

      Sorry, but Java just isn't ready for these kinds of applications - I have my doubts it ever will be, nor does it really need to be. 'The right tool for the right job' applies in all things.

      --
      "Oh my God! The dead have risen! And they're voting Republican!" - Bart Simpson
    2. Re:Yahoo! Games by yerricde · · Score: 1

      shelves ... Doom, or CnC, or Unreal ... commercial product

      You said "highgrade professional games", not "games whose copies are sold through retail outlets" or "first-person shooters or real-time tactical simulations". (I took "highgrade" to mean "B+ and A as opposed to C- and D" and "professional" to mean "the programmers got paid".) I agree that Java technology is not right for 3D games where frame-rate is Job 1, but it does have its uses in interactive simulation based entertainment.

      --
      Will I retire or break 10K?
  66. Re:Superlative! by Anonymous Coward · · Score: 0
    Say you want to build a webservice, which and deploy/undeploy without restarting IIS.
    You copy it across. Make sure you make a small change to the Web.config and IIS will automatically pick up the new web.
  67. The framework will be the framework by RhettLivingston · · Score: 4, Interesting

    By naming their new framework .Net and focusing marketing on XML, MS has taken advantage of the hype that everyone's eyes are currently on to produce a radically improved API. I'd say

    The truth is that Visual Studio 7 is the most comprehensively advanced programming environment I've ever seen and it easily supports a 10 fold increase in programmer productivity versus VS97 due to the quadruple whammy of what I see as Microsoft's first truly pro editing environment, a near complete elimination of language wars by forcing all to be equal in capability and to share objects, a far more comprehensive and easy to use object oriented API than Win32, and the end of the registry and associated DLL hell.

    While everyone's watching the bouncing hype ball, 95% of what's good in the framework has been ignored. I believe this is Microsoft's intent.

    Where will they go? In two to three years I think we'll start hearing about an OS release that has a CLR interpreter that doesn't run on Win32, but has everything needed natively present to run directly on a kernel. Suddenly, all of the .Net code will be vastly faster and Win32 will be scheduled for deprecation. .Net has nothing to do with the net or with XML, it has to do with replacing the Win32 framework with a new framework. For now, its a framework running on a framework and will thus be slow. Eventually, it will be THE framework doing nothing except what IT needs to do and will cook.

    As much as they seem to gripe and make noise about other .Net framework implementation efforts, I think they are really hoping that its done and everyone converts to it. A .Net application running on top of a .Net framework running on top of any of Win32, Linux, or OSX will never be as fast as a .Net application running on a .Net OS. If done with enough slight of hand, its a perfect recipe for a complete coup.

    1. Re:The framework will be the framework by RembrandtX · · Score: 1

      Agreed .. check my post above yours. Our MS rep here basically said that this was the way they are headed.

      --

      --Ne auderis delere orbem rigidum meum, non erravi pernicose!
    2. Re:The framework will be the framework by egoots · · Score: 1

      The truth is that Visual Studio 7 is the most comprehensively advanced programming environment I've ever seen and it easily supports a 10 fold increase in programmer productivity versus VS97...

      Interesting... if so, why then did I just read the following from the ms vc.ide newsgroup (posted by one of the MVP's)"...

      "I, and a lot of people I know, are overcoming these problems by using VC6. VC2003 is about to ship and I am looking forward (hopefully?) to early reports on whether or not the "improved" IDE in VC2003 is as uasble as VC6."

    3. Re:The framework will be the framework by RhettLivingston · · Score: 1

      I agree from what I've experienced and read that the old C++ support is a little raw. But, I'm not sure why anyone would bother writing in that. The VB and C# support seems to be more robust and there are other syntaxes to work with too (I think its very appropriate to emphasize syntax in the VS7 world because semantics are largely ruled by the framework). If you prefer Java, that's available. I personally think Perl.Net is pretty cool.

      With most any product you'll generally find that understanding what is the primary design emphasis or most beaten path in the product and following it will give you the richest experience.

      I feel sure that C++ support will catch up as long as there is reasonable demand for it.

  68. Re:.NET is also an IDE, and an optimized C++ compi by BitwizeGHC · · Score: 1

    DirectX is based on COM. It uses COM interfaces to encapsulate its routines.

    One of the reasons why I hate it.

    --
    N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  69. A Caviet for .NET by RembrandtX · · Score: 3, Insightful

    A while ago our MS rep came in for his bi-monthly visit. And he let something slip.

    The next desktop version of windows is supposed to be a database structured OS. SO basically everything from word documents, to e-mail, to images are essentially .NET datatypes.

    Sounds kinda cool actually. Now walk with me ...

    Any file could be shared with another computer, by basically sending it to a 'routing' computer.
    So e-mail wouldn't be like it is now, nor would web pages, they would be sent to a .NET server which would pass the 'package' on to the reciepient. [This is all out of memory, which is fuzzy .. so who knows if im getting it all EXACT.]

    What I do remember with shocking clairity was having the epiphany that if everything has to be routed through a .NET server (which our REP said would make it a lot more secure than it is now .. har-har) then WHO is going to be making those servers ?

    MS is pushing SOOO very hard for .NET now .. because simply - if it DOESNT get widely adopted than Stage II(tm): Take over the server market by making the desktops REQUIRE MS.NET routing servers, will be as successful as Licence 6.0.

    Whats the easiest way to get rid of Apache ? make windows not play with it. They can't control the *nix OS's out there, and they cant put the genie back in the bottle, but they CAN alter their OS to ignore the genie, and maybe make it look like he is wearing a dunce cap.

    That being said. .NET [or Dot-Nyet as my russian friends call it.] is kinda neat. Once you get used to the 10-15% loss of speed. And the higher memory requirements on your servers.

    I'm just afraid that this innovation in programming languages is more about gaining control, than improving computer science.

    After all - most of our cars still run on gasoline WHY ?

    --

    --Ne auderis delere orbem rigidum meum, non erravi pernicose!
    1. Re:A Caviet for .NET by Overly+Critical+Guy · · Score: 1

      What I do remember with shocking clairity was having the epiphany that if everything has to be routed through a .NET server (which our REP said would make it a lot more secure than it is now .. har-har) then WHO is going to be making those servers ?

      Your sysadmins running Windows .NET servers, perhaps?

      Not everything is a Microsoft-centric world conspiracy. He was probably referring to how future versions of Exchange and so forth would handle transmitting information. By then, Longhorn and the Blackcomb .NET server will be out.

      --
      "Sufferin' succotash."
  70. The bigger picture by seangw · · Score: 2, Insightful

    We shouldn't be looking at how current implementations of .Net would slow current methodologies in game development.

    I remember back in the 80s receiving an apple magazine with printed basic code for games. It was great, you could always reference the code line by line, very simple.

    How could we get information out if we're using this new "object oriented" design? Modify class X with method Y and add the following code?

    It's a bad example.

    With the new Gigabit ethernet going straight past the PCI bus on new motherboards (875?) we are being given a unique chance to utilize remote computing abilities and storage.

    CLR is in it's early incarnation as v1.1. When did we all start respecting DirectX (some of us still may not) over openGL as a graphics standard? For me it was probably around DirectX5-7.

    Optimizations to the CLR don't have to be done in each language that compiles into it, but in the CLR itself.

    In response to some comments about XML usage in .Net, there is definitely going to be a use for XML.

    When building BSPs for games, character models, maps, assets, and other game information, we will eventually be able to bring models over from one game to another thanks to a common language (XML) and possibly common framework (.Net).

    I'm not a big proponent of .Net currently, it seems to be more of a developing mindset than a language for commercial use right now (as a developer, I infrequently recommend .Net unless there are specific reasons to go with it). Think though how these tools can apply to tomorrows development (both game, application, and networking) methodologies.

    1. Re:The bigger picture by ChristopherLord · · Score: 1

      "How could we get information out if we're using this new "object oriented" design? Modify class X with method Y and add the following code?"

      You dont need to modify any non-sealed classes in OO. you can just override them.

      if a third-party game engine is in a class called "SuperEngine", you could just write your own DLL containing "SuperEngineEx : SuperEngine" and selectively replace or augment methods in SuperEngine.

      Then, though polymorphism, the third-party code would then be redirected to your method.

  71. Copyright the interfaces? by yerricde · · Score: 1

    M$ wants .NET to be the term, then they can copyright the interfaces

    Really? For example, copyrighting Webster's dictionary does not give Merriam any monopoly over the English language. Languages are an idea, not an expression, and any copyrightable expression they do have would likely be swallowed up in fair use. Precedents include Lotus v. Borland for menu structure and Sega v. Accolade for program headers. APIs can be patented, but Sun's Java technology is prior art for most of what Microsoft's been doing with the .NET framework.

    --
    Will I retire or break 10K?
  72. Wow by Anonymous Coward · · Score: 0

    That was the most paranoid and ill informed rant I've ever read on slashdot. The facts about the database elements of the next Windows OS are all over the internet. It's nothing even close to what you're talking about. It's simply an improved file system.

    1. Re:Wow by Anonymous Coward · · Score: 0

      He is right. Its called WinFS - an SQL Server based FS.

    2. Re:Wow by RembrandtX · · Score: 1

      yes .. and our rep was saying how COOL it would be to send e-mail and files in that framework.

      do you REALLY think that stuff will work with MYSQL ? MS is going to use MSSQL to do it.

      And when your OS sends e-mail using MSSQL .. whos servers are going to relay it ? your normal smtp server ?

      I'm not paranoid, I just know what *I* would do if I wanted the server marketshare, and had the $$ and clout that MS does.

      --

      --Ne auderis delere orbem rigidum meum, non erravi pernicose!
  73. re: "developers" by Anonymous Coward · · Score: 0

    Screw you. I'm a VB developer, and I'm sick and tired of the instant dismissal of VB as a platform. I have seen so much shit code produced by Perl, C, PHP programmers, it's almost mind-blowing. In the "real" programming world, where the business line wants things done yesterday, VB kicks the ass off of most other languages for speed and ease of maintenance. In summary, FUCK OFF PROGRAMMING ELITISTS!

  74. Time to set things straight by da1saxman · · Score: 1

    Ok time so set some of these misconecptions straight.
    1 as long as we have dll's we will have com thats how things work. The next version of windows will actually keep multiple versions of dll's so i dont see how we are getting rid of com any time soon.
    2 You can compile un-managed c++ in vs.net 2003 I know for some people the .net is all they see but guess what. DONT USE MANAGED EXTENSTIONS IN C++ IF YOU DONT WANT IT TO BE MANAGED.... To compile to native code in vs.net2003 for c++ you just dont use managed extensions and then you set one compiler flag and Viola you have a win32 native binary. a win32 application is even an option in the new projects menu.

    3.DirectX 9 is both managed and unmanaged. I cant say this for absolute certinty but I believe that the only thing the managed extensions for DX9 are is a series of wrapper classes which makes use of the DX9 dll and lib files. WHich would once again be com. We also have to realize that dx has applications outside of game programming also. The only thing dx is(which isnt a small thing) is a set of wrappers to access hardware, You cant even call them classes because of com. It just makes it so you dont have to worry about 5000 different joysticks when your programming an app.
    Granted OpenGL is better for graphics than dx. HOWEVER you dont have input libraries/sound libraries/networking libraries in OpenGL.

    TO a comment earlier that said c# is an immature java. I say that statement is entirly off. Ive been programming java for about 2 1/2 years and c# since its initial beta days. Ive worked with a large portion of the JFC and the BCL and I can tell you that the BCL is far nicer to work with. There are things that are totally missing from java like say a representation of a 3d point? or how about a datastructure that represents a cube. both are very simple things that are found nativly in the BCL. Windows.Forms put swing to shame and there are no tools out there that compare to vs.net. Its a superior ide on most levels. Also while it retains some syntactical similarities to java c# is far from being a java clone. C# has what I like to call smart properties which actually can use left and right assignment justification as opposed to java with all the get and set method stuff. Its a waste. Lets see ohh also no operator overloading in java..... But wait its in c#. The bigest thing of all POINTERS. In c# you have access to pointers while java totally blocks them off. A major point I see over java which made a stupid mistake about this in the first place is.... In c# everything is an object and can be placed into a container. Those who have worked in java know the pain of having to store characters in a vector by doing

    Character myChar = new Character(myCharVariable)
    charVector.add(myChar);
    wouldent it be a lot easier to just do
    charVector.add('a');

    Well java had performance issues with doing it that way. Which I should be grateful they did it that way since if java got any slower it would be unusable.

    Well thats some fact and some opinion ill let you sort out which is which. Its also nice to know that in a year and a half c# has provided more functionality and an easier to use set of class libraries than java has since its existance (something like 10 years if im right)

    1. Re:Time to set things straight by AveryT · · Score: 1

      as long as we have dll's we will have com thats how things work

      Excuse me? After starting your post with such a blatantly incorrect statement the rest of your misspelled ramblings can't really be taken very seriously.

  75. Terrarium by Anonymous Coward · · Score: 0

    For an example of a Simulation, check out the Terrarium application. It can be found at "GotDotNet" (http://www.gotdotnet.com). I think it provides an example of how .Net can "shine" as a Game Development Platform (extensible design, peer to peer communities, etc.).

  76. (Direct3D == OpenGL) != DirectX by Anonymous Coward · · Score: 0

    tired of that...

  77. Driver problem by yerricde · · Score: 1

    Think about it: a bootable CD that has the Linux kernel, drivers, support libraries and your game code.

    The two CONs you mention below are show-stoppers:

    Game developers may start developing drivers again. (**shudder**)

    Will it have drivers for video cards, sound cards, and network cards released two years after the game is published? I don't think so.

    No downloading or listening to MP3's in the background

    Consumers expect to be able to print, download, etc. in the background while playing a game, or to pause the game and "change the channel" so to speak.

    --
    Will I retire or break 10K?
  78. COM is dead! by gatkinso · · Score: 1

    ...it is buried right next to BSD. :-)

    --
    I am very small, utmostly microscopic.
  79. Re:.NET is also an IDE, and an optimized C++ compi by SuiteSisterMary · · Score: 1
    Unless you're looking for your game to be able to read and write MS Word files, or print through Excel, games probably wouldn't have used the Component Object Model.

    Unless, of course, you're programming your game using, oh, DirectX, which is all COM.

    --
    Vintage computer games and RPG books available. Email me if you're interested.
  80. Is COM dead - I hope so by Anonymous Coward · · Score: 0

    COM is a royal pain in the rear to code in. Noone denies that it is needlessly difficult to do, so I for one will not mourn it's passing if indeed this is what happens.

  81. answers by mattsucks · · Score: 1

    Not far enough. No. Probably not. Adapt or die. Eventually, but not at first. It is bright. Yes, or some equivalent.

  82. Is .NET Relevant to Game Developers? by kewlniss · · Score: 3, Informative

    Most definitely, in fact there already is DirectX for .NET -- it is called Managed DirectX. Microsoft developed version 9 to have an entire set of "Managed" components. These are used by the .NET Framework. I have been using the .NET Framework, C# and ASP.NET since October of 2000 (ASP+ at the time and Beta1). I have been using DirectX since version 5 and was involved with the beta testing of the Managed DirectX since June of last year. It was released in December. I am currently writing a 3D level editor and game using C# and Managed DirectX. The code is much more cleaner than typical C++ code. Since memory is managed there aren't any memory leaks and I have found that most things are just fine with that. However, if there is a part of the program that needs to be sped up (which isn't as much as you might think) then it can be done with "unsafe" code within C#, or even talk directly to unmanaged C++ code. Either way, the point is COM programming will be going away -- BUT -- it isn't going to immediate, nor does it need to be. The interops in place allow any COM object to be easily used as a .NET assembly. Don't worry, game development on the Windows OS will not be going anywhere any time soon. .NET will help make more robust games, not hinder.

    1. Re:Is .NET Relevant to Game Developers? by Anonymous Coward · · Score: 0

      Can not wait to start seeing the first games with this technology

  83. Sample game written in VB.net by SoCalChris · · Score: 2, Funny

    Haven't you people ever played Donkey.Net??? Nothing like driving your car arouns a small 3D area trying to run down donkeys.

  84. Not all windows programs. by blair1q · · Score: 2, Interesting

    I've done some .NET work, and it's apparent that it's designed with security in mind (how cleanly only time will tell).

    Accordingly, it omits many simple functions that you'll find in other Microsoft libraries that access the machine.

    Try changing your screen resolution from within a .NET program. Try just writing the program to do it. Then tell me how you did it, because I couldn't find the API.

  85. What you must realize as well... by Anonymous Coward · · Score: 0

    What you much ralize as well is that you CAN force a .Net binary down to native code. It is still dependent on the .Net DLL (MSCOREE.dll). I have not really had a huge amount of time to experiment on the difference in speed, but it seems like it is possibly an option.

    BTW if you are wondering why it is still based on the .net core dll it is because it still handles all the errors through it.

  86. One word: SDL.NET by r4lv3k · · Score: 1

    http://sourceforge.net/projects/cs-sdl/

  87. No more future for .Net in M$ planes by shadowtramp · · Score: 1
    Or at least i think so after reading "Microsoft drops .Net label from servers"

    Adding more to the performance hits i encountered through the last year working with framework is a synchonization point needed for the garbage collection. It is well known problem when GC needs to stop all managed thread to move memory around.

    Not to mentioning that it's a nightmarish headache to mix managed and unmanaged memory structures in one programm.

    In short: Will you try to programm resource requiring game you will soon sorry you choosed this platform.

    --
    I'm not a brake. I'm an accelerator. Just a slow one...
  88. Re:C++ will NEVER replace assembly in Game Coding! by Anonymous Coward · · Score: 0

    "While computers gain more powerful hardware (faster CPUs, bigger memory, etc...) the coding for games will go forward to the newer languages that makes coding easier. You may not like it, but don't worry. "

    Yeah, someday they might use Perl. Oups, already did that.... :-P

  89. Bits of MDX9 by krumms · · Score: 1

    Having played a little with Managed DirectX 9 and C#, I can honestly say that first impressions are that while it may not be faster at runtime than C++ (people have argued black is blue against this, however, and report C# & DX9 running faster than C++ counterparts - search gamedev.net), it is certainly much faster to write the drudgery (D3D/DInput initialization, device creation, event handling) with C# and DX9.

    Admittedly, it might not be ready for the lime light just yet. But as games get bigger and more complex, and the speed of computers driven ever upwards, I would predict that languages like C# and APIs like Managed DirectX will emerge simply because it's faster to write. Faster-to-write games means more content in same amount of time.

    But by all means, try it before you decide against it.

  90. Fortune cookies by Trunks · · Score: 1
    I think you were thinking of fortune cookies, not chopsticks.

    Most people attribute the creation of the fortune cookie to a Japanese American in San Francisco. In 1914 Makoto Hagiwara introduced cookies bearing thank-you notes at his Japanese Tea Garden in Golden Gate Park and served them at the 1915 Panama-Pacific Exhibition, San Francisco's world's fair.

    However there are others who contend that David Jung, founder of Los Angeles' Hong Kong Noodle Co., invented the cookies in 1918 as an encouraging treat for the post-World War I unemployed who gathered in the street.

    Most people go with Makoto Hagiwara as the inventor though.

    --
    This post sponsored by Ninja Burger. "
    1. Re:Fortune cookies by salimma · · Score: 1

      Ah - thank you. Did not know that. Never got a fortune cookie from a Japanese sushi bar or restaurant before though .. thankfully :)

      --
      Michel
      Fedora Project Contribut
  91. Not until C# is on Playstation 2 and Gamecube. by Anonymous Coward · · Score: 0

    I work for a company that develops console games - and our codebase is shared across several platforms. Recognising that the article is questioning the use of C# in games (not .NET, Visual Studio .NET does C++ with no problems), C# is useless to us until a compiler is available on all of the platforms we want to develop games for. I don't see the mortal enemies of Microsoft on the console battlefield - Sony and Nintendo - supporting C# in the near future (if ever).

    This is an area where something like the D language could do well, as it's a modern language free of Microsoft's stranglehold. :)

  92. even better by g4dget · · Score: 1
    Will there be DirectX for .NET?

    Even better, there will be SDL and OpenGL for Mono and C#; you can certainly write games in those.

  93. MS Game development by Anonymous Coward · · Score: 0

    Ah, but MS doesn't care if anyone else develops games for PC or any console system.. they've spent millions and millions of dollars hiring the brightest people who would go over to the Dark Side, including some brilliant tabletop RPG people (Jordan Weisman of FASA/WizKids and Mike Pondsmith of R Talsorian . They ran the most excellent online immersive "RPG" promotion for the AI movie (referred to its fans as "The Beast".
    So, the bottom line is, MS would probably rather third-party game development stop so that they are the only choice for consumers... which is Redmond's strategy in every other type of software.

  94. End of COM? So what? by Mark+Pitman · · Score: 1
    Is it really the end of COM?

    It should be. I don't see any reason to proliferate more COM into the world. We still need to interoperate with COM, but I hope no one is building new COM based apps!

    Will ALL Windows programming be done with .NET?

    Was all Windows development done with COM in the past? No, so why would ALL new Windows development be done in .Net?

    Will games be developed with .NET? If games aren't developed with .NET and Microsoft is killing COM, then what future for games development on Windows?

    Was COM really all that usefull for game programming in the first place? I doubt the death of COM will make much difference to most game developers.

    1. Re:End of COM? So what? by EnglishTim · · Score: 1

      Well, considering all of DirectX is COM-based, a vast number of PC games rely on COM...

    2. Re:End of COM? So what? by Mark+Pitman · · Score: 1

      I haven't looked at DirectX in a while. Didn't it used to be standard (non-COM) libraries?

  95. RTFM? by Anonymous Coward · · Score: 0

    Read the Fucking Marketing?

  96. NET .COM by KjetilK · · Score: 2, Funny

    No, but it has been said that .COM signalled the death of NET... :-)

    --
    Employee of Inrupt, Project Release Manager and Community Manager for Solid
  97. Terrarium by Hard_Code · · Score: 1

    MS created a neat little game called Terrarium to showcase .NET. So they probably do envision a future for games on .NET.

    Terrarium

    --

    It's 10 PM. Do you know if you're un-American?
  98. This beg the question ... by Etyenne · · Score: 1

    What is .NET ?

    --
    :wq
    1. Re:This beg the question ... by AveryT · · Score: 1

      Beg
      1 : to ask for as a charity
      2 a : to ask earnestly for : ENTREAT b : to require as necessary or appropriate
      3 a : EVADE, SIDESTEP b : to pass over or ignore by assuming to be established or settled

      http://www.webster.com/cgi-bin/dictionary?va=beg

    2. Re:This beg the question ... by fuali · · Score: 1

      .NET is a platform in which to write applications and to allow applications to interact with one-another. It includes a framework/API, a Runtime(CLR), and supports any language with a common type library and translate to the IL (Intermediate Language.) Also included are an Application Server(ASP.NET) and a Data Access API(ADO.NET).

      That is it. Nothing more nothing less.

  99. Re: not the same as with Atari or CBM by ip_vjl · · Score: 4, Insightful


    Remember back in the **OLD** days when Atari, Commodore and Apple games weren't launched from the OS, they were loaded from a boot floppy because we really didn't have OS's back then? (Unless you purchased CP/M, of course.)

    Well, Knoppix has demonstrated an absolutely ridiculous level of competence at autodetecting hardware, and since . Would the gaming industry consider the possibility of using Linux as a development platform in a trend back to using bootable disks for games?



    For those systems, the interactive basic interpreter would probably be considered what most people thought of as the OS.

    If I remember correctly, a number of C64 games were launched directly from the basic interpreter.
    LOAD "MYPROGRAM, 8, 1"
    or something like that.

    As far as the Atari, the reason you directly booted into games was that with only 64k of memory in the system, you *needed* to displace the basic interpreter and free up 16k of RAM that it occupied. It still loaded a stub of the DOS (for disk access) and then would autoload any file named AUTORUN.SYS

    Additionally, since the OS was ROM based, the systems were "instant on" (or very close). So shutting down the system to play a game (and vice versa) wasn't a huge deal.

    Nowadays, I have a computer with 512Mb ram, and it takes a little bit to boot into the OS, so shutting down the system just to play a game seems stupid. As another poster pointed out, thats what consoles are for. For a general purpose computer, not being able to launch games alongside with other apps would be annoying.

  100. Re:Superlative! by Anonymous Coward · · Score: 0

    Actually the recommended technique is to load each compiled schema into a new AppDomain, which then uses remoteLoader to load that assembly. If you don't do that, it won't work because it won't unload the assembly. By using a separate AppDomain, it then allows you to unload and reload an assembly. Here is an article that talks about it.

  101. DirectX 9 by atlasheavy · · Score: 1

    "Will there be DirectX for .Net?"

    Yeah, I'm staring at my sdk cd right now. It's called DirectX 9.0. You can get it off msdn.microsoft.com.

    --

    iRooster, the Mac OS X a
  102. DotNet by Anonymous Coward · · Score: 0

    ...more like NotYet!

  103. Managed Direct X 9 by Anonymous Coward · · Score: 0

    A big improvement in Direct X 9 is the ability to utilize DirectX 9 in .Net managed code. Download the SDK, it has a lot of good tutorials on this subject. I'm not sure how the performance of this compares to unmanaged Direct X, but if speed is an issue, chances are you're not seriously thinking of managed DirectX anyway.

    The Hadmacker

  104. Re:.NET is also an IDE, and an optimized C++ compi by Glock27 · · Score: 2, Informative
    Unless you're looking for your game to be able to read and write MS Word files, or print through Excel, games probably wouldn't have used the Component Object Model. C# apparently has the same functionality that COM did, but probably does it a little more elegantly. In any case, game developers didn't use COM, and they're probably not using C#.

    Uh, unless you use DirectX. Which is all COM based.

    I prefer cross platform technologies, regardless.

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  105. This Hammer makes a crappy house... and slow, too by Anonymous Coward · · Score: 0

    Um, it's a tool. Masters learn to use tools to their advantage. As has been nailed into your head already, there already is DirectX for .NET.

    Work is calling.

  106. Make mono stereo by sfmarco · · Score: 1

    Control the GUI front-end is what MS has done (pretty succesfull) for a long time. A next generation of advanced user interface will obviously happen on the front-end, and they need lower level access to the hardware support. Will a 3D view of an explorer get out of the research labs and make it to the desktop?

    I wonder if mono can keep up with this. The lack of a good GUI support with C# mono might become a real obstacle. To move closer to the desktop a lot of good high performing GUI code is necessary. I know there is the GTK# mapping and the WINE struggle. But what about a directX equivalent on the free unix os?

    Let's not get too academic. Let's not have the corba failure (too complicated, overdesigned). Will OpenGL do the trick or is this also too complicated.

    Change Mono to Stereo and get some dolby filter in there.

  107. Naysayers are missing the Big Picture by Junks+Jerzey · · Score: 1

    Most people miss the big picture for .net because of Microsoft's early hype about web services. Here's the overall plan:

    1. Move as much Windows programming to the .net framework as possible, stop updating the Win32 API and mark it deprecated (doesn't mean you can't use it, but the official word will be to avoid it for new development). Eventually start changing the underlying system to be something other than Win32, essentially making Windows be a .net environment. This is how Microsoft is going to deal with eventually getting rid of the crusty old Win32 API.

    2. Now that everyone is writing for .net, the processor is irrelevant. You can write applications for .net and get them running on Pocket PCs and other devices with minimal effort. Remember, Microsoft supports SH4, MIPS, PowerPC, and ARM processors for Windows CE.

    In short, avoiding .net is simply going to cause you pain. The sooner you get comfortable with it the better.

  108. Re:.NET is also an IDE, and an optimized C++ compi by Wordplay · · Score: 1

    You're ignoring the fact entirely that DirectX is, in fact, a set of COM objects. Games use COM extensively because of that.

  109. Chop suey not chop sticks by emilng · · Score: 1

    He is thinking about chop suey - not fortune cookies like others have speculated.
    There is an extensive article about the history of chop suey on snopes.com that refers to it being served to miners during the 1800's.

    http://www.snopes.com/food/origins/chopsuey.htm

  110. Makes DRM obsolete by gillbates · · Score: 1

    Here's another idea: instead of just games, what about digital media - you know, images, movies, mp3's etc...

    Such a scheme would make DRM obsolete. Think about it - how do CD's get copied now? The user boots into his OS, and then reads the CD with said OS. With a bootable, encrypted CD, OTOH, there is no OS available to facilitate copying. If you booted into your OS, you could perhaps make a bitwise copy, but even then, you'd still be left with an encrypted image.

    --
    The society for a thought-free internet welcomes you.
  111. Finalize NOT Guaranteed by tommck · · Score: 1

    1) There is no "destructor"

    2) There is a time limit for Garbage Collection. I believe it's 40 seconds... If ALL Finalizers are not finished in 40 seconds, it just takes the memory back without calling Finalize.

    I get this information from Jeffrey Richter's book "Applied .NET Framework Programming".

    T

    --
    ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    1. Re:Finalize NOT Guaranteed by Anonymous Coward · · Score: 0

      1) There is IDisposable for situations where a deterministic destructor is required.

      2) Not true, finalizers are always called - always.

    2. Re:Finalize NOT Guaranteed by Caoch93 · · Score: 1
      1) It's my understanding that at least C# allows for a deterministic finalizer method, though it's not a true destructor. In a lot of circles, "destructor" and "finalizer" are used interchangably, and I have lamentably fallen prey to that habit.

      2) I don't recall seeing that time limit in the ECMA standard for the runtime. I will be happy to review it when I get home (it's hard to dig through the PDF while I'm at work) and give a second comment on it. If a constant amount of time were given for all finalizers to run in, that would be a severe shot in the foot of the memory manager. As far as I'm aware, a JVM will allow all finalizers to run every time...even if a finalizer deadlocks, it's allowed to finish (though it never will), BTW.

      Additionally, while this is a .NET discussion, the inclusion of "like Java" in the parent suggests to me we're talking about issues of surrendering programmer control to a runtime garbage collector, not specifically just .NET or Java.

    3. Re:Finalize NOT Guaranteed by Caoch93 · · Score: 1

      Looking around, I see where there is a 2sec/finalzer and 40sec/(all finalizers) limit during the shutdown of a .NET runtime. I don't see where that time limit is enforced anywhere else, though.

    4. Re:Finalize NOT Guaranteed by Keeper · · Score: 1

      2) Finalize is guaranteed to be called before the memory is released. There is no guarantee that the memory will ever be released (ex: circular reference). So there is no guarantee that the finalize method will ever be called.

    5. Re:Finalize NOT Guaranteed by tommck · · Score: 1

      That is not true. 1) Destructors are called automatically. NOTHING in .NET is guaranteed to be called automatically for destruction. The Dispose method must be called _explicitly_. That is not a destructor.

      2) Please cite a source. I believe you are mistaken.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    6. Re:Finalize NOT Guaranteed by foxed · · Score: 1
      Nope.

      .NET, Java and many other garbage collectors use a "mark and sweep" technique (see Richard Jones's site for a discussion of GC algorithms). A closed loop of objects without other references into the circle is recognised as unreachable and therefore garbage collected.


      An unneeded object will be GC'd even when part of an unneeded circle. If the object has a finalizer, it will be run.


      Even if there is no need for a GC pass to reclaim memory, finalizers are run when an app is shut down.

    7. Re:Finalize NOT Guaranteed by tommck · · Score: 1

      1) Nope... C#'s "destructor" is unfortunately called that. This, along with the fact that the syntax is the same as C++ destructors has misled C# developers. Your "~Foo()" function is actually just a Finalize method (that's how it's generated in the MSIL code).

      2) I'd be surprised if a book published by Microsoft Press about the .NET Framework would have a statement like this just made up, rather than based on fact (Frankly, the timeout MUST exist, or else a single "while(1);" loop in a Finalize method could halt the garbage collector for the whole system)

      Also, Java does not guarantee Finalizers will run either.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    8. Re:Finalize NOT Guaranteed by tommck · · Score: 1

      Yes, 2 seconds for a single finalizer and 40 seconds for all of them. Regardless of when this limit is imposed, this means that finalizers are NOT guaranteed to run. Period.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    9. Re:Finalize NOT Guaranteed by Caoch93 · · Score: 1

      Okay...I believe you. All I'm saying is the only place I see that time limit enforced is on runtime shutdown. If what you say is true, .NET finalizers would fall under "wretched" in my book.

    10. Re:Finalize NOT Guaranteed by Caoch93 · · Score: 1
      After a little more research, I'd like to add a few things. First off, I'll believe that .NET timeouts its finalizers, but the Sun JVM implementation of the JVM spec doesn't. You can contact me privately (wlightATweatherlightDOTcom) for my example code, but I have a finalizer that will never return and keep a running tally of its time. It's still alive after 600 secs. Yes, indeed, it does prevent other finalizers from being run. Again, contact me privately for my source code.

      It doesn't "halt" the GC, though. The GC is in charge of both allocs and deallocs, and it continues to work fine for allocs. I can't really see if it's continuing to deallocate and skipping finalizers or what, though. I really need to create tests that run for longer before I can say for sure. If the deallocator had stopped, the free memory count should decrease over time proportional to object creation. It kinda looks like that happens, but I'm not sure as of yet.

      That said, though, there's no reason you need a simple timeout to prevent a simple while(true) loop from taking out the deallocator. All you need is a more appropriate threading strategy for your deallocator. The safest, but most expensive, technique is to use a separate thread for each finalizer. Other options are to allow concurrent deallocator runs in separate threads. Yes, you still need to eventually "pull the plug" on wayward finalizer threads or you have a thread leak, but that's different than having a static time limit on finalization.

      So, yes, Java (or, at least, the Sun JVM) can't guarantee it'll get around to running a finalizer, and IIRC, it has a similar shutdown timeout to what I've seen .NET having. Whether or not a constant, static timeout for finalizers is necessary to save your GC remains to be seen, though. Personally, I'm all for giving finalizers as long as they need and working around that premise in designing my GC. I may be overly conservative in my design, though. 99% of all objects created will not have specialized finalizers, and my way of thinking therefore probably hurts the average case.

      I really do appreciate this exchange. If you ever feel like emailing me and talking more, my address is in this post.

    11. Re:Finalize NOT Guaranteed by Keeper · · Score: 1

      You're right to some extent, but so am I. :P

      The Finalize method might not run to completion or might not run at all in the following exceptional circumstances:
      * Another finalizer blocks indefinitely (goes into an infinite loop, tries to obtain a lock it can never obtain and so on). Because the runtime attempts to run finalizers to completion, other finalizers might not be called if a finalizer blocks indefinitely.
      * The process terminates without giving the runtime a chance to clean up. In this case, the runtime's first notification of process termination is a DLL_PROCESS_DETACH notification.


      http://msdn.microsoft.com/library/default.asp?ur l= /library/en-us/cpref/html/frlrfsystemobjectclassfi nalizetopic.asp

      But I do agree that it's reasonable to expect that the finalize method always be called at some point during the life of an object.

    12. Re:Finalize NOT Guaranteed by tommck · · Score: 1

      Sorry... I was on vacation for a bit...
      All I was pointing out is that it doesn't matter _when_ (i.e. only on runtime shutdown) the problem occurs. If they won't guarantee it will always run, then I think it sucks.

      T

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
  112. Is .Net relevant by gr8_phk · · Score: 1

    Is .net relevant to anyone?

  113. Game Engines in C++, Games in C#. by Haacked · · Score: 1

    Any gaming company that wants to stay a step ahead of the others will probably write the rendering engine in C++ in order to milk the latest and greatest processor. But the productivity benefit of a managed language probably will entice game developers to write the overall game in a .NET language. This can provide an edge for a company when they can make a game world twice as detailed and large as the competitor.

  114. .NETs purpose by Anonymous Coward · · Score: 0

    .NET has one purpose. To pull all windows programmers into the VB World. You see, C/C++ developers have skill that is just too dangerous. It allows them to write software that competes with things like MS Office.
    COM was just a mess invented to try and make it easy for VB-ers and C++'ers to share code --- HEAVILY weighed towards the VB side. Even some of the early COM MSDN help files COMPLETELY ignored C++ developers. Every try to use a decent COM object that passes multiple references from ASP? Along comes ASP.NET to fix that problem, though....for a heavy price.

    Anyone who has been through dBase, Foxpro, Clipper, etc, etc, knows that runtimes, clrs, or whatever you call them are always, by nature, slower and more limiting than C++. Good luck implementing low level hooks, drivers, or any other needed OS enhancement/work arounds in .NET,
    unless, of course, MS has seen fit to let you.

  115. .NET Framework is a replacement for the Win32 API by metoc · · Score: 1

    The .NET Framework is a replace for the Win32 API. Microsoft realized that the Win32 API had a limited future. Above all Win32 was built on Win16, and still cares alot of baggage.

    Microsoft then decided to build a new API from scratch, taking into account everything learned in the last few decades, including lessons learned from Java. Writing a full API from scratch is a big task, so much of the current .NET Framework is largely stubs for Win32, but overtime everything will be rewritten. This will also make the entire API portable (thanks to the CLR), and in time you will see Microsoft move beyond Intel processors.

  116. Stick with COM for now! by Ark42 · · Score: 1

    if you are developing software you expect people to download, like me, .NET forces users to get a 23meg runtime from microsoft! No modem user is going to take that seriously, so if I want people to even glance at my trial vesion, it needs to be small enough to download. VB6 runtimes are small enough to not piss off most modem users now, so I am forced basically to stick with VS 98 until all versions of windows for the last 10 years have CAME with .net already installed.

  117. YES! .NET works with DirectX 9.0 and OpenGL by Anonymous Coward · · Score: 0

    Microsoft has DirectX 9.0 SDKs for C++, C#, and VB.NET. You can even code in C# or VB.NET and OpenGL.

  118. Re:Based on what microsoft has done in .net games by Anonymous Coward · · Score: 0

    You missed the point. The chat software was written by Microsoft for inclusion into the game and was presumably written using .Net compilers...and it didn't work.

    The point is that if Microsoft can't figure out how to write things that work under .Net how can the rest of us be expected to?

  119. This is how you are mistaken... by SloppyElvis · · Score: 1

    Reason 1: The forthcoming operating systems currently under development at Redmond are going to ensure that all Windows programs use .Net in some way.

    But how? You ask? Thus far, systems running the CLR (the .Net runtime) have been executing it as a process. In the future, the CLR will be one of a very select group of processes that will be allowed to interface the kernal, and affect kernal-mode instructions. If you think NT-based systems are protected now, wait until the CLR becomes the runtime for the entire OS and Intel delivers the so-called "Palladium" encryption chip (which is being designed in concert with the next Windows system). The obvious entities that will be allowed to interface the kernal (or rather the kernal will interface them) will be the hardware drivers. The .Net driver framework is not yet publicly available, but rest assured, as soon as Microsoft is ready to unleash Windows .Net, Win32 drivers will not be allowed to interface the hardware. All drivers will be signed with a public key and require a cert to install. Don't have a cert? Sorry, "This is not a Windows driver"

    Conclusion: you will not be allowed to interface hardware from "ummanaged" code (because MS says it is "dangerous" to let you do so), and if you could, what would stop you from running viri from the sandbox?

    Reason 2: All "unmanaged" code will execute in a sandbox.

    Now, all .Net dynamic libraries are signed with a public key. What that means, folks, is that the CLR will be able to verify the author of each and every dynamic library against a certification issued by Microsoft or one of its partners/acquisitions. Forget home-brew apps, they simply won't install and run on .Net Windows OS without a cert, unless MS decides to allow them to install as "unmanaged", in which case they will not have any control over hardware outside of the .Net API, and they will likely have severe restrictions as to what they are allowed to do with the filesystem and communications ports. Oh yes, and the windowing system will be controlled by the CLR as well.

    Conclusion: only by interfacing .Net objects will you be able to do anything outside of raw math or data organization in your legacy code.

    Reason 3: Alternative rendering platforms like OpenGL will have to be implemented within the .Net framework in order to load and use the drivers efficiently (else they could just proxy through .Net, but hey, why proxy when you can just recompile?)

    I believe this is very likely to happen, because Microsoft cannot reasonably refuse to allow competition in this manner without more courtroom appearances (boy, they really took it hard last time though, right?). So you will likely be able to choose something other than DirectX, but I can almost gaurantee to you that DirectX will mysteriously outperform any and all competition. Why? Microsoft has the CLR code, and can easily add undocumented interfaces that allow DirectX to scream and everything else to crawl. They've done it before with Win32; they'll do it again I'm sure.

    Overall conclusion: .Net is *NOT* a competitor for Java, it *IS* a wholesale replacement for Win32 and the current Windows operating systems. It has promised support for legacy, but all Win32 legacy will operate through .Net proxies to .Net objects. So no matter how you write your program, if you want it to run on Windows, it *WILL* rely on .Net

    1. Re:This is how you are mistaken... by Gleef · · Score: 1

      Sloppy Elvis writes:

      Overall conclusion: .Net is *NOT* a competitor for Java, it *IS* a wholesale replacement for Win32 and the current Windows operating systems.

      Large aspects of .Net make it seem like a competitor to Java (eg. CLR, C#), but you also make a decent case for it to be the replacement for the aging and hard-to-scale Win32 API.

      I suspect that it was designed to be both, to replace Win32, and compete with Java. Time will tell which is more important to them, when they have a design decision that involves the two goals resulting in conflicting answers. I suspect you're right, though, they have more need to dump Win32 then they have to compete with Java.

      --

      ----
      Open mind, insert foot.
  120. Hey! by Anonymous Coward · · Score: 0

    Please, can anyone supply facts or hyperlinks to confirm this guy's claim that chopsticks were invented in the 1800s?

    I really need someone to tell me!

  121. Re:That Giant Sucking Sound...Java Corrections by linuxislandsucks · · Score: 1

    You have amiss conception not all jvms fully intrepret..

    IBMs also do JIT as well about 40% of the time..

    So does MS's own JVM as well..remember that?

    --
    Don't Tread on OpenSource
  122. Microsoft run amok! by Anonymous Coward · · Score: 0

    It seems our good friends at Redmond have taken a day off and are posting loads of crap on /. to promote .NET.

    I have spoken about the role of .NET with many collegues in academia and industry.

    1) Server-side Software lends itself very well to the Java Platform. This is because of Java's maturity, cross platform capabilities, ease of use and vendor support.

    2) Client-side GUI's and standalone application are mainly developed with C/C++ using MFC.

    3) Web apps are still a contested field. Java, MSFT and others (like ColdFusion, Pervasive Tango, Flash) work well for some parts of the problem and suck for others.

    My main concern is (2) above. Most hardcore C/C++/MFC folks are not going to move to .NET. We have to change the way we do everything! Couple that with lack of the .NET framework on most client machines and you have a disgruntled developer community. Microsoft wants a revolution in (2) when people don't want it to happen. The development process for Java is 10 times simpler than C/C++/MFC and people are willing to sacrifice control. With .NET, you lose a lot of the control AND development is horrible.

    I like the comment that "C# is like an immature version of Java". The comparision can also be made at a platform level. C# and .NET have all the features I really wanted in Java before I understood the clean symantics and logical structure the author's wanted.

    My suggestion to MSFT .... release VS 7.0 or risk a crippled developer community. Any would-be Borlands, feel free to be the king of the market because MSFT won't release VS 7.0 (without the .net support) until hell freezes over. Also, please consider getting rid of GC in C#. Make the language simpler by getting rid of redundant features. Free advice ... if you want to win, KISS!

    1. Re:Microsoft run amok! by Mark+Pitman · · Score: 1
      My suggestion to MSFT .... release VS 7.0 or risk a crippled developer community. Any would-be Borlands, feel free to be the king of the market because MSFT won't release VS 7.0 (without the .net support) until hell freezes over.

      Visual Studio .NET is basically Visual Studio 7. You can still build MFC C++ apps with no need for the .NET Framework on a client PC. (Maybe you already know this, but others may not...)

  123. Re:.NET is also an IDE, and an optimized C++ compi by skillen · · Score: 1

    .NET refers to application based on the .NET Framework. This does not mean that the source code for the application was written in the Visual Studio .NET IDE; in fact, an application's source code can be written in Visual Studio .NET and not utilize the .NET framework.

    Visual Studio .NET is a .NET friendly IDE that is itself built on the .NET framework. Developing .NET applications requires it no more than writing an Office XP document requires Windows XP.

  124. Re:.NET is also an IDE, and an optimized C++ compi by PCM2 · · Score: 1
    C# apparently has the same functionality that COM did
    Woo, if anybody reading your comment was planning to get some real information out of it, this bit ought to put a stop to that...
    --
    Breakfast served all day!
  125. Re:.NET is also an IDE, and an optimized C++ compi by Anonymous Coward · · Score: 0

    Dude, you have no idea what you are talking about. Please don't post a bunch of fallacy. What, did you install Visual Studio .NET and then put it on your resume? ... blah

  126. Side Note: .Net might not relevant to Anything by serutan · · Score: 1

    Anything Microsoft does from now on should be seen through the longer lens of Windows DRM 2005, or whatever it's going to be called, which will require people to buy brand new Palladium-equipped hardware and will be incompatible with everything that now exists. Somehow they expect to convince everybody to do this, including the 40 million people who are still happy running Win98 on P100's.

    In other words, Microsoft has finally gone insane. Does .Net really matter as Bill and Steve hold hands and drive their convertible off a cliff?

  127. The Mods are Officially On Drugs by Macaw2000 · · Score: 0

    If that was a "5 Informative" then all hope is lost around here.

    The poster was talking out of his (arrogant) ass.

  128. .what? by konputer · · Score: 2, Funny

    first COM, then .NET, what's next? .ORG? .GOV (forced compliance with PATRIOT act) ..?

  129. Question is by thewebgeek · · Score: 1

    Is .NET Relevant to Developers? Not Me..

  130. How Our Shop Uses .NET by pixel_bc · · Score: 1

    I work at a huge game shop.

    We use .NET quite extensively for tools. Our pipelines are Win32 based, and with no plans on changing that. The speed provided by the CLR is on-par or the same as their C/C++ countparts. The benefit we've gained is a much quicker turnaround on development and maintainence. Adopting .NET for tools has been a solid win for us.

    Nobody has taken the .NET interface to DX9 seriously, in my opinion. Don't get me wrong, initial tests, along with vendor propaganda all indicate promising performance -- we just have so much vested interest in our C++ libraries... and the fact that the performance isn't 100%... Code portability is quite important to us. Remember that the PC game market isn't actually all that important. Consoles make the game industry... and as much code as we can write should be directly portable or applicable.

    Just my opinion, I could be wrong.

  131. Re:That Giant Sucking Sound...Java Corrections by Keeper · · Score: 1

    The .NET bytecode was designed to make it easy to JIT. Java was not. It's hard to make a JIT to make Java code run fast. It isn't nearly as hard to make a JIT to run .NET code fast.

  132. No DirectX.NET, COM isn't dead. Wake up people by ramzey5150 · · Score: 1

    .NET is really great for developing RAD web applications (through ASP.NET) and developing web services. It has it's place in the enterprise environments and let's face it, C# (and the renovations made to the VB language in VB.NET) makes for a better language than Java2 (as long as you're developing for the Win32 platform). Beyond this scope, .NET has no defined future, and since Microsoft isn't rushing to get CLRs out for other OSs (other than their own of course), I wonder what their long term strategy with it is. One only has to look at Microsoft's own product line to see that neither COM or native code is something that isn't going away in commerical applications. The latest build of Office (coming to us now a year after the first release of the .NET Framework and VS.NET) is not a managed application, the next releases of SQL Server and Exchange Server will not be a managed applications. Also, look at what DirectX does, at it's core it's a set of multimedia libraries optimized for hardware. The only thing COM does for DirectX is provide programmers an interface into it. As of the current release of DirectX, parallel COM and .NET interfaces exist into DirectX, but under the hood the majority of the code is very low level and tightly optimized and that will not change. The original other had good intent, but really only someone who doesn't understand COM and .NET would even raise this question.

  133. Advantages of deterministic destruction by Anonymous+Brave+Guy · · Score: 1
    I hear a lot of complaints about the lack of deterministic finalization, but I really have to wonder why people care so much about when the memory is actually freed for a particular object.

    It's not the freeing of memory that's relevant in most cases, it's any other clean-up logic that the object runs on destruction. In particular, GC deals with memory release, while deterministic destruction allows idioms for handling any resource, be it dynamic memory, files, locks for thread synchronisation, sockets... Delaying the release of these things is not clever. :-/

    Most complaints center around the fact that you don't know when your destructor is going to execute. That's a valid concern, but there is nothing that really separates a destructor from a regular method. If you have some clean-up that needs to happen, put it into a Dispose() method and call it yourself. Pretty simple.

    But now you need to remember to call it manually, and remember to put it in your finally block so you don't miss it if you're exiting via an exception. If you have deterministic destruction semantics, then once you've created an object, you know that not only its memory, but all of its resources, will be released, and you can tell exactly when if it's relevant, or even speed the process along if your object owns scarce resources. You can't forgot to call a "release" method, and you don't need to call such a method in multiple or special places to make sure it works properly. This approach is safer and more general than the GC/Dispose/finally approach used by some languages.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Advantages of deterministic destruction by nightcrawler77 · · Score: 1

      Yes, the C#:

      using( someDisposableObject ) { .. } ... is what I was referring to as a good alternative to finalizers/deterministic finalization.

      --

      "Power corrupts, and absolute power corrupts absolutely." -- Lord Acton

    2. Re:Advantages of deterministic destruction by Anonymous+Brave+Guy · · Score: 1

      But what that construction is doing is just giving someDisposableObject deterministic destruction semantics... :-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  134. Re:.NET is also an IDE, and an optimized C++ compi by pommiekiwifruit · · Score: 1

    Yeah, but calling a couple of DirectX interfaces is a lot easier than writing a COM object that supports IDispatch and connection points (whose bright idea was that?), not to mention that DCOM didn't even work when it came out. COM is a big world, and using it is easier in vanilla C++ than writing it. Visual Basic is another matter but they have threading issues.

  135. OVERRATED??? by Anonymous Coward · · Score: 0

    This is a legitimate post. Someone meta-mod this as unfair...

    1. Re:OVERRATED??? by Anonymous Coward · · Score: 0

      Unfortunately, there is no (-1, clueless idiot).

  136. .NET by AllynM · · Score: 1

    "its DOT COM" (sorry, couldnt resist. i could just hear homestar reading this post)

    --
    this sig was brought to you by the letter /.
  137. New Rendering Engine by Anonymous Coward · · Score: 0

    Microsoft has announced internally and to close partners that Longhorn will contain an entirely new rendering engine. Likely this will be related to DirectX.
    .NET and this rendering engine are related in that they will both be core components of the future OS. For now, .NET is just run times and a way to access data. Don't expect anything to change dramatically with the way games are made until Longhorn comes out.

    BTW, this information is from Microsoft.

  138. .Net sucks by Anonymous Coward · · Score: 0

    .Net is poor platfrom development. I think it is just poor copy cat of Java.

    I would rather write in Java than do .Not

  139. You're confusing Chop Suey with Chop Sticks by Anonymous Coward · · Score: 0
    For example, just the other day while I was enjoying a meal of Hunan Chicken I was reflecting on the history of chopsticks, and the humor in the whole situation of people getting pretentious in their ability to use them. Aren't people aware that the things were invented in America in the 1800s by Chinese immigrants seeking to differentiate their restaurants in the mining communities?

    My friend, you are thinking about "Chop Suey". The presence of the word "CHOPS" in both "CHOP Suey" and "CHOPSticks" probably caused the semantic error in your memory. It's interesting that your memory did recall the time era correctly.

    From http://www.foodreference.com/html/fchopsuey.html


    Chop suey is not Chinese, and the dish does not exist in China. It is a Chinese American dish which originated in the mid to late 19th century, either with Chinese laborers working on the U.S. transcontinental railroad, or Chinese immigrants in San Francisco. Created to suit American tastes or simply utilizing available ingredients, the name is based on a Chinese (Cantonese) term for 'odds and ends' or 'miscellany'.

    Chop suey consists of small pieces of meat, chicken or shrimp stir-fried with celery, onions, bean sprouts, water chestnuts, mushrooms and/or other vegetables, and served over rice, usually with soy sauce.



    Also you may want to use google, at

    http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF -8&q=chop+suey+american


    for more info.

    Hey, no worries. Bad memory happens. A very entertaining film called "Memento" explores the tribulations of a man whose short term memory is practically non-existent due to an injury. It is an amazing film, in the genre of "film noire" (violent, not suitable for children), and a tour de force of editing and scriptwriting. I highly recommed it.

    Another fascinating film on a closely related subject is "A Beautiful Mind", which is Ron Howard's best film to date. It is a masterpiece. Ron Howard and Jennifer Connelly rightfully received the Academy Award, but unfortunately, Russell Crowe did not, even though his performance was exponentially superior to his performance in "Gladiator".

  140. It's not like using .net forbids assembly code. by Gldm · · Score: 0

    I mean where's the real problem here? You can't seriously tell me that modern games are still being written head to toe in hand coded assembly. I refuse to belive it, because then I'll never have the career in games I want cause I could never deal with a 100k line assembly program.

    Basicly today, most games are in C++ (like doom3) or C (like quake3) and then after it's up and running, someone goes in and tweaks specific functions with ASM code where it'll do the most good. There's no point in doing a hand optimized MMX version of a function that renders the mouse pointer in your stage select screen. However, doing it for your poly culling function that runs a million times a second is probably a good idea.

    So, why can't you do this with C#? No reason, C# can call existing compiled DLLs and libs with arbitrary code in them. It doesn't matter if the function in the DLL was made with C, C++, ASM, Delphi, or whatever. So, the game gets made, then you take the parts that really need that extra ASM optimization and put them in lower level code in DLLs you link to. The plus side is your C# code could always detect the CPU type for you and then link to DIFFERENT DLLs with different optimizations.

    Where exactly is the problem?

    I'd think people would be treating this like the holy grail it could potentially be. Think of the bigger picture. Ok now you have games that are in CLR code. What happens when someone gets a working CLR VM on linux? Do you need to recompile that code to play the same game on it? How bout a CLR VM on the Mac? Think MS might do it themselves? I dunno, what would they save in development costs by only having to make ONE version of office and IE and being able to sell all their existing PC apps to Mac users?

    --

    Introducing the new Occam Fusion! Now with sqrt(-1) fewer blades!

  141. OpenGL and .NET by Ridge · · Score: 2, Insightful

    So, I worked on CsGL and am doing the new library (which is available as linked off the CsGL homepage). Anyway, from my tests, the .NET examples I've done so far, this includes all of the redbook samples, the majority of the nehe lessons, and a number of others, finds that the .NET versions run between 1-5% slower than the c/c++ versions. Admittedly most of the samples are somewhat simplistic and of course we're ultimately going through the native library and then through (hopefully) hardware accelleration, but to me that's quite acceptable. The main performance issue at this time is array performance, particularly multidimensional arrays, which are extremely slow. However, I understand in the 2.0 version of the .NET framework array performance will be improved, particularly multidimensional arrays.. As always the Mono team is improving performance and support.. Oh I did mention the new OpenGL binding is cross platform didn't I? The new library supports GLUT, as such one could develop cross platform OpenGL apps in their .NET language of choice. It runs fine under Microsoft's runtime as well as Mono on Windows, and I've had reports of many of the samples I've done running under Mono on linux and freebsd. Of course there's bugs (and surprisingly finding linux testers with OpenGL and Mono is like pulling teeth), but hopefully they'll be corrected. It'd also be nice if someone would contribute GLX support, but that's not important for this discussion...

  142. DirectX for .Net? by panic911 · · Score: 2, Informative

    Guess you havent seen DirectX 9's changelog. DirectX 9 has native .net support and they produced some pretty good MSDN documentation on implementing DirectX apps with C# and VB.net.

  143. Decompilation... so what? by yerricde · · Score: 1

    I think the main reason people don't write games in java is because they can be decompiled.

    What does the fact that a binary format can be decompiled have to do with anything? Even x86 binaries can be decompiled.

    I just don't know what the hell MS was thinking, OO Basic?

    "I just don't know what the hell Bjarne Stroustrup was thinking, OO C?" I don't see anything wrong with adding object-oriented constructions to Basic.

    --
    Will I retire or break 10K?
  144. Close Minded People.... by magadass · · Score: 0, Flamebait

    You know some of you people have such a closed mind I wonder how you get along in the world. .Net is anything but slow and you cant tell me different. Why can you not tell me different well perhaps because I am speaking from experience and lots of it and real life experience is the ultimate decision maker. If you use DirectX 9 for gaming you will be fine. Lets just say that you can go much further than Java would ever get you... Oh and what do you mean the days when everyone complained java was slow? Java still is shit ass slow!

    --
    "If I was smarter I could rule the world!"
    1. Re:Close Minded People.... by Anonymous Coward · · Score: 0

      Hmm, makes me wonder. I've done tests with XML, reflection and SOAP messaging with both Java and .NET C#. Guess what I found. Java is 30% faster. This isn't some synthetic test either. I was a test application based on a use case.

  145. .NET is considerably slower by Headius · · Score: 4, Interesting

    Anyone used Visual Studio .NET lately? It's touted as being an amazing piece of work, written mostly in .NET compatible languages and for the .NET platform. And guess what - it's slow. It's noticeably slower than the previous Visual Studios, even the bubblegum version for web and VB developers. In comparison to the previous Visual C++, it's practically standing still.

    Furthermore, it's even noticeably slower than, say, Eclipse, a comparable IDE for Java that uses a platform-independent API to native UI widgets, much like .NET does. Visual Studio is not a zippy application.

    So keep it C++ but with .NET enhancements you say? Managed C++ is a bloody nightmare. It's really not practical to use it for anything other than tying native C++ code to .NET components. It's also not much easier than using COM components directly, plus you have to limit yourself to .NET management of memory, objects, exceptions, which all add extra cycles you could avoid going totally native.

    We're continually fedd technologies from Microsoft that are supposed to be "the next big thing". Look at COM+. Look at ActiveX. The big thing has become old news year after year while other technologies with fewer hard corporate ties expand and proliferate. It's certainly worth learning--Microsoft is pouring the money bucket into .NET very quickly, and there's jobs to be had. Just don't buy into the hype we've been force-fed for the past two years about .NET taking over the world.

    No, Virginia, there is no Santa Claus. The emperor is naked.

    1. Re:.NET is considerably slower by Anonymous Coward · · Score: 0

      VS.NET 2001 was pretty slow on my dual p3-1000 system. However, VS.NET 2003 runs almost as quickly as VS6 does.

  146. Wrong question by almaw · · Score: 2, Insightful

    Hmmm... it's the wrong question to ask. A much more interesting one is "will there even *be* any major games for PCs in one/two/five years' time?". After all, it's much cheaper developing for xbox, ps2, etc. as you don't have to test on thirty-five different graphics cards, etc. What's more, consoles are steadily increasing in power, and with the advent of consoles with VGA ports and/or HDTV, the last remaining reasons to use a PC for games (higher resolution and a mouse) will go away. Combine that with the cheapness of consoles these days (xbox is now only £130 in the UK, the price of a mid range graphics card for a PC) and what's the point of developing for PC, which has a smaller market and lower returns?

  147. Re: "developers" by Anonymous Coward · · Score: 0

    "Dismissed."

  148. it's already useful by Supergrass · · Score: 1

    A couple of people have mentioned this already, but I'll bring it up again -- developing a game is not just writing your engine. Tools are an incredibly important part of game development, and .NET makes it a hell of a lot easier to write good tools (the kind that artists and designers enjoy using, and use to their fullest extent). A colleague of mine said something to the effect of, "Yeah, working with .NET actually made writing my sound tool fun. And the tool has a decent interface for once, too!" You can also develop things more quickly -- my estimate, based on past experience, is at least a 4x speedup over using C++/MFC.

    Sure, you may not write your runtime using the framework (although you certainly could!), but saying that .NET is not useful in game development is silly. It's already proven its worth.

    --
    Wherever there's a will, there's a motorway.
  149. Check out Division Rivals by M$+Mole · · Score: 1

    Division Rivals football game.

    --
    Karma: Non-existant. Due mostly to the fact that you smell funny and nobody likes you.
  150. avoiding runtime checks by Submarine · · Score: 1

    Static analysis methods may remove as much as 90% of runtime checks.

    For instance, such techniques may, on reading code such as:

    for(int i=0; ia.length; i++)
    {
    x = a[i]; ...
    }

    derive the fact that the check on a[i] is unnecessary because 0=ia.length.

    1. Re:avoiding runtime checks by spongman · · Score: 1
      you're right (modulo a couple of <'s), and the .NET runtime does this optimization. however the parent is also right, you have to be careful. For example, the .NET runtime does not lift the bounds check in the following example:
      int count = a.length;
      for (int i = 0; i < count; i++)
      x = a[i]; ...
      An optimization that most C/C++ coders might not trust the compiler to make.
    2. Re:avoiding runtime checks by Submarine · · Score: 1

      Good static analysis techniques would allow this optimization. What's implement in the .net runtime sounds pretty much syntactic; there are semantical methods that are more powerful.

      Advanced compilers for FORTRAN/C/C++ often do more complex optimizations such as software pipelining, vectorization and loop movements.

      The trust you should have in the compiler depends on how the analysis method is constructed. I don't have too much trust in analysis methods based on recognizing "loose patterns" in code, because they may end up recognizing as optimizable code that should not be optimized away. Semantic method are more robust. Also, such methods can be tested by looking at the results of the analyses, not just the optimization. For instance, in your case, the method would have PROVED that the constraint i

      Static analysis method are now used for far more complex tasks, such as proving that a 70000-line C program never accesses arrays out of bounds or encounters arithmetic overflows in any operating context.

  151. Re: not the same as with Atari or CBM by WWWWolf · · Score: 1
    If I remember correctly, a number of C64 games were launched directly from the basic interpreter. LOAD "MYPROGRAM, 8, 1" or something like that.

    Quote goes after the program name (LOAD "programname",8,1). The most typical form was, of course, LOAD "*",8,1 which loaded the first program on the floppy's catalog.

    Tape users got it a little bit easier - just LOAD, or pushing Shift+RunStop.

    This was an Obscure Command-Line Interface by today's standards, but the Commodores still came and conquered the gamers' hearts =)

    (And what do you mean by "were launched"? They still are =)

  152. Re:.NET is also an IDE, and an optimized C++ compi by spongman · · Score: 1

    COM is a vtable (virtual methods in C++) with simple type casting and reference counting. What's to hate?

  153. [q1] Please Help HERE by Tei · · Score: 1

    If you want to help GPL developing with mono, maybe you can visit this littel info-collecting-project for a Quake engine: http://telejano.berlios.de/wiki3/index.php/quakemo no Please fill in this wiki entry all relevant info you can collect about the task integrate mono in a Quake engine.

    --

    -Woof woof woof!

  154. a few more by jon_c · · Score: 1

    Ok, I have some to add:

    Pros:

    - Its new and yet very old, which makes it kina neat.

    Cons:

    - Games on a network can not use the current system settings, i.e. the correct network card is found and dhcp works. Or even better the phone number for the ISP has to be entered by hand

    - Use of persistent media, either the app gets access to a current FAT, NTFS or ext2 partition or, well I don't know, but things as simple as saving games, game settings, network settings (see above) would not work.

    - Auto updating - drivers or software without persistent media would be a bitch (see above)

    -Jon

    --
    this is my sig.
  155. Try again by Anonymous Coward · · Score: 0

    Parts of the .NET framework is tightly integrated with the Win32 API, and is currently not covered by the Mono project. (WinForms)

  156. Not really independent. by danro · · Score: 1

    Java is slow for desktop applications because its graphics library is rubbish, not because the VM is inherently slow.

    Partly true, but a VM do add some extra overhead.
    And about the platform independent part... follow your link and check out the current scope of the mono project. You will notice it currently doesn't cover 100% of the .NET framework *.
    So basically what we have a "platform independent" framework that currently only works 100% on one platform (No the BSD-port by MS isn't complete, it only covers the standardized parts.)
    In my eyes this is not really platform independent at all.
    But it may be, in the future, if MS doesn't find it in it's interrest to work against true platform independence.

    *) This is in no way meant as a bash directed at the mono-guys, for whom I feel nothing but complete and utter admiration.

    --

    "First lesson," Jon said. "Stick them with the pointy end."
  157. Re:What exactly is the point of .NET? tsarkon. by Anonymous Coward · · Score: 0

    You really, really dont know fucking shit about high end computing, do you?

    Why dont you grab an IBM mainframe, run Quake on it, then tell the people who bought it they were idiots because its so slow.

    Retard.

  158. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    "work". you fantasize about having a job. i doubt you have any code for peer review. thats what i thought. a baseless groupthinking microsoft zealot asshole.

  159. Re:VC++ 7 might work sugarbitch by spongman · · Score: 1
    you again? oh dear.

    well, if you want to see some of my code on the web, you can go to the mono project. I did:

    There's a bunch of other stuff scattered around, but you'll find my name in the easter-eggs for the following:
    • Visual C++ 2.x
    • Visual C++ 4.x
    • Visual J++ 1.x
    eat your heart out...
  160. Re:VC++ 7 might work sugarbitch by spongman · · Score: 1

    that XPath link is wrong, it should be here.

  161. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    Easter egg? does that mean your the pizza coffee bitch? or just a low end tester. You cant even get "on the team"

    An unpaid intern gets on an Easter egg, and I'm supposed to be impressed? heh. heheheh. bwahahhaa. heh.

    by the way, corlib, nice list of thousands of errors and todos.

    and that page "cvs tree" loads like fucking shit, terrible design for that.

    Check out bitkeeper's web interface if you need a lesson in not sucking horribly. That was fucking terrible, and I hate Larry McVoy.

    Everything so far makes you a FUCKING DUD. You know nothing and do nothing.

  162. Re:VC++ 7 might work sugarbitch by spongman · · Score: 1
    wow, you don't really pay attention to much do you?

    interns and temps don't usually appear on the credits, as you'll see if you bothered to find out anything about what you're blabbering on about. i'm not surprised, though, it doesn't really seem like you really know much about anything, but you'd like to think you do.

    the whole point of the class status pages is to show the work remaining for the various mono assemblies. the errors and todos are what it's all about. some people thought it was useful.

    if you bothered to look at the cvs pages, you'll see at the bottom that CVSWeb is written by zeller@think.de. if you don't like it you should complain to him. the reason i sent you those links is that you asked for some of my code to peer review.

    so, what is it that you do (apart from pathetic trolls), pizzaboy?

  163. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    Well I checked some of the code. Amateurish. You are not in any credits. You wrote nothing. And you inability to simply ignore a "troll" serves as a testament to you know-nothingness. All the "gods of computing" I have ever met would let you tell them, "you are wrong," and they, being intelligent beings, will let you continue on with your broken thinking.

    You clearly are the opposite. You are probably the son of a Microsoft weenie and live vicariously through him and his "technical knowledge."

    I can see from looking at your online behavior, your projects and your comments and your "endeavors" that I have absolutely nothing to learn from you and you are comical to watch. You are the classical Microsoft zealot-idiot, and you only function in life is to rehash code and coding idioms from others.

    You are a bot, an automaton, you are like Lucy wrapping candy at the candy factory. You know nothing about top to bottom execution and implementation, you are cognizant of a very small niche and very much a boxed in thinker.

    You will continue to be an insecure, unenlightened mediocre 'programmer,' skirting off the coat tails of real programmers for life. You will never be responsible for anything great, and you know it.

    I would call you a life long programming non-contributor. A rehash, a hack, play it again Sam. You are the furthest think from Knuth its not even funny.

    So I'll take a cheese Pizza and some a double latte from Peet's. Make it quick, bitch.

  164. Re:VC++ 7 might work sugarbitch by spongman · · Score: 1

    man, you're almost as good as Mohammed Saeed al-Sahaf.

  165. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    yhbtyhlhand. not quite as good as MSS. he was lying. i do not. im simply pointing out truths that obviously get your blood boiling, retard.

    yo ho ho and a botle of trollbaiting dipshit freaks.

    scratch on up for me and be up out this bitch.

  166. Re:VC++ 7 might work sugarbitch by spongman · · Score: 1

    you're mistaken. yes, he was lying. you, on the other hand, are just a fool.

  167. .net for games by msh104 · · Score: 0

    it would be nice somehow. i mean, .net is cross platform so i can finaly play all the games of the world the same day as my fellow windows users. ( i am still waiting for neverwinter nights you know ) .net performence appears to be ok. now all we need is a .net version of directX since those games are very likely going to use it.

  168. There already is .Net for DirectX by PierceLabs · · Score: 1

    Starting with DirectX 9, Microsoft has started giving tutorials at developer conferences about "Managed DirectX" with .Net. Whether or not .Net will actually be relevant to anyone (let alone game developers) remains to be seen, but one can already access DirectX through .Net.

  169. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    you are a fucking lampoon. you know that.

    yhbtyhlhand. again.

  170. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    M. Icaza tells you a small, insignificant program is important? And you make it a point in some agrument? Apparently, it only works in IE. Good job Microsoft zealot.

  171. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    no one cares, reetard fucking fag haken.

    no one reading this is paying attention to you because you say nothing technical, do insignificant work on off center projects, and the best part if how easily you are trolled.

    fucking retard. does icaza's penis hit the back of your throat when you suck it.?

  172. Re:.NET is also an IDE, and an optimized C++ compi by Anonymous Coward · · Score: 0

    What's to hate?" Your lack of regard for other platforms, your zealotry for windows. your bias. your inexperience with enterpise computing. your unemployed status. you are an unrealiable FUD machine, spewing lies and half truths

  173. Re:VC++ 7 might work sugarbitch by spongman · · Score: 1

    works fine in mozilla last time i checked. i'd say it's more significant than anything you've ever done...

  174. Re:.NET is also an IDE, and an optimized C++ compi by spongman · · Score: 1

    heh, who's trolling who now?

  175. Re:C# vs C, DirectX samples sugarbitch by Anonymous Coward · · Score: 0

    document is nearly two years old and talks about things in a very general manner.

    you are sending people links to whitepapers raher than showing a piece of code running differently on the two runtimes. you "evidence" is a fucking whitepaper.

    hahahahahahah fucking hAHAHAHAH what a fucking marketing boner you are hahahaha. you are such a little hot mouthpiece of microsoft hahahaha. what a fucking tird.

    FUD fud fud.you know how many lies have been promulated by microsoft on the very same site about linux? you think there is eny credibility? im sorry you have no real world examples or experience with it, but hey, just point to a whitepaper with the workd "flaming monkeys" in it.

    BWAHAHA fraud fraud fraud fraud.

  176. Re:.NET is also an IDE, and an optimized C++ compi by Anonymous Coward · · Score: 0

    umm. i have been ever since i wont the original arguments with you. you are the little bitch eating all the troll bait.

    HAHAHHAHAHA. what a complete and total fag. taking the bait, BEOOOTCH, and still, not one iota of technical insight, only microsoft fud whitepaper regurgitation. hahahahahah. little birdie with a yellow bill, hopped upon my window sill, cocked his shining eye and said, aint you 'shamedyousleepy head.

    BITCH.

  177. Re:VC++ 7 might work sugarbitch by Anonymous Coward · · Score: 0

    if working fine is your code working slow as ass, but still working, i guess it "works"

    you know, its funny how easy it is to break that code.

    I've been playing around with the a little today. What I've done is

    still a little rudimentary, it's mostly something I've wanted to try to

    do for a while. It's basically just a collapsible tree echoing the

    structure of the XML.


    in your own words, RUDIMENTARY. just as i said before, fucker. i dont owe you an explnation for what i do, but lets just say compared to this shit, its far more coplex that this rudimentary crap.

    you are a fucking lampoon trollbaiting whore. and you look like a little piece of SHIT. and you reall are a piece of shit. self-admitted rudimentary piece of shit. microsoft zealot loser icaza blowing fake fraud FUD loser.

  178. Tsarkon Reports: Power4 destroys Superdome+IA64 by Anonymous Coward · · Score: 0

    A combination of its Pseries server which uses 32 Power 4++ processors running AIX and DB2, has knocked spots off HP's Itanium 2 Superdome using Windows Server 2003, and only using half the processors.

    The firm said that TPC-C benchmarks showed that its machine delivered 680,613.12 transactions a minute at a cost of $11.13/tpmC, and that's knocked the Superdome off its number one perch.

    The firm said HP had taken 18 months to catch up to its performance using its Power chips, and that lead only lasted a few weeks.

    It took a further dig at HP and Intel. Adalio Sanchez, general manager of the Eserver division, said: "We don't just assemble boxes with third party components"

    READ IT AND WEEP

    IBM eServer pSeries 690 Turbo 7040-681
    680,613
    11.13 US $
    11/08/03
    IBM DB2 UDB 8.1
    IBM AIX 5L V5.2
    BEA Tuxedo 8.0
    05/09/03

  179. Tsarkon Reports, WRONG. BZZZZZT WRONG. by Anonymous Coward · · Score: 0

    A combination of its Pseries server which uses 32 Power 4++ processors running AIX and DB2, has knocked spots off HP's Itanium 2 Superdome using Windows Server 2003, and only using half the processors.

    The firm said that TPC-C benchmarks showed that its machine delivered 680,613.12 transactions a minute at a cost of $11.13/tpmC, and that's knocked the Superdome off its number one perch.

    The firm said HP had taken 18 months to catch up to its performance using its Power chips, and that lead only lasted a few weeks.

    It took a further dig at HP and Intel. Adalio Sanchez, general manager of the Eserver division, said: "We don't just assemble boxes with third party components"

    READ IT AND WEEP

    IBM eServer pSeries 690 Turbo 7040-681
    680,613
    11.13 US $
    11/08/03
    IBM DB2 UDB 8.1
    IBM AIX 5L V5.2
    BEA Tuxedo 8.0
    05/09/03

  180. Dont worry, they were wrong anyway. Tsarkon Report by Anonymous Coward · · Score: 0

    A combination of its Pseries server which uses 32 Power 4++ processors running AIX and DB2, has knocked spots off HP's Itanium 2 Superdome using Windows Server 2003, and only using half the processors.

    The firm said that TPC-C benchmarks showed that its machine delivered 680,613.12 transactions a minute at a cost of $11.13/tpmC, and that's knocked the Superdome off its number one perch.

    The firm said HP had taken 18 months to catch up to its performance using its Power chips, and that lead only lasted a few weeks.

    It took a further dig at HP and Intel. Adalio Sanchez, general manager of the Eserver division, said: "We don't just assemble boxes with third party components"

    IBM eServer pSeries 690 Turbo 7040-681
    680,613
    11.13 US $
    11/08/03
    IBM DB2 UDB 8.1
    IBM AIX 5L V5.2
    BEA Tuxedo 8.0
    05/09/03

  181. SPONGMAN. BZZZT WRONG. Itanic2 has GLITCH by Anonymous Coward · · Score: 0

    Intel reveals Itanium 2 glitch
    By Stephen Shankland Staff Writer, News.com May 12, 2003, 12:36 PM PT

    CUSTOMERS TOLD TEMPORARY REMEDY: Until the next iteration of chip arrives though, Oliver Wendell Jones writes, "they recommend working around the problem

    by underclocking the processor to run at 800 MHz instead of its default 900 MHz or 1 GHz."


    Intel disclosed an electrical problem Monday that can cause computers using its flagship Itanium 2 processor to behave erratically or crash.
    Read more about Itanium


    Customers can sidestep the problem by setting the processor to run at a lower speed, said company spokeswoman Barbara Grimes, and Intel will replace the

    processor if customers want. The glitch only affects some chips, and then only in the case of "a specific set of operations in a specific sequence with

    specific data," according to Grimes.

    "If the customer feels it's the right solution, we'll exchange processors with ones that aren't affected," she said. Intel has developed a simple software

    test that can determine whether a chip is affected.

    The problem likely is fairly uncommon, Insight 64 analyst Nathan Brookwood said. "These machines have been out there for a year, and it only now is showing

    up, so it's got to be fairly rare. If it's something that was more commonplace, we would have seen it a lot sooner, or they would have found it in their

    alpha or beta testing."

    Still, the problem is a black eye for Intel, which has been positioning its Itanium line to take on high-end chips from Sun Microsystems and IBM for use in

    powerful servers with dozens of processors.

    "Virtually everybody has these kinds of problems," Brookwood said. "When you consider the hundreds of millions of transistors that go into these complex

    designs, it's amazing we don't see these more often."

    The Itanium 2 has data protection features and a 64-bit design that can handle vast amounts of memory, making it better suited to high-end servers than

    32-bit processors such as Intel's Xeon and Pentium. Its performance has been good enough to boost Windows servers to the upper echelons of the server market,

    but the processor family's arrival has been clouded by initial delays and by the difficulties of running software written for Pentium chips.

    A computer maker found the electrical problem in stress testing earlier this year, and Intel confirmed it was a problem with the chips, not the software or

    other parts of system design, Grimes said. The problem affects both 900MHz and 1GHz versions of the Itanium 2, code-named McKinley. However, it doesn't

    affect a faster 1.5GHz successor--called Itanium 2 6M and formerly code-named Madison--that is set for release in mid-2003, she said.

    The ripple effect
    The problem has begun rippling through the computer industry. IBM said Monday that it has put shipments of its just-released x450 Itanium 2 server on hold

    until the glitch is fixed and is notifying customers that have the systems.

    "Until we're sure the issues are 100 percent resolved, we're going to keep holding back shipments with the 450," IBM spokeswoman Lisa Lanspery said. "We have

    a policy of zero tolerance for undetected data corruption" at a customer site, she said.

    The move doesn't affect IBM's overall Itanium plans, which include a server based on the Itanium 2 6M and planned for later in 2003, she said.

    Hewlett-Packard, which co-developed the Itanium design and is building the processor family into its entire server line, said computer shipment plans aren't

    affected because it's screening affected systems before they ship. The company is working to help customers that already bought the systems.

    "We'll do whatever meets the customer's total satisfaction," said HP spokeswoman Kathy Sowards. "We're working very closely with Intel to come to a

    resolution for any customers th

  182. BAZZTZZT. Wrong. Itanic2 has a GLITCH. Sheck this by Anonymous Coward · · Score: 0

    Intel reveals Itanium 2 glitch Yes, GLITCH
    By Stephen Shankland Staff Writer, News.com May 12, 2003, 12:36 PM PT

    CUSTOMERS TOLD TEMPORARY REMEDY: Until the next iteration of chip arrives though, Oliver Wendell Jones writes, "they recommend working around the problem

    by underclocking the processor to run at 800 MHz instead of its default 900 MHz or 1 GHz."


    Intel disclosed an electrical problem Monday that can cause computers using its flagship Itanium 2 processor to behave erratically or crash.
    Read more about Itanium


    Customers can sidestep the problem by setting the processor to run at a lower speed, said company spokeswoman Barbara Grimes, and Intel will replace the

    processor if customers want. The glitch only affects some chips, and then only in the case of "a specific set of operations in a specific sequence with

    specific data," according to Grimes.

    "If the customer feels it's the right solution, we'll exchange processors with ones that aren't affected," she said. Intel has developed a simple software

    test that can determine whether a chip is affected.

    The problem likely is fairly uncommon, Insight 64 analyst Nathan Brookwood said. "These machines have been out there for a year, and it only now is showing

    up, so it's got to be fairly rare. If it's something that was more commonplace, we would have seen it a lot sooner, or they would have found it in their

    alpha or beta testing."

    Still, the problem is a black eye for Intel, which has been positioning its Itanium line to take on high-end chips from Sun Microsystems and IBM for use in

    powerful servers with dozens of processors.

    "Virtually everybody has these kinds of problems," Brookwood said. "When you consider the hundreds of millions of transistors that go into these complex

    designs, it's amazing we don't see these more often."

    The Itanium 2 has data protection features and a 64-bit design that can handle vast amounts of memory, making it better suited to high-end servers than

    32-bit processors such as Intel's Xeon and Pentium. Its performance has been good enough to boost Windows servers to the upper echelons of the server market,

    but the processor family's arrival has been clouded by initial delays and by the difficulties of running software written for Pentium chips.

    A computer maker found the electrical problem in stress testing earlier this year, and Intel confirmed it was a problem with the chips, not the software or

    other parts of system design, Grimes said. The problem affects both 900MHz and 1GHz versions of the Itanium 2, code-named McKinley. However, it doesn't

    affect a faster 1.5GHz successor--called Itanium 2 6M and formerly code-named Madison--that is set for release in mid-2003, she said.

    The ripple effect
    The problem has begun rippling through the computer industry. IBM said Monday that it has put shipments of its just-released x450 Itanium 2 server on hold

    until the glitch is fixed and is notifying customers that have the systems.

    "Until we're sure the issues are 100 percent resolved, we're going to keep holding back shipments with the 450," IBM spokeswoman Lisa Lanspery said. "We have

    a policy of zero tolerance for undetected data corruption" at a customer site, she said.

    The move doesn't affect IBM's overall Itanium plans, which include a server based on the Itanium 2 6M and planned for later in 2003, she said.

    Hewlett-Packard, which co-developed the Itanium design and is building the processor family into its entire server line, said computer shipment plans aren't

    affected because it's screening affected systems before they ship. The company is working to help customers that already bought the systems.

    "We'll do whatever meets the customer's total satisfaction," said HP spokeswoman Kathy Sowards. "We're working very closely with Intel to come to a

    resolution for any c

  183. they were completely wrong, itranic2 has GLITCH!!! by Anonymous Coward · · Score: 0

    Intel reveals ITANIC 2 glitch
    By Stephen Shankland Staff Writer, News.com May 12, 2003, 12:36 PM PT

    THE SUNK CPU!

    CUSTOMERS TOLD TEMPORARY REMEDY: Until the next iteration of chip arrives though, Oliver Wendell Jones writes, "they recommend working around the problem

    by underclocking the processor to run at 800 MHz instead of its default 900 MHz or 1 GHz."


    Intel disclosed an electrical problem Monday that can cause computers using its flagship Itanium 2 processor to behave erratically or crash.
    Read more about Itanium


    Customers can sidestep the problem by setting the processor to run at a lower speed, said company spokeswoman Barbara Grimes, and Intel will replace the

    processor if customers want. The glitch only affects some chips, and then only in the case of "a specific set of operations in a specific sequence with

    specific data," according to Grimes.

    "If the customer feels it's the right solution, we'll exchange processors with ones that aren't affected," she said. Intel has developed a simple software

    test that can determine whether a chip is affected.

    The problem likely is fairly uncommon, Insight 64 analyst Nathan Brookwood said. "These machines have been out there for a year, and it only now is showing

    up, so it's got to be fairly rare. If it's something that was more commonplace, we would have seen it a lot sooner, or they would have found it in their

    alpha or beta testing."

    Still, the problem is a black eye for Intel, which has been positioning its Itanium line to take on high-end chips from Sun Microsystems and IBM for use in

    powerful servers with dozens of processors.

    "Virtually everybody has these kinds of problems," Brookwood said. "When you consider the hundreds of millions of transistors that go into these complex

    designs, it's amazing we don't see these more often."

    The Itanium 2 has data protection features and a 64-bit design that can handle vast amounts of memory, making it better suited to high-end servers than

    32-bit processors such as Intel's Xeon and Pentium. Its performance has been good enough to boost Windows servers to the upper echelons of the server market,

    but the processor family's arrival has been clouded by initial delays and by the difficulties of running software written for Pentium chips.

    A computer maker found the electrical problem in stress testing earlier this year, and Intel confirmed it was a problem with the chips, not the software or

    other parts of system design, Grimes said. The problem affects both 900MHz and 1GHz versions of the Itanium 2, code-named McKinley. However, it doesn't

    affect a faster 1.5GHz successor--called Itanium 2 6M and formerly code-named Madison--that is set for release in mid-2003, she said.

    The ripple effect
    The problem has begun rippling through the computer industry. IBM said Monday that it has put shipments of its just-released x450 Itanium 2 server on hold

    until the glitch is fixed and is notifying customers that have the systems.

    "Until we're sure the issues are 100 percent resolved, we're going to keep holding back shipments with the 450," IBM spokeswoman Lisa Lanspery said. "We have

    a policy of zero tolerance for undetected data corruption" at a customer site, she said.

    The move doesn't affect IBM's overall Itanium plans, which include a server based on the Itanium 2 6M and planned for later in 2003, she said.

    Hewlett-Packard, which co-developed the Itanium design and is building the processor family into its entire server line, said computer shipment plans aren't

    affected because it's screening affected systems before they ship. The company is working to help customers that already bought the systems.

    "We'll do whatever meets the customer's total satisfaction," said HP spokeswoman Kathy Sowards. "We're working very closely with Intel to come to a

    resolution