Slashdot Mirror


Comparison of Java and .NET security

prostoalex writes "The Computer Science Department at the University of Virginia has published a comparative study of security in Java and .NET in Portable Document Format. DevMktg blog on MSDN summarizes the findings saying that due to careful design process, .NET presents security advantages over Java platform in several areas." From the article: "Where Java evolved from an initial platform with limited security capabilities, .NET incorporated more security capability into its original design. With age and new features, much of the legacy code of Java still remains for backwards compatibility including the possibility of a null SecurityManager, and the absolute trust of classes on the bootclasspath. Hence, in several areas .NET has security advantages over Java because of its simpler and cleaner design."

461 comments

  1. Except... by Anonymous Coward · · Score: 4, Funny

    Except it run on Windows.
    D'OH!

    1. Re:Except... by goobster · · Score: 1, Insightful

      This system is shutting down. Windows must now restart because the Remote Procedure Call (RPC) service terminated unexpectedly.

    2. Re:Except... by eneville · · Score: 0

      And on other platforms too... check out apt-get install mono

    3. Re:Except... by fbjon · · Score: 2, Funny
      I have an idea: I'm going to write a new .Net VM.... in Java!

      Eat that, hax0rs!

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    4. Re:Except... by jarich · · Score: 1
      How about a .NET version of Ruby instead? :)

      From the Ruby newsgroup:

      "Phil Tomson" wrote in message news:...

      Someone asked on the ruby-talk mailing list about the status of the Ruby.NET compiler from the Google Summer of Code. I hadn't heard that there was a grant for such a beast from Google so, of course, I googled it and found this:

      http://jaen.saul.ee/

    5. Re:Except... by jsight · · Score: 1

      I have an idea: I'm going to write a new .Net VM.... in Java!


      Already been done... sort of. See Visual MainWin for J2EE. It's based off of Mono's implementation of the .Net libraries.

      Oh, and don't forget Java on .Net!, either.
    6. Re:Except... by __aaitqo8496 · · Score: 2, Informative

      ...and Linux, Windows, OSX, BSD, and Solaris

      Welcome to the world of hackers making life better

      http://www.mono-project.com/Main_Page

  2. Had to switch from Java to .NET by TheShadowHawk · · Score: 3, Interesting

    Since starting in my new job, I had to switch from Java to .Net... so this is a little bit of good news. I guess....

    I still miss the Eclipse IDE though... Visual Studio blows chunks in comparison. :(

    --
    Friends don't let Friends use Internet Explorer.
    1. Re:Had to switch from Java to .NET by ars+matica · · Score: 1, Insightful

      you're kidding me, right? anyone who actually has used Visual Studio will acquiesce that is the best IDE ever conceived. Even the most hardened OS automatons. If by chunks you mean chunks of superiority then yeah you are exactly right.

    2. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      Well, right, but I usually hear that from Visual Studio fans who haven't tried Eclipse... =)

    3. Re:Had to switch from Java to .NET by ars+matica · · Score: 2, Interesting

      Yes, and present to me how many VS users you know that have made a conscious switch to Eclipse?

    4. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      Sounds like someone needs to learn there new debugger ;)

      Personally i found vs 6 more stable and less quirky but you have got to be niave to even make that argument.

    5. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      How maybe how many VS users have even thought about not using what Microsoft provides for them ?

    6. Re:Had to switch from Java to .NET by CaptnMArk · · Score: 1

      No, he's completely right. I have been using both Visual studio 2003 and now 2005 beta 2 and I prefer Eclipse any day.

      If you are into drag-and drop cobbling the code together, MS may have nice wizards that make simple things easier and hard things harder. For coding, Eclipse is easily better (than 2003 certainly and VS 2005 still has far too many bugs).

      One extremely annoying thing is "design time" concept and files that are generated during editing and not during build time as they should be. There are slight improvements in VS 2005, but still not enough (dataset stuff actually became worse). The MS way of doing things easy with Wizards instead of improving/extending the framework itself is just a dead end (unless you like clicking).

      Visual Studio also has a NIH (not-invented-here) problem with build systems -- the 2003 is crap, and msbuild still has growing up problems (none of msbuild,nant,and are as mature as using make files -- they seem to suffer from too verbose output and too many unnecessary rebuilds).

      Only Intellisense is slightly in VS due to showing the parameter names.

      And web projects were never done well in VS and still don't work well (I get unexplainable 5 minute builds for something that usually rebuilds in 30 seconds)

      VS 6.0 was very good (for C/C++), but everything after just isn't as mature and usable as Eclipse is for Java.

    7. Re:Had to switch from Java to .NET by Homology · · Score: 1
      VS 6.0 was very good (for C/C++), but everything after just isn't as mature and usable as Eclipse is for Java.

      Yes, VS IDE 7.1 has some very annoying quibles, but the C++ compiler is much, much better. If you are using templates, or templatized libraries like Boost you should upgrade to 7.1.

    8. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      I use VS for c# at work, eclipse for python programming at home. VS blows eclipse away.

    9. Re:Had to switch from Java to .NET by IWorkForMorons · · Score: 4, Interesting

      He doesn't know me...but I'm one...

      I have quite a number of years experience with VS6, more specifically VB6. Recently I started a job that, while not a programming role, allows me the time and flexibility to create programs to do my job how I want to code them. At first, since this an MS shop, I grabbed the .NET "Learning Edition" or whatever they're calling it nowadays. I understood that I wouldn't be able to create executables, but I could send my code to systems and get them to do it. After using the IDE for a couple of days, I found it so convoluted that I just gave up. Then I downloaded Eclipse with the Visual Class editor. Nice, simple, and it reminds me of the VB6 IDE. Only cleaner. Now I will say that I've had some problems with the Visual Class editor not rendering properly, but that hasn't stopped me from coding. In 2 weeks of coding on and off, I've created my first program and have been using it to do my job. Granted, it's not complex. Just does a database search and grabs data. But I still prefer the Ecplise IDE, even without the Visual Class editor working properly, over the VS.NET IDE. And I don't need to jump through MS' hoops just to get an executable. I'm distributing the program to the rest of the team next week after the boss tests it, and other departments are getting interested in it too. And with any luck, I'll get out of this support position and into a nice well-paid programming job at the same time.

    10. Re:Had to switch from Java to .NET by boa13 · · Score: 1

      You made a logical fallacy. The correct conclusion is: "VS for C# blows away Eclipse for Python".

      Eclipse is mostly used to program Java, support for other languages is still catching up. I've heard C++ support has become quite good in the Eclipse 3.1 release. I don't know about Python support. Maybe you should try more specialized Python IDEs? There are also people who claim that Python needs less of an IDE because it is more powerful.

    11. Re:Had to switch from Java to .NET by burnstone · · Score: 1

      "Only Intellisense is slightly in VS due to showing the parameter names."

      Eclipse does that too, if you attach the source-code.

    12. Re:Had to switch from Java to .NET by zootm · · Score: 2, Interesting

      As a contrary opinion, I've used both and found them both good in different areas. And I've certainly not found any difference in reliance on "Wizards" between the two packages.

      I've found that, in general, VS.NET is a little better integrated with its languages, whereas Eclipse has far superior refactoring support and integration with build processes (as you mention). 2005 is going some way to fixing this.

      They're both fantastic IDEs though. I'd recommend either (although the only C# plugin I've found for Eclipse is very, very basic so far, which is a real shame).

    13. Re:Had to switch from Java to .NET by b1gn4tb00bs · · Score: 1

      You dont have to use visual studio, I used emacs to develop .net stuff because the company I worked for were to tight to pay for it lol

      --
      pr0n: now ive got your attention click here
    14. Re:Had to switch from Java to .NET by shutdown+-p+now · · Score: 1

      Ever heard of refactoring?

    15. Re:Had to switch from Java to .NET by shutdown+-p+now · · Score: 1
      Have you stopped beating your wife?

      Seriously... VS.Net is a C++/C#/VB IDE. Eclipse is primarily a Java IDE. Why would anyone even ponder switching from VS to Eclipse? Alright, so there's J# - but it's such a bad joke I've yet to see someone seriously trying to use it.

    16. Re:Had to switch from Java to .NET by rjshields · · Score: 1
      you're kidding me, right? anyone who actually has used Visual Studio will acquiesce that is the best IDE ever conceived. Even the most hardened OS automatons. If by chunks you mean chunks of superiority then yeah you are exactly right.
      Either you're trolling or you're very, very mistaken.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    17. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      WTF? MS are practically giving away development tools. You can get a huge box of software for a couple of thousand. I suggest you go and work for someone with a brain.

    18. Re:Had to switch from Java to .NET by b1gn4tb00bs · · Score: 1

      I dont work for them anymore, but a few thosand was a lot more than what we were worth (despite paying me £3000 ($6000~) a month!)

      --
      pr0n: now ive got your attention click here
    19. Re:Had to switch from Java to .NET by TheShadowHawk · · Score: 1

      Regardless of which lanugage each IDE was designed for (VS = C#) and (Eclipse = Java), you cannot deny the fact that Eclipse 3.1 is far more usable, configurable and more fun to use than VS .NET 2003.

      --
      Friends don't let Friends use Internet Explorer.
    20. Re:Had to switch from Java to .NET by hwangeruk · · Score: 2, Insightful

      Stop personally insulting each other.

      VS.Net 2003 has lots of issues, certainly around web projects. It sure lacks refactoring, and it does not highlight errors without a compile.
      All Java advocates here are shouting Eclipse, but the Java pro's I work with use IntelliJ. Sometimes paying for something is better.
      VS 2005 has impoved alot, and for doing .Net you would have to be mad to use anything else. Even the lovely/cute Sharpdevlop could not be used for real serious development even though I adore their whole project.
      I'm downloading Eclipse now to take a look at it again, but if its the usual Java sluggish/ugly normal Java client stuff we are used to then I won't be using it for very long. .Net does rock, I don't like the security paper that started this threads obvious bias, but .Net is newer so its no surpise the design has some advantages. Java and .Net can live in the world together, there is no need to get hysterical or get in a fight about. You eat veggies, I'll eat the meat, meat and vegatable can coexist, get over yourselves.

    21. Re:Had to switch from Java to .NET by onash · · Score: 1

      I recommend using ReSharper with Visual Studio. Resharper is a plugin for Visual Studio, made by JetBrains that make the IntelliJ IDEA IDE which I think is way ahead of Eclipse in features.

      ReSharper adds all the features that we Java developers have learned to love in eclipse/intellij to Visual Studio for C# developers: http://www.jetbrains.com/resharper/

    22. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0
      "Sounds like someone needs to learn there new debugger"

      Yes, it's much better than this new debugger.

    23. Re:Had to switch from Java to .NET by shutdown+-p+now · · Score: 1
      VS 2005 has impoved alot, and for doing .Net you would have to be mad to use anything else.
      It was my point exactly. There's no sense in comparing a Java IDE to a non-Java one. And yes, I do know that on the Java front, nothing (including Eclipse) even comes close to IDEA, as long as one is willing to spend money.
    24. Re:Had to switch from Java to .NET by jarich · · Score: 1
      Either you're trolling or you're very, very mistaken.

      Honestly, I know a few people who simply love the MS IDEs. I know others who don't.

      It seems to have more to do with the way ~your~ mind works. I think it's okay if we don't have the same favorite color, ice cream or IDE.

      ;)

    25. Re:Had to switch from Java to .NET by CastrTroy · · Score: 1

      VS.Net highlights all the errors in VB.net without compiling. I think the only language it doesn't do so in is C#. Anyway, I wish i could turn this "feature" off, as it slows the computer down to a slow crawl with large source files.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    26. Re:Had to switch from Java to .NET by ShnowDoggie · · Score: 1

      Visual Studio 2003 is a piece of Dog doo. Especially if you are coding for ASP.NET. It does not even allow you to format your own code. It crashes a LOT. It's slow, and all around very irritating. A non programmer can create a site with 2003. It is Front Page with a huge leap forward. But for programmers, people who use CSS, code for section 508, or the like, it sucks.

    27. Re:Had to switch from Java to .NET by rjshields · · Score: 1

      Agreed. The GP was touting VS.NET as "superior" which, as you rightly say, is subjective.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    28. Re:Had to switch from Java to .NET by CastrTroy · · Score: 1

      What's funny is that everybody touts eclipse, yet for Java, I still prefer NetBeans. I don't get why it doesn't get any attention. It's like nobody knows about it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    29. Re:Had to switch from Java to .NET by rjshields · · Score: 1

      I find it makes quite a nice editor. I had no problems editing XML and CSS. Is there something particular you don't like instead of just saying "it sucks"?

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    30. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      I've used Eclipse only briefly, and it seemed quite comparable to the Microsoft IDEs. Can someone please tell me what the benefits of Eclipse -vs- VS.NET are?

    31. Re:Had to switch from Java to .NET by khchung · · Score: 2, Insightful
      Ever heard of refactoring?

      It seems most moderators haven't heard of it either, as nobody modded you up yet.

      I am Eclipse/Java guy now working on a VS C# project. Anyone who thinks VS is great please tell me how to do these automatically in VS.Net 2003 (I am admittedly a novice with the VS interface, so I am hoping these things are actually doable):

      1. Generate getter and setter so I don't have to type them all by myself!
      2. Automatically rename the namespace of in the file when I move the file between folders/projects, AND update other classes that references the moved class.
      3. Automatically rename the class name when I rename the file, AND update other classes that references the renamed class.
      4. When I rename a member method/variable name, automatically other classes that references the method.
      5. Fix the damn web reference caching so hell won't break loose after methods in a web service has been changed. We have to end up rebooting the machine to get other projects to compile after stuff in a referred web service project changes (Yes, we have tried "update web reference").
      6. Ever heard of "Extract method"?
      7. Let me "generate method" when it found a method called does not already exist.
      8. Let me rename method parameters or local variables and auto-rename all uses in the rest of the method.
      --
      Oliver.
    32. Re:Had to switch from Java to .NET by jsight · · Score: 1
      I think most people do know about Netbeans. Most are probably in one of the following camps.
      • "I used Netbeans 3... it was junk/slow/complicated/annoying" - I agree. Fortunately, 4 and above are much better
      • "Netbeans 4??!? But everyone uses Eclipse" - Ignorance abounds. :)
      • "But all my plugins are for Eclipse" - Eclipse does build some nice barriers to competition for some people with this.
      • "I've used both, but xyz feature keeps me on Eclipse" - That's me! The ant builds are nice, but automatic, dynamic, incremental compiles beat them ANY day. :)
      Anyway, I think the real answer is just that most people still prefer Eclipse. I do drop in to Netbeans for their profiler, though (it's slick)!
    33. Re:Had to switch from Java to .NET by shutdown+-p+now · · Score: 1
      Actually, you can do most of this, but not using vanilla VS.Net. Try ReSharper - it's a VS add-on which adds advanced refactoring capabilities to it. Of course, it isn't free, but it does most of what you asked about. And coincidentially, it is made by the same guys who wrote IDEA. Oh, the irony...

      Also, apparently MS is catching up with VS.Net 2005. At least I've heard that there are some more advanced built-in refactoring tools available there. But since it's not released yet, I'm not considering it. We'll see when it gets done.

    34. Re:Had to switch from Java to .NET by jbplou · · Score: 1

      I use both VS 2003 and Eclipse and overall I prefer VS by far. But I will give you a flaw in VS is that if you are working on HTML/ASP/ASX it will reformat your markup even if you look at design view even if you have autoformat turned off in your options.

    35. Re:Had to switch from Java to .NET by skraps · · Score: 2, Informative
      I have quite a number of years experience with VS6, more specifically VB6[...]
      VB6 and VS6 were packaged together, but they were completely different programs! VB6 and all previous versions of VB have their own completely different IDE. The Visual Studio IDE evolved from the Visual C++ series of IDEs. Your comparison is based on a faulty assumption.
      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    36. Re:Had to switch from Java to .NET by stuntpope · · Score: 1

      The pydev plugin for Eclipse has gotten good enough for me to use Eclipse in my next Python project. I don't know if I could convince my work to pay for Wing IDE when the Java programmers are using free Eclipse, and they probably have a good deal on Visual Studio for the MS coders.

    37. Re:Had to switch from Java to .NET by delus10n0 · · Score: 1

      Huh? No one forces you to use wizards. You can do DataSets/etc. on your own, if you'd like.

      I've been developing in .Net for 2+ years now, and have never really had a use for any of the wizards in VS2003 (other than maybe the XSD ones.)

      As for web projects, VS2003 works fine if you know how to set it up (takes a bit of time)-- but VS2005 dramatically changes the way things are structured with this, to make it easier to work with (and I am glad.)

      --
      Not All Who Wander Are Lost
    38. Re:Had to switch from Java to .NET by delus10n0 · · Score: 1

      VS2005 will do most of the things you mentioned.

      If not, people are free to write/buy an addon for VS :)

      --
      Not All Who Wander Are Lost
    39. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      Anyone sees that VS + ReSharper is a little more expensive than Eclipse?

    40. Re:Had to switch from Java to .NET by DreamCoder · · Score: 1

      I really hate to agree with the parent, but he's right. I loathe Windows, and all the horrendously bad API's that come with it. But VS blows away every other IDE I've ever used (including Eclipse).

    41. Re:Had to switch from Java to .NET by Procyon101 · · Score: 1

      Biggest benefit of eclipse over VS.NET is the price :)

      VS.NET has some features that are lacking in eclipse, the biggest one you are likely to miss is the tight integration of VS.NET with the Microsoft development tools. Eclipse is a much more generic IDE which is not so tightly coupled with any toolset (except java, which it is written in). A benefit in this approach you might find is precicely that it is NOT tightly coupled with Microsoft's toolset and other toolsets can be plugged in as easily, or more easily than Microsoft's giving you a wider range of possibilities. Eclipse has some very nice features, particularly in code redactoring, that Microsoft is copying in Whidbey, so the VS.NET won't lack those for long (MS isn't about to lose their competitive edge if they can help it). Also, if you are programming Java, you'd be crazy to use VS, as it just isn't wired to do that.

      Overall, if you are programming C# on a Microsoft platform, and cost is not a factor, your probably better off with VS.NET right now, but Eclipse is free, so you can always download it and play aroundwith it and see if you like it. If you are on another OS, or you are programming in a non-microsoft Language, particularly java, Eclipse is almost definately a better IDE than VS. If you are programming in C++, then it's probably going to come down to personal preference, as both IDE's are pretty good for C++, with VS.NET having an edge right now... UNLESS your programming C++ using gcc, then the tight integration with VC++ in VS.NET will annoy you to no end.

      Personally, for VC++ the last couple years on Microsoft platforms I've been sticking with Winsdk build.exe, nmake.exe and cl.exe toolset and using source insight and emacs for editing.. The MS IDE has become too clunky and tightly coupled for my tastes and can't handle large projects well. For non-MS development languages I generally use Emacs on whatever platform I'm using, except for java development, where I'm using Eclipse. Eclipse is replacing Emacs for me more and more though for non-java development as it matures. I expect it will completely replace emacs for me in the next 5 years, which is no small feat.

    42. Re:Had to switch from Java to .NET by anomalous+cohort · · Score: 1
      It does not even allow you to format your own code. It crashes a LOT. It's slow, and all around very irritating

      Just stay out of the template visual designer and you'll be alright. Use the open with context menu to open as[pc]x files with your favorite text editor such as textpad or emacs.

      IMHO, once you get off of the visual designer, then VS.NET and Eclipse are about the same in quality.

    43. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      http://www.jetbrains.com/resharper/ Refactoring for C# from the guys who developed IntelliJ IDEA

    44. Re:Had to switch from Java to .NET by ShnowDoggie · · Score: 1

      1. It does not even allow you to format your own code.
      ....and design view is the default. If any person using visual studio looks at my code, or If i look at the code from another persons computer, then poof goes the formatting.
      2. It crashes a LOT.
      3. It's slow, and all around very irritating.

      Now I will say this: I have to program in VB ( at work anyway ). C# does not seem to cause as many problems. For small projects it seems great. But for large, or Enterprize projects, at some point it just stops working very well.

    45. Re:Had to switch from Java to .NET by CastrTroy · · Score: 1

      Another reason that I like NetBeans, is that when you need to do a GUI, it outshines eclipse. I mean, depending on what kind of work you're doing, you may not need this feature, but when you want to have a quick gui, nothing beats it.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    46. Re:Had to switch from Java to .NET by Anonymous Coward · · Score: 0

      none of msbuild,nant,and are as mature as using make files -- they seem to suffer from too verbose output and too many unnecessary rebuilds I work on MSBuild. We should never unnecessarily rebuild anything. There was at least one known bug in Beta 2 causing an unnecessary rebuild in some instances when .resx files had embedded file links. This is fixed in all current builds. A workaround is to use "touch" to make all your references older. If you have a different repro, please email us at msbuild@microsoft.com. Dan

    47. Re:Had to switch from Java to .NET by IWorkForMorons · · Score: 1

      Not really. Just because I've used VB6 more doesn't mean I haven't used VC++6. And in VS6, they aren't THAT different. VC++ allows you easier control over the execution of the code and in interacting with the OS, mainly because it is C++, but the IDEs are similar. Even then I wasn't impressed with the MFC, and prefered using the STL instead. But being a business programmer, I used what was available at the company. Truth be told, I used Borland C++ Builder for my final project in college and would have liked to continue with that. It's too bad Borland lost out to Microsoft because even though it had some unique issues of it's own, I found it easier then VC++ at the time since I didn't have to worry about coding to capture and throw events to my program by hand. And you were using C++, so you could still easily interact with the OS if you choose to. In the future, I will be recommending Eclipse for C++ and Java projects to whoever I'm working for. Microsoft is allowing too much bloat into their tools for my liking.

    48. Re:Had to switch from Java to .NET by markh100 · · Score: 1

      Amen to that. A couple years ago, I was working on a large (500+ files) VB.NET ASP.NET project. I was also working on a woefully underpowered (400 MHz) dev box. The automatic continous error detection drove me insane, as I often had pauses of 30-40 seconds where my computer quit responding while it continiously attempted to refactor/recompile the application in memory.

      I've since switched to C#, and will never look back.

      From what I've experienced so far using the Whibdey betas, developing in C# using VS.NET 2005 is the ultimate developer experience. The intellisense feature in VS2005 is light years ahead VS.NET 2003, Eclipse, or Netbeans. The intellisense system keeps a statistical database, and automatically keeps the keywords that you use the most often nearby. The improved intellisense also functions on the first class name as well, so, for example, you can simply type S.W.H.C.U.I<enter>, instead of System.Web.HttpContext.Current.User.Identity. And, as you've mentinoed, refactoring is built in to the new IDE.

    49. Re:Had to switch from Java to .NET by chhupa_rustam · · Score: 1

      Mate, you're a VB6 haxor trying to turn a much better offering *back* into VB6 -- you just might be a moron yourself!

    50. Re:Had to switch from Java to .NET by Kosgrove · · Score: 1

      You seem like you really know both platforms well. I'm currently a VS.NET devotee, but I want to learn more about Eclipse and what the names of the plug-ins I'm looking for. Would you mind answering a few questions:

      1. Can I do visual design of OS-native UI elements like I can in VS.NET? e.g. Can I drag a combobox (or whatever it's called in Java) onto a form and resize it using the mouse? If so, what plug-in(s) do I need to do it?

      2. Is there a source-control system with file locking capability that integrates nicely with the IDE? Even though
      I agree with most people that SourceSafe 6 sucks, I do like the fact that VS.NET handles all my checkouts in the IDE and I can see what's checked out and what someone else has checked out. Is there a comparable capability in Eclipse?

      3. Could you expound on (or bust a link to) the refactoring capabilities you mentioned?

      Thanks in advance for taking the time to answer. Eclipse seems like a platform with a lot happy users, and I want to find out what it can do.

    51. Re:Had to switch from Java to .NET by EraserMouseMan · · Score: 1

      And with any luck, I'll get out of this support position and into a nice well-paid programming job at the same time.

      Good luck with the "well-paid" part. From what I'v seen HR will tell you, "Just two weeks ago you were working in support with a support person's paycheck. Do you really think you can spend two weeks of company time to learn to write a program and get a significant pay raise?"

      Remember, HR exists to pay the employee as little as possible and still keep them.

    52. Re:Had to switch from Java to .NET by TampaDeveloper · · Score: 1

      I'm one as well. I use VS 2003 when I must, and Eclipse otherwise. Eclipse is faster on the same hardware, more robust, and has better features.

    53. Re:Had to switch from Java to .NET by IWorkForMorons · · Score: 1

      1.) Yes. It still has some issues, but it's a very nice addition to Eclipse.

      2.) CVS integrates well with Eclipse. I've used it for hobby projects, and even set up my own CVS server. It will do what you want it to.

      3.) It doesn't seem too difficult. Check this out.

      Apologies to the guy you responded to if he wanted to do all this himself. I've been on a kick to champion Eclipse, but it's never nice to step on a geeks toes...

    54. Re:Had to switch from Java to .NET by Procyon101 · · Score: 1

      Hehe. No apologies needed.

      I've also heard great things about the subversion integration with eclipse, in addition to CVS, and I'm about to check that out as I'm starting a new project and planning to use trac (http://www.edgewall.com./ Bust whatever you do, DO NOT use VSS, even for tightly coupled, single platform MS projects, no matter how much you like the interface and integration. That thing will eat your projects and spit them out. No one in Microsoft even uses that abomination. Your better off with RCS.

    55. Re:Had to switch from Java to .NET by tim256 · · Score: 1

      I had to switch from Java to .Net and I found that the resharper tool can help make VS a lot better.

    56. Re:Had to switch from Java to .NET by TheShadowHawk · · Score: 1

      Thanks for that tip!
      I'm checking it out now. :)

      --
      Friends don't let Friends use Internet Explorer.
  3. Difference in ages by Anonymous Coward · · Score: 4, Interesting

    In the first page of the study they document the difference of age of .net and java. Java has been out for over 9 years, .net, 2-3. Let's see how .net is doing in number of vulnerabilities in 9 years.

    1. Re:Difference in ages by Three+Headed+Man · · Score: 4, Insightful

      Do you really think that age has anything to do with current vulnerabilities, or does security stem from good design, rather than patches?

      --
      I'm probably at the karma cap. Mod up a funny troll instead, it lightens the mood :)
    2. Re:Difference in ages by eCecuguru · · Score: 2, Interesting

      I agree with you, but also think the anoncow is right. The chart is misleading, indicating that java has oh so many cumulative holes. If we looked at Apache like that, it would be less secure than IIS. Also, was this strictly applets? Or was it all things ever written in Java? That's a lot of variations, platforms, etc, which although the fact that a java app will run differently on my mac versus my windows box is itself potentially unsecure, the fact that it has that capability beats the current functionality of .net. Which, IMO, brings this down to, the more functionality, the less secure it's going to be. Java has more functionality, it's inevitible it will be less secure.

    3. Re:Difference in ages by Anonymous Coward · · Score: 0

      You have a point, bugs and vulnerabilities do tend to surface, but the important aspect is the difference in security by design, where .NET seems to have a clear advantage, even though it is hard for us to believe ;)

    4. Re:Difference in ages by kbw · · Score: 3, Insightful

      Performance over time is a measure of success. And so .NET's performance over 9 years would be a fair comparison.

      Over the years I've seen many remarkable architectural designs, including the Windows NT Security Model (back when NT meant New Technology), which were thought to be ideal. 11 years on, no one could seriously claim that the Windows security model is ideal.

    5. Re:Difference in ages by boa13 · · Score: 5, Interesting

      That's a lot of variations, platforms, etc,

      Actually, 10 of the 45 vulnerabilities that the authors chose to use in the chart were (or are?) in Microsoft JVM.

      I think including them in the chart is misleading at best.

    6. Re:Difference in ages by Anonymous Coward · · Score: 0

      no one could seriously claim that the Windows security model is ideal.

      Actually you could (and many do) claim that the model is quite good, but it has never been used like it could/should, neither by MS or app developers.

    7. Re:Difference in ages by Hurricane78 · · Score: 0

      I think .net could have more vulnerabilities, but they need the time to be detected. So the comparision isn't that fair. And .net has to be secure on only one system (windows). Additionally because of the closed source it will even be harder to detect bugs in .net and this will take longer. whether this is good or bad is up to your point of view.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    8. Re:Difference in ages by Anonymous Coward · · Score: 0

      but it has never been used like it could/should, neither by MS or app developers.
      ... and therefore it's worthless.

    9. Re:Difference in ages by Homology · · Score: 1
      no one could seriously claim that the Windows security model is ideal.

      Actually you could (and many do) claim that the model is quite good, but it has never been used like it could/should, neither by MS or app developers.

      Perhaps it's a good security model, but it seems to be unusable in practice and difficult to configure correctly. As for the .Net security model I'm sure it offers miles of rope to hang yourself with.

    10. Re:Difference in ages by STFS · · Score: 2, Insightful

      The difference in age has something to do with it... you can't say that the "score" is 45 - 0 because the 45 vulnerabilities have been reported over 9 years for Sun. However, the chart clearly shows that in its first three years the Java platform was already up to 15 vulnerabilities while .NET is still at 0 after 3 years out.

      --
      You don't think enough... therefore you better not be!
    11. Re:Difference in ages by LifesABeach · · Score: 1

      I did some checking around and found this interesting read, "...Win32/Donut is the first virus to use Microsoft's .NET.

      When an infected file is executed, it searches for executable file types of .NET ..."

      The conclusion to me is painfully obvious. But there is an unignorable problem here. When a University lends its fine name not for joy of learning, and the sharing of knowledge; But for profit from a parent corporation that erogantly enjoys the attention of guilty verdicts.

    12. Re:Difference in ages by LO0G · · Score: 1

      Ummm... I think the study was funded by DARPA, not Microsoft (for a change)...

      Also, since the vulnerability occurs BEFORE the .Net runtime is loaded, they're calling it a platform vulnerability, NOT a .NET vulnerability.

      I'm not sure I agree with them, but that's what they're claiming.

    13. Re:Difference in ages by einhverfr · · Score: 1

      Do you really think that age has anything to do with current vulnerabilities, or does security stem from good design, rather than patches?

      Quite right. Which is why I actually favor Java though I think .Net will win out.

      There is something to be said for a sandbox model in that it provides for a clear separation between code and system. This is extremely important for web applets for example. .Net has flashier security features, but they are more brittle and less easily repaired. It seems that most of their security is basically based on Actice-X security which we all know is largely ineffective).

      --

      LedgerSMB: Open source Accounting/ERP
    14. Re:Difference in ages by PickyH3D · · Score: 1

      Is this a serious question or a sarcastic point?

    15. Re:Difference in ages by Austin+Milbarge · · Score: 1

      But if you think about it. Sun should have learned over those 9 years and made their system more secure. If Microsoft created a more secure system in 2-3 years then maybe their design is better? Remember that .NET is desiged to run in MS environment only. Java is "supposed" to run everywhere. "compile once, run everyone" doesn't necessarily mean "compile once, run securely everywhere".

  4. PDF text by Anonymous Coward · · Score: 5, Informative
  5. Brr... by MemoryDragon · · Score: 1, Insightful

    wake me up... when .Net ends to be a vehicle to lock users and developers more and more into windows... From day 1 .Net was designed to lure over the Java devs so that they get rid of the dangerous cross platform capabilities of Java! And dont come with Mono we all know where it stands!

    1. Re:Brr... by Anonymous Coward · · Score: 0

      The central part of .net -- the virtual machine, c# and the base class libraries -- were all designed to be cross-platform. You can see that for yourself if you take a look. The guys who built the basics of .net were really trying to make something that was genuinely universal... what seems to have happened is what usually happens at Microsoft. The marketing guys got hold of it and turned it over to the idiot application monkeys who ran away and started building additional class libraries that are Windows through and through (often for no good reason -- there are parts that expose Window handles for no Earthly reason). There's a marked difference in quality between the base and the crap slathered on top on... it's shocking how closely it mirrors the Windows kernel/Windows interface and apps split.

      Java, on the other hand, may be cross-platform from top to bottom, but it also happens to be crappy too. Have you tried the latest Mustang builds -- it's even fatter and slower than ever, and there's been no noticable improvement in the dire performance of Swing.

    2. Re:Brr... by Anonymous Coward · · Score: 2, Interesting

      Well, I use .NET to build web apps which run on our corporate intranet. These are HR, purchasing, scheduling and budgeting apps that run a medium-sized film production company. We have a mix of clients (600+) - Linux, OSX and Windows - in roughly equal numbers that access these applications. Ironically, I picked .NET simply becaue we had the hardware and license resources available after consolidating a lot of W2K3 servers into a few Netapp filers. The browser we use is Firefox because it's the only one that really works in a uniform fashion across all platforms in a way you can predict and work with.

      So, my apps run on a bunch of Windows boxes behind the scenes, but ultimately using .NET has not meant lock-in to MS products, it's actually allowed us to use the best tools for the jobs in hand; .NET for the back-end code, Firefox as a browser, and any OS you need for your particular job. Has it locked us in to MS products? No.

      I'd agree with you about Mono though, it reminds me of many hair-losing moments I had a few years ago converting someone's classic ASP code to run on that Chilisoft approximation. Bits worked, bits didn't, and this is what I'd expect from Mono. YMMV though.

    3. Re:Brr... by rjshields · · Score: 1
      ... but ultimately using .NET has not meant lock-in to MS products ...


      Okaaaay, so when are you moving your code to Linux? (P.S. you're locked into MS products now)

      , it's actually allowed us to use the best tools for the jobs in hand; .NET for the back-end code ...


      I call bullshit - since when has .NET been the best tool for the job? Have you not heard of Perl, Ruby, Python and even Java?
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    4. Re:Brr... by Jah-Wren+Ryel · · Score: 1

      And dont come with Mono we all know where it stands!

      Hell, forget coming, I don't even want to kiss someone with mono!

      --
      When information is power, privacy is freedom.
    5. Re:Brr... by quintesse · · Score: 1

      Slower? What have you been smoking?

    6. Re:Brr... by tod_miller · · Score: 1

      I call bullshit on this, I wouldn't be suprised is people are paid to write these types of comments, and try and get high moderation.

      For one, windows fan boys usually write slightly less rehearsed.

      Film production company? How conveniently cutting edge, yet non specific. Seriously, /. comments like these worry me about deep running conspiracies, but I am not paranoid I tell you.

      *adjusts tin foil hat*

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    7. Re:Brr... by Anonymous Coward · · Score: 0

      "Okaaaay, so when are you moving your code to Linux? (P.S. you're locked into MS products now)"

      In what way? In the way that for some bizarre reason I can't port to another platform in the future if I want to? In the way that MS had some kind of ownership over what I've built and what I can do with it? In the way that they are telling me what I can and can't do in the future? I think you may be confusing lock-in with making a choice. In that way, whatever platform and development language I choose, I will always be 'locked in' according to people who use other products. It's a stupid point to make.

      "I call bullshit - since when has .NET been the best tool for the job? Have you not heard of Perl, Ruby, Python and even Java?"

      I don't do what I do based on fitting the problem around the solution, I find a solution for a problem. .NET fits in with what I need to do infinitely better than any of the other languages you mention. And this isn't a choice I make based on products being made by specific companies or it being open source, or the cool geek technology buzzword of the month. Ultimately, it's not a choice I make by being a blinkered techie that has no understanding of the peripheral business aspects.

      Incidentally, I'd compare .NET to J2EE, rather than Java, and maybe point you towards Pythont for .NET and Perl .NET, both of which allow you to write in both languages for the .NET CLR.

    8. Re:Brr... by Anonymous Coward · · Score: 0

      A potent mix of dried banana skins, shoe polish and plain old tobacco... but anyway, every benchmark I tried showed Mustang being slower... catastrophically so in cases where the Java program was quite large. I expect it was your typical Java fuck up of pissing away memory like water -- made worse by changes in Mustang.

      In short, Java is getting worse. Quite frankly, it's having its ass handed to it by .net. The only thing Java has going for it are relatively mature class libraries in the server area -- in every other aspect, it's a cluster fuck.

    9. Re:Brr... by rjshields · · Score: 2, Interesting
      In what way? In the way that for some bizarre reason I can't port to another platform in the future if I want to?
      Take the code and try to compile and run it on Linux. Go on.
      In the way that they are telling me what I can and can't do in the future?
      I'm merely stating the obvious that seems to have escaped your attention.
      I think you may be confusing lock-in with making a choice.
      I don't think so.
      In that way, whatever platform and development language I choose, I will always be 'locked in' according to people who use other products.
      No you won't.
      It's a stupid point to make.
      No it's not.
      I don't do what I do based on fitting the problem around the solution, I find a solution for a problem.
      This is revolutionary.
      .NET fits in with what I need to do infinitely better than any of the other languages you mention.
      Not just slightly better but infinitely better.
      And this isn't a choice I make based on products being made by specific companies or it being open source, or the cool geek technology buzzword of the month. Ultimately, it's not a choice I make by being a blinkered techie that has no understanding of the peripheral business aspects.
      Bully for you. I bet you're really proud of yourself.
      Incidentally, I'd compare .NET to J2EE, rather than Java
      As I suspect you're not interesting in comparing anything but in making statements like ".NET is infintely better" which makes you look like a complete fool, incidentally.
      and maybe point you towards Pythont for .NET and Perl .NET, both of which allow you to write in both languages for the .NET CLR.
      Why the fuck would I want to run Python or Perl under the CLR? I have no desire to be locked in like you, thanks very much.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    10. Re:Brr... by rjshields · · Score: 1
      I wouldn't be suprised is people are paid to write these types of comments, and try and get high moderation.
      I can just imagine him sitting in Redmond. He probably fluked the interview for a programmer and turned out to be to too thick to write code, so they reduced his salary and found him something he was actually capable of doing, writing M$-centric trolls on slashdot.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    11. Re:Brr... by rjshields · · Score: 1

      Oh, and there are a number of them on comp.linux.advocacy, amongst other places. Blatantly employed by M$.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    12. Re:Brr... by jBabel · · Score: 1

      Well ... why not Mono? It's pretty damn good!

      With only minimal care (mostly, making my file paths platform-agnostic, just as one would do in Java) I can run assemblies built by visual studio right out of the box with mono on Linux. Haven't tried it, but Mono has a package for Mac OS X too, so I don't see why they wouldn't run there either.

      Windows, Linux, Mac OS X, sounds out a lot like cross-platform to me!

    13. Re:Brr... by aztracker1 · · Score: 1
      Take the code and try to compile and run it on Linux. Go on.
      Hmm, I seem to be able to run plenty of things just fine under Linux, FreeBSD and OSX with dot-gnu and mono... what seems to be your problem? Oh yeah, and a lot of it doesn't even *need* to be recompiled, it's a runtime environment, similar to Java's...
      --
      Michael J. Ryan - tracker1.info
    14. Re:Brr... by SComps · · Score: 1
      I call bullshit - since when has .NET been the best tool for the job? Have you not heard of Perl, Ruby, Python and even Java?


      Call BS all you want man. Choosing a language is subjective. This guy picked .NET because it worked best for him. Yes I've heard of all those languages and I still chose .NET for my organization. I've also heard that Spanish seems to work very well in certain parts of the world, I still haven't learned that language either. Mostly because I have no desire to, but hey, that's just me.

      I'm also not LOCKED into MS. Yes, I can move to linux should I choose to--of course I'd have to get that near abortion of mono installed and screw with it for 6 months of sundays to get everything running, then recode the application to run on it, but hey it could be done.

      I choose .NET in my environment because it works, it works well enough and because I don't CARE what runs the back end. I'm not going to lock myself into linux or any other operating system for religious reasons. Personally I'm 80% linux in my home environment, but nearly 90% MS in my corporate environment. It just works and I'm not up for changing until I get a compelling technical (read: not religious-ish) reason.

    15. Re:Brr... by SComps · · Score: 1

      oh...

      and what's with this "I call bullshit" junk all the sudden (past few months)

      is this like some new kinda slashdot prick waving contest?

    16. Re:Brr... by Anonymous Coward · · Score: 0
      I'm also not LOCKED into MS.
      You keep telling yourself that.
    17. Re:Brr... by SComps · · Score: 1

      All of Slashdot was waiting with baited breath to see what you had to say...

      that's the best you could come up with?

  6. .NET? Is this thing still around? by Mensa+Babe · · Score: 3, Insightful

    It's not truly cross-platform so it's out of question for any serious production environment. Sorry, but until Micro$oft releases the most important classes under a free license and port them to Linux I won't touch it with a ten foot stick. Java is closer but it's hardly fast enough. If Sun adds real OOP features like multiple inheritance, operator overloading, traits, mixins, and introduces optional strong or weak dynamical typing, I might consider using it. But right now I am stuck with Perl, Ruby, Lisp, Smalltalk, Eiffel, Scheme and Python, and what I am really looking forward is a study comparing their respective security and how the development of the Parrot VM will affect it. Of course since it's a blog on M$DN I am not holding my breath.

    --
    Karma: Positive (probably because of superiour intellect)
    1. Re:.NET? Is this thing still around? by ars+matica · · Score: 0, Flamebait

      Dynamical? Wow, and the rest of your post was so intelligent and cohesive, I would have never guessed you were full of **** until I came across this word.

    2. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0

      At first I was thinking: How under a rock is it possible to live to not know the prevalence of .net development today?

      But then I saw the clever Micro$oft spelling, next after the blanket "serious production environment" statement.. and it was actually funny! I hope it was meant to be.

    3. Re:.NET? Is this thing still around? by dotslashdot · · Score: 5, Insightful

      Operator overloading, multiple inheritance? Are you crazy? These things ultimately make code very difficult to maintain and scale because a developer can unnecessarily overload all kinds operations and make it difficult for others to figure out just what the hell is going on. C++ sucks for that very reason when it comes to a production environment. These are only useful in useless settings like school or maybe a Mensa meeting. Have you heard of Mensa? You should join. Especially because you are so subtle and humble about it. :)

    4. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 1, Funny

      Operator overloading, multiple inheritance? Are you crazy? These things ultimately make code very difficult to maintain and scale because a developer can unnecessarily overload all kinds operations and make it difficult for others to figure out just what the hell is going on.

      Screwdrivers? Are you crazy? These things ultimately make buildings very difficult to maintain and scale because a constructor can unnecessarily add all kinds of screws and make it difficult for others to figure out just what the hell is going on. Nails and hammers are always the best tool for the job, any job, for everyone, so I prefer never having any other tools at my disposal and therefore no one should ever use any tools that I am too dumb to master!

    5. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 1, Interesting

      "Operator overloading, multiple inheritance? Are you crazy?"

      Operator overloading is great, as long as it is done in a sane fashion. If you define a class that can be added and subtracted, it helps greatly to be able to use '+' and '-' to do so. Multiple inheritance, otoh, is indeed a can of worms.

      "C++ sucks for that very reason when it comes to a production environment"

      I guess that accounts for why it never was a commercial success ;)

    6. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0

      Serious production environment where .NET fits: M$ servers running SOAP services where the clients can be on any platform, so portability matters less. No, you wouldn't be able to change the server OS if the app uses .NET, but for a shop that's already committed to Windows (by licence investment and by training of admins), that matters less. .NET is extremely good for making SOAP services. .NET + Visual studio is ~10x faster in SOAP development than basic OSS equivalents. It takes me over an hour to make a SOAP service use java and Axis and Eclipse. My colleagues who use .NET can do a simple service in under 10 minutes. If the service needs WS-Security, then teh .NET advantage is even greater.

    7. Re:.NET? Is this thing still around? by shutdown+-p+now · · Score: 3, Insightful
      Operator overloading, multiple inheritance? Are you crazy? These things ultimately make code very difficult to maintain and scale because a developer can unnecessarily overload all kinds operations and make it difficult for others to figure out just what the hell is going on.
      Well maybe the developers should learn more about operator overloading and multiple inheritance, like, how to use them properly, instead of whining endlessly about how "C++ sucks for that very reason"? You know, start with some decent programming language like Eiffel, which was designed from grounds-up to handle both these cases very nicely. See how MI is used there, why is it used, and what it can do in skilled hands that SI+interfaces can't. Then maybe you will be able to learn to comprehend the power Lisp macros give to the programmer (I'm half-expecting someone to shout "but macros are evil because they can be abused, that's why C sucks!").

      Speaking of abuse, pretty much every language can be abused to no end. Java is no exception. It won't stop you from making public fields, for example, which is generally considered a bad thing to do. Nor will it limit write access to them from outside the class (in contrast to Eiffel, where public fields are read-only from outside). The whole type system is a big mess as well (int vs Integer, anyone? and now with autoboxing?).

    8. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      C++ sucks for that very reason
      No, developers who abuse these features suck.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    9. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0
      Operator overloading, multiple inheritance? Are you crazy? These things ultimately make code very difficult to maintain ...
      Can you do something for me? Can you write this statement:

      z = z*z + c

      using Java Complex class? I'd like to see how does the Mandelbrot set formula look like in an easy to maintain fashion. Thanks a lot.
    10. Re:.NET? Is this thing still around? by rjshields · · Score: 5, Informative
      If Sun adds real OOP features like multiple inheritance, operator overloading, traits, mixins, and introduces optional strong or weak dynamical typing
      Multiple inheritance is best avoided for clarity (multiple interface inheritance is OK). Operator overloading is rarely useful and often abused. Java is a strongly typed language and this is not going to change ("dynamical typing" doesn't mean anything by the way).

      Some of these points are misinformed and you missed out the things that bug people most about Java, the lack of deterministic finalisation and direct memory control, so it looks like your intellect is not superior after all. People who really do have superior intellect do not need to boast about it, it shows through in the things they do and say.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    11. Re:.NET? Is this thing still around? by m50d · · Score: 1
      It's far more cross-platform than Java - so far only one platform can run the majority of Java applications, the JVM, wheras mono compiles .net to native on several platforms.

      And don't forget TCL

      --
      I am trolling
    12. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      It's far more cross-platform than Java - so far only one platform can run the majority of Java applications, the JVM, wheras mono compiles .net to native on several platforms.
      Uhhhhh, no. .NET code is compiled to MSIL instructions (which is platform independant, like Java bytecode). MSIL is just in time compiled to machine code in the CLR (like Java bytecode is just in time compiled to machine code by the Sun VM). Don't forget GCJ which creates machine code directly... Who wants to use Mono anyway? Flogging and dead horses spring to mind.
      And don't forget TCL
      What about it?
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    13. Re:.NET? Is this thing still around? by rdean400 · · Score: 1

      You're confused. None of the things you mention, that are legitimate gripes, are "real OOP" features.

      Multiple inheritance. Java has multiple inheritance. It resolves the question of conflicting implementation inheritance by specifically disallowing it in favor of single implementation inheritance and multiple interface inheritance.

      Operator Overloading. Overloading of functions is required, but operators are not. This is an implementation detail, not a core feature of OOP. I disagree with the Java designers regarding its exclusion, but that doesn't damage it's OOP-ness at all.

      Traits, mixins, typing. These things are features of languages that have nothing to do with OOP.

    14. Re:.NET? Is this thing still around? by m50d · · Score: 1
      MSIL is just in time compiled to machine code in the CLR

      Yes, but you can compile it to native code using ngen.exe or mono --aot, and then distribute that if you want. (obviously you lose platform-independence by doing this, but there is a performance gain)

      Don't forget GCJ which creates machine code directly

      I wasn't, that's why I said the majority of Java applications. GCJ is a good project but sadly not at a stage where it can compile a "random" java application.

      What about it?

      I was thinking of your list "Perl, Ruby, Lisp, Smalltalk, Eiffel, Scheme and Python"

      --
      I am trolling
    15. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      Yes, but you can compile it to native code using ngen.exe or mono --aot, and then distribute that if you want.
      Oh right. Sun should make something like that for Java. In fact IMHO, if they had have just made a native compiler instead of the stupid virtual machine and allowed for manual memory management and some other nice features of C++, Java would have completely superceded C++ by now. Sun being Sun, they stuffed it up and didn't listen to what everyone else was saying, and now it's on the decline.
      GCJ is a good project but sadly not at a stage where it can compile a "random" java application.
      Agreed.
      I was thinking of your list "Perl, Ruby, Lisp, Smalltalk, Eiffel, Scheme and Python"
      It wasn't my post, but I see what you mean.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    16. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0

      Wow. It was an interesting post and I was going to ask you to explain few things in more details until you showed how insecure you are in your last sentence. Congratulations for ruining such a nice post.

    17. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      I was going to ask you to explain few things in more details until you showed how insecure you are in your last sentence. Congratulations for ruining such a nice post.
      I'm the one that's insecure, okaaaaaaaaay. I'm not the one who needs a sig boasting I'm "intellectually superior" or posting AC calling people insecure. If you're going to have a sig like that, expect to get flamed when you make misinformed statements.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    18. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0

      If I had to still code in C, but could take one C++ feature back with me it would be operator overloading as my code does a lot of math with vectors and matrices. LOTS. It's just so much clearer to be able to use regular math operators on your classes.

      It's too bad we don't have a regular operator like +-/* for dot products on our keyboards. We use % and ^ for those.

    19. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      Let's try:

      z = z*z + c

      z = z.multipliedBy(z).plus(c);

      Is that simple enough for you? Of course if you use primitives they already have sane operators. I'm not saying it's not nice to have in some circumstances, but it can easily be abused and lead to programming errors when things don't behave as expected.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    20. Re:.NET? Is this thing still around? by btobin · · Score: 2, Insightful

      C++ sucks because of poor design decisions made around features like multiple inheritance, not because of inherent problems with MI. Eiffel and Common Lisp both support MI without any of the blow-your-leg-off problems C++ introduces. Learn something other than Cxx/Java, it's a big world out there.

    21. Re:.NET? Is this thing still around? by feijai · · Score: 0

      Mixins? I thought we were talking about security here. In every language I know with mixins (various dynamic languages, Objective-C), they're a major security risk. Objective-C's Categories in particular are a phenominally bad security problem.

    22. Re:.NET? Is this thing still around? by GileadGreene · · Score: 1
      Karma: Positive (probably because of superiour intellect)

      But apparently not because of superior ability to spell, or even mundane ability to use a spell-checker.

    23. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      You've been trolled.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    24. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0
      It's not truly cross-platform so it's out of question for any serious production environment. Sorry, but until Micro$oft releases the most important classes under a free license and port them to Linux I won't touch it with a ten foot stick.
      It's far more cross-platform than Java ... mono compiles .net to native on several platforms.
      Read again what you're replying to. The bytecode without the classes it depends on is useless.
    25. Re:.NET? Is this thing still around? by tezbobobo · · Score: 1

      WOW - Informative and condescending. Couldn't your dig at the original post about its signature be seen in the same line - an attempt to assert your own intelligence. Whilst it's nice to be important, being an asshole is non-constructive. I don't think personal attacks are the best way to foster an intellectual conversation. Correct, but don't degrade

    26. Re:.NET? Is this thing still around? by samael · · Score: 1

      It's not truly cross-platform so it's out of question for any serious production environment.

      Well, we're deploying numerous apps to several hundred desktops at my work, and it seems to work fine in production.

    27. Re:.NET? Is this thing still around? by Malc · · Score: 1

      A lot of it is cross-platform. In some ways it offers more portability than C. Anything more than a console app in C/C++ isn't going to port. No UI. No networking. Poor filesystem support (beyond manipulating files). Etc.

    28. Re:.NET? Is this thing still around? by DJDutcher · · Score: 1
      Was this comment supposed to be a joke? It must be, but nobody is modding it funny.

      .net is out of the question for a serious production environment? Java is hardly fast enough? Instead you're going to use Perl, Ruby, Lisp, Smalltalk, Eiffel, Scheme, or Python?

      The languages you suggest are not bad languages, but are you suggesting that you will use Scheme in a production environment? Scheme is a fun little language but a large application written in Scheme would take longer to write then a Java app, and it would run slower too!

      Unfortunatly neither .net or Java are free as in freedom. If that is a major problem for you, I would look into using Mono or Apache Harmony.

    29. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0

      Thanks for proving you are an idiot... Mensa should toss you.

    30. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0
      That's real cute. Now let's try Heron's formula with BigDecimal class! (I'm guessing with the method names, sorry).
      BigDecimal A, a, b, c, s;
       
      s = a.plus(b).plus(c).dividedBy(2);
      A = Math.sqrt(s.minus(a).multipliedBy(s.minus(b)).mult ipliedBy(s.minus(c)));
      Yeah, that's real nice compared to:
      s = (a + b + c) / 2;
      A = Math.sqrt((s - a) * (s - b) * (s - c));
      Fuck you.
    31. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0
      Fuck you.
      Nice.
    32. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      Now let's try Heron's formula with BigDecimal class
      Yeah because I use that all the time...
      Fuck you.
      I'll give you an D- for creativity with that insult. Oh, and I forgot to mention what a charming person you are too.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    33. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      You're right of course, but I shalln't lose any sleep over it because I'm fairly convinced that Mensa_Girl is a troll and not necessarily female (Men's a girl?) and quite probably not a member of Mensa. Read his/her journal/comments and posts and you'll see what I mean.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    34. Re:.NET? Is this thing still around? by GuyWithLag · · Score: 1

      For better or worse. Java will never have direct memory control, period. It's the very antithesis of everything that Java stands for. You will have to do with JNI calls to C/C++ code.

    35. Re:.NET? Is this thing still around? by gokeln · · Score: 1

      Have a look at Nice: http://nice.sourceforge.net/

      It's built compatible with the Java Virtual Machine, and can access all of Java, however, it's a vastly improved language. There's also an eclipse plug-in. I really like the improvements, and they can interoperate with any Java that my coworkers write.

      --

      There's no time to stop for gas, we're already late.
    36. Re:.NET? Is this thing still around? by m50d · · Score: 1
      Ok, I missed that. Two points:

      1) .net still runs on at least 3 platforms thanks to Rotor, making it 2 better than Java

      2) All the classes that were submitted for EMCA standardisation are released, they don't look to be missing anything important. I've seen plenty of perfectly good mono programs, which wouldn't be possible if mono was missing important classes.

      --
      I am trolling
    37. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      For better or worse. Java will never have direct memory control, period. It's the very antithesis of everything that Java stands for. You will have to do with JNI calls to C/C++ code.
      I find the lack of deterministic finalisation a huge pain. There is absolutely *no* guarantee that the finalizer will be called, so you have to write a method for freeing resources like file handles and call it explicitly. In C++ you can just do a "delete" and the destructor will be called. Another ball-ache is when you have hundreds of flyweight objects that you want to delete - there's absolutely no way to do it. You can only *suggest* to the garbage that it should run, whether it actually runs and collects your objects is anyone's guess. Another thing that gets on my nerves is that if you forget to call File.close() on Linux, you've got yourself a file handle leak. Was it really too much to ask for Sun to put a call to close() in the finalizer in the File class? In all, I wish Java was more like D.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    38. Re:.NET? Is this thing still around? by jerdenn · · Score: 1

      Multiple inheritance. Java has multiple inheritance...

      Um, no, java does not fully support multiple inheritance. Multiple class inheritance is explicitly NOT supported. You may achieve many the same results through the use of interfaces, but Java does not support multiple implementation inheritance.

    39. Re:.NET? Is this thing still around? by rdean400 · · Score: 1

      I gather from your selective snippet that you either didn't read or didn't read the entire sentence.

      Interface inheritance is still inheritance.

    40. Re:.NET? Is this thing still around? by apchar · · Score: 1

      Your example is too simple. I crunch equations that stretch across the page. Vectors and matrices abound. Multiple inheritance I can do without. But for us number crunchers, operator overloading would be a godsend. Or let us define new context sensitive operators using unused symbols (#, @, ,..). At the very bare minimum Java need an exponential operator.

      --
      ---Democracy is two wolves and a lamb voting on what to have for lunch.Liberty is a well armed lamb contesting the vote.
    41. Re:.NET? Is this thing still around? by LnxAddct · · Score: 1

      GCJ can compile Eclipse and the java stuff in OpenOffice.org. It handles AWT, Swing and JOGL (the openGL bindings). It has support for a lot of the classpath. I'd say a good chunk of java programs will compile with it, the only thing stopping it is java's extensive classpath.
      Regards,
      Steve

    42. Re:.NET? Is this thing still around? by dnoyeb · · Score: 2, Informative

      Why should you care when the garbage collector runs?

      I don't mean to insult you, but you have a misunderstanding. Java does not have destructors. Finalizers are not destructors. Once you accept that, you wont ask for certain behavior of destructors to be attributed to finalizers. finalizers are just there for testing and information. No production environment should use them. In fact, in production, they should disappear like asserts...

      Why do you need a call to x.close in the finalizer? You opened it, you close it.

      My solution has been to do a sort of c++ style thing. I have a reference counting system, and when they reach 0, I close the thing myself. Java does not use reference counting to know when to release an object, so perhaps thats why they dont have a destructor.

    43. Re:.NET? Is this thing still around? by dnoyeb · · Score: 1

      You are thinking of Java as a programming language exclusively. Its not. Java proper extends into the runtime arena. Without the JVM, its not Java.

      You cant compile into native because you loost the virtual environment which is an intricate part of Java. C++ can because it does not have that environment. I assume C# can if it reverts to behaving like a c++ program.

      I should just put this in my sig since people don't get it; Java should not be compared to c++ since a JVM is in fact often a C++ program itself.

    44. Re:.NET? Is this thing still around? by jerdenn · · Score: 1

      My apologies - you were correct in your original statement.
      Although I did read the entire post, I'm afraid that I focused on your original, slightly misleading statement of "Java has multiple inheritance."

      While this is true, and you go on to properly explain how Java supports MI, I'd like to point out that the lack of implementation inheritance in both Java and .NET (C#/VB.NET/C++/CLI) is a sore point for many programmers.

      These languages only have partial MI support, and in my opinion, this slightly weakens both technologies.

    45. Re:.NET? Is this thing still around? by rdean400 · · Score: 1

      I have some sympathy to the Java designers' point of view, but I think that a competent programmer can deal with the issues themselves, or the compiler should flag an error when an MI design will lead to a situation where the runtime won't know which method to call.

    46. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      I don't mean to insult you, but you have a misunderstanding.
      I don't think so.
      Java does not have destructors.
      I didn't say it does.
      Finalizers are not destructors.
      Once you accept that
      I already have.
      you wont ask for certain behavior of destructors to be attributed to finalizers.
      I just did.
      finalizers are just there for testing and information.
      So they're not much use then, we're agreed on that.
      No production environment should use them. In fact, in production, they should disappear like asserts...
      But they don't.
      Why do you need a call to x.close in the finalizer? You opened it, you close it.
      Sure, but other systems delete free up the resource automatically if you forget.
      My solution has been to do a sort of c++ style thing. I have a reference counting system, and when they reach 0, I close the thing myself.
      Sounds interesting.
      Java does not use reference counting to know when to release an object
      Actually TFM states that you do not know any details about the garbage collector. It may vary from VM to VM.
      so perhaps thats why they dont have a destructor
      Who knows what the hell they were thinking.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    47. Re:.NET? Is this thing still around? by Analog+Squirrel · · Score: 1

      I heartily agree. In my final undergrad year, I did a project computing Mie scattering-coefficient from a series definition. Since I was working in C(in retrospect, Fortran may have been better),I ended up writing all the complex number arithmetic routines myself. So, when it came time to actually use these routines to do calculations, I ended up with a mess that looked like: divide(add(multiply(z,add(x,y)),subtract(multiply( z,x),y)) Okay, so that's just a random sampling - the expressions I was using were much, much more involved. It took me about 6 months to track down the fact that I'd put a left paren in the wrong place, and that's why I was getting bogus answers. A set of overloaded operators would have made things so much nicer...

      --
      I'd rather be flying
    48. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      Just a coule of points to add to my previous comments.
      Why should you care when the garbage collector runs?
      In my previous example I gave the situation that you have several hundreds of flyweight objects. Memory is finite and is very limited on some platforms like mobile phones (cell phones).
      Java does not use reference counting to know when to release an object
      Just to re-emphasise, it's incorrect to make assuptions about the algorithm used by the garbage collector. I assume this is an oversight on your part ;)
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    49. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      I agree about multiple inheritance. It is messy, never essential and there are ways to work around the lack of it in situations when you would want to use it, like composition, the adapter or aggregate pattern. Regarding operator overloading, it *is* possible to work around the lack of them, even the exponential operator, but if you really must have them you can use C++ instead.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    50. Re:.NET? Is this thing still around? by Procyon101 · · Score: 3, Insightful

      I've got to use the same arguement for Multiple inheritance. It absolutely great when done in a sane fashion. The occassional default implementation of an interface, or even more useful, inheriting from policy classes for decoupling are great uses of multi-inheritance. It's the OOP nightmare of deep, wide inheritance trees that leads to gouging your eyes out insanity and prayers for single inheritance, just like seeing an overloaded comma and tertiary is likely to make you swear off operator overloading. But that's a symptom of crazy programming, not a crazy language construct.

    51. Re:.NET? Is this thing still around? by Anonymous Coward · · Score: 0

      Want it or not there is two main type of persons/programmer, those that want more control (perl,lisp,c.. and the like) and those that want to give the power to decide on other persons (java,.net..and similar).
      What is the best approach ? I think that even for the larger project the approach that uses more flexible language is better in say ~80% of the cases.
      Why ?
      If the project is big then the company is big, so it can set a site wide policy how the code has to be written. The hard part is to find a tallented prorammer/s which has to build and teach other to follow this policy.
      On the other hand if u impose a language which set artifical limitations, u are safe up to a point of complexity of the program, after that everything may collapse or u have to rewrite. You will have to overcome language limitation not site-policy limitations.
      So a wisly used rich language is better approach to me in ~80% of the cases.

      Think it other way around u translate human thought into computer algorithms. In the longer term a language closer to the humans is better than closer to machine. You can describe abstractions better if u are more declarative.

      Now someone have to explain which language is closer to human thoughts :")

      Thing like overloading, multiple inheritance, recursion, backtracking, continuations, macros, closures, iterators, sets, regex's, lazy calculations....and so on are well known approaches to solving certain problems, so if your programmers are aware of their usage (or can be thought to learn them) then it is better to use them. Even better if the language allows their easy usage.

      just my 5c

    52. Re:.NET? Is this thing still around? by Procyon101 · · Score: 1

      On the downside of .NET... I *TRUST* the Java VM much more than the CLR. It's more mature and more stable right now in a production environment.

      And don't go saying I don't know what I'm talking about... I'm on the SQL/Whidbey CLR integration team at A large institution that writes these sort of things in the Northwestern US. I see the CLR go down in flames regularly. It's going to be great, and it's well on it's way, but it's not quite ready to send J2EE packing just yet.

    53. Re:.NET? Is this thing still around? by Brian+Quinlan · · Score: 1

      Java is a strongly typed language and this is not going to change ("dynamical typing" doesn't mean anything by the way).

      It is interesting that you think that "dynamic typing is meaningless". It is widely used with the definition that typing is resolved at runtime (rather than at compile-time). How could you classify the following three cases?

      Perl: 5 + "5" (result: 10)
      Python: 5 + "5" (type exception at runtime)
      Java: 5 + "5" (type exeption at compile-time)

      Based on this (and other) behavior, many people would say that Perl is weakly-typed while Python and Java are strongly-typed. Python's typing is enforced at runtime while Java's typing is enforced at compile-time. Dynamic vs. static typing is a convenient set of terminology for expressing this difference.

    54. Re:.NET? Is this thing still around? by CableModemSniper · · Score: 1

      Speaking of flyweight objects, you may find this article interesting: http://www.javaworld.com/javaworld/jw-09-1996/jw-0 9-indepth.html

      --
      Why not fork?
    55. Re:.NET? Is this thing still around? by Procyon101 · · Score: 1

      If Sun had done that with Java, Jave wouldn't have superceeded C++, it would have BECOME C++.

      Seriously.. what you are proposing is C++ with a single inheritance model and anonymous classes. Not alot of difference there.

    56. Re:.NET? Is this thing still around? by Procyon101 · · Score: 1

      Your whole statement "You opened it, you close it" is the whole crux of the matter. Memory is just one of a multitude of resources, if I grab it, I should release it. Java takes that responsibility away from me, and does a pretty good job of it, although it breaks down occassionally. C++ gives me a language construct, destructors, that allows me a finer grained control over resource releasing, but with more control comes more responsibility. The downfall of Java's method is that although they provide a decent solution for the most common resource type, memory, they completely ignore all other resource types, which is fine except for the fact that they took away the most useful and simple method of freeing resources, the destructor. Now, when dealing with any resource other than memory, java is MUCH more prone to programming errors and resource leaks, particularly in the case of exception handling, because there is no simple mechanism to ensure they get freed and there is no general purpose resource garbage collection mechanism for non-memory. Forcing you to implement ref counts as a solution to the situation is the symptom of the poor decision to eliminate destructors in the first place. The fact that you can get around the language deficiency doesn't mean that the language doesn't have that deficiency (and ref counts come with alot more gotcha's than simple destructors).

    57. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      Sorry, I perhaps didn't explain myself well because I think you misunderstood my point. Dynamic typing is as you explained, but dynamical typing has no meaning ;)

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    58. Re:.NET? Is this thing still around? by rjshields · · Score: 1
      The downfall of Java's method is that although they provide a decent solution for the most common resource type, memory, they completely ignore all other resource types, which is fine except for the fact that they took away the most useful and simple method of freeing resources, the destructor.
      I think you've hit he nail on the head there. I couldn't have put it better.
      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    59. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      Yes it's interesting but you can sum it up by saying reuse objects instead of creating new ones, minimising the amount of memory used, allocation and GC work. This is plain common sense and there's no need for a 3 page article. That said, it doesn't provide a solution for the problem that there's no way to explicitly delete objects in Java.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    60. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      It would be like C++ but without the backwards compatibility with C, macro system, inline functions, multiple inheritance, inline asm, etc.

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
    61. Re:.NET? Is this thing still around? by dnoyeb · · Score: 1

      In my previous example I gave the situation that you have several hundreds of flyweight objects. Memory is finite and is very limited on some platforms like mobile phones (cell phones).
      If you need control over the memory, typically this is done through controlling the JVM you run your program on. Modern JVMs allow you to tweak the garbage collector, choose a different algorithm, configure memory, etc..
      Just to re-emphasise, it's incorrect to make assuptions about the algorithm used by the garbage collector. I assume this is an oversight on your part ;)
      When I speak of java not doing reference counting I am speaking about the reclaimation of references and the various phases they go through;

      Phantomly reachable
      Softly reachable
      Weakly reachable

      These states of a reference have very limited relationship with the garbage collector and do exist as part of the java memory architecture. This is how java tracks used references. This is before the garbage collector gets involved and is only mildly related to the GC.

      if you code in Java see the Java.lang.ref package.

    62. Re:.NET? Is this thing still around? by dnoyeb · · Score: 1

      If you are designing an architecture and you don't want the users to have to manually free resources (such as graphic canvas or somethin) you can use a ReferenceQueue.

      Create a WeakReference to it and put it in a ReferenceQueue. You will be notified when it has no references to it. Then you can do as you please with that information. You can tweak the JVM to be more agressive in locating these refenrences if you wish.

      Destructors were not just eliminated for the heck of it. They don't fit in the the reachability model of reference handling and the elimination of pointers. I am sure if you can show a way around it, some JVM will incorporate that. But as it stands, I have not had the problems you propose.

    63. Re:.NET? Is this thing still around? by TampaDeveloper · · Score: 1

      Oh yes. Clearly Perl, Ruby, Lisp, Smalltalk, Eiffel, Scheme and Python all whomp over Java when it comes to speed.

    64. Re:.NET? Is this thing still around? by Magius_AR · · Score: 1
      Operator overloading is rarely useful and often abused

      I've always hated/disagreed with this arrogant stance that is tend to be held by Java programmers only. I find overloading immensely useful, at the very least overriding < and > to allow for sorting operations, and overloading = to call the copy constructor.

      I find that the people that complain about operator overloading are the same people that think that a.b.c.get(d).set(e).f.go() is the only sane way to program.

      Believe me, THIS:

      Mystruct *a,*b;
      *a = *b;

      improves clarity tenfold over THIS:

      Mystruct *a,*b;
      b = new Mystruct(&a);

      Not to mention THIS:

      if (b.getsize().getlongvalue().int() < a.getsize().getlongvalue().int())

      is utterly insane compared to THIS:

      if (b < a)
      // or for you picky "what is being compared" ppl
      if (b.size < a.size)

      Extreme OO is a plague on modern day programming.

    65. Re:.NET? Is this thing still around? by crazyphilman · · Score: 1

      The spelling is "superior":

      http://dictionary.reference.com/search?q=superior

      I used to be in Mensa, too. Kinda boring, everyone spent all their time kvetching about how nobody else values their brilliance, and nobody did any actual hacking. It was very disappointing.

      I dropped out and started playing Halo 2 online (Big Team Battle rank = 19, Rumble Pit rank = 14 and climbing).

      --
      Farewell! It's been a fine buncha years!
    66. Re:.NET? Is this thing still around? by rjshields · · Score: 1

      You have not had the problems he proposes? He said quite simply that the problem is sun took away the destructor. In what way have you not had this problem?

      --
      In this world nothing is certain but death, taxes and flawed car analogies.
  7. Professionals use C for everything by Anonymous Coward · · Score: 5, Funny

    C is portable, fast, very complex and since 35+ years the leading standard for professional OS and APP development.

    C is so successful that C++ had to be invented to get more people into OO style C programming. C++ was designed as an syntax aid for people who lacked the skill writing OO in C by disciplined use of structs and func pointers.

    C is obviously too complex for the average CS student who crouch from one alternative to the next.

    Java? .NET??? ...amusing.

    1. Re:Professionals use C for everything by Anonymous Coward · · Score: 1, Insightful

      C is not as portable as it seems. Just because there is a C compiler does not mean that any program written in C runs on a platform.
      It is complex indeed. Which is not good. It is the cause for many errors which are hard to find. (Strings in C are about the worst you can get.)
      Professionals who use C for everything should be fired because they should use a language suitable for the task instead.

    2. Re:Professionals use C for everything by Anonymous Coward · · Score: 0

      C is not as portable as it seems. Just because there is a C compiler does not mean that any program written in C runs on a platform.

      Any strictly conforming program does.

    3. Re:Professionals use C for everything by Anonymous Coward · · Score: 0

      Professionals who use a different language for every task should be shot, dissolved in acid and poured into the ocean for making the code unreadable by people who happen to have a different set of working languages.

    4. Re:Professionals use C for everything by Anonymous Coward · · Score: 0

      why is this moderated funny?

      anyone who actually cares about computer science and who takes any time picking out their hardware is doing so for C, not for java.

      Universities nowadays teach java because "it's easy to learn" but when students get to higher level concepts, such as operating system api or security, java leaves them clueless.

      java is a language for code monkeys, not serious computer scientists.

    5. Re:Professionals use C for everything by owlstead · · Score: 2, Informative

      You are trying to be funny, but I'll bite. .NET and Java are clearly a much cleaner subset of C++, with many runtime features. Both are designed to do away with many legacy programming features (like pointer arithmetic). These features will only take your eye off your original target (for a small speed advantage, granted).

      These languages are less error prone and easier to debug. Therefore, they are the tool of choice for someone to create a program within a certain timeframe, a program which sources that can be read and changed for years to come (if well documented).

      And yes, they use OO. Things like streams and those nice GUI's wouldn't be possible without it. Maybe namespaces are even more important though.

    6. Re:Professionals use C for everything by SoloFlyer2 · · Score: 1

      Java and .NET Suck for one reason and one reason only... They are Proprietary!

      Java is owned by Sun and .NET is owned by Micro$oft and therefore using their code requires using their dlls or runtime compilers etc
      http://www.debian.org/doc/manuals/debian-java-faq/ ch5.html#s-license-concerns

      Oh and btw, anyone who claims that java is good because you can run it on every OS has never written more than a few lines...
      any real java program falls into the "if this OS do this" problem meaning that you have to write the program for every OS you want to support and may as well have written the same thing in c/c++ and compiled for the supported OS's resulting in smaller (file and memory size) and faster programs.

      Why you would pick a Proprietary language over a language defined by a public standard is beyond me!

      --
      "I reject your reality, and substitute my own" - Adam Savage
    7. Re:Professionals use C for everything by jallen02 · · Score: 1

      Heh. I amnot sure how to interpret your comment. Parse error. So if the only language I knew really well was C I should just go ahead and write my mundane system administration scripts in C? Because it is such a joy to allocate memory and deal with C file manipulation constructs just to do something simple like read a file and modify lines matching a regex? Geesh.

      Learn to use that sledgehammer well. Let me know how hitting the gnats of software development goes for you ;-)

      J

    8. Re:Professionals use C for everything by hao2lian · · Score: 1

      Completely agree. C/C++, aside from compiler bugs from compiler to compiler, completely miss the portability mark when it comes to GUI development. The closest they get is if a developer uses some cross-platform toolkit that sinks its fingers into other toolkits (WinAPI, GTK, HappyShinyUmpteenthToolkit), and then you're just offloading the portability to other people. In the end, they're just as capable as any other language that has a compiler on many platforms.

      --
      Pelé!
    9. Re:Professionals use C for everything by Anonymous Coward · · Score: 0

      That must be the most retarded argument I've seen on portability. How is it the language's fault that you don't have a specific *3rd party* library on every platform? Ah, you meant "portable" as in "I learn one goddamned platform-dependent API and can't be bothered to get off my ass and learn something else" ... I see now. You'd better get back to games until you're older and (hopefully) wiser.

    10. Re:Professionals use C for everything by jallen02 · · Score: 1

      Uh hu. I am sad you think that really. As a student of computer science I view all languages as tools. If I am testing algorithm performance it is all relative. I can implement in any language I want and determine performance of the algorithm relative to other implementations of the algorithm easily. So what if I use Python, Ruby, Java, or C#. The work is what is important.

      Student's may be clueless for a time, but you are supposed to be learning computer science and how to write in ANY language. We started with Assembly and worked our way up from there. Why waste your time on tasks that don't require the fine grained control C gives you? Don't be another one of those "I have my Sledgehammer programming language and I will use it regardless of the task" programmers. Here in the commercial world those type of people do MUCH more harm than those who don't know C.

      Jeremy

    11. Re:Professionals use C for everything by Anonymous Coward · · Score: 0

      Why are people taking this post seriously? Personally, I'd rather use C than Java or C#, but considering this story is about security, C fails miserably.

      Besides, there is C++/CLI for .NET, and I'm sure some perverted soul has made at least a C compiler that puts out Java bytecode. They're comparing VMs, not languages.

    12. Re:Professionals use C for everything by plumby · · Score: 1
      Oh and btw, anyone who claims that java is good because you can run it on every OS has never written more than a few lines...
      any real java program falls into the "if this OS do this" problem

      I've been working on Enterprise Java applications for about 6 years now, and apart from a bit of old JNI code which we used to talk to a Windows app (long since replaced with a Web Service), I can't think of a single line of platform specific Java code in our apps. For most of the, we develop on Windows, and run on Unix (mostly HP/UX) - with no rewrite, or even recompile, necessary.

    13. Re:Professionals use C for everything by Anonymous Coward · · Score: 0

      I don't think he/she was expecting to be modded "funny." :-) LOL

    14. Re:Professionals use C for everything by KidSock · · Score: 1

      I don't think this was meant to be funny folks. C actually is the cornerstone of serious software. What language do you think Java and .NET are writting in? C is simply overkill for your average corporate intranet web app.

    15. Re:Professionals use C for everything by Procyon101 · · Score: 1

      .NET is most certainly written in C++, not C.

    16. Re:Professionals use C for everything by aztracker1 · · Score: 1

      Minor difference, .Net/CLI is both an ECMA and ISO standard, Java is not. .Net has two F/OSS implimentations that are cross platform, Java's implimentations are heavily controlled by Sun, who tends to stiffle distribution to those who don't pony up some serious $$$.

      As for your second argument regarding portability issues with Java, they're no more prominent than the issues with C, etc... since they're rooted in OS constructs, more than language barriers... the X: drive on windows, vs. the / root structure on unix platforms... All that asside, the cross platform issues in .Net and Java are nothing compared to the issues in GUI frameworks for cross platform development to begin with...

      Not to mention that ASP.Net is about the best web/application development platform today. This may change in the future, if there was a new JSP that was a bit more sensicle to get into that may move ahead. PHP is imho a hack, though PHP5 gets a little better. CFM had some nice points, as did classic ASP, as well as Livewire (though netscape's x86 implimentations sucked).

      Personally I'd love to see a GUI BSD based distribution with mono, java, and python environments all available from setup, this would make a great environment for a corporate desktop base, with less need for install/tweaking if you can count on certain things/environments there and supported through the distro.

      --
      Michael J. Ryan - tracker1.info
    17. Re:Professionals use C for everything by SoloFlyer2 · · Score: 1

      As for your second argument regarding portability issues with Java, they're no more prominent than the issues with C, etc... since they're rooted in OS constructs, more than language barriers... the X: drive on windows, vs. the / root structure on unix platforms... All that asside, the cross platform issues in .Net and Java are nothing compared to the issues in GUI frameworks for cross platform development to begin with...

      That was my point... java is no more cross-platform compatable than C++ !

      --
      "I reject your reality, and substitute my own" - Adam Savage
    18. Re:Professionals use C for everything by owlstead · · Score: 1

      Java's implementations (or actually, more the standards and the API) are controlled by Sun for a reason. If they were not controlled, they would fork too much, and the easy Java API would be lost. Since that same API is now pretty much established, it would be very welcome to open the whole thing up indeed. Java has already said they won't completely open it up unfortunately (I heard first hand at NLJUG Spring Conference).

      As for compatibility. Java's API has been build up from the ground to do away with cross platform issues like path-names and GUI's. Take a look at the java.io.File class and the Swing (or SWT) API for examples. Obviously, the recompile problem is no issue, as is the use of incompatible (read Windows) API's. And with JNI you can build one standard Java class to talk to a Windows/Linux library in a standardised way. It's pretty easy to integrate into a COM or CORBA structure as well.

      JSP's didn't suck to much, if they would have been well used. Nowadays you have many (maybe too many) Java Enterprise frameworks to choose from. These are highly popular, few people would use servlets/JSP's directly by now.

      And a great Mono, Java and Python environment on a BSD based distro? I'm all for it!

    19. Re:Professionals use C for everything by aztracker1 · · Score: 1

      But the framework APIs have changed, and expanded, and it's cool that Sun wants to control it.. I personally prefer the .net framework, but both have a place..

      As for cross-platform issues, they are there for almost anything non-trivial as far as development, this is a plain, and clear fact. Now, they are *MUCH* less of an issue in managed environments, leading to the next comment, and your response..

      And a great Mono, Java and Python environment on a BSD based distro? I'm all for it!

      Me too, I mean if I had the time, would love to create an installer for the above frameworks for PC-BSD, at that point, it's about the perfect base for a corporate desktop.

      --
      Michael J. Ryan - tracker1.info
  8. They looked at Java and improved it! by vdex42 · · Score: 5, Insightful

    Well ignoring the fact that Microsoft is mean to be 'teh evil' and looking purely at the framework that their engineers have produced I have found very little to criticize.

    It feels like they looked at Java and stripped out the bad and produced easy to use clean languages. The first things that spring to mind:
    * Easier exception handling.
    * Transparency with the whole string class/primitive issue.
    * Really easy to create and catch events.

    The Visual studio IDE however! Piece of HTML mangling non XHTM compliant &*$£

    1. Re:They looked at Java and improved it! by Krimszon · · Score: 2, Informative

      2 more months and we should have VS2005, the devs promised it wouldn't touch code and would produce valid xhtml.

      If it does, that's a good (although somewhat late) improvement (which should've been a free upgrade, since I consider the absence of that 'feature' a bug).

    2. Re:They looked at Java and improved it! by Hurricane78 · · Score: 0

      > It feels like they looked at Java and stripped out the bad and produced easy to use clean languages.

      Well, i don't know if this was just false rumor, but i heard microsoft hired the initial designer of java. In that case of course it feels like that because the designer wanted to do the next generation of his idea where some things are tought further. ;)

      Can anyone confirm this?

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    3. Re:They looked at Java and improved it! by MemoryDragon · · Score: 2, Insightful

      Add to that that you basically have half the classes sitting with a thin layer on a 20 year old api designed with no security at all in the mind of the developers and some stuff basicall moved 1:1 over.... .Net can have lots of security features as long as you can pump a string directly into win32 in half of the classes, which triggers a buffer overflow everything is null and void in this article.

    4. Re:They looked at Java and improved it! by vdex42 · · Score: 2, Informative

      The whole point of a a virtual machine is to sandbox your code. So it doesn't matter how un-secure the layer is that is running it. The only way to get out of the virtual machine and buffer overflow the real PC would be to first buffer overflow your virtual machine, or find some other type of vulnerability in the VM first. Which as this article points out is pretty solid.

    5. Re:They looked at Java and improved it! by zootm · · Score: 2, Interesting

      Easier exception handling.

      Now, I'll grant it's easier (since you don't have to!), but in systems where reliability is a requirement the lack of checked exceptions can be a bit of a hassle, too easy to overlook and requiring good documentation (which, on the other hand, is a good thing).

      Transparency with the whole string class/primitive issue.

      Java does have autoboxing as of 5.0, but I know that's not really what you're on about. Being able to switch on strings and so on is handy though. Their special handling of strings seems a little "non-OO", but it eases development and is mighty handy.

      Really easy to create and catch events.

      Yes. Yes. Yes. Delegates are a fantastic construct.

    6. Re:They looked at Java and improved it! by zootm · · Score: 4, Informative

      Net can have lots of security features as long as you can pump a string directly into win32 in half of the classes, which triggers a buffer overflow everything is null and void in this article.

      You can't do that unless you're P/Invoking worse code, or running in the unsafe mode, both of which are similar to running a JNI interface with which you could do the same thing

      The CLI system is sandboxed, the underlying API is hidden and — in general, unless there's a problem with the implementation of the system — its shortcomings are essentially hidden.

    7. Re:They looked at Java and improved it! by shutdown+-p+now · · Score: 1

      Among other things, .NET security model allows you to forbid the execution of "unsafe" code assemblies - which includes all those trying to do P/Invoke calls to underlying OS API.

    8. Re:They looked at Java and improved it! by quintesse · · Score: 1

      No, they hired the guy who made the Delphi language who had learned a lot from his work there and by looking closely at Java. C# is obviously a mix of the good points of both languages and several things learned in the years after that. Good work C#, still won't touch it until they make me though :-)

    9. Re:They looked at Java and improved it! by cpu_fusion · · Score: 1

      > Easier exception handling.

      Yeah, easier in that there's no mechanism to force the client of an API to acknowledge important exceptions, a concept known as "checked exceptions".

      I'd hardly call that a feature, though.

      (warning pissed off flame ahead)
      Of course, considering how sloppy style-wise most "graduated from VB" coders are, I'm sure they love not being forced to think about important things like whether or not a call is going over a network. (see RemoteException in the Java API.)
      (end of pissed off flame)

    10. Re:They looked at Java and improved it! by jallen02 · · Score: 2, Insightful

      But it is almost a given that in any large application someone somewhere dipped into the PInvoke toolbox to get something done. I haven't seen many .NET GUI apps of any large size that don't dip into PInvoke. Usually it was because the developers were familiar with the older Win32 API and didn't feel like doing things right, but still. You don't really see that in Java nearly as often. I have used JNI code a handful of times in 3 or 4 years of Java development and it is almost encouraged my Microsoft to PInvoke things when you need more power/control.

      Jeremy

    11. Re:They looked at Java and improved it! by zootm · · Score: 1

      Yeah, it's pretty harsh. This doesn't mean it's a limitation of .NET as much as people refusing to do it right, though. It's just easier to integrate with potentially-unsafe code in .NET.

    12. Re:They looked at Java and improved it! by delus10n0 · · Score: 1

      Have you checked out Visual Web Developer Express 2005? It is in beta, and "free" to try right now. Or if you have an MSDN subscription, you can download the latest VS2005 build and check it out yourself.

      I've been using both for a few months now (Express I have been using since it came out..) and I don't have many complaints. They are waaay easier to use than VS2003. And yes, it doesn't touch your HTML code like VS2003/Web Matrix used to.

      --
      Not All Who Wander Are Lost
    13. Re:They looked at Java and improved it! by delus10n0 · · Score: 1

      I don't know Java, so I don't know the particulars of what you're ranting about..

      but it sounds like you don't really understand .Net's exception handling, with a gem like this:

      'm sure they love not being forced to think about important things like whether or not a call is going over a network.

      You can specify different exception "catch"'s, for specific errors or criteria. For example, when perfoming a simple query to a SQL server, I have a "generic" catch-all exception handler, and then a "connection failure" exception handler, doing something a little different.

      --
      Not All Who Wander Are Lost
    14. Re:They looked at Java and improved it! by Anonymous Coward · · Score: 0

      I would like to second what jallen02 said. It's true on one level that .NET code can be relatively safe if you do not use unsafe modules or P/Invoke.

      Unfortunately (IMHO) most Windows programmers will do both of those things, in order to get useful work done with existing Win/32 APIs.

      In the Java world, the use of native methods is generally discouraged. As a result, when comparing the Java platform with the .NET platform, Java applications are likely to be the more secure of the two, in practice.

    15. Re:They looked at Java and improved it! by aztracker1 · · Score: 1

      I disagree, most programs will never dip into the API, the only places I have seen this really needed is for use with the graphics system (for performance, and transparency graphics), and for connecting to legacy dll's, very little need to ever use the win32 api for anything outside of this.

      It's a nice feature of the language/platform if you have to interface with legacy code over the (imho) mangled way you have to use JNI.

      The majority of applications in .Net are ASP.Net apps which will *NEVER* use unsafe/pinvoke, and will run much better than the same applications if written in JSP/J2EE.

      As for GUI applications, the majority of non-web applications I've seen written in .Net consist of command-line utilities, as well as other utilitarian programs, very little in end-user programs. I would say the odds of needing to use the underlying API may be greater in .Net because there's more likelihood of GUI tools that need performance in .Net than there are in Java. To the same point though, outside of this, I think the chances are about equal, but would rather have to do it in .Net than via JNI.

      --
      Michael J. Ryan - tracker1.info
    16. Re:They looked at Java and improved it! by cpu_fusion · · Score: 1
      You're missing the point. I'm not claiming that exceptions wouldn't be thrown in .Net if there was a networking error. I'm pointing out that Java has something called a checked exception. A checked exception is something you declare on an API and all clients of the API *must* either redeclare that exception, or catch it. You cannot ignore it.

      In the example you give, what if the developer querying the SQL server DOESN'T put in a catch statement? Maybe they're a novice, or they are sloppy, or whatever. In Java, there would be a compile time error indicating that a checked exception wasn't redeclared or caught. In .NET the exception would just roll up the stack at runtime, and you'd better hope someone at a higher level used a catch statement, or your process will exit.

      This was a concious design decision made by Microsoft. I believe it was a bad one.

      You can educate yourself here.

      Or learn Java; probably a better option for you these days. :)

      So getting back to the great-grandparent post which claimed ".Net has easier exception handling" ... it is only easier in that it is more unsafe. A typical Microsoft design decision. I pity Microsoft; they're going to really be hurting when the new virtualization flags in the new AMD/Intel CPUs force them to run alongside other OS's. Then people will see how much of a waste it is for them to pay for Windows when Linux, etc. are free.

    17. Re:They looked at Java and improved it! by delus10n0 · · Score: 1

      If no one caught the exception in .Net, the .Net runtime itself would "catch" it (which is better than nothing.) Unless you're catching it and not throwing it, and that'd be bad anyhow.

      I also don't see how it's more unsafe-- good programmers are going to always implement a consistent and reliable error handling practice, regardless of the programming language. Yes, you can write code that is terrible with respect to exception handling in .Net (as well as many other languages), but that is hardly the fault of the language itself.

      That website you linked to presents .NET and Java examples, and makes it seem like .NET is incapable of the same error handling as Java (which is incorrect.) This example, for instance:

      If while scanning the state of Pennsylvania, KillerSearch receives an IOException, a checked exception in Java, the Java class will stop processing and REPORT the error to KillerSearchManager, who will Log the error, send an email notification to the responsible owner of this application, and CONTINUE THE SEARCH.
      KSM will then pass the Next State to the KilllerSearch class and the Hunt will Continue.
      Later that night KSM finds a match for the killer in the state of California. The CA FBI is emailed the results, they pick up the killer at 5am.

      A Dot Net solution will receive the IOException from the state of Pennsylvania and QUIT.
      The NEXT DAY, around 8 or 9 am, the Dot Net programmer will read the log file of the KSM and determine how many states were processed, rebuild a new list of states to process, and start a rerun of the job. The killer will Not be caught. The FBI will look like a bunch of idiots.


      Is particularly incorrect-- what is stopping the .Net code from being written in such a way to "continue" after an exception is thrown in a deeper layer? There is none. You could do the same thing in Java _and_ .Net.

      This excerpt is also just plain wrong:

      Dot Net ( VB or C# ) takes the error and dies, Dot Net goes into battle naked, unarmed and doesn't last long. Dot Net frees the developer of that 1% penalty up front, only to deliver a 1000% penalty at the back end, that re-occurs again and again as an application runs and encounters unexpected error after error.

      Huh? It sounds like this person has never even written a line of .Net in his/her life.

      --
      Not All Who Wander Are Lost
    18. Re:They looked at Java and improved it! by delus10n0 · · Score: 1

      After looking around that person's website some more, I found this gem.

      Come on.. 99% of the things mentioned on that page are things that could apply to most any programming language. Yes, beginners are going to make "beginner's mistakes", like the ones listed on that page, but that is not the fault of .Net! Also, the implication that never learning Java is bad thing is just hilarious. I'm sorry, I can write just fine without any knowledge of Java programming. It isn't like Java is the only programming language with good practices/structures.

      --
      Not All Who Wander Are Lost
  9. Totally bogus by Anonymous Coward · · Score: 4, Interesting

    Security in Java is multi layered and complex, you cannot possibly cover all its faces. ".Net" managed code is very rare and all .NET applications I know of (that are real applications) use native code thus removing any sense of security.
    Java has had years of full source code visibility (not open source) and had several holes plugged by the community, .NET has no such thing.
    Saying that .NET is more secure is just about the stupidest thing someone can say... Its like saying Windows is more secure than Linux since its newer than UNIX and Linux is based on UNIX.

    1. Re:Totally bogus by Anonymous Coward · · Score: 0

      "all .NET applications I know of (that are real applications) use native code thus removing any sense of security."

      That's none of the .NET apps that I know of. Search sourceforge for Mono apps and count how many of them drop to native code, unless of course they are not REAL apps for you.

      "Saying that .NET is more secure is just about the stupidest thing someone can say."

      Nice thing about Academics is they don't just "say". They say "why" they have come to those conclusions.

    2. Re:Totally bogus by Ronin+SpoilSpot · · Score: 1

      They don't say that security is better in .net than in Java.
      They say that the .net security model is better. If you don't use it, or don't use it correctly, or even if it is implemented badly, then actual security might be worse, but the potential is there to be better. /RS

    3. Re:Totally bogus by Jugalator · · Score: 1

      Security in Java is multi layered and complex, you cannot possibly cover all its faces.

      That's what they mention as a problem with Java security.

      ".Net" managed code is very rare and all .NET applications I know of (that are real applications) use native code thus removing any sense of security.

      A problem for the developers then, not for .NET? What the article is speaking of is .NET security, not sloppy-.NET-mixed-with-native-code security.

      Java has had years of full source code visibility (not open source) and had several holes plugged by the community, .NET has no such thing.

      This is true, however, that's a statement not necessarily related to a higher security in Java. It sure works in their favor though, yes. But is the end result that?

      Its like saying Windows is more secure than Linux since its newer than UNIX and Linux is based on UNIX.

      *rolls eyes* OK, you at least made it clear how much you read the article.

      --
      Beware: In C++, your friends can see your privates!
    4. Re:Totally bogus by tommck · · Score: 2, Insightful

      I wonder why all these MSFT bashers keep coming in as Anonymous.... .NET managed code is NOT rare. People who write .NET code interfacing with unmanaged code are usually porting existing applications.

      Comparing this security to a native Java app is like comparing a Java app with JNI calls to an exiting C or C++ app. The code is only as secure as the other code it is trusting.

      Apples and Oranges

      P.S. Your last analogy makes no sense whatsoever

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    5. Re:Totally bogus by ergo98 · · Score: 1

      "Security in Java is multi layered and complex, you cannot possibly cover all its faces."

      Yeah, scientists and archeologists are still uncovering the layers of Java security. One day, hopefully manking can have a cursory knowledge of the amazing depth of Java.

      ".Net managed code is very rare and all .NET applications I know of (that are real applications) use native code thus removing any sense of security." .NET's primary marketplace has been in supplanting Visual Basic for corporate internal applications. I have worked on several large scale .NET applications, and it is extremely uncommon for the teams to ever use anything other than Managed code. The primary reason is simply that these are people that aren't going to be dropping to Visual C++ and spitting out COM objects.

      "Java has had years of full source code visibility (not open source) and had several holes plugged by the community, .NET has no such thing."

      See, the whole open-source=secure argument has sorta been disputed by history. This is doubly true when you're talking about something that pretty much no one is passionate about (Java). Of course all of this is ignoring the fact that Sun released the source only to stave off impending doom.

      "Saying that .NET is more secure is just about the stupidest thing someone can say..."

      Well, I guess now that you've said that, it must be true! Colour me converted!

      See the funny thing is that .NET security does have weaknesses. I have never, for instance, seen a shop (Even large corporations) using code access security. Few in the .NET arena understand the Global Assembly or configured assemblies. Instead security, like many MS projects before it, is completely and uttery ignored.

  10. Source code access by boa13 · · Score: 5, Insightful

    First of all, it's interesting to note that 10 of the 45 Java vulnerabilities that the researchers take in account are due to Microsoft. They are specific to the ill-famed Microsoft JVM.

    Furthermore, 10 of the remaining 35 vulnerabilities were discovered and fixed in the first six months after the initial Java release. I consider that quickly-fixed flaws in a young product.

    So, we're left with 25 vulnerabilities found in a mature product, between 2 and 3 every year. Not quite pretty, not quite a disaster either.

    Now, question is, why are there no vulnerabilities discoveries in the .Net runtime? The researchers talk at length about the better .Net design, which is unsurprising given it was designed after many years of experience with the JVM.

    However, they fail to assess any impact the availability of Java source code might have on finding vulnerabilities and fixing them. The whole source code for the JVM is available (free as in beer), anybody can have a look once they register with Sun. I don't know if the same applies to the .Net runtime, somehow I doubt it. Some partners might have portions of it, maybe.

    So, availability of source code might be enough to generate two or three vulnerability discoveries per year.

    Note that I'm not saying that there are six to nine vulnerabilities yet to be discovered in .Net; maybe Microsoft did it right this time, and spent they money where it matters most in the long run.

    1. Re:Source code access by Hurricane78 · · Score: 0

      > you execute a program and it will run before next Christmas (not something you can say for Java).

      poeple keep on using this "argument".
      but they silently ignore that it's up to your choice:

      1. do you want it to run on all systems
      OR
      2. do you want it to be optimized to run fast on a system

      normally you can't have both, and i think it's a great achievement that the java virtual machine (still a non-removable layer of conversion) can do it that fast on so many different systems.
      (while .net an practically get compled straight to windows-stuff)

      so please don't use that false argument anymore (or bring some details why it's legal)

      thank you

      ---
      "gibst du dem opi opium, bringt das opium den opi um"

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    2. Re:Source code access by Johnno74 · · Score: 5, Informative

      Most of the source code for .Net is available here - Its called "rotor" and is Microsoft's open source implementation of .Net. It doesn't cover the complete framework, but it includes the runtime, C# compiler, and the parts of the framework that were submitted to ECMA.

      Anyone is free to download, modify and distribute rotor, it compiles on OSX and BSD. I believe someone has modified it to compile and run on Linux. Unfortunately the license prohibits commercial use...

      The major differences between Rotor and the full framework are a simplified garbage collector, and a simplified JIT compiler. Microsoft aren't saying how much of the framework code is shared between Rotor and the full version, but I've been told by people with access to the source that the answer is "pretty much all of it"

    3. Re:Source code access by Mr2001 · · Score: 1

      The whole source code for the JVM is available (free as in beer), anybody can have a look once they register with Sun. I don't know if the same applies to the .Net runtime, somehow I doubt it. Some partners might have portions of it, maybe.

      Here's the Rotor source code from MS. Feel free to pore over it looking for vulnerabilities.

      True, it's not the exact same source code that's in the downloadable .NET runtime, and it's missing a lot of the libraries that make .NET what it is. However, it does implement some of the most fundamental parts, including the security model.

      --
      Visual IRC: Fast. Powerful. Free.
    4. Re:Source code access by boa13 · · Score: 2, Informative

      you execute a program and it will run before next Christmas (not something you can say for Java)

      Heh, that part is quite a troll.

      I use Java apps daily (Eclipse, Moneydance, JAlbum), and now that you make me think of it, they might not be "lightning fast", but they're fast enough that I don't think about their speed. In my book, that's the definition of being "fast enough".

      I don't have experience with .Net apps however, so it might well be the case that they're faster. As others have commented, they only run on one platform, someone also said it's easy to embark native code in .Net, this might make a huge difference.

      Anyway, Java is not "slow" anymore, it may be not as fast as others, but it's fast enough.

    5. Re:Source code access by aug24 · · Score: 1
      you execute a program and it will run before next Christmas (not something you can say for Java).

      Hallo trolly, trolly, trolly. OK, to be fair, I'm not sure that was trolling, but it sounds like it, as I develop rather large websites for rather large customers, and we don't seem to have any speed issues.

      Are you by any chance using the Microsoft JVM? I suggest that might be your problem.

      Justin.

      --
      You're only jealous cos the little penguins are talking to me.
    6. Re:Source code access by fcgreg · · Score: 2, Insightful

      Please spare us the repetition of this specious argument. Since you cannot even tell us with any degree of certainty how much of Rotor is used in .NET, nor which parts of the framework, we can't even have a discussion about it in this context.

      Oh wait... you have it on good authority from an unnamed source that MS uses "pretty much all of it". Hardly a good basis for discussion.

      Sorry.

      --
      Greg T.
    7. Re:Source code access by Anonymous Coward · · Score: 0

      Most of the source code for .Net is available here - Its called "rotor"

      I know this is juvenile, so I'm going to post it AC to protect my preshuss karma, but when I was in grade school my clique used the word "rotor" to mean fart - I guess because if you farted hard enough the air movement could spin a rotor like a beanie propellor or something.

      Anyway, it makes me laugh to think of the source for MS's .net implementation being a big ol' fart that they've cut loose on developers.

    8. Re:Source code access by fcgreg · · Score: 2, Insightful
      True, it's not the exact same source code that's in the downloadable .NET runtime, and it's missing a lot of the libraries that make .NET what it is. ...
      ----------

      <sarcasm>
      But other than all that... it's a pretty good match!
      </sarcasm>

      Sheesh.

      --
      Greg T.
    9. Re:Source code access by zootm · · Score: 1

      Well, he was referring to the security model, it is implemented in Rotor, and teh source is likely to be very similar since it's from the same shop.

    10. Re:Source code access by zootm · · Score: 1

      teh source

      I'm sorry for that. :(

    11. Re:Source code access by Mr2001 · · Score: 1

      As others have commented, they only run on one platform, someone also said it's easy to embark native code in .Net, this might make a huge difference.

      Others are wrong. .NET apps can be run on other operating systems, including Linux and OS X, with Mono and similar projects. Mono doesn't fully support all the .NET Framework classes yet, but if you use Gtk# instead of Windows Forms, it's easy to write cross-platform .NET apps.

      Embedding native code in a .NET app is possible if you use Managed C++, but it comes with some performance overhead of its own. I doubt many apps actually use native code - no one likes writing in MC++ with all its ugly underscore keywords when C# is just a few clicks away. ;)

      --
      Visual IRC: Fast. Powerful. Free.
    12. Re:Source code access by HiredMan · · Score: 1

      d00D OmFG!1!!! U sp3ll3d teh rit butt 3v3ry 0t43r w0rd r0ng!1!

      Wtf!?!?!1!? ;)

      tkk

    13. Re:Source code access by zootm · · Score: 1

      "lol"

    14. Re:Source code access by bXTr · · Score: 1
      it compiles on OSX

      Not really. I does not build on Tiger, and has not been updated to do so. I should not have to do Microsoft's job for them.

      Mono would be great if it was properly documented.

      --
      It's a very dark ride.
    15. Re:Source code access by aztracker1 · · Score: 1

      The fact is, you can look into the MS .Net framework libraries via reflector, and other decompilation tools to compare... MS didn't obfuscate their core libraries for .Net, you really aren't supposed to look, but you can. I was working on some ASP.Net controls, and was curious how something in the default Panel control was setup, so I admit that I peaked... (*OH NO*), in any case, you can honestly look until your hearts content, and in all honesty the only real issue is if you then go, and take the same implimentation of something and submit it to say mono, or dot-gnu.

      So, if you *really* want to look, it's out there, beyond this, I'm sure there's a shared-source license if you are willing and able to use it through your company...

      --
      Michael J. Ryan - tracker1.info
    16. Re:Source code access by JeremyALogan · · Score: 1

      nope... Sun's. I will admit that they've gotten it to be quite a bit faster over the years, but it's still noticably slower than native apps. I know several people to use it simply because they can detect the lag.

    17. Re:Source code access by JeremyALogan · · Score: 1

      so I get -1 flamebait because I say:

      1) I like .Net more than Java
      2) Microsoft did something right with it (IMHO)
      3) .Net seems to work well
      4) Java's slow and always has been. Can't really argue w/ that... it IS. (admittedly it was said in a flameish way)
      5) if you want to use .Net maybe you should use it with Mono as MS's server software isn't trustworthy

      And that's flamebait... sigh. One derogatory statement in 5 and people condemn the whole thing.

    18. Re:Source code access by aug24 · · Score: 1

      Oh, for applications? Sorry, was thinking web site back ends automatically.

      Good programming should make it unnoticable. For example, Eclipse is plenty snappy enough for me, inline code help and all. Don't know why some java applications run slow, possibly a crap joice of JVM profile.

      I don't think it's a language thing all the same.

      J.

      --
      You're only jealous cos the little penguins are talking to me.
  11. Age vs Usage by ErrorBase · · Score: 2, Interesting

    I've seen the crossplatform remarks already, but no one asked the question yet about how widespread implementations are. I currently see much more .Net implementations in Intranet environments, and java when the client is less known. my guess is that those more local implementations are much less scrutinized. opposed to the much more open and directly accesible implementations in java.

  12. Mod parent down by Anonymous Coward · · Score: 1, Insightful
    1. Re:Mod parent down by blackpaw · · Score: 1

      It might be a real word, but the grand parent still used it incorrectly

    2. Re:Mod parent down by crazyphilman · · Score: 1

      Well, in her profile, she also has these sentences:

      "I am a proud member of MENSA. I hate sexiest men, who are afraid of intelligent women."

      Her writing reveals that she has difficulty with grammar and spelling. It is also a source of a certain amount of amusing irony.

      --
      Farewell! It's been a fine buncha years!
  13. hardly objective by jilles · · Score: 3, Insightful

    Im not going to read the article but the reasons stated in the summary suggests a strong (and maybe well funded) bias. In short, the summary is basically bullshit. The quoted material on the ms blog is suspicious and the scientific study might actually be quite good (I wouldnt criticize it without reading it first).

    Security is not something you just switch on in a project. You design your project from the ground up to have security features. Both Java and .Net come with very similar security features. Both have finegrained role based security features. Id say Java is somewhat more flexible by providing an extensible model so that you may provide your own protocol implementations. For example, I used an oss pgp implementation recently that plugs into the default Java security api. .Net on the other hand has some nice language features like attributes. Java has null securitymanagers; .net has unmanaged code.

    Javas security features are designed through the JCP process in which a broad range of industries and individual experts have been and continue to be involved. Indeed some of the older security features come from the earlier JDK versions developed by SUN. Overall I trust this process more than I trust the microsoft process which when it comes to security has received a lot of criticism over the past few years.

    --

    Jilles
    1. Re:hardly objective by bwoodring · · Score: 1, Flamebait
      Im not going to read the article
      Then why don't you just shut the fuck up?
    2. Re:hardly objective by leakingmemory · · Score: 2, Interesting

      "The most widely publicized security issue in .NET was W32.Donut, a virus that took control of the excecutable before the .NET runtime had control. Since the vulnerability occurs before the .NET runtime takes control, we consider this a problem with the way the operating system transfers control to .NET, not with the .NET platform"

      Isn't the whole point with a VM that the executable will never be directly exposed to system resources? Why doesn't the same thing happen to JVM? As far as I can see, this reveals that the .NET system is having issues controling it's applications, which to me is a major security flaw.

    3. Re:hardly objective by Anonymous Coward · · Score: 0

      Im not going to read the article

      That always makes it so much easier blasting it yes. Ignorance is bliss.

      but the reasons stated in the summary suggests a strong (and maybe well funded) bias.

      Damn, can't find the link to the Slashdot/MS version of Godwin's law someone posted a while ago, but this really nails it.

    4. Re:hardly objective by zootm · · Score: 1

      For the record, I think it's an injustice that you were modded down there.

    5. Re:hardly objective by m50d · · Score: 1

      I think the reason it happens with .net but not with Java is that windows treats .net programs as normal executables, wheras java programs are basically seen as documents opened with the javac program. So it's not a problem with .net, it's a problem with windows. Let's face it, we've said that about lots of problems with OSS software on windows.

      --
      I am trolling
    6. Re:hardly objective by jrumney · · Score: 1
      Why doesn't the same thing happen to JVM?

      Because the JVM runs .class or .jar files, not .exe's. W32.Donut works because .NET projects compile to a Windows .exe program which loads .NET, rather than .NET loading the program.

    7. Re:hardly objective by Anonymous Coward · · Score: 0

      How one says something is often just as important (sometimes even more so) as what one says.

      His point is correct but his delivery is shit.

    8. Re:hardly objective by spongman · · Score: 1

      Windows XP & Server 2003 load .NET .EXEs natively. the CLR loader stub is bypassed.

    9. Re:hardly objective by mysticwhiskey · · Score: 1

      Agreed.

      --

      Stuck down a hole! In the middle of the night! With an owl!

    10. Re:hardly objective by zootm · · Score: 1

      True, but it stopped me from being able to type the same thing in a more verbose manner without sounding repetitive. But still, "Offtopic" in particular seemed harsh.

    11. Re:hardly objective by aztracker1 · · Score: 1

      This is because the execution of managed executibles with .Net is tied into the windows execution inside of windows, this way a .exe just runs.. imho there should have been a new extension with say .netexec, or .nexe or something else, that ties into a system handler that is the .Net runtime environment.

      Note, this is how Java runs, and how .net/cli runs on other platforms via mono... It isn't an issue of the .net framework perse, but the implimentation of it.

      --
      Michael J. Ryan - tracker1.info
  14. 1 point for .net, -10 for Windows by Xtian · · Score: 1, Insightful

    Okay, so, .net is designed better. Now, unfortunately the thing only runs under MS Windows. Windows is a rather poorly designed Operating system . So, your .net is better, but it only runs on a OS with major security issues.

    How far does that get you?

    1. Re:1 point for .net, -10 for Windows by jrockway · · Score: 1

      This is not a troll, this is a good point! OK, so nobody can compromise your .NET e-mail server, but they can blow away the RPC server and replace it with a rootkit.

      The end result is the same, you're fucked. If your .NET mail program were running under Linux, then you might be secure.

      A system is only secure as its least secure component. .NET being Windows-only significantly reduces its security.

      --
      My other car is first.
    2. Re:1 point for .net, -10 for Windows by Anonymous Coward · · Score: 0

      not trying to troll but have you looked at the list of security vulnerabilities listed in latest linux kernel since release, from what I can see if it was running on linux it would just be easier to root, they are currently running neck and neck with the entire windows 2003 OS (that includes kernel plus web server plus all the other shit they include)

    3. Re:1 point for .net, -10 for Windows by m50d · · Score: 1

      It runs fine on freebsd, which is probably as secure as any of the java platforms (Isn't getting the jvm working on any BSD a horrible experience?), so I'd say that puts .net ahead.

      --
      I am trolling
    4. Re:1 point for .net, -10 for Windows by LizardKing · · Score: 1

      Isn't getting the jvm working on any BSD a horrible experience?

      Havng downloaded three files, I installed a native JDK 1.4 onto NetBSD like this:

      cd /usr/pkgsrc/wip/jdk14
      make install

      Tough I know ...

    5. Re:1 point for .net, -10 for Windows by m50d · · Score: 1

      Ah, but how would it be to install 1.5? AIUI it's taken a lot of work to get to the current stage with the older versions.

      --
      I am trolling
  15. Re:wow, i expect linux-touting crap when i open /. by gabba_gabba_hey · · Score: 1

    I recall mr Katz but one must admit, lately it's getting pretty brutal around here. At least today isn't quite as bad. must...resist...urge...to join...trolls.....

    ugh

  16. Java had security from the start by Trejkaz · · Score: 1

    Java has run everything a sandbox from version 1.0. I wonder how they twist this into a claim that it had no security.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
    1. Re:Java had security from the start by boa13 · · Score: 1

      The researchers, the blog and the Slashdot summary claim that .Net has fared better than Java as far as security goes. I wonder how you twist that into believing they claim Java has no security.

    2. Re:Java had security from the start by Trejkaz · · Score: 1

      Hope this helps in the future. Also for what it's worth, "limited security" is equally bullshit where sandboxes are involved. If anything, Java was over-secure from the beginning, because you couldn't do anything. ;-)

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
    3. Re:Java had security from the start by owlstead · · Score: 1

      Exactly. As long as I can remember (and I remember pretty long) Java has run Applets in a Sandbox. This means that at least from 1.1 they had this sandbox (I'll have to look up my Java Core book to look if 1.0 had any). Also remember that Java has been designed with security in mind. That's why all arrays are bounds checked. So basically this claim is *utter* BS. Maybe the student in question was not around when Java hit the ground?

    4. Re:Java had security from the start by XP-Cagey · · Score: 1

      If anything, Java was over-secure from the beginning, because you couldn't do anything. ;-)

      Unless you exploited one of the security holes that the article talks about. You can say that there is effectively "no security" or "limited security" (your pick) in a sandbox system that can be defeated through known security flaws. That isn't, however, the point of the article.

      You did read the article before getting belligerent about it, right? The article is making a value judgement between two systems and saying one is better relative to the other for a list of concrete reasons. Instead of debating the merits of its comparisons, you are twisting its words into a statement Java is inherently bad or should not be used--a judgement that doesn't appear anywhere in its conclusions--and then attacking that newly invented premise.

      Several of the specific complexities that proved to be problematic in Java have been avoided in the .NET design, although .NET introduced new complexities of its own. Despite .NET's design certainly not being perfect, it does provide encouraging evidence that system designers can learn from past security vulnerabilities and develop more secure systems. We have no doubts, however, that system designers will continue to relearn from these principles for many years to come.
      -- final sentences of the article.

      This article isn't bashing Java for the sake of bashing Java, and where it discusses a problem gives detailed, concrete information about its complaints. If you're upset that your language of choice isn't perfect, I suggest adapting to reality--no virutal machine, OS, or application has a perfect design. If you need to persist in arguing that Java has never had "limited security" (what is "unlimited security", anyway?), you could start by telling CVE every past vulnerability they've documented is imaginary. As others have pointed out, 10 of the issues are due to the MS virtual machine, which leaves only 35 for you to argue.

    5. Re:Java had security from the start by Trejkaz · · Score: 1

      You did read the article before getting belligerent about it, right?

      Yes.

      --
      Karma: It's all a bunch of tree-huggin' hippy crap!
  17. "MS Pravda has proved .NET is zillion times ... by Anonymous Coward · · Score: 0

    ... than Java"
    If it is said thru an independant chanel it must be true isn't it ;-)

    Looking at global capabilities Java and .net platforms are 99% the same !

    At the end the only real choice is : do I want vendor and platform lock-on or do I want to keep the choice of vendors and platforms ?

    I mean, the day the complete specification of .net will be release I will seriously consider .net as a viable long-term alternative to Java. But for now it is not more viable that MS DNA oldies ;-)

    Anyway, we'll see how it will turn in the next 5 years, but I really think it will be fun for MS ... the bigger you get the best target you are :) William IIIrd go and ask blue boys ;-)

    By the way, is there anybody that got a link to the MS hydra picture (an update one). I mean all the cross shareholding with other compagnies ? In the late 90s the list was around a thousand covering lots of media, etc ...so I would be interrested to se an updated picture of the situation to see how is the lobby progressing. Tnx.

    1. Re:"MS Pravda has proved .NET is zillion times ... by Anonymous Coward · · Score: 0

      It their very own fault for the disputing with Sun. It better they use Java. Here we are using Java since three years ago. We not only using Java for the programmer increase (though we are: maybe ten times, maybe twenty times) we also now use it for everything from the commanding line stuff such as grep through to the web engine beans. Same speed C but faster. The security we are finding, and with the IDE too (Borland or IBM). Portability of course is of the deal.

  18. blah... flawed logic by JeremyALogan · · Score: 4, Insightful

    Ok... let me get this out there first. I like the .Net framework (not all the stuff M$ tried to label as .Net after they realized that they were on the right track).

    However, this study is flawed. .Net 1.0 came out 6 YEARS after Java 1.0... it's not exactly fair to compare them as pure equals. Considering that they're so similar you have to take into account that M$ had time to see what was wrong w/ Java and fix it. It's kinda like saying "Well, this brand new bridge is far supperior to that one over there that was built 200 years ago. I mean, sure it's better looking, but this one is stronger AND lighter." People learn things and then implement them... is that so hard to understand?

    1. Re:blah... flawed logic by lazydog · · Score: 0

      So then maybe we should keep this in mind when comparing M$Windoze and Linux?

    2. Re:blah... flawed logic by iapetus · · Score: 4, Insightful

      Why is it wrong to compare them as pure equals? Speaking as someone wanting to implement a solution today, using today's technology, I want to know which one is better for my needs now. I'm not going to say "Well, Java sucks, but for the time it was great, so I'll use that instead of something that meets my requirements right now."

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    3. Re:blah... flawed logic by boa13 · · Score: 4, Insightful

      I want to know which one is better for my needs now.

      And this is why the comparison is wrong. It does not compare them "now", it compares them "overall". Do you care about ten-years-old flaws that were quickly fixed and have not bothered anyone since then? I think not. Do you care about flaws in a special vendor version that no sane person uses now? I think not. Would you be interested in knowing that the above-mentioned flaws were created by the very vendor the proprietary technology of whom you are trying to evaluate? I think you should.

      What should interest you is how many security issues are found per year. The article lets you learn that (even though it doesn't explicitly do the math for you). What should also interest you is how the Java community and Sun reacted to the flaws, how fast and how well they were fixed. The article is tight-lipped about that.

      Actually, since no flaws have been found for .Net, there is no way to know how Microsoft will react in such a case. Past reactions should at the very least have you worried.

      (And actually, there have been flaws, but the authors of the study chose to ignore them, see appendix A for why. Unfortunately, there's no appendix B for how they chose the Java flaws.)

    4. Re:blah... flawed logic by teslatug · · Score: 1

      Maybe the way you should look at it is that there hasn't been enough time and exposure to .NET to find more flaws.

    5. Re:blah... flawed logic by hattig · · Score: 1

      Well considering that Microsoft are the cause of 10 of the listed issues, and another 10 were fixed nearly TEN YEARS ago, the comparison is at best seriously flawed, at worst it is just a vehicle to Microsoft to spread FUD.

      What would I use for developing an application today? I'd use a platform that most people had access to. I'd use a platform that also ran on my choice of operating system. I'd use one that has been proven. I'd use one that has ongoing development. I'd use one with good developer tools. I'd use one that isn't esoteric (which is also the name of a most excellent doom metal band btw, so get some of their stuff). I'd use one that I could read the source code in 2 years time without getting a headache.

      Do I care about losing 10%-30% performance by using a bytecode based system instead of C? No, not really. Computers will be that much faster in 6 months time anyway (of course, the real issue is that your product will be finished 6 months earlier, so you'd have to wait a year!). If there is something that absolutely needs to be as fast as possible - well that is what JNI and unsafe are for. Create a generic version of the algorithm in $languageofchoice, and then create native versions for popular platforms.

    6. Re:blah... flawed logic by Quantam · · Score: 1

      You must like to argue. Either that or you must like to post redundant stuff. In any case, it's distressing that there are so many people who think you said something good. I mention this because what you said is exactly what the article says. Thanks for wasting a comment, and wasting several people's mod points.

      --
      You have tried to support your argument with faulty reasoning! Go directly to jail; do not pass Go, do not collect $200!
  19. Wow by Anonymous Coward · · Score: 0
    Dynamical? Wow, and the rest of your post was so intelligent and cohesive, I would have never guessed you were full of **** until I came across this word.
    Reading a dictionary must be a real adventure for you:
    Pneumonoultramicroscopicsilicovolcanoconiosis? Wow, and the rest of your dictionary was so intelligent and cohesive, I would have never guessed you were full of crap until I came across this word, you Oxford fools!
    It must be difficult to live in the information era for such an illiterate jerk.
    1. Re:Wow by Anonymous Coward · · Score: 0

      Sorry about your attitude problem. It must be hard to accept you're not as clever as you think you are. Spouting a load of garbage in a post then flaming people who object is not a great sign of maturity or intellengence.

  20. Just don't put .Net on a network by wdmr · · Score: 1, Informative

    I notice the article did not talk much about the implications of having a .Net implementation on your network.

    The one (and only) multi-tiered .Net implementation I have had to work with was a networking nightmare. The whole thing used DCOM which is a total pain in the ass. No NAT'ing (DCOM doesn't function across NAT) means that production DMZ's had to have routeable IP's. DCOM uses RPC which means that firewalls have to allow the entire high port range (>1024) between tiers. The transaction protocol in the framework likes to talk all the way from web layer to db layer so defense in depth is pretty much thrown out the window.

    It may be that there is a way to use .Net without running into these issues, but the developers and the MS consultant all insisted this was standard and typical. Of course, they all also insisted that the environment would be better off flat and the MS consultant strongly urged not doing multi-tiered. So I suppose if you don't mind having your SQL server in the DMZ .Net is great.

    Didn't like it. No sir. Not at all.

    1. Re:Just don't put .Net on a network by wdmr · · Score: 1

      Bad form to reply to myself but leaving for the weekend. By routeable IP's I mean internally routeable (the app and db layers needed to communicate between sites). But I don't trust the corporate network much more than the internet so it is still a problem in my book.

    2. Re:Just don't put .Net on a network by dedazo · · Score: 4, Informative
      The whole thing used DCOM

      That's unfortunate, because .NET does not require DCOM at all.

      DCOM uses RPC which means that firewalls have to allow the entire high port range

      Yes, well, you can always open DCOMCNFG, switch to the protocols tab, select the TCP/IP entry and set the port range that suits you. Wow.

      MS consultant all insisted this was standard and typical

      An "MS consultant" told you you needed DCOM to jump over tiers with .NET and failed to tell you that you can select a port range to play nice with your firewall over the DMZ? Crap, I would have called his boss or the TAM at the regional office and have his ass fired.

      consultant strongly urged not doing multi-tiered

      You know what, while I don't doubt that there's someone dumb enough to recommend something like that out there, I really doubt it was an "MS consultant". Microsoft is moving away from heavy physical tier designs to avoid the wire overhead (which admittedly makes them look slightly stupid after years of telling everyone to use as many boxes as possible), but to recommend running the application and the database server on the same box is just plain retarded. MSCS (or whomever you were supposedly talking to) has some dumb people in the file and rank, but not *that* dumb.

      I'm gonna have to call bullshit on your apocryphal story here, unless by "MS consultant" you mean some random dude that has an MCSD and has read "Software Fortresses" five times while moving his lips.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    3. Re:Just don't put .Net on a network by shutdown+-p+now · · Score: 1
      It may be that there is a way to use .Net without running into these issues, but the developers and the MS consultant all insisted this was standard and typical.
      Then both the developers and the consultant don't know what they're talking about. You can use .NET Remoting over HTTP: look for HttpChannel class in MSDN, or here for a short rundown.
    4. Re:Just don't put .Net on a network by wdmr · · Score: 1, Insightful

      By MS consultant I mean he was a Microsoft employee from their professional services division acting as a consultant to help resolve issues with the application. So call bullshit all you want.

      Yes, we restricted the port ranges but guess what? When you do that on a SQL server box it crashes under load and MS was never able to resolve the issue. These was true even if the restricted range was very large or very small.

      Where did I ever say "one box"? I said flat which means in one network segment.

      As I said in my first post, "there may be a better way to implement .Net". I guess it would have been too much for someone to just post information instead of resorting to calling me a liar. :)

    5. Re:Just don't put .Net on a network by oPless · · Score: 1

      So I suppose if you don't mind having your SQL server in the DMZ .Net is great.

      WTF?(to grandparent post)
      You use integrated authentication on your websites? Next you'll be telling me, that you have a PDC and BDC in the DMZ too.

      This is why if someone has a MSC? I *never* take any notice of them.

    6. Re:Just don't put .Net on a network by Dan+Farina · · Score: 1

      "That's unfortunate, because .NET does not require DCOM at all."

      That is something of a lie. Have you ever tried, say, remote debugging? Or, perhaps more to the point, did you ever wonder WHY microsoft doesn't support a TCP/IP pipe-type remote debugging protcol (as they did with their native code) for .NET?

      You have to install a service on the other machine to remote debug! Isn't that a hoot?

      For a time I was going to write a JDWP implementation for .NET, but upon further research I came upon a blog written by a .NET developer who says, in paraphrase: stay away from the debugging classes. They're huge, buggy, and so undocumented that they don't even appear on MSDN!...tune in for version 2.0

    7. Re:Just don't put .Net on a network by Anonymous Coward · · Score: 0

      What was his name? I'm an App dev consultant at Microsoft I can follow up.

      Also, can you give me repro steps for the SQL crash? I have some good contacts in SQL CPR and the SQL Product Group. If it is crashing it should be easy enough to get a dump of sql, debug it and get a hotfix.

    8. Re:Just don't put .Net on a network by Anonymous Coward · · Score: 0

      His name was Mike. Mike Rosofsuks. And he was an asshole.

    9. Re:Just don't put .Net on a network by Anonymous Coward · · Score: 0

      I'm looking in the Exchange GAL (global address list) and he doesn't exist.

    10. Re:Just don't put .Net on a network by Keeper · · Score: 1

      WTF, are you dense? You're comparing remote debugging with how an application communicates with remote objects?

    11. Re:Just don't put .Net on a network by aztracker1 · · Score: 1

      Was this person a "Microsoft Consultant" or a consultant that uses MS tools? There's a big difference, you have *MANY* options within the framework itself that don't require DCOM, as well as options outside the core framework that open up options such as CORBA and the like....

      Read "Cross-Platform .NET Development" from APress sometime, it's not so great at delving into the various toolkits, but can really help when working on the design level in .Net (and other language/platform) projects.

      The most likely current approach would be a WebService or similar set of tools approach, there's a new system closer to web services, that run over a socket connection instead of a webservice (that has more overhead).. the remoting system built into .Net is pretty decent, and will work for a long time, but MS isn't pushing it as much moving forward.

      I don't know how it is with other environments, but apparently there are a lot of people claiming to be subject experts with .Net who don't even know how to parse a file on the filesystem inside the framework. Probably because (at least where I am) demand for .Net developers is higher, and wages are starting to climb again.

      --
      Michael J. Ryan - tracker1.info
    12. Re:Just don't put .Net on a network by aztracker1 · · Score: 1

      That's really a shame, and I'm sorry that was your experience, but there are *MANY* options in the framework that could have worked multi-tier, and through a firewall. .Net Remoting is IMO great, but some people wanted something closer the the ease of webservices in .Net with the performance of remoting (I forget the name of the toolkit that ms came up with for this) but it is what they are pushing, and works very well.

      If you use classes/structures that only contain base types, or don't have custom serialization (dataset/table from MS .Net) that you control, you can even use pretty transparently accross MS.Net and mono...

      --
      Michael J. Ryan - tracker1.info
    13. Re:Just don't put .Net on a network by Dan+Farina · · Score: 1

      Just wanted to remind that it is not completely free of DCOM tie-ins (eg, you can get 100% functionality without DCOM). The above restriction can be moderately annoying problem. I don't think density has anything to do with it.

    14. Re:Just don't put .Net on a network by Keeper · · Score: 1

      There is absolutely NOTHING in .Net that REQUIRES developers to use DCOM in their application for remote object invocation.

      The tools you use to develop said application may be a different story entirely, but if a dev creates a .Net application that uses DCOM, it was their own choice -- not a result of .Net architecture.

    15. Re:Just don't put .Net on a network by Dan+Farina · · Score: 1

      That's true, but I wasn't addressing that fact in particular, just that .NET is not completely free of DCOM necessities. For some of us, not having a simple pipe protocol like JDWP is a big deal, especially if you take into account that older microsoft development platforms used to have similar venues.

      I thought I would bring it up. I don't understand your ire. I thought it was an interesting regression.

    16. Re:Just don't put .Net on a network by Keeper · · Score: 1

      Perhaps you weren't attempting to address that fact in particular, but it sure read like you were. Hence the ire.

      I'd recommend reading Mike Stalls blog (http://blogs.msdn.com/jmstall)... he talks a ton about the debugging aspects in .Net. I wouldn't be surprised if there was some nugget in there somewhere that talks about why they decided to use an in-process debugging model instead of the more traditional debugging model.

      My guess is that the reasoning involved is related to having helper threads running in a managed process (JIT compiler + optimizer, garbage collection, finalization, etc) that are hard to deal with out of process (especially when you toss breakpoints into the mix) and needing some sort of mechanism to correlate asmILsource.

    17. Re:Just don't put .Net on a network by Dan+Farina · · Score: 1

      I should mention that is precisely the blog that mentioned that the .NET debugging interface classes were large, undocumented, and buggy.

    18. Re:Just don't put .Net on a network by Keeper · · Score: 1

      You'll note that I never made any attempt to refute that point. :)

      I've actually had to use them for a project I worked on, and it wasn't a pleasant experience -- though his blog does take some of the 'mystery' out of the process, thankfully.

  21. Yeay! Security plus portability minus cost... by freeplatypus · · Score: 5, Interesting

    .NET
    price: free, You only need to have Windows 2003 Business Server for serious work
    secure: rtfa in few years to make sure
    portable: it runs on many systems, like Windows and ... Windows ... but not all of them.
    speed: well actually speedy on Windows machine
    IDE: brilliant Visual Studio, unfortunatelly no plugins

    Java
    price: free, well it is free
    secure: most likely as secure as Your application
    portable: well actually, even my SonyEricsson cell runs it :)
    speed: a bit clumsy, but hey, almost all >1GHz desktop PC can run Java application in very responsive manner (Eclipse, Netbeans, Azureus, etc.)
    IDE: Eclipse and/or Netbeans ROCKS!

    This reply seems biased, but well, almost every opinion will be biased.

    1. Re:Yeay! Security plus portability minus cost... by iapetus · · Score: 1

      Eclipse only rocks if you've never used IntelliJ IDEA.

      --
      ++ Say to Elrond "Hello.".
      Elrond says "No.". Elrond gives you some lunch.
    2. Re:Yeay! Security plus portability minus cost... by sosume · · Score: 2, Insightful

      ok, I feel a strong need to shamelessly plug the .NET platform and refute your arguments..

      >.NET: price: free, You only need to have Windows
      >2003 Business Server for serious work
      >portable: it runs on many systems, like
      >Windows and ... Windows ... but not all of them.

      mono and .GNU works on bsd, linux and windows. You are not required to use the System.Windows namespace if you're not developing for windows.
      You shouldn't look at anything older that windows2 000 though..

      >IDE: brilliant Visual Studio, unfortunatelly
      >no plugins

      really now. They are called 'add-ins'.

      >Java: price: free, well it is free

      Sure, but not as in beer. Can I independently create my own JVM and distribute it?

      >secure: most likely as secure as Your application

      Sure, you can always trust the developer.

      >speed: a bit clumsy, but hey, almost all >1GHz
      >desktop PC can run Java application in very
      >responsive manner (Eclipse, Netbeans, Azureus,
      >etc.)

      Sure. So if i want speed i should just add more machines.

      >IDE: Eclipse and/or Netbeans ROCKS!

      and all that in a very slow manner indeed..

    3. Re:Yeay! Security plus portability minus cost... by freeplatypus · · Score: 1

      mono and .GNU works on bsd, linux and windows.

      And of course they are ready for business, large scale applications?

      You shouldn't look at anything older that windows2 000 though..

      Damn! There goes portability.

      >IDE: brilliant Visual Studio, unfortunatelly
      >no plugins

      really now. They are called 'add-ins'.


      I didn't knew this.

      Sure, but not as in beer. Can I independently create my own JVM and distribute it?

      Well, no. But how many application needed to rewrite (write their own) JVM before coding of real application begun? But, yes. I do understand Your point. After all, SUN has to make some money ;)

      secure: most likely as secure as Your application

      Sure, you can always trust the developer.


      No, not always. But You do agree, that it doesn't matter if the environment is secure and Your developer write poor code?

      IDE: Eclipse and/or Netbeans ROCKS!

      and all that in a very slow manner indeed..


      Well, You know... 256MB is not enough since ages ;) This apps are not razor blades, but are realy decent and when You compare them to Visual Studio Beta 2005 they are VERY fast.

    4. Re:Yeay! Security plus portability minus cost... by Richard_at_work · · Score: 4, Informative
      Java: price: free, well it is free Sure, but not as in beer. Can I independently create my own JVM and distribute it?

      Well, actually, yes you can. Theres nothing stopping you reimplimenting a JVM to the released specifications, infact Kaffe is one such reimplementation. Go get a book detailing the VM specifications and how to implement a good VM from Sun!

    5. Re:Yeay! Security plus portability minus cost... by shird · · Score: 1

      All your arguments are pretty much wrong.

      I should at least point out your misunderstanding of security in the context of a VM : Its not just about how secure your apps are that are developed for the given VM, more importantly, its about whether you can run arbitrary apps written by other people in a sandboxed environment and not have them 'escape'.

      So "most likely as secure as Your application" isn't much of an argument.

      VS has addins, and plenty of them (look at compuware, wholetomato, http://msdn.microsoft.com/vstudio/extend/) . You can easily write your own too. Any that are missing is probably more to do with the fact the IDE already has tons of functionality.

      MS has also released a runtime and compiler for BSD, with source. Theres also mono. Plus most likely 64bit versions. Plus its fairly new, and with Microsofts backing and funding, theres likely to be more ports to come.

      --
      I.O.U One Sig.
    6. Re:Yeay! Security plus portability minus cost... by freeplatypus · · Score: 1

      All your arguments are pretty much wrong.

      Some are wrong, some are inaccurate, as it has been pointed by other posters. But not all.

      MS has also released a runtime and compiler for BSD, with source. Theres also mono. Plus most likely 64bit versions. Plus its fairly new, and with Microsofts backing and funding, theres likely to be more ports to come.

      Call me when it happens. I bet, that then security test won't be so good for .NET. After all, just like in case of MacOS X, it is not difficult to make quality software for limited 'audiance'.

    7. Re:Yeay! Security plus portability minus cost... by m50d · · Score: 0, Flamebait
      Java is more than a bit clumsy. Java programs are intolerably slow on my 800mhz machine, and I can't justify an upgrade just for Java when everything else works fine on it.

      Also, you neglect the greatest advantage of .net: You can write in lots of nice languages for it, wheras Java afaik only has Java and Ruby.

      --
      I am trolling
    8. Re:Yeay! Security plus portability minus cost... by DaHat · · Score: 1

      If the ability to build your own defines free in your mind... then really .NET (or at least the CLR and CLI) is just free as well, after all, both are well documented in the ECMA standard #335.

      After all, off of what do you think all of the .NET clones were built?

    9. Re:Yeay! Security plus portability minus cost... by freeplatypus · · Score: 1

      Java is more than a bit clumsy. Java programs are intolerably slow on my 800mhz machine, and I can't justify an upgrade just for Java when everything else works fine on it.

      It is not fault of Java that You can't justify upgrade of 5 year old hardware. Mind You don't need high-end Athlon 64, I use Eclipse on 1600MHz Duron and can't really complain.

      Also, you neglect the greatest advantage of .net: You can write in lots of nice languages for it, wheras Java afaik only has Java and Ruby.

      This is rather a matter of taste. One prefers C#, one Java, others don't see any significant difference :)

    10. Re:Yeay! Security plus portability minus cost... by m50d · · Score: 1
      It is not fault of Java that You can't justify upgrade of 5 year old hardware.

      No, but it is the fault of Java that it runs slower than everything else. If everything was struggling on this hardware I'd blame the hardware, but since only Java does I'm inclined to blame Java.

      This is rather a matter of taste. One prefers C#, one Java, others don't see any significant difference :)

      My point was that there seems (to me) to be more choice with .net, with java if you dislike both java and ruby you're stuffed, wheras if you dislike C#, VB and JScript you still have alternatives under .net.

      --
      I am trolling
    11. Re:Yeay! Security plus portability minus cost... by freeplatypus · · Score: 1

      It is not fault of Java that You can't justify upgrade of 5 year old hardware.

      No, but it is the fault of Java that it runs slower than everything else. If everything was struggling on this hardware I'd blame the hardware, but since only Java does I'm inclined to blame Java.


      Try running Visual Studio Beta 2005 which is (as I remember) writen in .NET ... feel lucky not to fall asleep while waiting for start.

      This is rather a matter of taste. One prefers C#, one Java, others don't see any significant difference :)

      My point was that there seems (to me) to be more choice with .net, with java if you dislike both java and ruby you're stuffed, wheras if you dislike C#, VB and JScript you still have alternatives under .net.


      Ever heard of Jython?

    12. Re:Yeay! Security plus portability minus cost... by kelzer · · Score: 2, Informative

      You can write in lots of nice languages for it, wheras Java afaik only has Java and Ruby.

      No offense, but I guess you don't know much. Here are just a few of the available languages for the JVM:

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
    13. Re:Yeay! Security plus portability minus cost... by owlstead · · Score: 1

      First off, saying to rely on Mono is saying you'll have to develop for Java Classpath instead of Java itself. It is simply not the same thing. Java does not run on any platform but at least it runs on [insert endless list here].

      Yes, you can independently create your own JVM.

      As for the speed, especially with 1.5 this is pretty much a non-issue. Maybe memory still is, but hey, both systems are pretty much the same idea and use loads of memory. Maybe .NET is a bit more tweaked towards Windows though.

      As for the speed of Eclipse, it is pretty sufficient for any developer, and it has much better capabilities (especially parser-wise). You'll have to use it to know what I am talking about (e.g. try the "mark occurences" in the config, and point to the return value of a method, all exit points light up immediately).

    14. Re:Yeay! Security plus portability minus cost... by hattig · · Score: 1

      Nobody was saying that .NET wasn't an open specification for people to implement however. So your response is rather odd.

      They were saying that the poster who said that Java wasn't was talking a pile of dogshit, because you can create your own Java implementation. In fact, there are dozens, if not hundreds, of Java Virtual Machine implementations now - several of which are completely open like Kaffe. How many are there for .NET? To be honest, until more .NET VMs are created (say, dozens or hundreds) we won't know about some of the core security issues that might be an issue with .NET.

    15. Re:Yeay! Security plus portability minus cost... by Anonymous Coward · · Score: 0

      "You only need to have Windows 2003 Business Server for serious work"

      Do you even know what .NET is? ASP.NET is a only a fraction of what .NET is about.

      "portable: well actually, even my SonyEricsson cell runs it :)"

      You shot yourself in the foot by adding the comment about cellphones.
      The .NET compact framework runs just fine on handhelds, PDAs and cellphones, etc.

    16. Re:Yeay! Security plus portability minus cost... by m50d · · Score: 1
      Try running Visual Studio Beta 2005 which is (as I remember) writen in .NET ... feel lucky not to fall asleep while waiting for start.

      I don't have it, nor do I have a Java IDE to compare it with. However, I know simple .net programs, e.g. muine run fine, with plenty of other programs running, wheras even the most basic of Java programs doesn't. Azureus, Yaggui, even Jedit (a fricking text editor ffs) are just too slow to be usable, even as the only program running.

      Ever heard of Jython?

      Yes, it's an interpreter, wheras IronPython compiles to actual .net IL bytecodes.

      --
      I am trolling
    17. Re:Yeay! Security plus portability minus cost... by m50d · · Score: 1
      Smalltalk

      Doesn't seem to have an actual working version at the moment.

      Pascal

      Modula-2

      Oberon-2

      These seem to be based on translating the source into Java. It works, I suppose, but not really a true compiler.

      Lisp

      Scheme

      Fair enough on these

      Python

      That's an interpreter running in Java rather than a bytecode compiler like the .net equivalent.

      Perl

      Describes itself as a defunct project

      TCL

      Logo

      Prolog

      All interpreters, though the same is probably true of any .net implementations with these particular languages. But a language running through an interpreter is always going to be a worse choice for many situations, especially because it's basically being interpreted twice - the interpreter itself is being JITed to native code.

      All in all, more than I'd thought, but it still seems a poorer selection than for .net

      --
      I am trolling
    18. Re:Yeay! Security plus portability minus cost... by kelzer · · Score: 1

      Smalltalk

      Doesn't seem to have an actual working version at the moment.

      I think they have an actual working version, just not a demo version. Sounds like the current demo version has expired.

      Pascal

      Modula-2

      Oberon-2

      These seem to be based on translating the source into Java.

      No, go back and look again. There are 2 versions of each - one that compiles to Java source, and a 2nd that compiles to bytecode.

      It works, I suppose, but not really a true compiler.

      Even ignoring my previous response, this statement is incorrect. From page 1 of "the dragon book" - "Simply stated, a compiler is a program that reads a program written in one language - the source language - and translates it into an equivalent program in another language - the target language."

      For example, the original C++ compiler, cfront, compiled C++ source to C source.

      Python

      That's an interpreter running in Java rather than a bytecode compiler like the .net equivalent.

      TCL

      Logo

      Prolog

      All interpreters, though the same is probably true of any .net implementations with these particular languages. But a language running through an interpreter is always going to be a worse choice for many situations, . . .

      And it's always going to be a better choice for many situations, too. ;) In particular, those cases where you want to be able to dynamically script something at runtime. Jython is often used for this.

      All in all, more than I'd thought, but it still seems a poorer selection than for .net

      Not sure how you came to that conclusion, given that I clearly stated "Here are just a few of the available languages for the JVM." There are many more lesser known languages for the JVM, most of which nobody's ever heard of.

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
    19. Re:Yeay! Security plus portability minus cost... by freeplatypus · · Score: 1

      Do you even know what .NET is? ASP.NET is a only a fraction of what .NET is about.

      Yes I do know what .NET is.
      My OS is written in native C/C++ API, not .NET.
      My games are written in native C/C++ API, not .NET.
      So, there are few applications with which I deal with that are not web-based apps. Therefore this is one of the most important issues for me. Btw. I write webapps for living, but neither in Java nor in .NET, and I wouldn't mind doing it in any one of those two if I was paid, therefore don't get me wrong.

      You shot yourself in the foot by adding the comment about cellphones.
      The .NET compact framework runs just fine on handhelds, PDAs and cellphones, etc.


      I don't know about any modern cellphone that does not run J2ME. On other hand I only few, so called, SmartPhones (still buggy and expensive) that run Windows Mobile ... oh and they run Java :)

  22. Sane operator overloading... by Hurricane78 · · Score: 0

    > Operator overloading is great, as long as it is done in a sane fashion.

    As i first learned java soem years ago, i learned that java's concept was to be very sane and portable.

    So it would not be java's concept to leave the sanity as a task for the user, but rather java should enforce sanity.
    In that case i agree that operator overloading would be a great thing.

    (until then i will rave about haskell's way to solve this thing ;)

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  23. Re:wow, i expect linux-touting crap when i open /. by Hurricane78 · · Score: 0

    ACK. I could not resist anymore. look where it look me: Karma: Bad But at the end this is always a thing between two entities. If my karma is bad for them, then this implies that their karma is bad for me too. And in this case i'm okay with this. ;) (As long as it does not become the heise.de golem.de situation. ;)

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  24. NASA World Wind uses .NET by Anonymous Coward · · Score: 2, Interesting

    As a side note NASA World Wind uses .NET:

    http://worldwind.arc.nasa.gov/

    It's similar to Google Earth, except that its 180MB and once you download it it tells you you need to upgrade your version of .NET, and another dialog pops up saying Direct X needs to be upgraded too. At this point, I decided not to continue. I don't fancy reading one of MS's EULAs, don't care to download one of their hulking tarballs, don't want Direct X changed in case it breaks something.

    Piece of shit Nasa, .NET is just a wrapper for Windows on the local machine, why didn't you just make native code you f**** idiots.

    1. Re:NASA World Wind uses .NET by Baggio · · Score: 1

      Your loss. Coding in Managed DX with C# is very cool. It isn't really ready for prime time because the runtime version is strongly tied to the executable binary, which is why you needed to download additional files. As a RAD platform it could be coded in far less time by using .NET and Managed DX.

      I'd rather NASA spend more time in space than coding applications like this one; regardless of how much fun it is.

      --
      Time flies like an arrow;
      Fruit flies like a bananna
    2. Re:NASA World Wind uses .NET by rdean400 · · Score: 1

      Don't blame NASA. This project probably went out for bids and the firm that had the .Net bid was the cheapest.

    3. Re:NASA World Wind uses .NET by tommck · · Score: 1

      Very telling that this is from an Anonmymous Coward. If .NET is just a wrapper for Windows, how is it that MSFT has an implementation for BSD? Oh.. and don't forget the Mono project which has the framework running on multiple others (Lunix, Windows, OSX, Solaris and BSD).

      Yep... they must have rewritten all of Windows and ported it to 4 other platforms. I knew they were good, but not that good!

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    4. Re:NASA World Wind uses .NET by TummyX · · Score: 1


      Yep... they must have rewritten all of Windows and ported it to 4 other platforms. I knew they were good, but not that good!


      Well actually if you examine the code for Rotor they did reimplement a lot of Win32 APIs using POSIX calls.

      And also your comments are irrelevant cause there's no way in hell NASA World Wind would actually work on Mono or Rotor/BSD. Why? Cause it uses Win32 dependent APIs (DirectX, SWF, etc).

    5. Re:NASA World Wind uses .NET by tommck · · Score: 1

      I was responding to this:

      Piece of shit Nasa, .NET is just a wrapper for Windows on the local machine, why didn't you just make native code you f**** idiots.

      This is a completely untrue statement.

      If, as you said, they re-implemented the API using POSIX, then it's NOT a wrapper of Windows calls, is it?

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    6. Re:NASA World Wind uses .NET by TummyX · · Score: 1


      If, as you said, they re-implemented the API using POSIX, then it's NOT a wrapper of Windows calls, is it?


      What I meant is that they had to implement Win32 APIs to get Rotor working on BSD. .NET isn't a raw wrapper of Win32 calls but it has a lot of Win32-isms in it. Mono for example implemented the whole windows handle/threading/io subsystem ontop of POSIX kindda like rotor.

    7. Re:NASA World Wind uses .NET by JediJorgie · · Score: 1

      I would say you are the f****** idiot.

      If you would do ANY research in to the WorldWind project you would find out that it was done by a single intern and he used .Net because that is what met his needs.

      Why don't you give us a few links to your projects of equal scale? Jerk

      Jorgie

    8. Re:NASA World Wind uses .NET by JediJorgie · · Score: 1

      Sorry.. STARTED by a single intern. My bad.

  25. Open source java security projects by iksrazal_br · · Score: 5, Informative
    I think this article overlooks the fact that many 'free as in speech' third party security libraries and frameworks are available for java.

    1) ACEGI - Aspect-orientaded-programming using a dependency injection model to replace or complement JAAS for authentication and authorization in an Application server independant way. A subproject of the Spring framework:

    http://acegisecurity.sourceforge.net/docbook/acegi .html/

    2) XML Encryption and XML Digital Signatures. Used in Web Service security or independently.

    http://xml.apache.org/security/

    http://ws.apache.org/wss4j/

    3) Container managed security implemented in every servlet container on the market, including tomcat.

    In short, I'd like to see a comparison of the features and availablity of what people actually use in their applications, rather than an entirely fudgable comparison of reported/unreported security flaws.

    "None are more hopelessly enslaved than those who falsely believe they are free. -- Goethe"

    iksrazal

    1. Re:Open source java security projects by Anonymous Coward · · Score: 0

      Yes, but how easy is it to use all this 3rd-party framework stuff in Java? I use a lot of it and it's terrible stuuf to learn. The docs are crap and the code is hard to understand (framework code always is). With .NET, presumably, you get manuals.

    2. Re:Open source java security projects by msormune · · Score: 1

      Don't forget Axis and Bouncycastle. My favorites libraries with stupid names. They still rock.

    3. Re:Open source java security projects by zootm · · Score: 1

      I believe that 1 and 2 (certainly 2) aren't really "security" in the same sense as the article is talking about. It's more of a "secure platform" analysis (which I believe 3 falls into the category of) rather than an analysis of the types of encrypted etc. transfers they support.

    4. Re:Open source java security projects by whatthef*ck · · Score: 1
      I think this article overlooks the fact that many 'free as in speech' third party security libraries and frameworks are available for java.

      1) ACEGI - Aspect-orientaded-programming using a dependency injection model to replace or complement JAAS for authentication and authorization in an Application server independant way. A subproject of the Spring framework:

      How can AOP be part of a "free-as-in-speech" solution when it's patented?
  26. Who needs programming language security? by Ulrich+Hobelmann · · Score: 2, Interesting

    Whatever that would be. Use an operating system that gives you memory protection, and even better: capabilities (rights to read/write files and other things), and you can run ANY program, written in ANY language, without the programs even being ABLE to do any harm.

    Oh, that would be too much of progress, wouldn't it?

    1. Re:Who needs programming language security? by m50d · · Score: 1

      Something I've always wondered: how does a capability-based system handle crashes?

      --
      I am trolling
    2. Re:Who needs programming language security? by Ulrich+Hobelmann · · Score: 1

      What kind of crashes? When a program crashes, it crashes. That's fine. Just don't give third-party apps enough rights to, for instance, run hardware-level drivers, so they can't crash your system ;) (containing those drivers in user-space would make them slower, but safer)

      The problem with language-level capabilities as opposed to OS-level rights is that the language is quite often subverted. When was the last time one program on your machine could read another processes's memory?

    3. Re:Who needs programming language security? by m50d · · Score: 1

      No system is uncrashable IME, no matter how well written there will always be some flaw that freezes it occasionally, or hardware will cause a crash. When you get a full system freeze, how does a capability system handle it? I ask because AIUI capability systems have a lot of difficulty doing a "cold start", and so most capability-based OSes save the state of the system on shutdown and restore it on startup, making it more like a suspend.

      --
      I am trolling
    4. Re:Who needs programming language security? by Ulrich+Hobelmann · · Score: 1

      Sorry, but I really don't understand what capabilities would have to do with system startup etc. It's just a permissions system.

      I guess you could have a Unix-like system with capabilities (maybe ACLs are a start for the file stuff), and have it startup/shutdown just like other Unices.

    5. Re:Who needs programming language security? by SuiteSisterMary · · Score: 1

      Tell that to the people who maintain mainframes with 20 year uptimes.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    6. Re:Who needs programming language security? by Anonymous Coward · · Score: 0

      There is no such thing as a mainframe with 20 year uptime.

    7. Re:Who needs programming language security? by m50d · · Score: 1

      You find me one and I will. Besides, typical users can't afford the amount of hardware redundancy a mainframe has.

      --
      I am trolling
  27. Heh! by miffo.swe · · Score: 4, Insightful

    The gall to put into account vulnerabilitys from Microsofts own JWM in a comparison to Microsofts .Net is astonoshing. What a way to belittle your competitor, make crappy implementation of their product and call them unsecure.

    I lack words.

    --
    HTTP/1.1 400
    1. Re:Heh! by cpu_fusion · · Score: 2, Insightful

      I completely agree. This single point alone screams, "ignore this study! it's biased!"

      Either the people writing the study are purposefully distorting their own data, or they are idiots, or both.

      Expect more acts of desperation from Microsoft marketing as Java continues to dominate the enterprise server space.

    2. Re:Heh! by kelzer · · Score: 1

      . . . as Java continues to dominate the enterprise server space.

      Web Services Journal, which is platform agnostic, has a Readers Choice poll going on right now. It's interesting that .NET is currently getting pummelled by Java in the polls:

      Best App Server for Web Services

      Best Web Services Platform

      --

      ---------------------------------------------
      SERENITY NOW!!!!!!!!!!!!!!!!
    3. Re:Heh! by Anonymous Coward · · Score: 0

      Why doesn't someone do a comparison of Mono vs Sun's Java on Linux and then call it a .NET vs Java comparison? Same thing, right?

    4. Re:Heh! by cpu_fusion · · Score: 1

      Internet polls are such teh scientific !1!!

    5. Re:Heh! by nitehawk214 · · Score: 1

      At first I thought "How the heck is EAServer #5?" Then I realized it was dead last amongst the other big J2EE servers. As horrible as EAS is, it was still ahead of .NET.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
  28. I'm monopenxourcist on AMD64 recently,3 against 1. by Anonymous Coward · · Score: 1, Interesting
    mono-1.1.8.3.tar.gz +
    ikvm-0.14.tar.gz +
    eclipse-JDT-SDK-3.2M1.zip

    IS BETTER AND MORE SECURE than

    jdk-6_0-ea-bin-b49-linux-amd64-25_aug_2005.bin

    ;)

    By + + + J.C. Pizarro + + + ATH OK.

  29. More than just source code by Anonymous Coward · · Score: 0

    It goes deeper than .NET not being subject to the same rigorous kinds of source code review; .NET runs the advantage of not having been seriously tested in a production environment. Oh, sure, people are running .NET. But they're running it natively. The things this study covers are not the parts of .NET people are interested in actually using. Given this the security model is just a show pony. The Java security model is something that's been hammered against in the real world constantly for years in real businesses; in the academic sphere the jvm is getting hammered not just through source review, but in serious conceptual testing as people implement their own JVMs. The .NET security model ... well, is just kind of sitting there waiting for the day when someone tries to actually run serious applications on it. Not really as difficult; all it has to do is sit there and look pretty.

    Meanwhile since .NET ties into win32, if you're wanting to do something malicious why bother hitting on the .NET security model? Why bother even looking for holes? Just call any one of the nasty Win32 functions. Hell, malware programs are able to do nasty enough shit to our windows machines totally within the windows security model. If you want to do something malicious to a Microsoft machine, it's so much simpler to attack it directly than to try to do so through .NET.

    A possibly somewhat mean way of putting it would be to think of the .NET security model as a lone locked door sitting in the middle of a field. Nobody visits it, and if anyone actually came upon the door, all they'd have to do is walk around it. Now, in this context, should we find it impressive that no one has yet found a way to pick the lock?

    1. Re:More than just source code by aztracker1 · · Score: 1

      Except in the situation if you are in, or running a hosted environment. With the security model in .Net you can safely host ASP.Net separate from the application domain of other sites on the same server, without extra virtualization overhead... I'm not saying you can't do the same with JSP, but there is more overhead to doing so.

      beyond this the asp.net framework is much easier to setup and manage than jsp is on any OS.

      --
      Michael J. Ryan - tracker1.info
  30. Who sponsored this? by Anonymous Coward · · Score: 0

    Where is the raw data so anybody may review the methodologies and conclusions?
    Perhaps Laura Didio can help explain it to everybody.

  31. Mono! Do free you from the evilness, please! by Anonymous Coward · · Score: 0
    + classpath-0.17.tar.gz
    + ikvm-0.18.0.0.zip

    By + + + J.C. Pizarro + + + ATH OK.

  32. Windows Ofcourse by p0 · · Score: 1

    Why is this a surprise? Windows takes care of giving problems for .NET instead.

    --
    This is my sig. There are thousands more, but this one is mine.
  33. mod parent funny:) by brunos · · Score: 1

    For what I have seen, Java is good for Enterprise development precisely beacuse it eliminates things like multiple inheritance and operator overloading. This results in code that is very understandable, and usually follows standard design patterns. I think Java makes it easier for IDE developers to make very helpful IDEs (IDEA, Eclipse, Netbeans, JBuilder) and promote certain technologies as the 'de facto' standard (eg hibernate). For enterprise apps java is FAST, whereas other languages that you mention, such as python are just too slow (zope/plone). Perl code just gets too messy after a while, and as you say .NET not being cross platform makes it useless.

    1. Re:mod parent funny:) by Coryoth · · Score: 1

      ...This results in code that is very understandable...For enterprise apps java is FAST, whereas other languages that you mention, such as python are just too slow (zope/plone). Perl code just gets too messy after a while, and as you say .NET not being cross platform makes it useless.

      Eiffel, on the other hand, is very fast indeed (it is a statically typed natively compiled language after all) with a nice IDE and compilers for many platforms. Certainly Eiffel results in clean very understandable code. It doesn't have the widespread adoption that Java does, which is probably its biggest failing, but that doesn't make it any less nice a language.

      Jedidiah.

    2. Re:mod parent funny:) by Ambassador+Kosh · · Score: 1

      Plone is slow for many reasons but zope itself is very fast and zope does something that NONE of those other frameworks does. It offers security at a granularity level that those other systems can not touch. When used with the buildin object database I have attribute and method level access controls and everything is security checked. I have not seen any other system that comes close to that and no relational database can do that. Even oracle does not have cell level access controls which would be the closest equivalent you could have in a relational database.

      When I need an app setup and I need it to work securely especialy if customers will be working with it I have not seen anything better then zope so far.

      The reason most zope apps are slow is mostly because people are not very good at writing them. I just make sure mine run fast enough, beyond that there is no point in investing more effort.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    3. Re:mod parent funny:) by brunos · · Score: 1

      You are right that zope is very nice to work with, and that most of the time even though Java is much faster than python, you are always limited by the time it takes to access the database. ZODB is good and fast, so no problem there. However somehow I expect a zope server to serve 50-80 pages/s. Which is fine for most applications, but on larger websites I aim to get ~500 pages/s from a server, and for that I use java+tapestry+berkeleydb which is also quite nice, but a lot more work than zope. I consider the two different tools for different jobs, but I might be missing something ...

  34. For everyone who loves VS by mdarksbane · · Score: 1

    How do you get it to stop wasting your entire screen with extra menus?

    The auto-hiding tabs are a nightmare. Every time I want to go back to working, I have to move my mouse off and wait five seconds for it to decide to auto-hide, and then another second for the animation to finish. Is there any way to MANUALLY hide them without getting rid of them entirely?

    If I leave things at the default I'm left with barely more room than half a terminal screen to actually code in. Gah!

    1. Re:For everyone who loves VS by zootm · · Score: 1

      The auto-hiding tabs are a nightmare. Every time I want to go back to working, I have to move my mouse off and wait five seconds for it to decide to auto-hide, and then another second for the animation to finish. Is there any way to MANUALLY hide them without getting rid of them entirely?

      The autohiding tabs hide immediately if you click somewhere other than on them – just click on your code editing view and they'll disappear. :)

    2. Re:For everyone who loves VS by mdarksbane · · Score: 1

      Oh, yeah, that's why they're always hiding them I actually want them to stay. :P

      All they had to do was let you click the fricking tab again to toggle it on/off.

    3. Re:For everyone who loves VS by zootm · · Score: 1

      Errr, you can click the little "pin" thing? I guess that's not ideal, since they become part of the window and shift stuff around at that point, though (that's annoyed me, but I eventually decided there wasn't a good reason, the way I develop, to have any of them up while focussing somewhere else).

  35. Re:Important feauture request! by Anonymous Coward · · Score: 0

    Mod cousin down!

  36. Re:Important feauture request! by Anonymous Coward · · Score: 0

    small print: feature not available in West Virginia or Tennessee

  37. My take on the first 'graph' used by tod_miller · · Score: 4, Interesting

    Wow, look at their nice graph will you. Their first graph shows 'vunerabilities found' in Java VM's... nothing mentioned about patches... and 0 in .net...

    Now look at this: In this paper we explore the more optimistic hypothesis that .NET's design is fundamentally more secure than Java's

    So they have a bent from the start to discredit Java. Onto my point:

    Java is 10 years old. There are groups of people looking at Java VM code and multiple versions of VM's, all of which are bunged in here. These 'vunerabilities' are not even reflections on the fundemental paradigm of the Java security model.

    This article is FUD, and bad FUD to counter Goslings stand against the 'untrusted code' model of the .Net.

    No, quoting JNI is not relevant in that argument because JNI still works within the seucrity model, yet it allows native code to be interfaced with, that is a seperate issue, and akin to making a network call, and running code on another server.

    They then mark up 9 security vunerabilities listed with Microsoft 'but because the way they classify them they do not count for this paper' (paper is the new word, because papers sound academic, not like paid research).

    There are many possible explanations for the .NET platform's apparent lack of security vulnerabilities.
    One possibility is that .NET is a less desirable platform for attackers to compromise than Java so it has
    not received the scrutiny necessary to reveal vulnerabilities. This is unlikely, however, since the .NET
    framework is now provided as a Windows update. Since Windows has over 90% of the desktop market
    with a large number of machines using .NET, the .NET platform presents an attractive target.


    Well, yes, windows runs on 90% of desktops, I would say .net runs on 15% of that figure.

    From the available information, the one implementation that did have many of its own
    unique vulnerabilities was Microsoft's Java implementation,


    They even try and discredit sources that go against their ideas. 'from the available information' or is the a way of saying 'this might be worse than we imply'.

    I didn't want to dig deeper, I found the single statement copied into a marketting guys website (fuck the word blog) rather twatish of the guy.

    This is FUD, yet the people this is aimed at are those who will read the '.Net found to be more secure than Java!!!!111OMGLOL!!' on [insert one of the many microsoft run 'news' farms that are used to infect propoganda into the media].

    pteeesh.

    To confirm you're not a script,
    please type the word in this image: binomial

    random letters - if you are visually impaired, please email us at pater@slashdot.org

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    1. Re:My take on the first 'graph' used by Tim+C · · Score: 1

      paper is the new word, because papers sound academic, not like paid research

      The output of paid research is generally also a paper, you know. "Paper" just refers to any report that is the outcome of scientific research.

      On that point, however, I *do* agree with you - they are probably using it to lend an air of credibility that would otherwise be lacking.

      From the available information, the one implementation that did have many of its own
      unique vulnerabilities was Microsoft's Java implementation


      Which is no longer supported or available from MS. Anyone who's using the MS JVM had better have a damn good reason, and even then they should be thinking long and hard about moving to a modern VM.

      Well, yes, windows runs on 90% of desktops, I would say .net runs on 15% of that figure.

      Now now - you've just spent a few paragraphs ripping in to FUD that's thinly disguised as research, only to trot out your own bullshit statistic. Source for that 15% figure, if you please.

    2. Re:My take on the first 'graph' used by jrumney · · Score: 1
      Which is no longer supported or available from MS.

      The MS JVM is supported until December 2007. Sadly.

    3. Re:My take on the first 'graph' used by MobyDisk · · Score: 2, Insightful
      This article is FUD, and bad FUD to counter Goslings stand against the 'untrusted code' model of the .Net.
      No, your reply is FUD, just like Goslings stuff about untrusted code. I won't waste my time explaining why it was FUD, that was already well-covered in the Slashdot comments around that article.
      ...JNI still works within the security model, yet it allows native code to be interfaced with, that is a seperate issue, and akin to making a network call, and running code on another server.
      You just made that up hoping most readers have never used JNI. That isn't how JNI works. It works very similarly to how .NET works. And you can, if you write code to do so, completely screw with the native security model using JNI.
      Well, yes, windows runs on 90% of desktops, I would say .net runs on 15% of that figure.
      I would love to know where you got that figure. It might be right. But without some facts behind it that is a meaningless attempt to belittle .NET.
      So they have a bent from the start to discredit Java.
      You just misunderstand: that is a reasonable way to start an academic paper: Begin with a hypothesis, and test it. If they were trying to write something subtly biased, they wouldn't start by telling you. They would hide it with words like FUD which is in nearly every paragraph you wrote.
      It's actually good to do it that way because you can't do research until you have a hypothesis, otherwise you don't know what you are measuring. You have to establish that basis before doing the research, not after.

      One last personal request: Using bold all over the place at random looks kinda like USING LOTS OF CAPS and doesn't help make a point. I recommend using bold on no more than one or two words in a paragraph.

    4. Re:My take on the first 'graph' used by tod_miller · · Score: 1

      Source for that 15% figure, if you please.

      Sorry you are right: (2005, Miller)

      Well, yes, windows runs on 90% of desktops, I would say .net runs on 15% of that figure. (I should have said it was a guestimate, implying they imply that .net is running on 100% of all windows installations...

      Just because I didn't see it on so many of my own machines I come into contact with, I am trying to remember if a real version (not 1.0) was in XP from the start.

      Although the point is not to discredit the number of machines with a .net runtime, I mean, Microsoft can put anything into windows, which runs on 90 of the desktops. For now at least. ;-)

      To confirm you're not a script,
      please type the word in this image: presence

      random letters - if you are visually impaired, please email us at pater@slashdot.org

      --
      #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  38. .NET developer comments: by Anonymous Coward · · Score: 0

    .N3T 1S Th3 C00list!
    Watch 0ur L33t Sk1llz...
    W3 0wnz Y0u !!!1!1!

    - What good is it if you lock the front door, but leave open all the Windows?

    Anyone ever ask WHY it was named windows?
    Not for the Windowing feature of the software,
    maybe it is for truth in advertising that people
    can 'peek' into your PC through your Windows...

    - The Skeptic

    1. Re:.NET developer comments: by Anonymous Coward · · Score: 0

      That's a bit too trollish for me. Perhaps you would like to make up nasty naming philosophies for Linux too. "for people who can't spell Unix" "backwards Unix users" and so on and so on.

      Something about glass houses and stones comes to mind here. Lets not make ourselves look like a bunch of whine kids who are mad because we are behind or not winning, because we are catching up and we can win. It's people like you that are turning the linux community into exactly what Dovark said, a bunch of religious like zealots who will go out of their way to damn anyone who doesn't worship in their way. There are enough facts to beat up the competition with, lets not make things up and give cause to the point fingers as to why we can't be trusted.

  39. Good for .NET. 98% of all web apps still in Java. by borgheron · · Score: 1

    Good, wonderful. Now back to the real world.

    Thanks. GJC

    --
    Gregory Casamento
    ## Chief Maintainer for GNUstep
  40. Mod parent BS by trezor · · Score: 1

    Ok. As a C#-developer, I call bullshit on your entire story.

    Fine. You had a crap solution which caused you a lot of troubles. I'm not doubting that. But what you are saying is boiling down to "I don't know how to use .NET at all, I'm not willing to look up documentation, so whatever mischief and framework abuse I'm the sole cause of, I'll blame on the framework".

    Really. .NET was designed to work with internet-standards to a certain degree. To a certain degree that means that you can channel any remoting over http, syncroneously or asyncroneously. However, it seems you aren't even close to knowing what sort of tools the framework provides and decides to blame that on the framework.

    You know what? I'm no really any good in basic C. I know there are some network/tcp-ip includes, but I wouldn't know how to use them. If I chose to implement all that myself because of that, should I blame myself for being inept at C or complain that C doesn't do what I want? Hopefully you get my point.

    So your issue isn't with .NET itself, it's with your utter lack of knowledge on how to take advantage of it.

    --
    Not Buzzword 2.0 compliant. Please speak english.
    1. Re:Mod parent BS by wdmr · · Score: 1

      Hey, I was just there to plug the network together. If I had to learn the application framework of every single thing I've had to touch I'd never get anything accomplished. And frankly, by the time the application gets to the network guys, it's usually got so much development time invested that you can't redesign it even if it is the worst turd to roll out of a programmer since Hello world. You take what the devs have churned out and you try to make it work and reasonably secured. Would it be nice to have application folks work with the infrastructure and security people before they devote thousands of man-hours to coding an application? Yup! Does it happen? In my experience this pretty uncommon.

      Maybe my bitch is with DCOM and pinheaded developers and not .Net. I'll accept that.

  41. Nonsense, utter nonsense by tobi-wan-kenobi · · Score: 1
    all people using one specific language for all tasks are fools and should be fired. the trick is using the right language for the right problem.

    besides: stuff like the borland c compiler make "c is portable" a joke.
    writing oo in c when you have c++ is stupid, you entirely fundamental basics of oo-concepts such as inheritance, encapsulation and the like.

    t

    --
    If you don't learn from history,
    then you are an idiot by definition.
    --- Vadim Yasinovsky
    1. Re:Nonsense, utter nonsense by Peaker · · Score: 2, Insightful

      writing oo in c when you have c++ is stupid, you entirely fundamental basics of oo-concepts such as inheritance, encapsulation and the like.

      Inheritance (at least single-inheritence) is easy in C, you can just create the first member of your object (struct) be an instance of another object. Thus, you can cast up (by dereferencing that member), the only difference being that the cast up is explicit (not necessarily such a bad thing!). And you can cast down implicitly by using casted function pointers that take the subclass pointer (works because it is the first member in the struct).

      As for encapsulation, you get that in C simply by encapsulating all you want in the same module. Hiding the data and code you want in the C side and exposing what you want in the H side. Sure, you can't enforce the hiding the private data in your struct, but you can hide it by convention.

      Also note that in C++, you can't really enforce the data hiding either, i.e:

      #define private public
      #include "some_class.h"

    2. Re:Nonsense, utter nonsense by Anonymous Coward · · Score: 1, Informative

      you can emulate OO WITHOUT type polymorphism easily in C. And information hiding is hard to enforce. And stupid byte layout issues can make incompatibilities where there really should be none. Those are a pretty important things to be missing! You have to think of classes as as structures consisting of nothing more than function pointers that get allocated out of black boxes to get anything like what is required. (The Linux's virtual filesystem comes to mind here)

      But then you have to typecast, which spoils it all. Typecasting is a memory re-interpretation in C/C++. If it's not compatible in C, then you will start garbling memory in arbitrary ways.

      In a secure language architecture, OTOH, it's an attempt to assign to a compatible type...and if that type is not compatible the VM will throw an exception. Furthermore, the stringent typesafety requirements make it absolutely necessary that garbage collection is used so that pointers to deallocated data, orphaned data, etc are disallowed.

      Another important thing is no information hiding in C, So you won't get compiler errors when you try to go around the public interfaces (direct access, casting, etc). Even in C++, if you add a new private data member you have to re-compile the clients of the library...because everything in C/C++ is concerned with the actual byte layout of everything. this is a profoundly retarded way to make shrinkwrapped libraries.

      Java/.NET by contrast don't really define byte layout. In fact, memory layout could be randomized for security purposes for all you know. Datastructures could be much smaller or larger than you imagine by just looking at its members. As an example, he String classes in Java/.NET are doing a lot of magical stuff to share memory.

      And of course you missed the whole point of why you can't use any derivative of C for executing semi-trusted code. You can't allow type violations of any kind (buffer overflows, pointer arithmetic), Any security holes discovered in these VMs are business as usual in C (type violations, memory violations, flow violations) because everything in C is accomplished through some form of pointer arithmetic.

      In any case, this is no attempt to bash C. I like C and C++ for what they were intended. It's just that C will never address the issue of protecting the user from his own processes, which is what VM security is all about. There are times when you need to protect yourself even from code that's been signed by an entity that you trust.

      This is something that you can't address the same way that you protect the OS from its users (disallowing syscalls, using virtual memory pages). You need to be able to make calls out to dangerous functions, but be able to apply fine-grained policies to how this is allowed. And you can't enforce the policies if you can walk around them by violating the typesystem.

      BTW, the whole CVE comparison thing from the article was a bit unfair because the CVEs from before .NET even existed. But I do think that .NET does have more security features. But the fact that a compiled .NET binary will have a *.exe extension means that you "just click on the *.exe file in your web browser" is a very bad thing. It won't be safe to launch an untrusted *.exe until only .NET *.exe format is allowed.

  42. but ... by eneville · · Score: 0

    But lets look at this another way... Java has had one virus since it's inception. Monad has 5 proof of concept viruses and has not yet been released.

    1. Re:but ... by rburt3 · · Score: 1

      Yes, and there hasn't been an orange blight yet that has affected Florida apple crops...

  43. It's been done by Anonymous Coward · · Score: 3, Informative
  44. Can untrusted wbsites run .Net? by makomk · · Score: 1

    I may be wrong, but I'm pretty sure untrusted websites can't silently run .Net code. Surely this makes a security hole in it a lot less useful than one in Java? I mean, what's .Net actually used for where this type of sandboxing is needed?

  45. who cares? by akhomerun · · Score: 1

    who cares if .NET has better security when there is no point to it?

    There is absolutely no point to .NET when it only runs on windows. seriously, why not just code natively??

    or if you want to code a certain program for your business, in java you can make that program run on your servers, workstations that use mac, windows, or linux, and then let your employees run a client to that program on their business cell phones

    i'm not really familiar with .NET, but seeing as it only runs on windows it really makes no sense to me.

    1. Re:who cares? by tommck · · Score: 1

      It runs on BSD and on Linux (through Mono), so... uhh... what's your point?

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    2. Re:who cares? by Tarwn · · Score: 2, Insightful
      There is absolutely no point to .NET when it only runs on windows.


      How many companies are purely Windows shops? I would think that given that one fact (and ignoring mono, .GNU, etc) there might be a reason for the existence of .Net.

      Don't get me wrong, I'm not a .Net zealot by any measure, though I do write a good bit of it at work. Work being mostly a Windows shop with only two linux boxes and one Mac (compared to 5-600 windows boxes). We don't care if Java works on desktops and servers, we're not going to write an applicaiton that will need to run on both. The closest we'll come to that is a distributed application that could easily be C# on one side and Perl on the other because we don't create applications that both have the user interface and server capabilities all bundled into one executable.

      And as far as running cel phones to an existing application, we decided to go the web-based route. There is no Java front-end or back-end requirement. Hell, you could easily have a Java front-end and C# back-end if you wanted, but we went with html front-end and C# back-end (though I was pushing for PHP :P ).

      i'm not really familiar with .NET, but seeing as it only runs on windows it really makes no sense to me.

      And if you work in a mixed shop tat does require application functionality that is exactly the same across multiple platforms, I can see your point. However, in a Microsoft house you have the option of choosing your tools to fit the job. Maybe Java will be the best fit or maybe .Net will be the best fit, but once you choose one then it makes sense to continue using that one technology in most places to standardize your infrastructure as much as possible (software-wise, not necesarally OS-wise).
      --
      Whee signature.
    3. Re:who cares? by VGPowerlord · · Score: 1

      A long time ago, when .net was new, there was this new processor called the "Itanium" that was not backwards compatible with ia32 processing instructions.

      Microsoft was building a version of Windows XP that would run on the Itanium chip.

      Windows would have been truely multi-platform again (which stopped after Windows NT 4.0 for Alpha). .NET applications would run on all versions of XP, while compiled C++ applications would only run on the system they were compiled for.

      Of course, now that Windows XP for the Itanium has died...

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    4. Re:who cares? by Ilgaz · · Score: 1

      Where is .NET runtime for OS X?

      I am not speaking about "geek" (!) stuff. I am speaking about a desktop oriented commercial OS.

      They have recently shipped ThinkFree _office suite_ which can run in browser. Check it: http://www.thinkfree.com/

      It's coded in Java 2 with some propitiatory (but JAVA!) extensions and can work on all platforms. It's not a very simple notepad.jar type thing, thing can save full feature adobe pdf files.

      That is a thing I expect from a "runtime," write it and runs anywhere. I would have a Solaris box, and it could still run (even faster) with exact same features etc.

      It _really_ doesn't make any sense if it runs on win32 only. If we speak about Mono etc... No, nobody will compile a tar.bz2 source...

      Unless there is a .DMG distributed by Microsoft having end user friendly readme, installer in it, Microsoft has different things in mind for .net.

      Lets say. MS office as a yearly subscription service?

    5. Re:who cares? by akhomerun · · Score: 1

      It runs on BSD and on Linux (through Mono), so... uhh... what's your point?

      okay, let's take a running tally .NET:
      Windows
      BSD and Linux through Mono

      Java:
      Windows
      Windows Mobile
      Mac OS X
      BSD
      Linux
      Unix
      Symbian OS
      Solaris
      Palm OS
      20 different brands of cell phones

  46. Re:wow, i expect linux-touting crap when i open /. by Baggio · · Score: 2, Interesting

    I couldn't agree more. And I've been around long enough to know, look at my user ID.

    Why is it when you have an unpopular view point, you're considered a troll. Granted the opinion expressed didn't apply to the article directly, so it might be better modded as "off-topic", but it isn't as if there will be a /. article posted about how much it has been going down hill.

    How else is one going to express their viewpoint? /. seriously needs to return to the site of "Stuff that matters." Instead there are 20 articles posted a day and only a few of them are actually worthy of posting. Maybe there should be a recycling bin page you can go to which has all the drivel, leaving just the good stuff on the front... like a newspaper -- the crap should be shuffled to page 2 or more.

    --
    Time flies like an arrow;
    Fruit flies like a bananna
  47. Hail /. ! by Anonymous Coward · · Score: 0

    The first post pokes fun at Windows +5 funny. The second post pokes fun at Linux -5 Troll.

  48. M$ FUD? by rjshields · · Score: 1

    TFA is blatantly biased to .NET, it's written on an MSDN blog for goodness sake. It's not what I'd call a fair comparison.

    I mod TFA -1 Troll.

    --
    In this world nothing is certain but death, taxes and flawed car analogies.
  49. Interoperability? by Bandit0013 · · Score: 1, Insightful

    Am I reading this correctly? A common claim from the java crowd for superiority is how it has better interoperability? That is one of the least important things in a business today.

    If you look at the statistics Windows 2003 server is really catching on with businesses, that advances the .NET platform.

    There's this thing called XML web services, if you've been living under a rock or just plain closed your eyes to the real world this means that you can communicate with any system, so Java as a web platform has lost its major advantage it once had over MS products.

    In fact, the ease of installing a server, the cleanness of .NET, power of ASP .NET means that in a company you can now embrace your beloved linux for the worker desktops, have one microsoft server running ASP .NET / SQL Server, and service the entire company with one application that is cheap and easy to build.

    That is why .NET is starting to knock the socks off java in the business world.

    For client side apps java is still the winner for multiplatform... but outside of handhelds it's largely irrelevant b/c Windows dominates the desktop market.

    1. Re:Interoperability? by CrazyLegs · · Score: 2, Informative
      Dude.... I gotta comment. I'm a senior architect at a very large multi-national back and I can attest that (in our case):
      • Java interoperability is extremely important. It's not about running the same code on different platforms, though. It's more about being able to switch out the platform when we need to (e.g. going from Wintel servers, to Linux and z/OS)
      • .NET is not knocking the socks off of Java. They are both shaping up to find their places. In our org, anything we write is Java (any tier, including clients where balls-to-the-wall performance is required). When we buy stuff, we look at Java (very few products) and .NET (more products).
      • Web Services are simply grand. But someone please wake me up when there's a full-featured implementation that's interoperable. Until then, Java has not lost any advatange here (if there ever was an advantage here).
      • your comments about 'beloved Linux desktops' simply describes the power of a Web interface, which is not specific to ASP.NET. Incidently, a Web interface is not always the right solution, so how does the Linux front-end play with the Windows back-end there?
      Not trying to diss you here. Just trying to give some perspective from this corner.
      --

      CrazyLegs

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

    2. Re:Interoperability? by Bandit0013 · · Score: 1

      Microsoft .NET Adoption Among Large Enterprises Now Surpasses J2EE Adoption "Microsoft .NET adoption is now exceeding J2EE adoption as the preferred development platform for large organizations. While the two technologies will continue to co-exist, in less than three years since its initial release, the .NET Framework has quickly gained critical mass according to several recent analyst reports. Forrester Research reports in their independent study that .NET is now preferred by 56% to 44% over J2EE in North American firms as their primary development platform. Finally, Gartner also reports in September 2004 that Microsoft leads in Web Services vision and ability to execute, placing Microsoft .NET as the overall winner of its Web Services Magic Quadrant analysis." So the comment that .NET is knocking the socks off J2EE is fairly relevant considering they started from square 1. Now, I'm still going to disagree that interoperability is all that special. "Switch out a platform when you need to"? Switching out a platform is damn expensive, and in general I've found that developing things to be able to be "switched out" with minimum pain is also damn expensive. For the majority of businesses out there, switching out is something that simply does not happen often, if ever. Agreed, web services are still in the growth stage. They're perfectly interoperable if you don't return datasets and instead return standard xml. They are the interoperability killer because most businesses prefer not to share their implementation details even with partners if they don't have to. Webservices and SOA architecture also solve the whole "linux front end playing with the windows back end". The beloved linux desktop was a bit of a troll I admit, but I do agree with the linux community that your average peon probably doesn't need to be paying a load of money for a windows license. However, the microsoft servers and development tools are easy, user friendly, have a broad install base, tons of support available, and ultimately make development teams more productive. I love how people jump on the eclipse bandwagon while bashing MS for copying ideas from other vendors when eclipse copied and extended ideas from visual studio.

  50. Cleint or Server security? by Jasin+Natael · · Score: 1

    If we're comparing these two languages for security, I'll suggest an easy fix for Sun:

    Introduce a Secure Mode runtime environment on the server side (for Enterprise JavaBeans and whatnot), and then enforce the same security rules on apps that connect to it. Sure, you'll give users the option of breaking some key classes, but it'd be too difficult to force an update for security. This would give developers the option of increased security without hurting them too much. Java has been about forcing developers to adhere to good-practices design from the beginning, so get hopping on Java 5.0 Security Edition!

    Jasin Natael
    --
    True science means that when you re-evaluate the evidence, you re-evaluate your faith.
  51. What is with all this willful ignorance? by tommck · · Score: 2, Informative

    MSFT has ported the .NET Framework to FreeBSD themselves!

    AND, Mono and .GNU run on many platforms (Linux, Windows, BSD, OSX and Solaris). As long as you don't use System.Windows (the desktop app stuff), you can do cross-platform development in many languages!

    I have written GTK# apps in VS.NET and run it on my Windows and SuSE box with ZERO modifications.

    If you want to bash something, you should probably learn a bit more about it. That's the reason I read the Bible multiple times: so I can refute Bible thumpers' arguments.

    --
    ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
    1. Re:What is with all this willful ignorance? by Anonymous Coward · · Score: 0

      Please point to one, just one, company that actually uses Mono. If your are going to go to a microsoft shop, then they are going to be running windows.

    2. Re:What is with all this willful ignorance? by tommck · · Score: 1

      Uhh.. how about SourceGear?

      You know.. the guys who wrote Source Offsite to let people access SourceSafe remotely...

      Their product, Vault (http://sourcegear.com/vault/index.html), uses Mono when it runs on Linux and .NET when it runs on Windows.

      Any other things you'd like me to point you to? Like the "Login" button?

      --
      ---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
  52. System.setSecurityManager() does this... by Anonymous Coward · · Score: 1, Informative
    More right here:

    Writing a Security Manager

    You can just do this at server startup and lock it down as much as you want.

    -- ac at home

  53. Totally bogey by midnighttoadstool · · Score: 1
    Security in Java is multi layered and complex, you cannot possibly cover all its faces.

    Complexity is itself a security issue, and it is a bad thing for Java's security model to be described this way. The latter part of your sentence proves the point.

    ".Net" managed code is very rare and all .NET applications I know of (that are real applications) use native code thus removing any sense of security.

    Most desktop applications aren't candidates for serious security. Server apps almost always need serious security, as do browser applets. So, Mr Coward, your comment needs qualification if it is to be useful.

    Java has had years of full source code visibility (not open source) and had several holes plugged by the community, .NET has no such thing.

    This comment is at a tangent to the study's remit, which is the design of .NET/Java. They only use the comparison of flaws to suggest their hypothesis, not to prove it.

    Saying that .NET is more secure is just about the stupidest thing someone can say

    The nature of this assertion is self-describing, in any context, since one would have to know all possible stupid statements which is impossible since there are an infinite number.

    I am surprised that your post recieved such high mod points, particularly as you are a coward.

  54. Oops by kelzer · · Score: 1

    That was supposed to be Scheme, not Schema. Sometimes my fingers have a mind of their own.

    --

    ---------------------------------------------
    SERENITY NOW!!!!!!!!!!!!!!!!
  55. Who modded this Insightful? by rjshields · · Score: 1

    The comments about Java and OOP are misinformed. Do you really expect .NET to ever be cross platform? I wouldn't hold my breath.

    Your post is an effective Troll.

    --
    In this world nothing is certain but death, taxes and flawed car analogies.
  56. PFMUTA blocks by greg_barton · · Score: 1

    As far as I can tell, the authors of the study fail to mention that .NET can define "unsafe" code blocks.

    Or, as I like to call them, "Please Fuck Me Up The Ass" code blocks.

    1. Re:PFMUTA blocks by xanatos367 · · Score: 1, Informative

      Hey, suprise. unsafe code blocks affect the apps security settings. What was that thing called in Java? JNI? Yeah, that was it.

    2. Re:PFMUTA blocks by greg_barton · · Score: 1

      What was that thing called in Java? JNI? Yeah, that was it.

      Oh, right. I guess next you'll argue that opening up a shell and launching another app from Java is also a security risk.

      'cause that's basically what you're doing with the JNI. It's just a bit fancier.

      And, did you know that when you copy data back from native code execution, you've got to go through all of the standard security checks, bounds checking, etc.? And, way before that, loading of the native library is subject to approval by the SecurityManager?

      Ah, but you wouldn't care about those little details. You're a .NET jockey, right?

  57. XHTML and asp.net 2.0 by blowdart · · Score: 1

    asp.net 2.0 (and it's not a vs feature really, it's down to the controls built into the framework) are, finally, xhtml compliant. You can set a switch in web.config to use transitional or strict. There have been a few bugs (including one I reported) which are marked as fixed for release and I've done, as a learning exercise a site that is XHTML compliant with little effort in VS2005.

    The effort comes in things like the membership controls, which, by default are table based. This kind of makes sense, because they won't know which stylesheets you're using for layout purposes. However there is the option to template these controls, which means you right the HTML yourself, but the backend is still provided by the built in controls. The only control I've found that refuses to give up a table is the wizard based "Create new user".

    There are still problems with VS2005, niggles like style sheets not displaying if they're "included", nested master pages killing off GUI editing and so on, but nothing I've found that will kill XHTML, unless you're on a downlevel browser where will make a best attempt to spit something that renders.

    The downlevel browser thing is a pain though, as the W3C validator isn't known to asp.net, so it will spit out XHTML transitional, despite your DTDs. To fix it you can add a .browser file to explain to asp.net that the validator knows what it's doing. I produced one already, and provided it with some documentation for download.

  58. I'm glad the word is getting out by callipygian-showsyst · · Score: 3, Interesting
    saying that due to careful design process, .NET presents security advantages over Java platform in several areas

    Microsoft did an excellet job with .NET. While we all like to make fun of Ballmer jumping up and down and saying "Developers...", Microsoft actually means it.

    Their tools, concepts, and design are *way* ahead of, say Xcode and Objective-C. It's painful for me when I have to do Mac development because everything's so backward.

    I would love it if other companies starting implementing C#/.NET/CLR products based on the ECMA standard (unlike Java, C#/.NET has been accepted by a neutral standards committee)...this would prevent Microsoft from changing the language drastically from release to release.

  59. In addition by doc+modulo · · Score: 2, Insightful

    .NET is Free source (as in free speech, mono or dotGNU)

    Java isn't

    --
    - -- Truth addict for life.
    1. Re:In addition by VGPowerlord · · Score: 2, Informative
      .NET is Free source (as in free speech, mono or dotGNU)

      Java isn't

      That's right, there's no open source Java solutions. You also can't download the source code.

      Oh wait...

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    2. Re:In addition by Anonymous Coward · · Score: 0
      So you're saying that Java isn't free? What about the free implementations (like Kaffee)?

      Sadly, these free versions of Java aren't quite feature complete; none of the applications I've written seem to compile under them. I have to keep falling back to Sun's version for complete libraries.

      But is .NET that different?

      Last night, I tried creating a VB.NET application using the latest release of Monodevelop. It wouldn't compile because of three funky errors. And this was code autogenerated by Monodevelop.

      Similarly, I've downloaded Mono and CSharpDevelop on my Windows box - the same one that runs .NET - and have never gotten it to work with Mono.

      From my perspective as a user, .NET is pretty much on the same footing as Java: there may be "free" alternatives available, but they're not stable to do production work on.

    3. Re:In addition by doc+modulo · · Score: 2, Interesting

      Java is mined with software patents. The core of .NET was submitted to an international standards body which won't let any submissions be encumbered by non-freedom-adjusted patents. It would make the standards body irrelevant.

      In other words, Sun could pull the plug on an open-source rival version of Java in the US and Japan if it becomes the dominant programming platform. Microsoft won't be able to pull the patent card on the freedom versions of .NET

      Sun better shape up, they're losing, it's only guys like you that haven't caught on to the trap/mine that's keeping Java on the marketing/hype list #1

      In my humble opinion.

      --
      - -- Truth addict for life.
    4. Re:In addition by juhaz · · Score: 1

      The core of .NET was submitted to an international standards body which won't let any submissions be encumbered by non-freedom-adjusted patents.

      Not really.

      The international standards body makes no such limitations, the only requirement is that the patent license is available under "reasonable and non-discriminatory" terms. But what's reasonable for a corporation isn't always reasonable to freedom, there are bajillion ways to fulfill that and still prevent Free Software. Sub-licensing prohibition alone is quite reasonable in corporate world, but will royally screw any open implementations.

    5. Re:In addition by doc+modulo · · Score: 1

      I still think the part:
      [allowing non-freedom-adjusted patents]
      "It would make the standards body irrelevant."
      is true in an open-source world. A software standard just can't be patented, it just isn't a standard anymore if it is incompatible with freedom source. If the standards bodies don't adjust their policies quickly, they will be made irrelevant by the de-facto standards body called the freedom source internet community. I don't care if that happens but they might.

      In addition, smart people won't choose to go into software development in countries that have software patents. It's just not smart to do it because smart people realize that software is such an interconnected web of ideas that programming without patented ideas is impossible in such a country. It's too difficult to filter them out of your program because it's got so many connected ideas and even if you could filter out the patented ideas, the remaining stuff is dependant on the ideas that are missing.

      Patenting ideas or discoveries is illogical anyway. Patenting designs/implementations for a limited period is a bearable compromise.

      If the US and Japan don't abolish software patents soon they will become software third-world countries in the long run.

      In my humble opinion :)

      --
      - -- Truth addict for life.
    6. Re:In addition by cranos · · Score: 1

      freedom source

      Can we please get back to calling it French Sauce? Yeah Freedom Fries was funny but this is just silly

  60. Good try, but no by hao2lian · · Score: 2, Insightful

    The main reason to use Java is that its cross-platform. If you think Microsoft's plan is to lure over Java developers to a platform that's locked into Windows from a platform that runs on who knows how many platforms, you have another thought coming to you.

    --
    Pelé!
  61. Give up far too quick by Blitzenn · · Score: 1

    It's too bad you gave up. Thanks for the link though. I wouldn't argue the google project is good and cool and easy to use, but the Nasa project is many many times more rich and featured thatn the google viewer. Perhaps it's the depth of the available content in the Nasa project that makes it so much larger, but it is worth the extra effort of installing it. It is really cool. The best world viewer I have seen to date. I don't care if it's MS driven or whatever, the content in it makes it a worthwhile investment in the time it takes to download it. Fancy, EULA's? I only had to update the Directx portion of managed code, it took a few seconds and then install the application, seven clicks as I counted it. GTA San Andreas was a harder install than that as it was eight clicks. George Jetson syndrome maybe?

    1. Re:Give up far too quick by Anonymous Coward · · Score: 0

      I wondered that, from the demo I saw it seems to have weather and better depth but no route planner or buildings.

      But I have Google Earth and only wanted to see the mountains in better depth, it was barely worth the 180MB download. As soon as it starts needing a newer version of .NET and DirectX upgrades, fuck it.
      Its just not worth the it.

      Nasa World wind only works on Windows anyway, so why didn't they just compile native code!

      "Fancy EULA?" Yes, I like NASA, I trust that an EULA from NASA won't screw me over. I don't trust Microsoft, I've seen MS EULA's with non-compete clauses from them (components), I've seen EULA's with non benchmarking from them (databases), I don't see why I should have to accept a Microsoft EULA to run a NASA product.

      Fuck it, spickier mountains just aren't worth the grief.

  62. article misses important points by micromuncher · · Score: 1

    In NET, you can complete subvert the security manager.

    Java has evolved to be rock solid where net has only started to have people pound on it (nice chart tho, comparing a 95 deploy to and 05 deploy - I guess its like comparing Windows 95 sales to Windows 3.1 sales - musta been some product to outsell 3.1... (btw this is a not so subtle sarcasm)).

    --
    /\/\icro/\/\uncher
  63. Lies ! mod him down plz .... by Anonymous Coward · · Score: 0

    The reason is that Rotor is not .net !
    It is a the core part of .net submited to .net.
    But it dones not contains all the major API that are required to build complete enterprise solutions ...

    Rotor is just nothing but a PoC of the ECMA submission that it all ;-)

    Sorry MS zeelot, but difference between you and us is that we analyse and test the things that PRs push :)

    Really, I mean, if you are already using Java, .net is point less. If you are colding old MS MFC and ASP and all that b*llshit ... then maybe it is better to have a look at .net platform if you are still keen on staying platform locked and vendor locked. It is your choice man ...

  64. What about unsafe code by gregluck · · Score: 3, Informative
    C# includes the "unsafe" keyword to allow a block of code to run outside the verifier.

    The study authors say "Since a security policy cannot be enforced on unmanaged code, we only consider managed code." Given that most C# applications use unmanaged code, they are potentially vulnerable to buffer overflow attacks and the like.

    C# has been criticised repeatdely in the security community for this feature. Java always runs in safe or managed mode and is therefore more secure than C#.

    For more on what unsafe code means see http://msdn.microsoft.com/library/default.asp?url= /library/en-us/dncscol/html/Csharp10182001.asp

    That the authors of the paper make conclusions about C# security, while deliberatley excluding a gaping hole, and the papers appearance on an MS site leads me to the belief that the paper was probably sponsored by MS and they directed the study authors to exclude unmanaged code from the scope.

    Bill Caelli, one of the world's leading security experts, humiliated a Microsoft representative over unsafe code and stated that "Microsoft had missed an historic opporunity to improve security in their products".

    1. Re:What about unsafe code by Anonymous Coward · · Score: 0

      "Java always runs in safe or managed mode and is therefore more secure than C#."
       
        That has no sense. Java security is more restrictive but no more secure for that reason. The key is the quarranty that the VM will only run safe code. Nobody cares if you can also write unsafe code, the VM cant be enforced to execute that so is only another option and if you choose that you know what you get.

    2. Re:What about unsafe code by kard · · Score: 1

      excuse me, but have you ever written a java program?

      it's possible to write 'unsafe' code in java too...

      come on, think about it.
      EVERY language has to allow the possibility to write native (out of the sandbox) code.

      otherwise how do you want to write ANYTHING that interfaces with the underlying machine?

      in java, you use JNI (java native interface).

      you mark a method in your class as 'native' and implement it in C.

      and yes, if you do something stupid in that C code,
      THE WHOLE JAVA VIRTUAL MACHINE WILL CRASH!

      in .NET you have multiple options to write native code as far as i know..

      but you know what?

      it's NOT important.

      because when you execute .NET code, you can restrict your virtual machine to only run safe-code.

      so when you try to run a .NET program that contains unsafe code, it will not start.

      afaik there's something similar in the java world.

      so this whole 'java is more safe because .net has _unsafe_ is complete bullshit.

    3. Re:What about unsafe code by StrawberryFrog · · Score: 1

      Most C# applications use unmanaged code, they are potentially vulnerable to buffer overflow attacks and the like.

      Can you justify that claim? How about a source for that unsupported almost-statistic? I've seen a fair amount of C#, and little to no unsafe code used.

      C# has been criticised repeatdely in the security community for this feature. Java always runs in safe or managed mode and is therefore more secure than C#.

      The fact of the matter is that any language needs to be able to interface with libraries in other languages, and the rest of the world in general. The other fact is that those interfaces are predominantly in c-language style, i.e. use pointers left right and center. Java communicates with such libraries via the Java Native Interface (JNI). C# does it in unsafe code blocks. Both are ways of accomplishing this necessary task. Both are as big "security holes". Which is easier to use?

      Given that most C# applications use unmanaged code, they are potentially vulnerable to buffer overflow attacks and the like.

      So if there's one line of unmanaged code in a C# app, then the rest of it is also suddenly vulnerable to buffer overruns? It doesn't work like that. You might as well argue that any Java program that makes a JNI call can be buffer-overrunned at will.

      Since a security policy cannot be enforced on unmanaged code

      Correct, the code with pointers in it cannot be verified. However the verifier can detect an unsafe code block, and refuse to run programs containing such block if there is insufficient rights. Unsafe code should not be and is not given the same security privileges as safe code, thus it is not the gaping hole that you claim.

      Now stop trolling.

      --

      My Karma: ran over your Dogma
      StrawberryFrog

  65. There are at least 9 security flaws in .NET by 51337 · · Score: 3, Informative

    There are at least 9 security flaws in .NET. The paper conveniently dismisses them all as not being part of the framework even though Microsoft classifies them as such on their Knowledge Base. This is only to justify their pretty little chart in the introduction showing that .NET has zero security flaws. If .NET has zero security flaws... nevermind. The paper is deception.

  66. Re:Except... it ONLY runs on Windows by NatteringNabob · · Score: 2, Interesting

    Java runs on Solaris/SPARC, Solaris/X86, Windows, MacOS, and Linux. As soon as Microsoft starts supplying .NET for those platforms, on similar terms to what Sun offers, then I'll consider using it. In addition, a GPL compatible RFND patent license for every 'invention' required to implement .NET and the framework would give them a step up on Java. Until then, I'll pass, thanks anyway.

  67. Re:Except... it ONLY runs on Windows by Cocteaustin · · Score: 1

    Novell supplies it for those platforms already. Given that, why would you want to deal with Microsoft?

  68. not an IDE fan, but... by namekuseijin · · Score: 2, Interesting

    ... i see you never used Borland Delphi.

    Having used many development tools like Emacs, VIM, SciTe, kate, Eclipse, Visual Studio.Net and Delphi, i gotta say Delphi is the best IDE i've used hands down.

    Simplicity and high productivity is the key here.

    You don't have tons of floating dialogues, icons, buttons and drop-downs poluting your interface just for no other reason than to show off and make you feel like your investment was well worth it

    No, just the right form designer, object inspector and class hierarchies, along with the project manager. Less bloat and complexity, more productivity...

    KISS.

    --
    I don't feel like it...
  69. should the language force security? by jonathanduty · · Score: 2, Interesting

    I'm not sure a language forcing security is a good thing. It seems to me writing secure systems is really the responsibility of the development team. Especially since different situations call for different security levels and methodologies.

  70. UVA CS Is Horrible by PickyH3D · · Score: 0
    Talking to those professors is like talking to uninformed children. The majority of them just make up things as they go.

    -I go to UVA.

    1. Re:UVA CS Is Horrible by PickyH3D · · Score: 1

      Someone taking CS at UVA lose a little pride so they had to rate me down? Poor guys. Ah well, at least I know I can out program you idiots who were in a few cases taught that C++ has garbage collection built into it.

  71. far too quick is about right by shis-ka-bob · · Score: 1

    If it took you seven seconds, you clearly didn't read the EULA. So how would you inow if it 'fancy' (or pick any other adjective, you still wouldn't know because you didn't read it.) I am sufficiently paranoid about licenses that I prefer BSD-style licenses to the GPL and the GPL to most commercial licenses.

    --
    Think global, act loco
  72. Re:I'm monopenxourcist on AMD64 recently,3 against by moro_666 · · Score: 2

    at first, mono is no imaginable way more secure than java, java is being tested by millions of programmers, thats why flaws are detected, if mono would have millions of users, it would definetly have an enormous bug database :D

    and now to the real world part, what should i do with that thing you call mono or the windows executable on my 104 node sun server ? stick it up it's ventilation shaft ? read my lips : your toy doesnt scale nor probably even run on it.

    or should i just try to fit your mono into my mobile phone with 1 meg of ram ... i doubt that even the licence agreement of .net itself would fit in there ... .net and mono are completely different from java in every sense, this is a pointless comparision, just the same as if you would compare a rocket with a jet.

    people who cant handle java choose something else. people who dont need java choose something else. i know that java has many flaws but .Net definetly is .Not the answer for most of them. so why go on some fresh born platform when you can choose something that works ?

    bush is more similar with adolf than java is with dotNet.

    --

    I'd tell you the chances of this story being a dupe, but you wouldn't like it.
  73. Re:Except... it ONLY runs on Windows by Breakfast+Pants · · Score: 1

    Novell's implementation isn't as complete nor does it compete on performance.

    --

    --

    WHO ATE MY BREAKFAST PANTS?
  74. I hate to play the creditability card, but... by Bill_the_Engineer · · Score: 3, Interesting
    This paper is a paper from a Grad Student, with an endorsement from Dr. David Evans. These papers (despite what the author may think) are not definative and MUST be contrasted with other papers on the subject.

    With all due respect for the author(s), I have the following questions:

    Why the mis-leading chart so early in the paper? I believe a table may have been more appropriate.

    Why not have more peer-reviewed references? I see plenty of references from MSDN, and some from some conferences. But it looks like most of the arguments are being supported by non-peer reviewed sources.

    Why are there a SMALL number of peer-reviewed articles directly related to JAVA?

    Why are the peer-reviewed articles on JAVA so old? And most likely no longer relevant?

    What is the deployment history of .NET vs. Java? Market share? Security incidents (in the wild)?

    Why the microscopic view of JAVA's flaws and the lack of depth in .NET?

    Why isn't the dangers of native code discussed (.NET or JNI)?

    I do however like the information in Table 3... but what practical advantages do the "finer grained" security functions provided by .NET give the programmer or the end-user?

    I think it is a decent paper that maybe was turned in for an assignment. BTW, if the author has asbestos underwear and reads slashdot. Don't forget a short biography at the end of the paper next time. This gives the paper extra creditability.

    Regards, Bill

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  75. .NET vs Java security......??? by rshimizu12 · · Score: 2, Informative

    This is a really blatantly biased study. I wonder where his grant money is coming from.......??? There is some major flaws with his theory....... He is focusing on .NET framework vulnerabilities. Microsoft tries to act as though the languages and .net api's have had no vulnerabilities. Here is just a few ASP.NET vulnerabilites: " Microsoft ASP.NET URI Canonicalization Unauthorized Web Access Vulnerability (Vulnerabilities) Rank: 1000 Last modified on: 2004-10-05 18:00:00 MDT URL: http://www.securityfocus.com/bid/11342 2 Microsoft Ships Nimda To Korea in .NET (News) Rank: 952 Last modified on: 2002-06-13 18:00:00 MDT URL: http://www.securityfocus.com/news/480 3 Microsoft ASP.NET StateServer Cookie Handling Buffer Overflow Vulnerability (Vulnerabilities) Rank: 944 Last modified on: 2002-06-05 18:00:00 MDT URL: http://www.securityfocus.com/bid/4958 4 Microsoft Visual Studio .NET Debugger Privilege Enforcement Weakness (Vulnerabilities) Rank: 932 Last modified on: 2004-04-15 18:00:00 MDT URL: http://www.securityfocus.com/bid/10161 5 Microsoft Visual Studio .NET Korean Version Nimda Infected File Vulnerability (Vulnerabilities) Rank: 907 Last modified on: 2002-06-12 18:00:00 MDT URL: http://www.securityfocus.com/bid/5012 6 Microsoft Visual Studio .NET msdds.dll Remote Code Execution Vulnerability (Vulnerabilities) Rank: 885 Last modified on: 2005-08-17 00:00:00 MDT URL: http://www.securityfocus.com/bid/14594 7 Microsoft Visual C++ 7/Visual C++.Net Buffer Overflow Protection Weakness (Vulnerabilities) Rank: 882 Last modified on: 2002-02-13 17:00:00 MST URL: http://www.securityfocus.com/bid/4108 8 Microsoft ASP.NET Unicode Character Conversion Multiple Cross-Site Scripting Vulnerabilities (Vulnerabilities) Rank: 879 Last modified on: 2005-02-15 17:00:00 MST URL: http://www.securityfocus.com/bid/12574 9 Microsoft ASP.NET RPC/Encoded Remote Denial Of Service Vulnerability (Vulnerabilities) Rank: 871 Last modified on: 2005-07-11 18:00:00 MDT URL: http://www.securityfocus.com/bid/14217 10 Microsoft ASP.NET Request Validation Null Byte Filter Bypass Vulnerability (Vulnerabilities) Rank: 871 Last modified on: 2003-09-07 18:00:00 MDT URL: http://www.securityfocus.com/bid/8562 11 Multiple Vulnerabilities found in Microsoft .Net Passport Services Rank: 871 Last modified on: 2003-05-07 18:00:00 MDT URL: http://www.securityfocus.com/archive/82/320989 12 Multiple Vulnerabilities found in Microsoft .Net Passport Services Rank: 871 Last modified on: 2003-05-07 18:00:00 MDT URL: http://www.securityfocus.com/archive/1/320808" So the idea that there is no vulnerabilites in .net is bunk at best..... Another problem is that because of the MSDN EULA there has not been any hack challenges or external without Microsoft's permission. A few months ago Windows NT Pro magazine hosted a IIS6 hack challenge and it was mysteriously pulled fromt their site. I tried contacting them, but they never responded to my questions about the hack challenges. The big issue however is that there is architectual flaws in the Windows architecture Microsoft's Blind Spot (http://news.com.com/2010-1071-831385.html

  76. Re:Except... it ONLY runs on Windows by __aaitqo8496 · · Score: 1

    If you wanted performance, why would you be programming in .NET anyway?

  77. And that is the biggest problem. by khasim · · Score: 4, Informative
    It isn't which is really more "vulnerable".

    It is how you define your criteria as to what is "vulnerable" and what is "safe".

    They would have done a LOT better in just sticking to the design of each instead of counting admitted vulnerabilities and patches.

    Microsoft has been known to sit on vulnerabilities for a LONG time (http://www.eeye.com/html/research/upcoming/index. html

    Security starts with the security model. Here is where you'll see patches to disable stuff in a flawed model. You cannot just count the patches here, but they are useful for evaluating the model itself.

    Then that model has to be implemented in code. This is where you'll see bug fixes for code errors.

    The last thing to look at is any application built by someone else on that platform.

    And one last item to consider. Any platform is only as "secure" as the level beneath it. If .Net can be exploited by a vulnerability in Windows, then it can be exploited. This is particularly important because Microsoft builds both platforms.

    Here is where they get it wrong on Java:
    Both platforms need some way of bootstrapping to install the initial classes and loading mechanisms. Java 1.0 used a trusted file path that gave full trust to any class stored on the path. Code on the system CLASSPATH was fully trusted, so problems occurred when untrusted code could be installed on the CLASSPATH [15]. Java 2 treats code found on the CLASSPATH as any other code, but maintains backwards compatibility by using the bootclasspath to identify completely trusted code necessary to bootstrap the class loader.
    So, if Windows is compromised and code inserted to Java to run, then Java is at fault ... but if Windows is compromised and code is inserted for .Net to run, then that shouldn't count because the compromise happened before .Net was running.

    Either you count it as a flaw in both, or you don't count it for either.
    1. Re:And that is the biggest problem. by sethmeisterg · · Score: 1

      MOD PARENT UP!!!!

  78. article seems slightly biased but interesting by hooykaas · · Score: 1

    The age difference is kind of abused in the article in the first graph. It shows that java had many security issues in the first few years, when the security model was not very mature yet and as I understand changed between releases. By shifting the time axis between .Net and java there seems to be a huge difference where java has had many problems while .Net "at the same time" had none. If one would look at the last 3 years the difference wouldn't be so bad (although java had some more). The first few "bad" years of java could be justified by the age difference (different time/focus, .Net could learn from java, etc), but are presented falsely by shifting the time axis and by cumulating all those vulnerabilities of the first years of java.

    It is too bad that the article seems biased in how it presents it's research, because it does seem to look at some interesting issues.

    That being said, most comments here on slashdot seem to be equally biased. I am a big open-source fan and dislike many (but not all) Microsoft products, but like to keep an open mind. As an experienced java programmer, I must say that c# has many interesting features and seems in some ways even better than java, both as language (no checked exceptions, explicit override/virtual keywords) as in the underlying IL. I liked the point in the article about the call/invoke opcodes, which seems cleaner on .NET.

    Disclaimer: I can't claim I read the entire article, but I at least skimmed through it. I am also not an expert on (java) security models or bytecode/IL issues.

  79. Re:Except... it ONLY runs on Windows by Anonymous Coward · · Score: 0

    Because we don't want to use VS 6?

  80. end user here but... by Ilgaz · · Score: 0

    Wake me up when .NET runtime ships in a easy installer on mac, linux and FreeBSD.

    E.g. (speaking for OS X) "net.dmg" sits in microsoft.com/mac , there is installer pkg for it...

    They should spare time to making it true multiplatform (no fink,mono, 2gb of developer tools!) and we see some applications coded with it on all platforms other than making universities abusing their name with stupid donations from microsoft.

    E.g. Virginia.edu server runs AIX. Is there .NET for AIX?

  81. Baloney by Concern · · Score: 1

    This could have been written by a MS PR flack.

    Microsoft did a better job with .NET... better than... VBScript! You remember that, right? On Error Resume Next? Set? Don't Set?

    What Microsoft means is for developers to get locked into a closed, proprietary, patented platform that Microsoft controls. "Neutral standards committee" standardized the steering wheel of the car but not the engine... It is utterly wrong and highly deceptive to call .NET an open standard. Does MS provide full specs and all cross-platform sources for their product? No, they do not. They only give some parts of it, I imagine so that they can fool people like you into not noticing the shackles being attached. Why is it that Mono is spending years reverse-engineering the core APIs and hoping they won't be sued for patent infringement all the while? There is nothing like this in the Java world. This is why Java will still be jumping to new OSs and hardware architectures long after .NET is de-supported.

    Java is mature, fast, and an industry standard. It's taught in universities more than .NET is, and there are many more Java jobs than .NET jobs. .NET may have a future, of course... the world's appetite for version 1.0 and 1.1 Microsoft products seems curiously inexhaustible. But today it's hardly the first language I would tell a young programmer to learn.

    dotNET development tools and 3rd party libraries are immature compared to Java... .NET programmers spend an hour with IntelliJ Idea and weep with envy. There is a mountain of impeccable, production-tested enterprise-class BSD-licensed libraries for Java. If you look at the enormous work the Apache foundation has done, there is nothing in the .NET world that compares to it, though there are things that aspire... and may some day...

    dotNET has some sugar and some cute extra features; it also has some mistakes and pitfalls. It's a vaguely improved Java knock-off, and what it offers in no way compensates for becoming locked into the world's most notorious vendor.

    --
    Tired of Political Trolls? Opt Out!
    1. Re:Baloney by callipygian-showsyst · · Score: 0, Troll
      But today it's hardly the first language I would tell a young programmer to learn.

      On this we agree! I beleive that good computer programmers should well grounded in finite math (set theory, probability), algebra, and the Calculus.

      Intro to programming courses should be taught in a "non-fad" language, like MIX or MMIX. Some exposure to Scheme and other functional languages is appropriate, too.

      Java, however, is completely inappropriate. It's a proprietary fad, very limited, slow and buggy, and not useful except for some niche markets gluing web stuff together.

    2. Re:Baloney by micromuncher · · Score: 1

      A great response to a well thought out rebuttle. You are a f3ck1ng idiot. Proprietary fad? 10 years proven technology. Limited? I've done signal processing to simulation to games. Slow and buggy? Hmmm I wrote a real time databse 100% java. Buggy? Really? I haven't had to code around a Java bug in 8 years. Not useful? 80% of all enterprise apps use J2EE technologies.

      Come on, your last sentance is so out to lunch you really need to take your head out of your 4ss and see what people in the real world are doing, ESPECIALLY the mundane world of enterprise applications. Heard of SAP and JDE?

      --
      /\/\icro/\/\uncher
    3. Re:Baloney by Anonymous Coward · · Score: 0

      Bahaha... You keep your money in a bank, right? Better find a bank that doesn't use it, if you think it's so buggy...

      Oops, you can't!

      That's some fad!

      Hahahaha. I hope MS is paying you to humiliate yourself like this.

  82. hahaha! by Blitzenn · · Score: 1

    " If it took you seven seconds, you clearly didn't read the EULA. "

    And you clearly didn't read my post as I said seven clicks, not seven seconds.

  83. Good that you understand your limits. by HornWumpus · · Score: 1
    But please let the rest of us use scissors with points on them.

    Thank you.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  84. why is the guy modded funny? by namekuseijin · · Score: 1

    he's right.

    --
    I don't feel like it...
    1. Re:why is the guy modded funny? by Anonymous Coward · · Score: 0

      Because "being right" doesn't matter in IT anymore. Having the greater buzzwords is important.

  85. Why Java is scarier than you think by Anonymous Coward · · Score: 0

    Java security involves implementing a buttload of interfaces, which may then implement a "sandbox" policy. Java's reputation for security comes from the (almost) successful implementation of a sandbox for the Applet API in Netscape Navigator. Outside of the "sandbox", Java provides extremely powerful techniques to generate and dynamically load bytecode, techniques that are far easier to use than the equivalent, dlopen/LoadLibrary tricks on the native platform.
    This ease of use leads to ease of abuse. People do stupid things like expose the ClassLoader over the equivalent of CGI in a web RAD platform; this enables access to any file readable by the application's effective id. Hope you're running your app server chrooted! No, I've never seen anybody actually do that, either! And even while this particular exploit has been "fixed", it is but the tip of the iceberg.
    Java has an excellent security architecture -- the problem is that nobody uses it, and those who do are undermined by boneheads.

  86. Re:Except... it ONLY runs on Windows by Breakfast+Pants · · Score: 1

    It doesn't work like that. You can't say "oh .net is slow so performance doesn't matter to people using it." If that were true then you could extrapolate it to say people who use .net would be happy with a free alternative that has no performance (i.e. takes infinite time to run anything).

    --

    --

    WHO ATE MY BREAKFAST PANTS?
  87. If I use too much bold... by tod_miller · · Score: 1

    turn down the volume on your TTS... tsk.

    Sometimes I use italitcs, which I personally find less readable, to seperate out commented code (ha I wrote code, I meant text...lol). If there is a lot I preffer to up the weight on it just to make it easier.

    Now, I would have given you credit, but anyone who nitpicks netiquette on slashdot doesn't give a good impression of himself.

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  88. Re:Except... it ONLY runs on Windows by SComps · · Score: 1
    It doesn't work like that. You can't say "oh .net is slow so performance doesn't matter to people using it."


    Especially when comparing it to java. I use .NET and sure, it does have marked performance issues in some areas--notably load time for the app. Still it doesn't compare to the grinding load times and performance of java. I'll be flamed and told I didn't give java a good enough chance so I'll ask the question now before it's even asked. "How long is long enough?" and "Why should I bother in the first place?"
  89. Oh for the love of God!!! by Anonymous Coward · · Score: 0
    Sorry, I perhaps didn't explain myself well because I think you misunderstood my point. Dynamic typing is as you explained, but dynamical typing has no meaning ;)

    It was a real pain to read this thread and now this?!

    Compare this:
    dynamical
    adjective
          1. Possessing, exerting, or displaying energy: active, brisk, dynamic, energetic, forceful, kinetic, lively, sprightly, strenuous, vigorous. Informal peppy. See action/inaction.
          2. Full of or displaying force: dynamic, effective, forceful, forcible, hard-hitting, powerful, strong, vigorous. See strong/weak.
          3. Disposed to action: active, brisk, driving, dynamic, energetic, enterprising, lively, peppy, sprightly, spry, vigorous, zippy. Informal snappy. See action/inaction.
    with this:
    dynamic
    adjective
          1. Possessing, exerting, or displaying energy: active, brisk, dynamical, energetic, forceful, kinetic, lively, sprightly, strenuous, vigorous. Informal peppy. See action/inaction.
          2. Full of or displaying force: dynamical, effective, forceful, forcible, hard-hitting, powerful, strong, vigorous. See strong/weak.
          3. Disposed to action: active, brisk, driving, dynamical, energetic, enterprising, lively, peppy, sprightly, spry, vigorous, zippy. Informal snappy. See action/inaction.
    Read both carefully. Read it again. Hint: Both are from Roget's II: The New Thesaurus, Third Edition by the Editors of the American Heritage® Dictionary Copyright © 1995 by Houghton Mifflin Company. Published by Houghton Mifflin Company. All rights reserved.

    OK, another hint:
    dynamic adj. also dynamical ...
    This is how a dictionary definition of dynamic starts in The American Heritage® Dictionary of the English Language, Fourth Edition Copyright © 2004, 2000 by Houghton Mifflin Company. Published by Houghton Mifflin Company. All rights reserved.

    Ths point is that dynamic and dynamical are synonyms for God's sake!!

    Incidentally, the adverb dynamically is derived from dynamical, not dynamic. Otherwise it would be dynamicly which it isn't.

    Who the hell is moderating this thread??!

    Can't you see that this misinformed English lesson from the joker who asserts that:

    s = a.plus(b).plus(c).dividedBy(2); A = Math.sqrt(s.minus(a).multipliedBy(s.minus(b)).mult ipliedBy(s.minus(c)));

    is easier to maintain than:

    s = (a + b + c) / 2; A = sqrt((s - a) * (s - b) * (s - c));

    is nothing but a Troll??

    A whole pointless thread because some ignorant doesn't know English and still tries to be a smart ass? Are you mods on crack??!!
  90. HA HA HA HA HA!!!!!! OH GOD!! YOUR KILLING ME!!!!! by Anonymous Coward · · Score: 0

    .net still runs on at least 3 platforms thanks to Rotor, making it 2 better than Java

    I was using Java on Linux, Solaris, SunOS, HP/UX, IRIX, Windows, FreeBSD and OS/360. What about .NET? It runs on every platform as long as it's Microsoft Windows! Wow.

  91. Re:HA HA HA HA HA!!!!!! OH GOD!! YOUR KILLING ME!! by m50d · · Score: 1

    No, you were using it on the JVM. The fact that there's a reasonably good emulator for all the platforms you list is beside the point. Wheras .net can run properly, natively, on windows, freebsd, and at least one other unix.

    --
    I am trolling
  92. Re:wow, i expect linux-touting crap when i open /. by slashdot_commentator · · Score: 1

    "Why is it when you have an unpopular view point, you're considered a troll."

    Its simple. Quality is in the eye of the beholder. More important, the readership doesn't take its metamoderation duties seriously. When a Linux zealot "unfairly" marks off an article as a troll, the metamoderator is supposed to marked him off as unfair. The zealot should start to lose the opportunity to moderate.

    What I see as the problem is that people are so eager to express an utterly unremarkable or weakly humorous post, a good issue is flooded with over a 1000 responses, but only a few are worth reading. , and even worse, a few worth reading is lost in t he chaff. That is the tragedy of Slashdot; it has become so sucessful, it only attracts marginally intelligent geeks who then have to express every incorrect and vacuous opinion. And the current moderation system cannot address this problem.

    Even if you have concientious moderators and metamoderators, there aren't enough to make a difference. Thereby rendering the website as useless. Heck, even when I see a hot button issue, I'm not going to wade through 1000 posts. I just scan until I see five posts that I have strong positive or negative opinions. I never get down to the bottom of the list.

    What I would like to see is an alternate moderation system without a karma mechanism (perhaps running along with the current system.) Let it only consist of two moderation values "props" and "lame". Let that be open to every member, all the time, in unlimited supply, but can only pos/neg one user once per day. Sure, users will try to abuse it, but they will be compelled to read every article they "lame". People can then filter based on the voting of the entire readership. The win is that I don't have to go through 1000 posts to make the current moderation system work.

    Even better, allow users to filter their rankings based on who's making the rating. The newbs and non-account holders need a generic rating to filter worthwhile messages. The "real" readers can take out the trolls with the "friends/foes" feature. The "moderation" data should be cacheable, and the reader can yank it down and process it on their PC if they want it. Hopefully, that wouldn't overly tax server resources.

    The real problem is that mangement doesn't give a damn anymore. Its apparent from the quality of stories, the increase in duplicate stories, and this current, broken system.

    Can anyone recommend a Slashdot alternative? I really only look at Slashdot now to get a glimpse of a newsworthy geek item. Publication mags just don't do it, and Kuroshin is a tad too dry for my tastes. If enough primary source websites start to RSS, I may just setup a screen to get information that way.

    --
    There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
  93. Re:HA HA HA HA HA!!!!!! OH GOD!! YOUR KILLING ME!! by Anonymous Coward · · Score: 0

    Was that supposed to be funny or are you really such an idiot? Both Java and .NET apps need runtime environment to work. Your semantics masturbation won't change the fact that I can run Java programs on more platforms than I can run .NET programs on. Period. And THAT is what matters, not what is more "native" than something else. In other words, .NET programs work on less platforms but where they work they are more "native" so it somehow makes it more portable is pure bullshit and you know it.

  94. Re:Except... it ONLY runs on Windows by Anonymous Coward · · Score: 0

    If that were true then you could extrapolate it to say people who use .net would be happy with a free alternative that has no performance (i.e. takes infinite time to run anything).

    And it would still be faster than Microsoft .NET running on XP.

  95. Re:HA HA HA HA HA!!!!!! OH GOD!! YOUR KILLING ME!! by m50d · · Score: 1
    Both Java and .NET apps need runtime environment to work.

    .net doesn't. You can compile it to native code.

    Your semantics masturbation won't change the fact that I can run Java programs on more platforms than I can run .NET programs on. Period. And THAT is what matters, not what is more "native" than something else.

    If what you're doing with Java counts as running then I can use Bochs to run .net on any platform.

    --
    I am trolling