Slashdot Mirror


Essential .NET, Volume I

hmobius writes "In a world where developers are baying for customers' attentions, very few people can claim to command that of the developer. Their blogs may be the only clue to the higher level of thinking that they operate at, creating the answers to why and when code works in addition to the perennial how. Whether he likes it or not, Don Box is one such system-meister. He may dislike writing books, but when one comes out, people pay attention and read. His first foray into text, Essential COM, was the book to explain how COM worked, and his latest, Essential .NET, takes the .NET Framework's Common Language Runtime (CLR), and does exactly the same." Read on for the rest of hmobius' review. Essential .NET, Volume One author Don Box with Chris Sells pages 400 publisher Addison Wesley rating 8/10 reviewer Dan Maharry ISBN 0201734117 summary Great in-depth look at the CLR, but not for developers aiming to better their skills.

After chapter one's history of the evolution from COM to the CLR, the book takes a bottom-up approach to the CLR, starting with a deep and detailed six chapter look into the core elements of the platform. Chapter two begins with assemblies, the programmatic units in the CLR, and the implications of their construction. We learn how they are versioned, loaded and built, and why therefore they may be written in as many .NET languages as required. There's real depth to the material here -- you really do touch the bottom of the abyss, so to speak -- but it's countered with occasional levity that keeps this a readable book instead of a dense reference manual. The same is true of all the text. To wit, there's even some irony; "To allow old dogs to avoid learning new tricks, there is finalization," he declares in the next section on the Common Type System.

It's here that we discover how different types and interfaces are distinguished from themselves and from one another, and how their variations and relationships are kept separate by the CLR. It's refreshing to note that the proverbial big picture is never very far away from the commentary. After taking time to explore the avenues for types and interfaces, Box notes that types themselves aren't very interesting until you start working with instances of those types, and we're off again working through another thirty pages on how object instances preserve a sense of identity, how they are cast into other types and how they incorporate themselves into the concepts of reflection and metadata. Only then do we look at the actual lifecycle of an object, its creation, modification and disposal. The attention to detail is great, and there's little ambiguity in the text, but with that comes a slowness to this section that may leave readers frustrated.

One recurring theme of the book is the idea that while there is a very proper way and set of rules for doing things, there will always be circumstances in application development which call for exceptions to be made to those rules and made possible by .NET. This is true at a small scale and, as chapters six and seven prove, at a large one too, covering as they do how the CLR calls and runs methods first on a single machine and then over a wire. How does the runtime treat methods called explicitly, implicitly through a delegate, asynchronously, or as a combination of the three? How do remote calls and types bridge whatever gaps they must cross and activate the remote objects and methods they're targeting? The answers are here.

Essential .NET reflects Box's pride in .NET and also his slight dissatisfaction with it. You can sense that while he knows .NET version 1 is an improvement over COM, it's not as good as it could be and things are still be done in v2 and beyond. Chapter eight's look at AppDomains and in particular its discourse on threading within and through AppDomains is a good example of this. Meanwhile, we finally come full circle in our investigation of the CLR, seeing how the assemblies we built in Chapter 2 are resolved and executed within AppDomains. Exceptions to rules being included, we also see how objects references are marshaled across AppDomains for inter-application communication if this is required.

The last two chapters look at wider topics around the CLR in as much detail as they can for topics which have entire books dedicated to just them. Chapter nine covers code-access security and chapter ten topics which are not of the CLR but which be can be addressed from within a .NET application: explicit memory management, using p/invoke to import COM methods from DLLs and so on. Both are concisely written and to the point, but unsurprisingly leave you feeling like there's more to these topics than is covered here. Chapter nine is a great and clear introduction to code-level security, for example, but you'll get a lot more out of Michael Howard's book, Writing Secure Code if you want to know more.

Essential .NET isn't an easy read but everyone should try to read it at least once. Focusing on the CLR itself and how it deals with the components of an application means that it truly is aimed at the community of .NET developers as a whole (including those building and using alternate implementations of the CLR). The provided code examples are expressed in C#, but this is incidental, really, and won't stop VB.NET, J# or any other developers getting a great deal out of this book.

This is a dense, complex volume that requires a fair amount of effort to understand and use, and to some extent this may put people off. On the other hand, it is so packed with great nuggets of information that they may be inspired to keep reading. Of course, there is the question of whether this book will actually improve your .NET development skills, but in riposte, you can honestly say that no volume details the CLR and its potential so well, and that this alone is worth the book's cover price.

You can purchase Essential .NET, Volume One from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

286 comments

  1. Essential .NET? by James+A.+A.+Joyce · · Score: 2, Funny

    Isn't that an oxymoron?

    (Thank God I got that joke out of the way.)

    1. Re:Essential .NET? by msheppard · · Score: 0, Redundant

      Or is it redundant?

      M@

      --
      Krispy Cream is people
    2. Re:Essential .NET? by Anonymous Coward · · Score: 0

      Damn you, you beat me to it!

    3. Re:Essential .NET? by Sir+Joltalot · · Score: 1

      Hoh man, that's the exact first thing that came to my mind too =)

      --
      "Caffeine is not an option. Caffeine is a way of life."
    4. Re:Essential .NET? by tempny · · Score: 5, Insightful

      Jeez, as a technical community can't slashdotters resist making dumb jokes that have been made millions of times before and actually pay attention to the content of something that could be relevant to many of us? I want to see a first post that's not an easy and bad joke for once.

    5. Re:Essential .NET? by Foofoobar · · Score: 0, Troll

      Well considering how much you post in support of Bill and his buddies, this does not come as a surprise that you would find anything anti-microsoft as anything but an insult. Tell you what, you convince Bill and his buddies to make .NET cross platform compliant and we may just convert. As is, .NET only works on windows with LIMITED support of BSD.

      --
      This is my sig. There are many like it but this one is mine.
    6. Re:Essential .NET? by Anonymous Coward · · Score: 0

      .NET is cross platform in that the code written for it will compile on other platforms. The only thing that you need is an implementation of CLR for your system. CLRs for various flavors of Linux and UNIX have been written and are available.

    7. Re:Essential .NET? by tempny · · Score: 1

      I only post in support of "Bill and his buddies" because I work in an almost all-MS environment. I don't like this unfortunate fact and I have a lot of respect and love for 'nix and the associated technologies, but I'm also exposed to enough MS stuff to know that it's not as cartoonishly buggy/insecure/evil as Slashdotters make it out to be. Thus, I feel some need to play devil's advocate. The fact that .NET is not cross platform dissappoints me incredibly as it does you, but it does have it's merits. As for my above comment, it was just irritation at a bad joke.

    8. Re:Essential .NET? by Anonymous Coward · · Score: 0

      Which is why my coworker took something that he coded, compiled, and ran on his linux box and ran it on a windows machine at work with no trouble at all?

      It IS already cross-platform.

      Why don't we discuss technology based on its merits rather than resort to MS bashing.

    9. Re:Essential .NET? by erasmus_ · · Score: 1

      Of what possible use would it be to Microsoft to make .NET cross platform? Windows is their platform, and that's the one they're going to support for the foreseeable future, because that's what makes sense to them. You may have an issue with this, but just because something sounds good, doesn't mean it makes good business sense for a company.

      It's like saying "Tell you what, you convince McDonalds to give their secret burger recipe to Burger King, and I just might start eating there." Umm, no, you won't, because if you like McDonalds, you would've already been eating there before, regardless of whether they made their burger platform open-source.

      --
      Please subscribe to see the more insightful version of th
    10. Re:Essential .NET? by Foofoobar · · Score: 0

      Oh so he coded it in .NET and made sure ti worked on his Linux machine and then also ran it on his Windows machine? Highly unlikely since Microsoft themseleves stated that .NET doesn't run on Linux. Care to try for door number 2?

      --
      This is my sig. There are many like it but this one is mine.
    11. Re:Essential .NET? by Foofoobar · · Score: 1

      It's absolutely NO use to Microsoft to do that but when they are losing the server market because of it, you'd think they might learn a lesson.

      Let's take for example SQL Slammer. 30,000 servers went down as a result and 35% of them made the switch. With that switch, all those techies had to rebuild all the day to day apps that the company used to make them compliant with the new platform. The companies learned a valuable lesson as did the techies... be cross platform whenever possible.

      So now businesses and techies are increasingly demanding al business apps that they use on servers to be able to run in any environment that they switch to.

      So yes, Microsoft can decide not to change with the times if they want... but as an example, only 25% of the web is run using IIS while nearly 70% runs Apache and that number is getting bigger every month.

      So Microsoft and it's drones can continue on their self destructive path but people have seen the light and that light is cross platform compatibility.

      --
      This is my sig. There are many like it but this one is mine.
    12. Re:Essential .NET? by Anonymous Coward · · Score: 0

      It's obviously not what the other /. users want...

    13. Re:Essential .NET? by Anonymous Coward · · Score: 1, Interesting

      Sorry, but this is my first comment, and I dont feel like signing up.

      You feel trapped in an all MS house? Try an all Borland house. I used to be pro-borland, semi-anti-MS where it made sense, but Ill tell you what... I would happily murder all of the children of a large household just to be able to use MS tools instead of Borland at my place of work.

      As time goes on, they constantly show how much garbage they are.... version after version after version of everything. And good luck finding anything useful on google groups, or anywhere for that matter, if you need some help on something Borland. I find most of the time, if I do find anything, it is post after post of people with the same issues, but never a response.... and the Borland engineers are elitist assholes... to them, their "shit dont stink", and if there is a problem with their software, it must be YOU.

    14. Re:Essential .NET? by zurmikopa · · Score: 1

      Who's the more whorish, the whore or the whore that points them out?

      note: the above is not to be taken seriously

    15. Re:Essential .NET? by Foofoobar · · Score: 1

      I work in an all Microsoft environment too... in fact we are across the street, 98% of our business depends on them and the VP are constantly in here (ran into Steve Ballmer in the halls). But I was able to prove and show that Apache, PHP and MySQL were better options for our website. Though they wouldn't let me run Linux or BSD, I'm still pleased I was able to make this much headway. It all has to do with showing the management how much they potentially stand to lose; use the sql slammer dilemna, use the sql insertion problem, use the platforms security risks or whatever but if you show them that it is in their best interests and can come up with a dollar number that they will save over 5 years, they will switch.

      --
      This is my sig. There are many like it but this one is mine.
    16. Re:Essential .NET? by Anonymous Coward · · Score: 0

      Troll. Let's hear YOUR funny joke.

    17. Re:Essential .NET? by undef24 · · Score: 1

      90% of all statistics are not true.

      Where did you find these figures? 10,500 servers changed from sql server? I imagine they just applied the patch that had been out for 6 months and carried on.

    18. Re:Essential .NET? by Foofoobar · · Score: 2, Insightful

      Well lets look at a few stats shall we? In 2001 according to vnunet, code red and nimda knocked out over 150,000 websites running on over 80,000 servers running IIS. The next month (according to netcraft.com statistics) approx 380,000 machines switched to Apache. Granted the vast majority of these could have just decided to run Apache on windows though this is extremely unlikely.

      In January of 2003, SQL Slammer took out over 30,000 machines running SQL (alot of them unknowingly thanks to Microsoft). Even Microsoft itself was taken offline due to the worm. Since then, Microsoft has lost 1% of it's server market to Apache. Again, everyone could be using Apache on Windows, though again, highly unlikely.

      I actually think I lowballed my stats by saying that 30% switched and obviously from the statictics, one can easily assume a much higher number but it is hard to take into consideration which are 'switchers' and which are new servers.

      Either way, the stats speak for themselves fairly well.

      --
      This is my sig. There are many like it but this one is mine.
    19. Re:Essential .NET? by Anonymous Coward · · Score: 0

      Oh so he coded it in .NET and made sure ti worked on his Linux machine and then also ran it on his Windows machine?

      Yes.

      Highly unlikely since Microsoft themseleves stated that .NET doesn't run on Linux.

      Maybe highly unlikely, but he did it.

      Care to try for door number 2?

      No thanks, I like whats behind door number 1 better.

    20. Re:Essential .NET? by Anonymous Coward · · Score: 0
      Jeez, as a technical community can't slashdotters resist making dumb jokes that have been made millions of times before

      geez, loosen up your corset. I thought it was good for a laugh.

    21. Re:Essential .NET? by Anonymous Coward · · Score: 0

      In January of 2003, SQL Slammer took out over 30,000 machines running SQL (alot of them unknowingly thanks to Microsoft). Even Microsoft itself was taken offline due to the worm. Since then, Microsoft has lost 1% of it's server market to Apache

      So, because SQL Slammer took out some *database* servers, people switched their webservers from IIS over to Apache? What drugs are you on? In any case, the Netcraft stats only track websites and servers that are publicly available. There would be a heap of intranet sites, running on Windows servers which Netcraft would never see.

    22. Re:Essential .NET? by aug24 · · Score: 1
      What the hell's wrong with doing dumb jokes? Does your mouse finger get tired from scrolling the first 50 lines out of the way? Live with it - hell, try and enjoy it!

      Anyway: I agree with him! Why does anyone use a language choice that ties you into a hardware choice that ties you into no licensing choices!

      J.

      --
      You're only jealous cos the little penguins are talking to me.
    23. Re:Essential .NET? by Foofoobar · · Score: 1

      Yes because their database went down they WOULD switch. The reason being is because the flaw was within the OS itself! Microsoft has special functionality built into ALL Windows OS'es that is turned on automatically that SQL Slammer monopolized upon. In one vnunet article, over 2000 servers had switched over to a different operating system the next day.

      And yes, it is impossible for netcraft to see intranet servers but the stat gives us a good gauge of the technology sectors reaction to the news. So knowing the exact number is not that important for gauging the industries reaction to the event; the reaction can be obviously seen regardless.

      --
      This is my sig. There are many like it but this one is mine.
    24. Re:Essential .NET? by Foofoobar · · Score: 1

      Excellent. Send me a link to the program if it exists. I'll test it out on MY Linux box! :)

      A million bucks says it never shows and you have vaporware coming out your ass.

      --
      This is my sig. There are many like it but this one is mine.
    25. Re:Essential .NET? by Anonymous Coward · · Score: 0

      you poor quack...
      its kind of dangerous for the rest of us to have you loose.. where did you attend math school anyway ?

    26. Re:Essential .NET? by Foofoobar · · Score: 1

      LOL! Can't deal with facts so you have to start spouting FUD, eh? Thanks for playing. :)

      --
      This is my sig. There are many like it but this one is mine.
  2. Slashbot book review. by rkz · · Score: 3, Informative

    This one is a great addition to the book shelf, you all know how to do certain things with .NET languages but this book clarifies nicely why you are actually doing it. Also, it introduces nice new .NET library/bytecode concepts which hardcore Visual basic 6/VC++ 6 users might not have come across before.

  3. Re:No interest by xTMFWahoo · · Score: 1

    impressive adult response...

    --
    "Patriotism is supporting your country all the time, and your government when it deserves it." Mark Twain.
  4. Everyone? by Acidic_Diarrhea · · Score: 4, Funny
    "Essential .NET isn't an easy read but everyone should try to read it at least once."
    Alright, if you say so - I'll give it out as a Christmas present to everyone I know. I don't know how much my butcher will like it; he seems like more of a C# kind of guy.

    Get it? C-sharp? Because he uses knives...and they have to be sharp?

    The important thing is that I am happy with me.

    --
    I hate liberals. If you are a liberal, do not reply.
    1. Re:Everyone? by Anonymous Coward · · Score: 1, Flamebait

      Really? I figured him to be more of a hacker.

    2. Re:Everyone? by TheVampire · · Score: 0, Troll

      Ahh. You missed the obvious! It would have worked better like this:

      "I don't know how much my music teacher will like it; he seems like more of a C# kind of guy."

      See! Much better!

      And, just to stay sort of on topic. I couldn't care less about NET. Why did thay have to invent yet another language when they should have just built upon what they already had and just fixed it's problems?

    3. Re:Everyone? by Anonymous Coward · · Score: 1, Funny

      Why did thay have to invent yet another language when they should have just built upon what they already had and just fixed it's problems?

      Cause last time they tried that, Sun sued them.

  5. If it's the essentials... by SpanishInquisition · · Score: 1, Interesting

    how come it's more than one volume?

    --
    Je t'aime Stéphanie
    1. Re:If it's the essentials... by hmobius · · Score: 2, Informative

      Apparently volume 2 will deal with service oriented architectures. Web services, remoting.... that kind of thing

    2. Re:If it's the essentials... by HaloZero · · Score: 3, Funny

      Following volumes to cover Microsoft service pack updates and bug fixes.

      "Essential .NET, Volume XXIX - What NOT to do...."

      --
      Informatus Technologicus
    3. Re:If it's the essentials... by Anonymous Coward · · Score: 0

      If the beloved Linux weren't getting the sh*t kicked out of it with buffer overrun and other such "microsoft only" bugs I might find your comment amusing.

      Check out www.securityfocus.com and take a look at how "solid" the other OSes are. Shocker, they all have the same problems that plague MS.

    4. Re:If it's the essentials... by 1010011010 · · Score: 1

      Volume three deals with "portability." It's one page long. The page says, "It's not!"

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  6. While this review is not without merit by Anonymous Coward · · Score: 0, Funny

    I am afraid that it's completely outside my realm of interest. May I suggest that Slashdot post less about this ".NET" in the future, and more about haunted Mexican food?

    That is all.

    1. Re:While this review is not without merit by Horny+Smurf · · Score: 2, Funny

      You might think a web log run by a guy named "CmdrTaco" might provide some useful information on enchiladas and the like.

    2. Re:While this review is not without merit by Anonymous Coward · · Score: 0

      I only wish I had some moderator points with which to mod the parent up.

  7. Nice review by Acidic_Diarrhea · · Score: 2, Informative
    This is an excellent book. Richter's "Applied .NET Framework Programing" covers the CLR from the programmers point of view. Lidin's "Inside Microsoft .NET IL Assembler" is a detailed guide to IL, ilasm and the managed PE file format. Don Box's excellent "Essential .NET Volume 1" bridges the gap-- leveraging your knowledge of the CLS to present interesting internal, runtime aspects of the CLR.

    The first couple of chapters do rehash the metadata structure (that is, assemblies, modules and members), which anyone who has been using .NET should already have covered in the text you've been using up until this point. Obviously these chapters will prove tedious if you are already familiar with the concepts, however they are probably too terse to serve as a useful introduction. There are better texts for getting up to speed on that.

    However the latter two thirds of the book are excellent. I particularly enjoyed the precise, informative discussion of contexts, MarshalByRefObject, ContextBoundObject and method call interception. The book occasionally delves into implementation details of the Microsoft's CLR 1.0. These are extremely interesting and practically useful insights.

    That said, there are occasionally annoying typographical mistakes in the figures.

    --
    I hate liberals. If you are a liberal, do not reply.
    1. Re:Nice review by Anonymous Coward · · Score: 2, Interesting

      Here is the much awaited link to the amazon page from which this comment is stolen.

    2. Re:Nice review by Anonymous Coward · · Score: 0
      Nice troll...

      You suck. Stop pasting amazon's reviews you stinking karma whore.

    3. Re:Nice review by Anonymous Coward · · Score: 0

      Hmm that was meant in reply to the OP of course...

    4. Re:Nice review by pestie · · Score: 2, Funny
      ...leveraging your knowledge of the CLS to present interesting internal, runtime aspects of the CLR.

      CLS? That's easy.

      10 CLS
      20 PRINT "HI MY NAME IS MIKE!!"
      30 GOTO 20
    5. Re:Nice review by Anonymous Coward · · Score: 1, Informative

      acidic_leaking@hotmail.com is a moron who always karma whores so he can then troll. At least mods, be useful and mod him down a little...

    6. Re:Nice review by RealisticWeb.com · · Score: 0, Flamebait
      Here is the much awaited link to the amazon page from which this comment is stolen.

      That's cute. Accuse me of stealing while posting AC? That's brave of you. I promise you though, I have never read that Amazon review, because I never go to Amazon.com. They do not promise to keep your personal info from 3rd parties, so I don't use thier site. Let alone post reviews.

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    7. Re:Nice review by Anonymous Coward · · Score: 0

      Ah, I don't remember speaking to you... Oh, wait, is Acidic Diarrhea your trolling account? Sorry, I didn't know...

  8. Skip this book by donald+knuth+troll · · Score: 3, Funny

    Donald Knuth will be writing THE definitive book on bytecode languages in TAOCP volumes 11-12. I don't see any reason to dick around with some amateur's feeble attempt.

    1. Re:Skip this book by Bodrius · · Score: 2, Funny

      To make it even better, it will all be implemented in three generations of his own bytecode languages, using interpreters and runtime systems implemented in his own 4 different assembly languages for 8 ficticious processors of his own invention, none of which has anything to do whatsoever with the inferior designs and implementations people use in the Real World (TM).

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
    2. Re:Skip this book by Anonymous Coward · · Score: 0

      ah, yet another stupid person

  9. Re:No interest by Tablizer · · Score: 5, Insightful

    nobody on Slashdot gives a RATS FUCKING ASS about fucking Winbloze shit!

    I don't like many aspects of the Microsoft Way either, but MS projects pay the bills better than OSS projects for some reason for me. If I was well-to-do, I might subsidize my slide over to OSS. But the tech economy is a wreck right now and I take what I can get. The demand for .NET is slowly growing, for good or bad. If you want your family to starve to serve the OSS cause, go ahead. But, I wanna eat, dude. the 90's are gone. It is grovel time.

  10. uhh by nomadic · · Score: 4, Funny

    Their blogs may be the only clue to the higher level of thinking that they operate at

    Well let's not get delusions of grandeur here...

  11. No more spoilers in the reviews! by Anonymous Coward · · Score: 5, Funny

    Some of us had no idea CLR was going to replace COM. We all wanted COM to die a horrible death and now you've ruined the surprise. On top of that, you give away the fact that .NET is the first of a series. I suspect we won't get a real ending, but a cliffhanger that guarantees we show up for the sequel.

  12. Re:.Net is Java! by avandesande · · Score: 1

    So what do you think Microsoft should of done to increase the value of their server offerings?

    --
    love is just extroverted narcissism
  13. ,NET - The Movie by NaugaHunter · · Score: 0, Offtopic

    Am I the only one that had the movie voice triggered by the 'In a world where...' line? The whole first paragraph reads like a movie trailer voiceover. I think I'll wait for the rental.

    --
    R: That voice. Where have I heard that voice before? B: In about 365 other episodes. But I don't know who it is either.
    1. Re:,NET - The Movie by Anonymous Coward · · Score: 0

      please don't use your Karma-bonus to say idiotic things like that.

  14. Aha! by Amadeus+Winkle · · Score: 0, Redundant

    I've been waiting for a book like this to come out. .NET does seem rather exciting from an outsider's point of view. At the age of sixteen however, I haven't had much time to learn languages (what with all the crazy examinations the UK school system has), but .NET and its associated languages are on my list. This book looks like it could help. The only thing I can possibly think of is that less than 400 pages is perhaps a little short. I'll have to pop into Waterstones and check it out.

  15. Re:.Net is Java! by AntiOrganic · · Score: 4, Insightful

    I'm surprised that someone so focused on the evils of proprietary systems would be decrying C#. After all, C# is a ratified standard, while Java was pulled from standardization so Sun could maintain control of the language.

  16. Essential .NET by 1010011010 · · Score: 0, Offtopic

    Essential .NET -- installing Linux/FreeBSD, Apache, Java and Tomcat.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    1. Re:Essential .NET by 1010011010 · · Score: 1

      Offtopic. Thanks.

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    2. Re:Essential .NET by Anonymous Coward · · Score: 0

      How can the antichrist ever be off topic?

    3. Re:Essential .NET by 1010011010 · · Score: 1

      How can the antichrist ever be off topic?

      Thanks for your support!

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    4. Re:Essential .NET by 1010011010 · · Score: 1

      I said:
      "Essential .NET -- installing Linux/FreeBSD, Apache, Java and Tomcat."

      Moderators say:
      40% Offtopic
      40% Funny
      20% Overrated
      60% Fanboy

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  17. Parent is Clueless! by Anonymous Coward · · Score: 0

    Why don't you come back and post when you have a clue. Is C the same as Pascal because they are both procedural, compiled languages that have data types, functions and other similar characteristics. Similar yes, the same NO.

    So, I guess you think that there should always only be a single solution? Why did M$ bother to try to improve something, they could have just latched onto Java, because Java is perfect right? Er, no. I don't program in Java or C#, but from what I've seen of both, C# is by far the better solution for getting things done under Windoze. All this platform compatibility is a moot point, .net is targeted at Windows.

    I know you'll get mod'ed up because of the usual /. M$ bashers, but your statement is simply clueless.

  18. Re:No interest by mbullock · · Score: 0

    I feel so enlightened. Thanks for such astute analysis. It is wonderful to see such articulate and thoughtful comments offered on behalf of all Slashdot users. Perhaps it never occurred to this poster that many of us have real jobs in the real world. I for one, deal with a variety of platforms. More importantly, I don't always get to choose the platform an application is developed in. I welcome intelligent, useful books on any subject. Then again, I take it all back. Let all dot net books be burned. Let all those who choose to disagree be burned. I can hear murmurs of approval from Joseph McCarthy, the judges of the Salem witch trials, the inquisition.

  19. Re:.Net is Java! by expro · · Score: 3, Interesting

    Were it not for the patents conspicuously taken out to prevent interoperable implementations, this would be true and CLR/C# would be a better alternative than Java.

  20. Don't Flame So Fast by RealisticWeb.com · · Score: 5, Insightful

    Before everyone starts scoffing at how much Micro$oft sucks, I just want to say that .NET is really the best product that MS has produced in a very long time. And when I say .NET I am referring to both the object library and the .NET server.
    I'm with the rest of /. when I say that I would rather be on a UNIX based platform, but like many of you due to my job I am forced to deal with a Windows Server environment if I like it or not, and as much as I have tried to hate it, I have actually been quite impressed with what you can do with Visual Studio and .NET
    When you write a .NET web application you use the same code (meaning VB.NET, C# etc, as opposed to ASP, or VB Script) that you would use when writing a desktop app, and the fist time the page is accessed, the web server compiles all the code into dll's on the fly. Converting my existing ASP apps into .NET has tripled the performance using the same hardware. This method is very very fast. Fast to develop and fast to benchmark. It would take me months to write a C/C++ cgi app to do the same thing that I can pump out in an afternoon with VB.NET. And more intuitive I might add.

    Go ahead and flame me now.

    --
    Sigs are out of style, so I'm not going to use one...oh wait..
    1. Re:Don't Flame So Fast by Anonymous Coward · · Score: 0

      The real problem is that you used C/C++ for cgi. Should have used perl/mod_perl/fastcgi.

    2. Re:Don't Flame So Fast by Anonymous Coward · · Score: 0

      But you're still using webapps. Just because it isn't in ASP doesn't mean that it's still not a kludge.

    3. Re:Don't Flame So Fast by cxvx · · Score: 1


      waw, somebody here has never heard of servlets / jsp (Java Server Pages) and the likes.
      It's basically the same model as what you have with ASP.Net (jsp pages are compiled to regular java classes on first access (but you can precompile).

      Really, writing c/c++ cgi stuff nowadays (and some while before that too :) is stupid when you have stuff like php/mod_perl/jsp/asp.net.

      --
      If only I could come up with a good sig ...
    4. Re:Don't Flame So Fast by RealisticWeb.com · · Score: 1

      If my boss tells me to write a web app, I write a web app. If he tells me to use .NET I use .NET. All I'm saying is that .NET is a vast improvement over what MS has offered previously.

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    5. Re:Don't Flame So Fast by JeanBaptiste · · Score: 5, Informative
      When you write a .NET web application you use the same code (meaning VB.NET, C# etc, as opposed to ASP, or VB Script) that you would use when writing a desktop app,


      I also like .NET, it is the first good thing they have put in a while, it beats the hell out of COM...
      but your statement is not quite correct, unless I am not fully informed which is definately a possibility.... I have been finding more and more differences between programming for .aspx versus a standard desktop application... Still it beats the heck out of VS6...
    6. Re:Don't Flame So Fast by Anonymous Coward · · Score: 0

      Ah, indeed.

    7. Re:Don't Flame So Fast by RealisticWeb.com · · Score: 1

      Sure, there are differences but it's mainly because you are calling different objects, but the language is still the same. As opposed to VB6 vs VBScript/ASP. Simmilar syntax but completely separate languages with major differences.

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    8. Re:Don't Flame So Fast by Anonymous Coward · · Score: 0

      Servlets also take too long, and require much more effort.

    9. Re:Don't Flame So Fast by The+Cydonian · · Score: 1
      The point is on productivity and ease-of-coding. I've worked with both platforms now, and frankly, would prefer Java hands down, but I must admit that VB/VS.net makes things very easy for you.

      That is, if you stick to coding only calls that have been documented. :-)

      (The other complaint for me is the relative sizes of developer communities; out here, while there's always someone around offering help in Java, you have to persistently google to solve your .Net queries)

    10. Re:Don't Flame So Fast by Anonymous Coward · · Score: 0

      Really though (although very rare) it is nice to write your own C cgi's for customizing capabilities. I am going to be doing this so that I can make an Apache module for someone who doesn't quite understand PHP, but is capable of learning SHTML style server-side includes. This way the learning curve for the web designer (no we don't have a programmer, we use dreamweaver instead) is small, but can still accomplish stuff that more complex PHP can do (just that its a C module instead).

    11. Re:Don't Flame So Fast by Anonymous Coward · · Score: 2, Insightful

      it's because it's a repackaged Java, reimplementing concepts and ideas that Sun (and others) has come up with for the past 7 years.

      believe me, if you've used both, you'll catch the striking similarities.

    12. Re:Don't Flame So Fast by alext · · Score: 1

      I have actually been quite impressed with what you can do with Visual Studio and .NET

      And what can you do with this that you can't do with JBuilder or WebLogic Workshop? You do realize that these tools can create portals, workflow and web service systems using drag-and-drop? I'd be interested to see if all this was really in VS.NET.

    13. Re:Don't Flame So Fast by grungeKid · · Score: 2, Informative

      Re: developer communities size, I find that there exists countless sites, blogs, newsgroups and mailinglist that cover all angles of .NET development.

      Apart from MSDN, I often find answers to my questions at gotdotnet.com, codeproject.com, www.dotnet247.com and the microsoft newsgroups. Brad Adams' and Chris Brumme's are very helpful for the low-level aspects of the .NET framework.

    14. Re:Don't Flame So Fast by borgboy · · Score: 1

      There really isn't much, if anything, one can do in .Net that you could not do in JBuilder, Workshop, or Eclipse, etc. The relevant point to make to much of the /. audience is that the relationship is largely bi-directional.

      --
      meh.
    15. Re:Don't Flame So Fast by RealisticWeb.com · · Score: 1

      I was making a comparison between .NET and previous MS Web offerings. I never said that they were the first to do it, or that it is better/worse than Java. I am forced by my boss to use a MS-Centric development enviorment and .NET is much better than VBScript with ASP.

      --
      Sigs are out of style, so I'm not going to use one...oh wait..
    16. Re:Don't Flame So Fast by frodmann · · Score: 1

      I agree somewhat. As much as some people scoff at Microsoft products (without actually trying them). The .Net framework can be quite a useful product.

      I am for the most part a J2EE developer and have my certifications from BEA and Sun, but lately I have been dabling in .Net to do some prototyping for presales.

      I have found as a prototyping tool it is excellent. Developing user interfaces is much easier and faster using the server controls. For example to produce a table of data, rather than iterating over a collection and printing the html tags of the table, with data inserted in the correct places, all you need do is to bind the table to the collection.

      One thing, I have found is the documentation of the APIs is not up to scratch. The java docs for j2se and j2ee and extremely more detailed, with much better examples and descriptions of special cases.

      While at the moment I am yet to be satisfied that I can use .Net for anything more than prototyping, the push for .Net will definitely be a good thing if it drives more innovation on the java side of the fence.

    17. Re:Don't Flame So Fast by sdkone · · Score: 0

      Just like EJB was repackaged COM/MTS and COM+ was repackaged EJB and CCM was repackaged COM+ and EJB? Bah. You only have to look at some of the recently proposed extensions to the Java language to see the pattern repeating itself again. Each iteration of a technology usually ses significant features from the last - it's this funny thing we call "progress". The similarities are only "striking" if you're totally ignorant of the way the world works.

      Cue moderators to mod me down for not bagging .NET...

  21. MS hijacks the name of a top-level domain... by Anonymous Coward · · Score: 2, Informative

    ...The idea of some marketing guy noticing that his ISP's address ends in ".net" and thinking "Gee, what a cool way to align my marketing message with the corporate flavor-of-the-week"--or however it originated--is so intensely irritating to me that .NET could be the greatest thing in the world and I still wouldn't want to learn about it.

    I never did find out what "Microsoft BackOffice" and digital_nervous_system were supposed to mean. My guess is that I won't need to find out what .NET means, either.

    Actually, isn't Microsoft de-emphasizing ".NET" and calling it something else in order to call less attention to the community's general lack of interest in it?

    I wonder what Volume II will be called?

    1. Re:MS hijacks the name of a top-level domain... by spells · · Score: 1

      I have noticed that MS products (even the technical ones) NEVER have names that appeal to geeks. Windows, Office, Word, Excel, .NET, Exchange, Visual Studio - all of these names seem designed to appeal to PHBs rather than techies. The only exception I can think of is SQL Server, but I think they may have inherited that one.

    2. Re:MS hijacks the name of a top-level domain... by sbillard · · Score: 1

      Microsoft handed out tee shirts at a .NET lauch party. The shirt had a little .NET logo over the left breast and in big letters on the back it said:

      Why settle for just the dot?

      I wonder if the jerk that came up with that slogan realized that the dot "." is the absolute beginning of the DNS namespace, higher in the hierarchy than the TLDs.
      I think the Microsoft slogan was in response to Sun's We put the dot in .com
      Nevertheless, the shirt quickly became a paint rag.

      Perhaps Volume II will be called
      .NET. (dot NET dot)
      .NETNET
      .WinNET
      .Dot (dot dot)
      . (dot - hehe i kinda like this one)
      ,TOS (pronounced" comma-TOSE - long "o")
      #NET (razor wire?)
      BlingBlingCodingThing

  22. Not True by Anonymous Coward · · Score: 0

    .NET is standardized through ISO

    Java is Sun controlled (not to mention sun misled folks over and over again on the standardization question).

    I can't tell you how tired I got of Java people telling me "Java is going to be standardized". It was like a bad dream with these endlessly repeating morons hyping and waving their arms around full of total BS. I mean it was TOTAL BS, but you can read old stuff from all the java lobby groups and laugh your head off.

    Java seems to attract a particular brand of moron, parent included. Thank god I said no Java on my watch! I'm actually rooting for C#, it's what Java could have become with a little openness on Sun's part.

    Now we can see if Microsoft spoils things with patent litigation. What would do huge things would be if MS put the ISO stuff under no RAND full use licenses.

  23. Box on .NET by mrkurt · · Score: 3, Informative


    You can sense that while he [Don Box] knows .NET version 1 is an improvement over COM, it's not as good as it could be and things are still be done in v2 and beyond


    This could be an interesting read. The reviewer's comment on Box's impression of .NET confirms the wisdom of my decision not to be an early adopter of .NET, if I take it up at all. Although Box is a MS-centric developer, he discusses the issues involved in app development with candor as well as detail.



    --
    Always look on the briight side of life! (whistle, whistle)
    1. Re:Box on .NET by Anonymous Coward · · Score: 0

      Box isn't just a MS-centric developer. He's a MS employee.

    2. Re:Box on .NET by mrkurt · · Score: 1

      You're right. So any doubt implied about how good the house's products are is interesting.

      --
      Always look on the briight side of life! (whistle, whistle)
  24. Structure overload by Tablizer · · Score: 3, Insightful

    You know, the "registries" and "assemblies" are getting so complex that I would rather they be stored and managed in a relational database. The rules and tools for relational databases are better understood and apply to many areas, reducing one's learning curve and let's them use existing tools to analyze data and structures. I can look at the schemas and data dictionaries (schemas with extra info, such as field descriptions), and fairly quickly get a feel for how the different entities work and relate to each other.

    A proprietary structure just ends up reinventing a lot of database wheels like concurrency, backups, change logging, etc., and has unfamiliar access protocols, often mirroring the "navigational databases" of the 1960's.

    I know, some of you say that I have an "if all you have is a hammer, then everything is a nail" view about RDBMS (relational databases), but when structures become non-trivial, then nothing beats a RDBMS in most cases. If it walks like a database and quacks like a database, then perhaps it is time to use a database.

    1. Re:Structure overload by TheTranceFan · · Score: 2, Insightful

      You're right about registries, that's for sure. I've heard Bill Gates himself thinks of the Windows Registry as a major screwup. The good news is that .NET eschews the registry to the extent that it can. Unlike COM (=OLE=ActiveX) which was highly dependent on the registry, .NET only uses the Registry to provide backwards-compatibility for COM hosts.

      As for assemblies, you might just not know what they are. Really an assembly is just an object file with a bunch of meta-data about what's in the file and what it links to. Also, assemblies can be "strongly-named," which involves hashing and signing the assembly to ensure that it hasn't been modified. They've also used this mechanism to allow concurrent versions of the same assembly (=DLL or whatever), which helps alleviate the "DLL Hell" that everyone's been struggling with for the last ten years.

      To top it off, for a lot of client-side programming, C# and the FCL (Foundation Class Library) are a good combination for new development. In fact, for a GUI client-side app (which is mostly what I do), I would probably choose C#/FCL over C++/ATL/WTL (and DEFINITELY over C++/MFC) from here out. Win32 programming is a bitch, and largely involves knowing tons of arcane undocumented minutiae about what actually works in the Win32 APIs and how to work around the bugs, and thankfully many of those bugs are worked around for you by the FCL. Not everything in Win32 is wrapped by FCL, but enough is to make it quite useful, and of course OOP, which is much better than raw :: Win32 APIs anyday.

      It's a lot of new stuff, and it seems pretty daunting, but it's worth learning if you have to write Windows stuff.

    2. Re:Structure overload by pmz · · Score: 1

      A proprietary structure just ends up reinventing a lot of database wheels like concurrency, backups, change logging, etc., and has unfamiliar access protocols, often mirroring the "navigational databases" of the 1960's.

      Not only that, but there is now a whole new layer of bugs to contend with. What should a person do when .NET spits back the equivalent of "An error just occurred. Have a nice day"? Spend the next two weeks studying all the symptoms, so that Microsoft Support will actually give a damn?

      This is why I prefer to advocate simpler solutions. When bugs can occur at every level of the system from the OS to the database to the application to the client, why do so many people jump on every opportunity to add more layers, frameworks, and APIs?

      You know, the biggest argument against CGI was performance, yet why does the performance of modern "web applications" suck so much? What happened? Stick the CGI language module of choice into Apache (even FastCGI, perhaps), and the result is instantly understandable architecture (webserver, HTML and CGI, database, done.). Am I a dinosaur for advocating something that works and can be learned by new employees in a matter of weeks not months?

  25. No kidding by Anonymous Coward · · Score: 0

    In a world where developers are baying for customers' attentions, very few people can claim to command that of the developer.

    As a corollary, let me suggest:

    In a world where proper written communications are of paramount importance, very few Slashdot submitters or editors show basic competance.

    1. Re:No kidding by dubstop · · Score: 5, Funny

      very few Slashdot submitters or editors show basic competance

      That would be competence.

  26. There's been a lot of talk about this. by Anonymous Coward · · Score: 0, Insightful

    There's been a lot of talk about this in the Slashdot community of late. The serious questions - .NET or J2EE, Perl or Python, are issues that just won't go away. Sort of like whether a programming project or sex with a mare is better. You have to make up your own mind about it.

  27. Yet more turfing? by Anonymous Coward · · Score: 0

    Don who? Is this another xBOX ad masquerading as 'naughty boy cracking' on Slashdot? .NET? COM? CLR? TLA highjacks?

    Do I have to sign anything to read the review?

    What about BOB?

    Are we having dividends yet?

  28. Monster Tech-en developer demand tag team match by NZheretic · · Score: 3, Interesting
    Based upon job keyword searches on Monster.com, the most of the demand is still moving towards Java and J2EE. Lets play Monster Tech-en developer demand tag team over the last 31 days.

    Java Vs C#
    Java and C# = 239, C# = 736 OR 497 for C# alone, Java = 4596 OR 4357 for Java alone, Java Wins outright 4357 to 497.

    In fact Java is more in demand than C++ (3081) or Visual Basic ( 2252 )

    J2EE Vs .NET
    J2EE AND .NET = 23, .NET = 1392 or 1369 for .NET alone, J2EE = 2120 or 2097 for J2EE alone, J2EE wins by points 2097 to 1369.

    According to theory, .NET should be picking up the bulk of Visual Basic Developers...
    J2EE With Visual Basic Vs .NET WITH Visual Basic, Visual Basic AND J2EE AND .NET = 5, Visual Basic AND .NET = 58 or 53 alone, Visual Basic AND J2EE = 168 or 163 for J2EE alone, J2EE wins by points 163 to 53.

    In comparison to the number of Visual Basic based jobs, there is very little demand for the shift towards the backward incompatable Visual Basic.NET.

    According to theory, C# should be picking up the bulk of Visual Basic Developers...
    Java With Visual Basic Vs C# WITH Visual Basic
    Visual Basic AND Java AND C# = 65, Visual Basic AND C# = 250 or 185 alone, Visual Basic AND Java = 696 or 534 alone, Java wins by points 534 to 185.

    According to theory, C# should be picking up the bulk of the C++ developers...
    Java With C++ Vs C# WITH C++
    C++ AND Java AND C# = 149, C++ AND C# = 311 or 162 alone, C++ AND Java = 1242 or 1093 alone, Java wins outright 1093 to 162.

    1. Re:Monster Tech-en developer demand tag team match by Anonymous Coward · · Score: 0

      Which proves beyond a doubt that the headhunters who infest monster.com with posts for jobs that don't exist, prefer Java. Probably because they think it's related to coffee somehow.

    2. Re:Monster Tech-en developer demand tag team match by PhxBlue · · Score: 3, Interesting

      I'd expected a search for COBOL to turn up a lot of hits, perhaps even more then Java. :) I was pleasantly surprised to find that COBOL only scored about 620 total hits. I don't know what perspective that adds, but it actually outweighs the C# positions.

      --
      !#@%*)anks for hanging up the phone, dear.
    3. Re:Monster Tech-en developer demand tag team match by Tablizer · · Score: 1

      Warning: It is possible that searching for "Java" may also pick up "JavaScript" in some search engines.

    4. Re:Monster Tech-en developer demand tag team match by I8TheWorm · · Score: 1

      Interesting that "C Sharp" and "VB" weren't added to the searches...

      --
      Saying Android is a family of phones is akin to saying Linux is a family of PCs.
    5. Re:Monster Tech-en developer demand tag team match by dfranks · · Score: 2, Funny
      Of course, it is also possible that it takes 10 times as many Java developers to get the same job done.

      Just kidding...

  29. Fritz chips by ratfynk · · Score: 0, Troll

    Well as second generation processor fritz comes into being, it will be essential that internet communication be only to MS system dlls. Otherwise how could internet communication become exclusive? Message security encoding on the internet is the next .Net target. It will make it easy for only Intel and MS approved devices to decode internet traffic. So hurray only Intel and MS will achieve trusted .Net info provider status. The castration of the free flow of internet traffic is next, as servers change to Fritz chips. Traffic without hardwired MS key locks will become impossible. Wake up this is an attempt by US government backed radical corporate despots to control internet communications. European countries are starting to wake up to what is going on, we in the west are just alowing it to happen on the pretext of trusted computing! The very future freedom of information, knowledge and speech is at stake.
    Kind of makes Castro look benevolennt, if we allow an information tirany like this to take place!

    --
    OH THE SHAME I fell off the wagon and use sigs again!
    1. Re:Fritz chips by Anonymous Coward · · Score: 0

      I only wish what you say were not partly true.

  30. Also available on safari by FiggyBottom · · Score: 2, Informative
    --
    --- P,L,G
  31. Ah yes, time for the bi-daily B&N advertisemen by spookymonster · · Score: 2, Funny

    At least this review didn't give away the ending.

    --
    - Despite popular opinion, I am not perfect.
  32. Re:Typical Slashdot moderation by Foofoobar · · Score: 1

    Why Microsoft people don't take this site serious you mean...heh. Maybe your brain isn't cross platform compliant? :)

    --
    This is my sig. There are many like it but this one is mine.
  33. Re:No interest by flacco · · Score: 0, Troll
    If you want your family to starve to serve the OSS cause, go ahead.

    Hell yeah, I likes my bitches skinny!

    --
    pr0n - keeping monitor glass spotless since 1981.
  34. Re:.Net is Java! by AntiOrganic · · Score: 1

    ...touche.

  35. Umm, no. by Anonymous Coward · · Score: 0, Insightful

    I generally dislike Microsoft products and work in a Unix shop. At the same time I can also see the blatent, mindless stupidity that permeates this site. This continual fanboy platform mentality is just one of the many things wrong with this site. Childish bashing is no way to engage in a discussion which is what this site is supposed to be all about.

    1. Re:Umm, no. by Foofoobar · · Score: 1
      Hey relax. Microsoft uses the media to do it's bashing with severely scewed statistics, highly subjective microsoft funded reports and questionable data. We just do it here in a forum that supports the facts. Only a few are platform -centric and I think the vast majority of people here use a variety of platforms in their day to day roles.

      This is just a resounding voice saying 'no thanks'

      --
      This is my sig. There are many like it but this one is mine.
  36. Re:No interest by Anonymous Coward · · Score: 0

    I'd prefer to starve, not that I'm short for work. .NET is a TLD; C# is right above middle C

    Even from this distance the putrid stench of Microsofts Marketing department is overpowering. People keep telling me about these cool features and I can appreciate that, my problem is that the sole purpose of "DOTNET" is to extend Microsofts desktop monopoly.

    If nobody developed for "DOTNET" Microsoft would start paying developers serious money to use it, just like they give away their OS when faced with a major customer switching to linux. Why suck Bills dick when he will gladly suck yours?

  37. Let us flame it slowly then... by Pac · · Score: 4, Insightful

    You should always write web application using a platform that allows you to use the same infra-structure you use for desktop application. Besides the learning curve problem, it also helps when you wnat to mix them both ("weblize" a destop app, for instance).

    That said, ASP and VB.NET are not the answer. Using non-portable languages to write web apps is a very bad idea.

    It would take me months to write a C/C++ cgi app

    Where are you from, 1994? If you really need unmantainable spagetthi like ASP, you can use PHP (portable across all known platforms), but you have Java (Tomcat) and Python (Zope) that allow you to use very high-level structures with a higher productivity (in my experience) than any Windows-only solution. No one writes C cgis anymore...

    1. Re:Let us flame it slowly then... by Anonymous Coward · · Score: 1, Insightful

      I don't think one can expect to code using the same infrastructure for a desktop application as you would for a website. The web is stateless but desktop applications do maintain state. It has been said before but maybe I can say it another way: Any structure that turns programming websites into an event driven proccess is using some sort of cludge to abstract the mess you would otherwise have to go through to maintain state yourself and I've never seen it done correctly. I have a full time job developing ASP.NET applications and can honestly say that I prefer Perl with its full complement of modules. With Perl and CPAN, you get a solid language, honest access to state techniques you can use, and modules that give you the level of abstraction you need and want (no need to reinvent the wheel unless you want to).

    2. Re:Let us flame it slowly then... by mattkime · · Score: 1

      apparently you've never taken a look at webobjects

      --
      Know what I like about atheists? I've yet to meet one that believes God is on their side.
    3. Re:Let us flame it slowly then... by sheldon · · Score: 2, Interesting

      Using non-portable languages to write web apps is a very bad idea.

      Statement by assertion with no supporting evidence.

      C# is a ratified standard.

      The other languages you suggested are not.

      Maybe you should rewrite your statement "Using languages that I don't like because of religious bias is a very bad idea." It would be more honest.

    4. Re:Let us flame it slowly then... by EugeneK · · Score: 1

      Surely you're not claiming that a language being a ratified standard is the same thing as its being portable.

    5. Re:Let us flame it slowly then... by Pac · · Score: 1

      If you were not there to see the evidence with your own eyes during the dotcom crazy you missed a nice trip. Kids would start their sites in Windows 98 home machines, grow it to NT servers with the money that feel from the sky every even day and eventually notice they would need a farm of those or a Solaris box. So the CEO kid would buy the Solaris box and tell the devs: "Put our site here over the weekend, will you?".

      I couldn't care less for a Windows-only ratified standard. It is not religious if my company's survival depends on us being able to run our software anywhere the client wants.

      And by the way, you may say Java is "closed" language. Python, on the other hand, has a nice, open development process, much like Perl. And please explain to me what the hell a ratified language is worthif it runs only on a platform that may change when one company's business plan changes (and again, if you were not there to see when Microsoft did exactly this many times before, you missed a very bad but enlightning trip)? This time next year Balmer may announce that the new world direction is the Palladium platform and that C# will be replaced by the new (ractified standard language) DCubed - you may upgrade you VS .NET to VS Pal for just 200 hundred dollars...

    6. Re:Let us flame it slowly then... by sheldon · · Score: 1

      Sigh... More argument by assertion.

      First of all, with the dotcom craze, most of the problems were business plan related. The other problems were technology progression related. A lot of technologies sprang up since 1994. WOW! Amazing, incredible, I know, but gee whiz... What we have to build with today is very different than 6 years ago.

      But for that matter, I still have websites in production built 6 years ago using ASP. They still work, and we don't have problems with them. If the other assertion you claimed were true, we'd be replacing them.

      But the fact is, with all technologies, eventually you face a choice of either maintaining it as is, or upgrading. When you upgrade you face a certain risk of having to change some stuff. Our Mainframe environment at work is running on a version of COBOL that is well beyond supported for precisely this reason.

      The issue I have with your unsupported assertions is that you in no way prove that these assertions are not also true of the technologies you are promoting.

      So you're basically arguing religion with me, and I have no use for that in my business plan.

    7. Re:Let us flame it slowly then... by sheldon · · Score: 1

      Surely you're not claiming that a language being a ratified standard is the same thing as its being portable.

      Uniface was portable. When was the last time you saw a job offer for Uniface?

      The portability argument is a religious strawman created by Sun to promote Java at the cost of their competitors. I don't believe the religious rhetoric blindly. If you can create a coherent argument, I'm willing to listen, however.

    8. Re:Let us flame it slowly then... by Anonymous Coward · · Score: 0

      "So you're basically arguing religion with me, and I have no use for that in my business plan."

      Oh yeah you're all business. That's why you're spending time arguing about .NET on slashdot. Get the stick out of your ass and try to remember what made computers interesting for you in the first place.

    9. Re:Let us flame it slowly then... by Joey+Vegetables · · Score: 1

      If you cleanly separate presentation, business logic, and data, then it should generally be possible to architect an app that is friendly to both rich/GUI and Web-based clients. Many of mine certainly have both.

  38. COM sucks by delmoi · · Score: 0, Troll

    And so does this review, good god man lay off the portence.

    --

    ReadThe ReflectionEngine, a cyberpunk style n
    1. Re:COM sucks by handspike · · Score: 1

      why would a read a book by a guy who makes up words like "portence"?

    2. Re:COM sucks by Anonymous Coward · · Score: 0

      it's portance

  39. Event Based Page Model by Anonymous Coward · · Score: 5, Informative

    The big difference between the ASP.NET paradigm and that of, say, Java Servlet Pages, or XSP, etc. lies in the event-based nature of ASP.NET pages.

    Each ASP.NET page is an instance of the "Page" class, or one of its sub-classes. The "Page Lifecycle" defines the various phases that apply each time a page is accessed. The "Page" is simply the top-level node in the "control tree", and each control in the tree does the following for all its children (recursively):
    1. initialization
    2. handle postback data
    3. state management
    4. handle events
    5. pre-render stuff
    6. render to HTML (or whatever)
    7. clean up

    Most of your code will pertain to numbers 4 and 5 above, if done correctly.

    It's not immediately intuitive, coming from a Web App developer's perspective, but does provide a good general structure and mechanism.

    In addition, each Page is split into its actual class (the so-called "code-behind page"), and its representation as markup (the .aspx page). The .aspx page is parsed on each request, but the code-behing is pre-compiled.

    ASP.NET provides a robust programming model for web applications, but it also provides a lot of built-in mechanisms for doing common stuff. Authentication, Authorization, Caching, DataBinding, XML, conditional rendering, templating, data access through ADO.NET, internationalization, Debugging and Tracing utilities, and more.

    That said, I find the event-based programming model quite difficult to master. If used improperly, you can end up running the same code many times; for instance of you populate a given control (say a dropdown) from a database, and do so in response to many different events. Better to flag things and then fetch just once from the DB prior to rendering.

    Thoughts?

    PS: At the moment, you can't mix multiple languages (C#, VB.NET) within a single Web App.

    1. Re:Event Based Page Model by Tablizer · · Score: 1

      That said, I find the [ASP.NET] event-based programming model quite difficult to master.

      Here is an excerpt from Microsoft's "Web Applications in the .NET Framework" (ISBN 0-7356-1445-8):

      "Having this [.NET] sequence for [web] page processing may seem convoluted compared to GUI [client/server] development. However, this process of minimizing object lifetime makes it possible to create Web applications that are very fast and scale to large numbers of simultaneous users." [emph. added]

      Here Microsoft is admitting in black-and-white that they chose efficiency over programming productivity when designing ASP.NET. Microsoft has given much thought to making web development more like Visual Basic development, but stopped short due to performance concerns it seems. ASP.NET probably *could* have been more VB-like, but they chose to focus on benchmarks instead, making it goofy from a developer's perspective.

    2. Re:Event Based Page Model by gludington · · Score: 4, Informative

      The big difference between the ASP.NET paradigm and that of, say, Java Servlet Pages, or XSP, etc. lies in the event-based nature of ASP.NET pages.

      Each ASP.NET page is an instance of the "Page" class, or one of its sub-classes.

      This is not a new invention of .NET, as these concepts go at least as far back as Java Server Pages. Every JSP page implements JspPage (or HttpJspPage), and follows roughly the same lifecycle. The container typically provides that JspPage class, though a developer can roll his/her own, as well. (Before people jump all over me, yes, in the Java world, people rarely put the page as the top controlling object, preferring to use a Servlet as the controller and the JSPs only to render the final view.)

      This is not to take anything away from .aspx -- some of it is quite nifty -- but the basic concept of a "Page" object and "Page Lifecycle" is not new to .NET; Java has had it for a while, and I am sure some geek out there will point out even older examples.

    3. Re:Event Based Page Model by BrerBear · · Score: 2, Interesting

      The big difference between the ASP.NET paradigm and that of, say, Java Servlet Pages, or XSP, etc. lies in the event-based nature of ASP.NET pages.

      Anyone in the J2EE community looking for similar event-based behavior should be keeping an eye on JavaServer Faces. One big problem is getting it to work on the existing JSP architecture, though, as JSP still has no server-side component model.

    4. Re:Event Based Page Model by Nept · · Score: 1

      PS: At the moment, you can't mix multiple languages (C#, VB.NET) within a single Web App

      No, and I'm not sure why you'd want to exactly, as it would be better perhaps just to pick one language and stick with it. However, if you had a need to use both, you could encapsulate say C# code behind a web service (simple to do in .NET) and call from VB. If everything is on the same box, there shouldn't be any additional overhead.

      --
      "Teachers leave us kids alone ..." - Roger Waters, Pink Floyd
    5. Re:Event Based Page Model by Anonymous Coward · · Score: 0

      PS: At the moment, you can't mix multiple languages (C#, VB.NET) within a single Web App.

      Minor correction: You can't mix multiple languages within a PAGE - you can very well mix 'em within an app.

    6. Re:Event Based Page Model by Anonymous Coward · · Score: 0

      This is really something that everyone doing web programming *already knows* -- you "scale" with code execution paths that only live for the request lifecycle and then relinquish their resources. You do not want long lived processes that are waiting many seconds for a user to click on another link (or go to lunch).

      Microsoft is speaking to VB devs that are used to instanating objects and letting them live for the entire scope of the application. Moving to the web model is apparently very conceptually difficult for these people and "seems convoluted". (Oh, I've worked with a few...) So, MS is patting them on the butt and saying "Honey trust us, it's really better this way."

    7. Re:Event Based Page Model by Anonymous Coward · · Score: 0

      In my view, the "event" model is really incompatible with the normal HTTP Request-Response cycle. Hiding this from the developer creates web apps that post-back everytime someone breaths on it, creating more load on the server and being difficult to use over slow links.

      For a developer with a local web server, it does truely "wurks as good as VeeBee", but this is really an illusion that won't show up in production.

      That's not to say that ASPX is bad, just that you still have to understand what's going on, and you still have to do UI-stuff in JavaScript on the client, not in a server-side event.

    8. Re:Event Based Page Model by axs89 · · Score: 1

      Good points here, in that this is the way that Microsoft wants you to create asp.net applications... however, there are projects out there that will let you build MVC, n-tier, distributed transactional applications, similar to the best practices that have emerged from the J2EE world. The best of these (open source!) that I've seen is OpenSEAL. It's really a set of libraries that allow you to create enterprise applications without any of the lameness of the Microsoft event-driven web form model. It's really starting to gain some traction, and you might want to check it out if you're doing .NET enterprise applications...

    9. Re:Event Based Page Model by Tablizer · · Score: 1

      You do not want long lived processes that are waiting many seconds for a user to click on another link (or go to lunch)....Microsoft is speaking to VB devs that are used to instanating objects and letting them live for the entire scope of the application.

      See:
      http://geocities.com/tablizer/webstif.htm

    10. Re:Event Based Page Model by AndersDahlberg · · Score: 1

      One big problem is getting it to work on the existing JSP architecture, though, as JSP still has no server-side component model.
      The above make no sense to me?
      1, java server faces are orthogonal to jsps...
      2, "still has no server-side component model" Not that I understand what you're talking about here - sure looks like jsps have been doing great without "no server-side component model"? Are you talking about servlets, javabean models implementing state or what (javascript runat server maybe...)? :)

    11. Re:Event Based Page Model by ChristopherLord · · Score: 1
      You dont even have to do this. Any assembly can directly load any other assembly. (so your busness logic can be in delphi, your rendering in c#, and your web services in c++)

      You just cant combine languages in a single 'project' under asp.net, probably because there is a lot of automatic code generation.

    12. Re:Event Based Page Model by Anonymous Coward · · Score: 0

      Why hold *all* web development to the speed-at-any-costs standard, when many applications would better benefit from programming-enhancing frameworks

      I can't completely disagree. With the current price of RAM, a "heavy state" web app framework might fly. Many Java app servers are moving strongly in that direction.

      But, I still find your example contrived. Unless one can dynamically generate Javascript (or are willing to have a heavy post-back model like ASPX), you won't be able to build the UIs people want. The client and the server are just too far apart.

      I would guess that Microsoft caters to that model via SOAP and web-based deployment of traditional C-S type apps. Applets. In fact, my personal conspiracy theory is that ASP.NET is designed to transparently transition to an optional thick-client-type model in the future.

    13. Re:Event Based Page Model by Tablizer · · Score: 1

      But, I still find your example contrived. Unless one can dynamically generate Javascript (or are willing to have a heavy post-back model like ASPX), you won't be able to build the UIs people want. The client and the server are just too far apart.

      A more dynamic browser is another issue. We just need a good HTTP-friendly GUI standard. HTML+JS+DOM is optimized for e-brochures, not biz forms. We need something meant for remote biz forms. Candidates include XUL, XWT, and SCGUI (my pet).

      In fact, my personal conspiracy theory is that ASP.NET is designed to transparently transition to an optional thick-client-type model in the future.

      Now that MS has won the browser wars, we are getting that now. Companies are purposely targeting IE-only features.

  40. Re:.Net is Java! by AntiOrganic · · Score: 1

    Actually, I know I already replied to this, but now I'm just curious. What patents does Microsoft actually have on C#? I would assume they would have patents on .NET, but C# as its own entity is certified by both ECMA and ISO boards. How much of it could they patent, if it's a formal standard?

  41. Results not suprising. Java is the incumbant. by btakita · · Score: 2, Informative

    Java wins the "buzz word war" outright because it is an inucmbant platform with solid marketing for the past 5+ years. .NET is a new platform (about 1 year after release) that has not been adopted by most of the Microsoft clientelle.

    Lets revisit these results in two years.
    Considering M$'s deep pockets and commitment to .NET, I think an "upset" is in order.

  42. How is this flamebait? by rutledjw · · Score: 1
    This guy did some actual WORK and posted links. And we have mindless moderators pulling THIS kind of crap.

    I sincerely hope I get a chance to meta-mod these...

    I really do

    --

    Computer Science is Applied Philosophy
    1. Re:How is this flamebait? by Anonymous Coward · · Score: 0

      He didnt do ANY work. He either A) Is the Davd Mohring character that hangs out at ZDNet posting copy and pasted info he gets from others, or B) Someone copied it from his latest shill posting on ZDNet on an article about .NET.

  43. A challenge to whoever modded parent comment: by Anonymous Coward · · Score: 0

    Please explain how parent is "flamebait". I make a blatently obvious (yet unpopular) statement regarding the general mentality of Slashdotters, and it gets modded as "flamebait"? Please explain how that's "flamebait" where the top level comment in this thread (the Score: 5, Funny one) isn't.

    1. Re:A challenge to whoever modded parent comment: by Anonymous Coward · · Score: 0

      what useful information did you add to the thread? nothing. you simply called people childish. that is flamebait. come back when you have something interesting to say.

  44. Re:No interest by rutledjw · · Score: 1
    WTF ARE you talking about?

    I don't like many aspects of the Microsoft Way either, but MS projects pay the bills better than OSS projects for some reason for me. If I was well-to-do, I might subsidize my slide over to OSS. But the tech economy is a wreck right now and I take what I can get.

    Almost every job posting I see out there for Java has some kind of OSS technology attached - be it Linux, Apache, Tomcat, even JBoss. Things like Struts are also gaining leverage out there.

    If you know Java/J2EE and have decent skills, it's getting MUCH better out there. I'm in Colorado, and we got killed. So if it's improving here...

    --

    Computer Science is Applied Philosophy
  45. It *is* cross platform! by 1010011010 · · Score: 1, Funny

    It *is* cross platform! ... it runs on more than one release of Windows ...

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    1. Re:It *is* cross platform! by Anonymous Coward · · Score: 1, Informative

      http://www.go-mono.org/

    2. Re:It *is* cross platform! by 1010011010 · · Score: 1

      http://www.go-mono.org/

      That's hardly Microsoft .NET -- it's an incomplete re-implementation of questionable legal standing. Compare that with the Java runtimes available for Windows, Solaris, Linux, MacOSX, etc.

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    3. Re:It *is* cross platform! by miguel · · Score: 5, Informative

      Mono is an implementation of the ECMA 334 and 335 standards which are available for anyone to implement (no patent strings attached, check the Mono FAQ for details).

      On top of that Mono implements plenty of class libraries: both the non-standarized class libraries from Microsoft, as well as our own universe of class libraries that take advantage of Unix-specific features.

      Here is a link: Mono Map (abridged).

      Miguel.

    4. Re:It *is* cross platform! by alext · · Score: 1

      The issue was not what standards were involved, but whether those standards include Dotnet.

      They do not.

      I (and probably my boss, clients etc.) do not care what non-standard parts of Dotnet have been cloned. As the parent says, these are not covered by standards and are potentially at risk from patent claims.

      Unfortunately, your web site is still misleading people into thinking that Mono is (now) an implementation of the Dotnet APIs. It is this kind of deceptive statement that is annoying people.

    5. Re:It *is* cross platform! by Anonymous Coward · · Score: 0

      I'm confused. Is using the threat of impending legal action to spread FUD a good or a bad thing? I'm having trouble deciding on whether I am for or against your post since I seem to remember reading something here recently lambasting some other company for for doing something quite similar.

    6. Re:It *is* cross platform! by alext · · Score: 1

      Errrr... I'm pointing out the threat of legal action by someone else (and with good reason, based on past experience and various public statements).

    7. Re:It *is* cross platform! by 1010011010 · · Score: 1

      Re: "map"

      So the ECMA patent-free parts (Microsoft's true intentions not withstanding) are Cyan. What are the Red and Green parts?

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    8. Re:It *is* cross platform! by miguel · · Score: 3, Interesting

      The red parts are components that Microsoft has not submited to ECMA for standarization and hence have no explicit patent grant. Whether there is an enforceable patent there is unknown, but is dubious, as for the most part they are wrappers to existing technology, or implementations of concepts already available.

      The green parts are components that we have developed outside of the Microsoft world (they do not have a Microsoft equivalent). Whether there are patents or not is uncertain as they are also wrappers for existing technologies (Gtk, Mozilla, etc). Microsoft would certainly not have a Mozilla# patent ;-)

      Miguel.

  46. Re:.Net is Java! by Anonymous Coward · · Score: 0

    4 years ago

    I think you mistyped. That should be 7 years ago. Maybe even more than that.

  47. Parent is also Clueless! by Pac · · Score: 2, Interesting

    To use your own words, why don't you come back and post when you have a clue?

    If you "don't program in Java or C#", refrain from talking from the top of your head about something you can't know.

    And "all this platform compatibility is a moot point" only in your dreams. Java is far from perfect but its cross-platform enough to make it a far superior platform for web and network development in general. Only the very young and inexperient amateurs mock the importance of being able to choose any system running on any hardware for you applications.

    1. Re:Parent is also Clueless! by ClosedSource · · Score: 1

      "Only the very young and inexperient amateurs mock the importance of being able to choose any system running on any hardware for you applications."

      So you think it's less naive to believe that you can "choose any system running on any hardware for you applications" then to question whether this is in fact possible? You must have a different definition of "naive" then I do.

  48. your vagina is dry and chaffed by Anonymous Coward · · Score: 1, Funny

    and emiting the most obnoxious of smells.

  49. Java is a standard by SuperKendall · · Score: 4, Informative

    You can pick up a description of the VM and write one from scratch if you are so inclined, and the JCP controls how the platform develops - in all ways that matter, Java is a standard.

    Have a look at www.jcp.org if you want to see a more developer accessible standards process.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  50. CLR.. by Lugor · · Score: 1

    Calcium
    Lime
    Rust

    Its an industrial metal cleaner...

  51. Essential Mono by 73939133 · · Score: 2, Interesting

    C# seems like a very nice programming language, but I really don't give a damn about .NET--as far as I'm concerned, Microsoft has never been able to put together a good set of APIs and .NET doesn't look like that has changed.

    What I would like to see is a book on Mono, the core ECMA C# APIs, and the Mono-specific APIs like Gtk#. Is anybody working on that?

    1. Re:Essential Mono by miguel · · Score: 5, Informative

      Various publishers are working on books about Mono that will cover exactly what you want.

      But everything you learn in Don's Essential .NET book applies directly to Mono. In fact, before Don joined Microsoft, he was kind enough to let us preview his book, and that helped us understand various internals of the .NET framework.

      Miguel.

    2. Re:Essential Mono by alext · · Score: 1

      The fact that Mono developers had to resort to a general "HOW TO" guide to figure out details of the Dotnet implementation should set at least some people's alarm bells ringing.

      (Assuming of course that they've overcome the shock of discovering that the bulk of Dotnet isn't published, specified or standardized at all, despite all that hype about ECMA).

      Contrast this with Java, where we get a proper set of specifications and test suites, or with Perl/Parrot, where we get to write our own!

    3. Re:Essential Mono by Anonymous Coward · · Score: 1, Interesting

      Sigh, another language religion troll.

      If you look at the process JBoss has gone through it is essentially no different from what they are doing with Mono.

      Why do you even care? Are you afraid of losing your Java job?

    4. Re:Essential Mono by ChristopherLord · · Score: 1

      See Rotor for a published 'bulk' of dotnet. Also, it isn't just ECMA standard, its also an ISO standard (reference).

  52. Clarifying... by Pac · · Score: 1

    You are right, obviously. That is one of things platforms like Tomcat, Zope and .NET do for you: they give you an environment where you can mantain information about a client in-between requests.

    I find Java in the server specially productive, since I can use the whole library with very little concern for the web-specific code in the front (ie, I can easily isolate the view from the model and the controller). The same goes for Zope (with a little more work). But I agree that Perl and CPAN may also be good. It would depend on you previous experience and particular preference.

  53. *they dont* have any by Anonymous Coward · · Score: 1, Informative

    they have on some other parts of .net like windows.forms, ASP.NET and ADO.NET ... but not C# the language. the slashdot community is so pathetically ill informed. check out the mono faq for more info: http://go-mono.com/faq.html#patents

    1. Re:*they dont* have any by expro · · Score: 1

      Talk about pathetic misinformation, the referenced URI does NOT show that there are no patents on C#. I have seen patents that apply to XML APIs they have written, specifically designed to prevent interoperability for basic things like DOM-like functionality.

      The only thing that the referred-to FAQ points to is that they have stated that some parts of .NET will be available on a royalty-free basis. This is a far cry from being not patented, as it still typically prevents GPLed implementation, may prevent commercial implementation, and it is far from clear upon reading these referenced sections how much of the many entangled pieces (corresponding to functionality currently available in Java) will be available at all under royalty-free terms.

  54. Fritz chips for your info how it works by ratfynk · · Score: 1, Informative

    Just for your further info here is some of the way it is being done;

    Trusted Computing Frequently Asked Questions
    - TCPA / Palladium / NGSCB / TCG
    Version 1.0
    Ross Anderson

    Translations into German, Spanish, Italian, Dutch, Chinese, Norwegian, Swedish, Finnish, Hungarian, Hebrew and French. This document is released under the GNU Free Documentation License.

    Additions since July 2002 are at the foot of this document. See also the Economics and Security Resource Page which gives a lot of background to the issues raised here.

    Microsoft has renamed Palladium NGSCB - for `Next Generation Secure Computing Base' and pronounced `enscub', while TCPA has been renamed (somewhat brusquely) as TCG - for the Trusted Computing Group. Meanwhile, opposition is mounting. Expect further twists and turns as the battle develops. And read on ...

    1. What are TCPA and Palladium?

    TCPA stands for the Trusted Computing Platform Alliance, an initiative led by Intel. Their stated goal is `a new computing platform for the next century that will provide for improved trust in the PC platform.' Palladium is software that Microsoft says it plans to incorporate in future versions of Windows; it will build on the TCPA hardware, and will add some extra features. Palladium has recently been renamed NGSCB while TCPA has been renamed TCG; however I'll continue to refer to them here by their original names as they are still more widely used.

    2. What does TCPA / Palladium do, in ordinary English?

    It provides a computing platform on which you can't tamper with the applications, and where these applications can communicate securely with the vendor. The obvious application is digital rights management (DRM): Disney will be able to sell you DVDs that will decrypt and run on a Palladium platform, but which you won't be able to copy. The music industry will be able to sell you music downloads that you won't be able to swap. They will be able to sell you CDs that you'll only be able to play three times, or only on your birthday. All sorts of new marketing possibilities will open up.

    TCPA / Palladium will also make it much harder for you to run unlicensed software. Pirate software can be detected and deleted remotely. It will also make it easier for people to rent software rather than buying it; and if you stop paying the rent, then not only does the software stop working but so may the files it created. For years, Bill Gates has dreamed of finding a way to make the Chinese pay for software: Palladium could be the answer to his prayer.

    There are many other possibilities. Governments will be able to arrange things so that all Word documents created on civil servants' PCs are `born classified' and can't be leaked electronically to journalists. Auction sites might insist that you use trusted proxy software for bidding, so that you can't bid tactically at the auction. Cheating at computer games could be made more difficult.

    There is a downside too. There will be remote censorship: the mechanisms designed to delete pirated music under remote control may be used to delete documents that a court (or a software company) has decided are offensive - this could be anything from pornography to writings that criticise political leaders. Software companies can also make it harder for you to switch to their competitors' products; for example, Word could encrypt all your documents using keys that only Microsoft products have access to; this would mean that you could only read them using Microsoft products, not with any competing word processor.

    3. So I won't be able to play MP3s on my PC any more?

    With existing MP3s, you may be all right for some time. Microsoft says that Palladium won't make anything suddenly stop working. But a recent software update for Windows Media Player has caused controversy by insisting that users agree to future anti-piracy measures, which may include measures that delete pirated content found on your computer. Also, some programs

    --
    OH THE SHAME I fell off the wagon and use sigs again!
    1. Re:Fritz chips for your info how it works by Anonymous Coward · · Score: 0

      I don't know if this is relevant to the initial topic , but on the other hand it is important. A lot has been made of potential DRM schemes, and they seem to have significant societal implications. TCPA et al. seems like DRM, but with the added threat that it would 1) apply to anything accessed by computer and 2) be inescapable if it happens. This gives a corporation (or a set of them) the de facto right to rewrite the Constitution and copyright law and to control access to information, rights which almost no one would give to a government because a government would be likely to exploit them. However, people at least have the right to change their government. TCPA will likely be readily adopted by businesses for the information control it allows and for the difficulty others would have in circumventing that control. Entertainment would flock to offer holdings to palladium-enabled systems, attracting victims xxxxxxx customers for media products. For media outlets and software companies, the system provides vast potential, and for users, the illusion of a wide variety of (paid and crippled) media access. Palladium potentially provides massive power to a few without any checks on that power, a frightening proposition.

      On the other hand, I'm not certain that this line of reasoning is relevant to the article at top. Microsoft sees an opportunity to get large amounts of money, both through software "services" and through the business generated when digital works are sold through Palladium-enabled systems. I don't know a lot here, but suspect that TCPA/Palladium compatibility is a part of .NET rather than its reason for existing. Being able to use .NET for a variety of systems is useful with or without TCPA/Palladium compatibility; Palladium needs computer-independence, and it may help, but being able to write and sell Microsoft applications across platforms is useful in and of itself.

      Just my HO.

    2. Re:Fritz chips for your info how it works by ratfynk · · Score: 1
      The point is that web content created by MS software will be able to block other browsers! Very relevent to .NET software capabilities. The browser wars will effectively be over use MS or you will not get good access to information and that information will be censorable buy the people who are given back doors. 1984 with an unashamed pretext of security.

      The bad parts of the net can and are being stopped by other means. By keeping info open the bad guys will have no where to hide!
      Impliment this system and you give them a way to hide. Give back door access to the wrong people then we are one step away from having people come to your door to shut you up, rather than using the legal system. I call myself ratfynk because I am just another voice in the GNU wilderness that tells it like it is.

      --
      OH THE SHAME I fell off the wagon and use sigs again!
  55. Very Punny! by PhxBlue · · Score: 1
    Get it? C-sharp? Because he uses knives...and they have to be sharp?

    Yeah, I think that one kinda fell flat.

    Sharp. . . flat. . . get it. . ?

    Oh, nevermind, I'm going home.

    --
    !#@%*)anks for hanging up the phone, dear.
  56. Java is also in trouble by 73939133 · · Score: 5, Interesting

    The only Java implementations you can get are all based on code licensed from Sun. With the JCP, Sun stifles innovation and progress. And Sun holds numerous patents on Java technologies, making it unlikely that the platform will ever be truly open. With so much control over Java, it is particularly worrisome to see Sun's market evaporate--Sun is a company on the way down, and the question is: what will they do to/with Java before they hit bottom? An SCO-like scenario involving Sun, IBM, and open source implementations seems entirely plausible.

    Both Java and .NET are attempts by two big competitors to establish new proprietary platforms and to do an end-run around open source systems like Linux. If a large fraction of the software on Linux were done in Java, for example, Sun could basically give their own platform an advantage by tinkering with the Java-on-Linux implementation.

    The solution? Don't use either. Mono may be a way out because, in addition to a .NET compatible set of libraries (which you shouldn't use and which may be encumbered by patents), it is getting its own, native set of APIs.

    But if you want to avoid the issue altogether, just don't use either Java or C#--there are plenty of good alternatives around. In fact, most software these days should probably be written in languages like Python, with a few core C/C++ libraries for numerical and other high-performance subroutines.

    1. Re:Java is also in trouble by alext · · Score: 2, Informative

      Nope, Kaffe is the open source one that isn't based on Sun code. I suspect that there are a few clean-room embedded VMs out there too, but I can't prove it.

      Perhaps more relevant to the Linux users here is the huge growth in Java on Linux due to the commercial (but generally free) JVM implementations from BEA, IBM and Sun. This is what places Java-on-Linux head and shoulders above Mono.

      I agree, however, that there are valid alternatives to both, and people with a desire to do something creative rather than just cloning stuff might like to help out with Parrot, the Perl 6 VM, also targeting a bunch of other languages.

    2. Re:Java is also in trouble by 73939133 · · Score: 1

      Kaffe is the open source one that isn't based on Sun code. I suspect that there are a few clean-room embedded VMs out there too, but I can't prove it.

      Kaffe is not an implementation of the Java platform: it lacks numerous APIs and it is clearly not compliant with Sun's Java specification.

      Technically, Kaffe is also far behind Mono, and Kaffe and gcj lack the user communities that Mono has. What makes Mono so successful is that, unlike Kaffe or gcj, Mono code can very easily access native libraries. Mono doesn't try to be primarily cross-platform or WORA, it tries to be a better system for Linux programming than C/C++, and it is succeeding admirably at that. Even if Sun Java weren't proprietary, it doesn't compete with that.

      Perhaps more relevant to the Linux users here is the huge growth in Java on Linux due to the commercial (but generally free) JVM implementations from BEA, IBM and Sun. This is what places Java-on-Linux head and shoulders above Mono.

      All of those implementations are based on code licensed from Sun, so all of them are under Sun's control and none of them are open source.

      You are right that they are widely used, but this is not a good thing for Linux because it means that anybody that relies on that software is subject to Sun's whims and problems. Sun could decide to charge for Java licenses at any time, and we have to assume that they could force BEA and IBM to do the same thing. Of, some company hostile to Java and cross-platform software could acquire Sun and kill Java altogether.

      I agree, however, that there are valid alternatives to both, and people with a desire to do something creative rather than just cloning stuff might like to help out with Parrot, the Perl 6 VM, also targeting a bunch of other languages.

      The more the merrier, but I don't view Perl 6, a dynamically typed runtime, as being in the same league as Java or Mono.

  57. Re:No interest by Tablizer · · Score: 1

    Almost every job posting I see out there for Java has some kind of OSS technology attached

    Most of my experience in OSS is in PHP-related projects, not Java. I personally don't really like Java. It's API's are goofy and it takes too much damned code to do the simplest things, but that is another story.

    The bottom line is that I don't get many inquiries about PHP these days. Microsoft stuff generates more contracts and inquiries.

  58. Isn't imitation the sincerest form of flattery? by dot+niet · · Score: 5, Insightful

    I'll take umbrage with the kneejerk "Java has been doing this for years" comments. Must every idea be so mind-bendingly unique to be deemed useful? Should we all start buying Ford Model-A cars instead of Durangos (or whatever) because Henry Ford "was doing that 100 years ago!"? Are the CLR-based language features a lot like Java? Yes. Should every derivative product be denounced as coming to the table too late? I think not. Once more, .NET ( the bits for developers anyway) brings some better things to the table as well (as evidenced by Sun getting into the leapfrog game with Java v.Next features - Metadata (Attributes), etc).

    1. Re:Isn't imitation the sincerest form of flattery? by jdennett · · Score: 1

      Imitation is flattery, but imitation without acknowledgement is plagiarism. Microsoft appear (at the very least) to strongly discourage their employees from discussing how much .NET owes to the Java platform and how much C# owes to the Java language, even though anyone who knows Java can see that 80-90% of C# came directly from Java.

      It's good that C# is competition, in some domains, for Java, and seems to have pushed Java's evolution forwards (new features for Java 1.5 are similar to things in C#).

      In the academic or open source world these projects would normally acknowledge that they are building off each others strengths, but the commercial world tends to be less honest.

      So, sure, don't condemn .NET for being a derivative product. But do by all means condemn those who try to cover that fact up.

    2. Re:Isn't imitation the sincerest form of flattery? by alext · · Score: 1

      Do you?

      I take umbrage with people making claims about "standardization" which turn out to be false, so tempting me to invest in a platform that will lead me into either

      a) a half-baked solution than doesn't give me true portability (and it only takes one missing API to cost me bigtime)

      or

      b) causing me to infringe patents owned by Microsoft, which were expressly designed to prevent cloning and are likely to be enforced.

      We already have two excellent open-source VM projects (Perl and Kaffe), and a wealth of open source code to run on them. Companies are making huge investments in Java-on-Linux - what value does Mono add apart from making headlines for Ximian?

      You're welcome to expound on the benefits of the C Sharp language, but I think such details are unlikely on their own to change any responsible person's mind.

  59. .NET security information by Anonymous Coward · · Score: 0
  60. Leading indicator of demand by Anonymous Coward · · Score: 0

    Your valuable links actually show buzzword zeitgeist amongst recruiters which would be a leading indicator of demand.

  61. Re: stupid moderators by Anonymous Coward · · Score: 0

    This guy did some actual WORK and posted links. And we have mindless moderators pulling THIS kind of crap.

    If you support the moderator's sacred cow technology, you get "insightful", if you bash it, you get "flamebait". Simple. Life is unfair.

  62. free shipping by Anonymous Coward · · Score: 1, Informative
  63. I did contribute to the thread. by Anonymous Coward · · Score: 0

    I indicated that the thread parent itself is overrated, childish post. Granted, the comment was meta (so if anything, it's offtopic), but I still stand by what I said. There is too much fanboy-ism on this site. It would be nice if slashdot returned to an actual discussion site (like in the olden days) rather than a "who can crack the best joke at MS's expense without discussing anything". If you can't see the childish nature of the status quo here then perhaps you should re-examine your critical thinking skills.

  64. don box by miratim · · Score: 1

    Anyone else notice that some of his books, while quite chock full of information, are fairly dense material? I'm think of Essential XML.. he's a clear and understandable speaker, but I'm not sure I've seen that translate into his written stuff..

    --
    ~ The Fudge Report @ http://mywebpages.comcast.net/fudgereport/
    1. Re:don box by DrEasy · · Score: 1

      Yes, Essential XML was a waste of my money... With a title like that, I didn't expect such a Microsoft-centric view of XML.

      --
      "In our tactical decisions, we are operating contrary to our strategic interest."
    2. Re:don box by Thuktun · · Score: 1

      he's a clear and understandable speaker, but I'm not sure I've seen that translate into his written stuff..

      The first time I saw him speak, it was at the Microsoft Professional Developer Conference in 2001, speaking about .NET. He was practically foaming at the mouth about it, and insisted on over-using metaphors from The Matrix. It was a strange experience.

  65. Re:.Net is Java! by borgboy · · Score: 1

    Web Forms is not a fancy name for servlets. They're classes extending the System.Web.Forms.Page class to define behavior, with a separate file defining UI layout.

    C# is not an alias for Java(tm), it's an embraced extension of several proprietary languages that was then ratified as a standard.

    The CLR is not a JVM. Maybe you might liken an AppDomain to a single JVM.

    Web Services are merely classes invoking one another utilizing a STANDARD based upon XML. And if you don't see/need the utility derrived therin, then that is your concern.

    And how exactly did Java(tm) address versioning?

    --
    meh.
  66. Re:Thank God for .DOT.NET by Tablizer · · Score: 3, Funny

    Linus Torvalds can lick Steve Ballmer's scrotum!

    Does he have to sign an SCO-like Non-Disclosure Agreement to do it?

  67. Re:.Net is Java! by I8TheWorm · · Score: 1

    You mean the java whose creator wrote this???

    --
    Saying Android is a family of phones is akin to saying Linux is a family of PCs.
  68. Considering... by OS24Ever · · Score: 3, Insightful

    ...that some companies still have 'Windows 5.0' on their sheets as lists of systems with operating experience, I don't see how this is relavent.

    Right now 'Java' is the en vogue thing to ask for on a resume. C# hasn't reached that level yet. It's still a buzzword to the HR types.

    --

    As a rock-in-roll Physicist once said, No matter where you go, there you are.

    1. Re:Considering... by Malcontent · · Score: 1

      "Right now 'Java' is the en vogue thing to ask for on a resume. C# hasn't reached that level yet. It's still a buzzword to the HR types."

      Don't you find that odd. C# has been around for almost three years now. I find it shocking that MS developers who only code for MS have not switched over to it by now.

      Considering the amount of hype MS has spread around and the fact that they "bet the company" (a lie of course) on .NET you'd think they would have had widespread adoption of C# by now.

      --

      War is necrophilia.

    2. Re:Considering... by Captain+Large+Face · · Score: 1

      ...that some companies still have 'Windows 5.0' on their sheets as lists of systems with operating experience

      Could the reasoning for this be that Windows 2000 == Windows NT 5.0?
    3. Re:Considering... by OS24Ever · · Score: 1

      Actually we used it as a 'see if they read or just check every box to say that they know something they don't.'

      It was never officially called NT 5.0, it wasn't released as 5.0. Geek pickyness I guess.

      --

      As a rock-in-roll Physicist once said, No matter where you go, there you are.

    4. Re:Considering... by Captain+Large+Face · · Score: 1

      I only know 'cos I check my server logs. :P

  69. When is MS coming out with the .ORG framework? by handspike · · Score: 2, Insightful

    They're running out of common terms to steal and obfuscate, aren't they?

  70. Ummmmm by Goody · · Score: 1

    In a world where developers are baying for customers' attentions, very few people can claim to command that of the developer. Their blogs may be the only clue to the higher level of thinking that they operate at, creating the answers to why and when code works in addition to the perennial how

    (Score: -5, Please pass the doobie over here )

    --
    Tired of being "punished" by the Slashdot $rtbl since 2002. I'm now over at http://soylentnews.org/ .
  71. Good book. by miguel · · Score: 5, Informative

    This is one of the best .NET books, the first of a series of pretty good books, by those involved deeply with the framework.

    This book covers the technicalities in the .NET framework, and is of special interest if you are interested in the advanced features of the Common Language Runtime like method interception, transparent proxies, application domains and metadata.

    Compiler writers, framework developers and those who need to get the most out of the framework will be interested in this title.

    I can not recommend this book enough. Don has done a fantastic job. It helped the Mono developers understand the low-level technical features of the framework.

    Miguel.

  72. different rules by millenium · · Score: 1

    This whole .NET thing may have its technical merits.

    The truth is that we play by different rules. Can you make money pushing coke? Yes, you can. Can you build web applications with .NET? Yes, you can.

    1. Re:different rules by Anonymous Coward · · Score: 1, Funny

      So .Net is the new coke for this generation? ;p

      -- vranash

  73. Re:.Net is Java! by miguel · · Score: 2, Insightful

    C# and the CLI (ECMA standards 334 and 335) have no patent fees attached to it, it is completely patent free.

    The ironic thing is that *today* the fastest fully open source Java VM that can run Eclipse is Mono plus IKVM.NET (the open source Java VM that generates CIL code on the flight ;-)

    Miguel.

  74. great grandparent is NOT a troll! by Anonymous Coward · · Score: 0

    May sound like a delusional paranoid but actually we all know Microsoft would love to get away with doing this. This is part of the design goal behind .net, or are the mods too young to remember when it was first announced?

  75. There is a difference by MemeRot · · Score: 2, Insightful

    Everything you write in Java has to be written in Java. I know there are Java purists out there who may think that rocks, but it could be beneficial to be able to pick and choose languages for the task at hand. The multi-language innovation is really neat to me. Some languages make string processing a snap, some don't.

    Web services don't have to be anything other than classes interacting through XML - isn't that enough? That's a significant advance in code re-use that I see, much more important than object oriented programming I think. So often code that has been written doesn't work for a new language version, a new business process requires significant changes and everything gets rewritten, or other incompatibilities crop up. Since the cardinal rule MS wrote for COM objects was 'the interface is sacred' (I know, do as I say, not as I do, and I agree there) that always bugged me. So now you write a web service. Can be used by all your other apps, you can port your other apps to different language/OS/etc and still take advantage of it. I don't care what technology is behind a web service, just that web services themselves are future-friendly and seem to lead to the semantic web quite nicely. MS's contribution here isn't revolutionary, but it will get more people using it. The main benefit of web services is that I don't care whether you're serving it up from .Net, Java, manually coded Perl, whatever. It seems to me MS studied Java's strengths, copied those, added new things Java didn't think of (other language support), and avoided some of Java's pitfalls (C# is a standard, as is .Net), and that including web services is really a separate thing aside from their incorporation in Visual Studio.NET.

  76. i agree with you by MemeRot · · Score: 1

    And your general approach. From what I've heard Longhorn will do this with the filesystem, but I haven't heard anything about registry.

    Bloated registries with old, invalid data are one of the main places to cause windows problems. I find left over keys after doing the manufacturer uninstall all the time. Tying the registry record to the core application record in the new filesystem seems like a simple way to enforce referential integrity here at the one place where the lack of it causes so many headaches for windows users everywhere.

  77. Re:I don't get CLR by Anonymous Coward · · Score: 0

    Actually, the CLR uses a Just-In-Time compiler to compile to native instructions.

    On the other hand, Java uses a virtual machine to run inside a sandbox; no native code there, hence .Net apps are noticeably faster than Java apps.

    A common language runtime, such as Mono's, could enable developers to compile once, and run anywhere, Linux, Mac, Windows, or any device that sports a CLR, should enough operating systems choose to adopt it (MS already has a CLR with .Net of course). This could really open up new software venues to the Linux world; no longer would developers have to port their software to Linux or Mac; it could already run since the CLR is there on each operating system.

  78. Don Box works for Microsoft by Anonymous Coward · · Score: 1, Informative
    Since Jan 7, 2002

    No surprise he can get good info on .NET.

    1. Re:Don Box works for Microsoft by Anonymous Coward · · Score: 0

      .NET has been available for public beta testing since 2001. Couple that with the tons of documentation on MSDN, anyone can get good info on it.

  79. Nice Troll by Anonymous Coward · · Score: 0

    I like to respond to people who end their sigs with "Nice Troll".

  80. Parent Post is no troll! by ratfynk · · Score: 2, Interesting

    The post was not a troll. the truth about the .Net framework is that it is designed eventually to only alow tcpa key coded web pages to be displayed on an MS browser. Anyone who is stupid enough to think that MS is not in the business of trying to lock up all internet communication deserves what is coming. Something that will make you raise your right arm and alow access to your wallet in salute! Really read this guy he is biased but he is right! http://www.cl.cam.ac.uk/users/rja14/tcpa-faq.html

    --
    OH THE SHAME I fell off the wagon and use sigs again!
  81. Really? by MemeRot · · Score: 1

    How often do you port mission critical systems to other OS's? Or even other databases?

    Did you grossly miscalculate the processing needs in the requirements phase? What's the deal?

    1. Re:Really? by Anonymous Coward · · Score: 0

      How often do you port mission critical systems to other OS's? Or even other databases?

      I actually had one of these clueless dweebs argue with me a couple of weeks ago that we should be writing all of our SQL statements using portable ANSI SQL.

      I had to explain to him that writing your apps in lowest common denominator SQL so that you could easily switch resulted in piss poor performance. We'd already been there, done that, and in 10 years we hadn't switched off Oracle so what was the bloody point?

      Oh yeah that clueless dweeb was our CIO. This Pac guy sounds an awful lot like a PHB to me. Things always work in theory to PHBs, but in practice they fail.

  82. Re:.Net is Java! by alext · · Score: 1

    Nothing ironic here, move along :-)

    My guess is that the reason that Kaffe is not particularly fast is that there are already three very high quality JVMs freely available for Linux.

    In fact, I know that it is the existence of these VMs that are enabling a large number of major companies to move to Linux.

    It would be interesting to compare the collective investment in Java-on-Linux to that of Mono-on-Linux. My guess would be about 6 orders of magnitude in favor of Java, but of course this might be slightly out... :-)

  83. Visual Studio Song by ratfynk · · Score: 1

    99 little buttons to push on my screen 99 little buttons to push
    Mouse one down and push it around 98 little buttons to push
    (repeat 98 times)
    There are no more little buttons to mouse on my screen no more buttons to mouse. My mouse it is hung and just for some fun I'll cfdisk the whole fucking thing!

    --
    OH THE SHAME I fell off the wagon and use sigs again!
  84. Response to blind criticisms of .NET by Junks+Jerzey · · Score: 3, Interesting

    I'm seeing a lot of blind flaming about .net, so here's my overall response. .net (all lowercase, not ".NET") is Microsoft rearchitecting Windows across the board. You don't use the Win32 API any more; you use the .NET libraries. You don't write applications in raw C++ any more, you use C# or another higher-level language that targets the CLR (Microsoft gave advance information to a number of indepdendent language developers, encouraging them to port their products to .net). Security issues caused by low-level buffer overruns have vanished. You get a nice Visual Basic-like environment for creating GUIs. This is all a great idea.

    The downside is that while .NET and C# are much better than the Win32 API and C++, there's a general staidness to it all. It feels like we've moved from 1985 to where we should have been in 1994. C# feels wonderful if you're a C++ programmer who never used Turbo Pascal or Visual Basic (or if you're a Turbo Pascal or Visual Basic programmer annoyed with C++), but it feels overly complex if you've used a dynamic language like Python, Smalltalk, or Lisp. The OOPness of .NET is very heavy and static. And it's all still based on a compile-run cycle, which is hard to go back to once you've gotten away from it.

    Personally, even though I think Microsoft is correcting a lot of past mistakes with .NET, and even though Microsoft is showing a lot of initiative and is willing to throw out a lot cruft we've all gotten used to, I don't think it's enough. The result is still complex enough and elaborate enough that it's tough to bank on it as the future.

    1. Re:Response to blind criticisms of .NET by Anonymous Coward · · Score: 0

      As a Lisper, I applaud you for this fine comment. It sadly isn't the norm around here.

    2. Re:Response to blind criticisms of .NET by Captain_Chaos · · Score: 1

      Security issues caused by low-level buffer overruns have vanished.

      They haven't. What will happen is that the thousands of C/C++ developers who will eventually flock to C# will not have the patience to learn to program in a safe way. Instead, they will use the "unsafe code" feature which allows pointer arithmetic, so they can continue to program the way they're used to. The result will be the same kinds of security problems that C code has always been plagued by. Unsafe code is a very bad idea and one of the big drawbacks of .NET.

    3. Re:Response to blind criticisms of .NET by vandenh · · Score: 1

      >C# feels wonderful if you're a C++ programmer

      I don't agree. C# feels like a very limited script-like language when you are an experienced C++ person. Frankly I don't think many experienced C++ programmers will switch to C#. The people MS is targetting with C# are the VB crowd. C# is way to limited, static and "old-style OO" for C++ people to switch.

    4. Re:Response to blind criticisms of .NET by Anonymous Coward · · Score: 0

      Don't write off C# yet, you've only seen the 1.1 version. In 2.0 you get closures, iterators and generics. You won't get deterministic destructors but you do get garbage collection. And performance is improving.

  85. Essential .NET? by batkins · · Score: 2, Funny
    oxymoron n. - words whose meanings contradict each other


    Hmmm, Essential .NET?

  86. Re:.Net is Java! by Anonymous Coward · · Score: 0

    Java - a cross between C++ and VB

  87. Today, I'm also Clueless! by ClosedSource · · Score: 1

    How did I get from "young and inexperient" to "naive"? My head hurts, I'm going to leave now.

  88. Re:No interest by rutledjw · · Score: 1
    Java is an acquired taste, no doubt about it. But one can also produce a very elegant solution. I personally don't understand the goofy API thing, they seem straight-forward to me.

    it takes too much damned code to do the simplest things, but that is another story.

    That's a side effect of OO, but if you're proficient with Java I don't think it's as much of an issue. However, well written OO is great in a medium-sized and larger apps.

    I don't know much about PHP, although as much as I feel that .NET is not worth the effort, it's a vast improvement over what was available in the past from MS. That being said, there are many OSS tools that work within a Java/J2EE environment that are adding a lot of value. In the end, that's the one thing I don't think MS can touch and which undermines their .NET initiative.

    The java OSS tools add a lot of value and these same OSS developers won't do the same for .NET. Mono developers were met with hostility and as much as MS crows about .NET "standards" they're doing everything they can to keep it closed. That deosn't bode well with OSS folks.

    --

    Computer Science is Applied Philosophy
  89. Java/J2EE is a superset of .NET by Anonymous Coward · · Score: 0

    It may be just me, but I really can't see why anyone would bother with .NET. There is nothing that .NET does that Java/J2EE can't do, but on more platforms. With the SWT toolkit, Java can run native Windows GUI with ActiveX/COM at C++ speeds. As Java/J2EE runs perfectly well on Microsoft platforms, yet scales down to mobile phones and up to legacy mainframes, I really can't see any possible justification for selecting a development platform that actively restricts deployment on different systems, and enforces use of a single-supplier proprietary closed OS.

  90. What's next? by cookd · · Score: 1

    Essential COM
    Essential .NET

    So what's next, Essential .ORG and Essential .GOV?

    --
    Time flies like an arrow. Fruit flies like a banana.
  91. Re:No interest by Anonymous Coward · · Score: 0

    That's a side effect of OO

    It would be nice if Java had regular functions.

  92. How often you do not? by Pac · · Score: 1

    If stop thinking "whole systems" and start thinking "components", the opportunities become endless. Within any given large company you will usually have different systems running (within any given small to medium company you will eventually different systems) and by "going portable" you will be able to offer new services where previously there were none. Objected oriented programming sometimes works exactly as our mothers said it should...

  93. Nevertheless by Pac · · Score: 1

    My point is not, as I posted in another answer, being able to port my company's "mission-critical-do not-touch-we-die-if-breaks" system at will. My point is being able to offer services in many platforms. A code once run anywhere type of thing. That without even touching the "wild CEO" problem as in "John, I decided to buy Solaris this year - care to port those web apps for me? It would be fine to have then by Monday for a demo in the board meeting..."

    1. Re:Nevertheless by sheldon · · Score: 1

      My point is being able to offer services in many platforms.

      This is what the web gives you. We build apps in ASP.NET and anyone in the world can run them.

      Apparently at some point during the dotcom craze this point of what the web provided eluded you.

  94. buying Ford Model-A horseless carraiges by Anonymous Coward · · Score: 0

    The model-T did about 26 miles per gallon. The average fel efficency of a Ford vehicle is now 24 miles per gallon. Mmm, the general public might be better off if we all drove Model-A's.

  95. Sounds like WebObjects by Anonymous Coward · · Score: 0

    WebObjects.

    But while WO was a great idea (from nextstep of course) in theory, it sucked great donkey balls as sson as you tried to do anything outside "Hello World" with it. No matter if deploying on Apples own boxes, on Sun or on Windows. Stupid design desvcisions where worker threads did not actually run in parallell (most of the time) and insane processing overhead in the application framework just made it unusable. Add to that the fact that critical sections of the framework wasn't threadsafe. Pure genius. And the bugs in the scheduler (the adapter)...

    But coming from application development, it felt really familiar. The downside being that it took quite some time before any actual knowledge about how HTTP worked was acquired. You could build complete websites with this system without understanding the request-response loop. And as soon as a special case hits... yep, you are SOL. Not that you could do much manipulation at that level, other than with Direct Actions.

    I could go on until I've filled slashdots database. It really, really sucked (sucks?).

    All in all, it was a great idea, but I've rarely seen something so poorly executed. Maybe MS has done this same thing but done it right this time.

    1. Re:Sounds like WebObjects by Anonymous Coward · · Score: 0

      It is a lot like WebObjects. Without EOF, though I hear that may change with .NET 2.0 and SQL Server Yukon.

      The main difference is that I don't think they really looked at WO so much as they wanted web development to be like Visual Basic applciations. As such, its data-binding approach isn't as seamless as WO. Event handlers require a certain signature that pass in arguments

      As for WebObjects' deficiencies, I agree and disagree. It's rough around the edges, but more good than bad. A lot of bugs were patched years ago, and v5 was a re-write. A lot of the special cases required a more indepth understanding of the req-resp loop but weren't impossible by any means. EOF wasn't particularly processor intensive (unless you were doing unnecessary stuff like populating 10,000 objects instead of using raw-rows). Anyway, there's a lot of complex websites (including Apple's stuff) that run on WO pretty well, so I'm not sure it was that poorly executed.

  96. the arrogance by Anonymous Coward · · Score: 0

    From the post...

    "In a world where developers are baying for customers' attentions, very few people can claim to command that of the developer. Their blogs may be the only clue to the higher level of thinking that they operate at, creating the answers to why and when code works in addition to the perennial how."

    what a fucking joke.

    HAHHAA

  97. Not MVC - Webforms have tight coupled VC by AndersDahlberg · · Score: 1

    IMHO the biggest problem with .net webforms compared to say java server faces or tapestry (use google if you need information on any of those - java got good documentation ;) is the inherent problem with the way webforms are developed.

    You can't (well, not without serious trouble - you can't use those nifty "wizards" of VS.NET - there you lost the "productivity" buzzword) easily use the common model 2 web development paradigm.

    The problem is that in webforms you're supposed to be using a "page" with code-behing technology as entrance (thus coupling the view with the controller). Put another way: the code-behind belongs to the page - Controller belongs to the View != MVC where each are seperate (making large projects harder to develop and maintain due to those hard bindings).

    I.e. there is no similarity to as in java where you have a front servlet (a.k.a. Controllor) and a java bean (Model) and a jsp/html page (View) with no hard bindings (you can, if you want, specify th bindings in the web.xml file for the controller servlet). There are a lot of MVC architectures available for J2EE developers. So far I've only heard of one for .net and that's a port of Struts.

  98. Re:.Net is Java! by AndersDahlberg · · Score: 1

    And how exactly did Java(tm) address versioning? Well, http://java.sun.com/j2se/1.4.2/docs/guide/versioni ng/spec/versioningTOC.html Package based versioning - biggest problem is that most open-source (I don't really care about other commercial projects as I don't use them ;) projects don't use this :(

  99. "Innovative"-right... languages for the java vm: by AndersDahlberg · · Score: 2, Informative
    Everything you write in Java has to be written in Java. I know there are Java purists out there who may think that rocks, but it could be beneficial to be able to pick and choose languages for the task at hand. The multi-language innovation is really neat to me. Some languages make string processing a snap, some don't.

    Sorry to bring you the news, but you really should get out more :)

    http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.ht ml
    Among the most interesting of those you find
    • jython (python running on the java vm - the fastest python implementation?)
    • eiffel
    • smalltalk
    • nice (indeed a very nice ;) language - a little bloated syntax though)
    • sather
    • ada
    • ruby
    • javascript (rhino)
    • aspectj (first AOP language)
    • forth
    • fortran and last but not least a very promising language called
    • Kava http://www.research.ibm.com/people/d/dfb/papers.ht ml#Bacon01Kava
    So, again, your point about .net's language innovation was?
  100. Re:.Net is Java! by borgboy · · Score: 1

    Thank you. I actually did go and read it.

    My experience is largely in .Net, learning Java from a guy I am simultaneously teaching .Net to. Info like this is much appreciated. I wonder - with the high churn/release cycle of many OSS projects, why don't more use Package?

    --
    meh.
  101. Re:.Net is Java! by AndersDahlberg · · Score: 1

    Well, just guessing here, maybe because the majority of java developers aren't even aware that it exists and if they are believe that it's not needed :)

  102. Your message crashed by Anonymous Coward · · Score: 0

    Buzzword Overflow Error

  103. Re:.Net is Java! by ergo98 · · Score: 1

    More like a cross between C++ and Object Pascal in Delphi. Seriously. That anyone could hold Java up for originality boggles the mind.

  104. Aside from hype and BS by Anonymous Coward · · Score: 2, Insightful
    From first hand experience with hardcore enterprise applications that handle big time loads, .NET has 10 years to go before it will handle medium/big loads. I'm not talking about some tiny e-commerce site that gets a couple hundred or thousand transactions a day. Anything that doesn't do 3 million requests a day to me is small/medium. Anyone that has done hardcore high load applications will tell you how hard it is to handle 5-20K transactions per second. By transaction I don't meant hits either. Not page views, not some simple dynamic page that just shows a couple kilobytes of data from a database.

    I'm talking transactions that do more than just insert a new order into a database. Something that actually has to coordinate a transaction across several remote systems and insure the transaction follows well defined process. Can .NET do these types of transactions? Sure, but it will require a lot of hard work and dedication to reach 1K transactions per second. If you want to reach fault tolerant transactions across a cluster of servers, you're best option today is to use Java. Microsoft officially doesn't have any plans to build a stateful application server that provides object persistence management.

    1. Re:Aside from hype and BS by Anonymous Coward · · Score: 0

      I call bullshit. Show me a java based system that does 20K transactions/sec. Maybe you meant per minute or hour...I can today easily outperform anything you can write in java in .Net on hardware that costs 1/3 the $$$. Just so you know, COM+ and the Enterprise Services namespace take care of the transactions, which can be distributed among many servers. It handles object pooling, ACID transactions, etc...There's your mythical stateful app server.

    2. Re:Aside from hype and BS by awol · · Score: 1

      From first hand experience with hardcore enterprise applications that handle big time loads, .NET has 10 years to go before it will handle medium/big loads. I'm not talking about some tiny e-commerce site that gets a couple hundred or thousand transactions a day. Anything that doesn't do 3 million requests a day to me is small/medium.

      Whilst I agree with you, I think that any of the "framework" architectures have a way to go to meet your performance criteria where the scale comes in two dimensions. It it probably true that the framework approach can scale well when you are adding capacity to your problem domain by parallelising multiple transactions. However I cannot believe that any of them scale well when you must preclude parallelism by requiring exclusive access to _many_ entities in your problem domain. In these circumstances I believe you still need to make design time decisions about implementation to reach performance targets of 10k tran/sec and the byte code or abstracted implementations seem to be unable to reach these levels of performance.

      My recent experience is that after many years of excellent performance when trying to move to the next level of performance (1k -> 10k) we found that we could not make CPU of our central transaction engine go to 100% because of the vagaries of the distriuted application. It was only by optimising and revisting some of the actual implementation that we were finally able to reach the point where the limit on the system was the CPU of the central engine. We can't parallelise that (easily :-) because the premise of the system is that there will be chains of consquences resulting from each transaction and these chains must be atomic and without risk. Our C application (and I am not suggesting C is the only answer) is pretty close to the wire and the comms is very efficient and we struggled. When there are layers and layers of guff between the business level and the wire, I cannot see the performance getting close (regardless of platform, Java, .net whatever).

      Having said _all_ this, the "framework" approach makes the simple things easier and gives jobs for the monkeys and .net makes the framework approach even easier which means less talented monkeys. Good luck to 'em. That leaves the hard problems to those who understand them such as yourself. A nice little earner that!

      --
      "The first thing to do when you find yourself in a hole is stop digging."
  105. Re:I don't get CLR by TummyX · · Score: 1

    What kind of crack are you smoking?


    Actually, the CLR uses a Just-In-Time compiler to compile to native instructions.


    And so does Java. And it has been for years.


    On the other hand, Java uses a virtual machine to run inside a sandbox; no native code there, hence .Net apps are noticeably faster than Java apps


    So? .NET uses a "virtual machine" too. That doesn't mean that it doesn't generate native code. In fact, wth virtual method inlining and hotspot optimisation, Java's JITs are currently much more advanced than .NET's.

    But ofcourse you were trying to use as many technical terms as you could to cover the fact that you know fuck all.

  106. Re:No interest by Anonymous Coward · · Score: 0

    x = Math.sqrt(y) ?

  107. cool by Anonymous Coward · · Score: 0

    Thanks for saving me the time of searching for it.

  108. One company, one system by Pac · · Score: 1

    You misunderstand me (not for the first time today, I notice), I was not talking about client-side issues. The problem is, not all companies use the same system. We're a small but fancy development shop. If the client wants our systems to run under Windows, they will. If the client wants them under Unix, there they will be. It is fine to build in ASP.NET if you can be absolutely sure your system won't have to run on anythng but Windows. I don't have this luxury. Time proved us that a cross-platform language and infra-structure would give us more market penetration. We're still alive and kicking after all these years.

    1. Re:One company, one system by sheldon · · Score: 1

      You misunderstand me (not for the first time today, I notice), I was not talking about client-side issues.

      Oh no, I understood perfectly, what I was pointing out was how wrong you are. Client-side is where it's critical, because in a global world that is the only thing beyond your control.

      It is fine to build in ASP.NET if you can be absolutely sure your system won't have to run on anythng but Windows.

      Ahh, but I have no need to worry about that, for the server is under my control. If I want to use Oracle, I can. If I want to use SQL Server, I can. I can run the web site off an AS/400 with DB/2 on the back end!

      And none of this is of any concern to the client!

      Time proved us that a cross-platform language and infra-structure would give us more market penetration. We're still alive and kicking after all these years.

      Wow. Now if only you could get yourself out of your little sphere of isolation and realize there's a great big world out there, and we aren't you. Your needs are not our needs, your religion is not my religion.

  109. Re:"Innovative"-right... languages for the java vm by sdkone · · Score: 0

    The problem with the JVM is that is was never intended to be a target for any other language apart from Java. So if you want to compile an arbitrary language to the JVM, you'll probably have to make more concessions than if you target the CLR. (Variable parameters for instance.)

    But there are still many languages other than Java that can be compiled to the JVM. [My work involves one such language - Component Pascal, not on your list. ;) ] But the CLR was designed with multiple language support in mind so you don't need to jump through as many hoops as you do with the JVM.

  110. "Higher thinking"? by flinxmeister · · Score: 1

    Oh...I understand the "Higher thinking" of most developers.

    As someone who chose the networking path (real networking...not the bootcamp bred fare currently litering the corporatescape), I've had to fix, kludge, and work around the products of such superior intellects for nearly 10 years.

    Please, this prima donna approach to developers as the darlings of anything silicon is ridiculous. They're smart, but there are lots of other people out there just as smart that do other things with computers. The company who recognizes *all* of it's brainpower--not just the coders--is a superior company indeed.

  111. Re:No interest by Anonymous Coward · · Score: 0

    Which do you prefer to read?

    x = a + b * c

    Or

    x = glob.a + glob.b * glob.c

  112. Maybe, but we don't need flattery. by Captain_Chaos · · Score: 1

    Companies should compete on implementations, not standards. We already had a perfectly good web application platform specification in J2EE. What Microsoft should have done is make a better JDK and application server. Instead, they rip off Java and create their own platform, yet again showing their total contempt for the best interests of the market.

  113. You sir, are hillarious by Anonymous Coward · · Score: 0

    You are proof that Slashdot moderators are pathetic dimwits at best.

    You have used this exact template, by my count, over 7 times now, and nearly every time you have, at least during early moderation, done very well by it.

    I've given up trying to inform the moderators.

    This time I am laughing with you, at them =)

    1. Re:You sir, are hillarious by Anonymous Coward · · Score: 0

      what can I say, I'm a badass.

      -rkz

  114. And how is that better than web services? by MemeRot · · Score: 1

    Write your components as web services. Now change the OS, language, database, whatever. Now you can write in code optimized for the particular hardware/OS you're on, while allowing the code to be called from anywhere - on the same box, on the same LAN, or by your business partners in Austin. So who cares if the code is portable?

  115. i didn't know that by MemeRot · · Score: 1

    that's very interesting. how does the jvm do at handling garbage collection, etc. for a typeless language like javascript when it's used to strongly typed java?

    1. Re:i didn't know that by AndersDahlberg · · Score: 1

      No difference - the vm just cares about bytecode, what language the code came from doesn't really matter (except that maybe not all of the JIT optimizations developed for the java language might work as good on bytecodes from other languages... Which is the same problem the CLR have with getting, for example, python performing good enough - java implementation of python is easier because of java haven't got .net's inherent problem with *unloading* bytecode) I.e. in theory the java vm knows nothing about java the language (as above, in practise some optimizations in the vm jitter of course know common patterns of bytecode that represents common java code patterns - casts,for loops, etc).

  116. May work sometimes... by Pac · · Score: 1

    But now you add the network variable into the equation. All will be fine until you have time constraints to deal with. Those may kill you in a bad day. Besides, you are restricted to connected users. For desktop stand-alone applications it is an unnecessary burden on the end-user.

  117. Not necessarily by MemeRot · · Score: 1

    Desktop stand alone? I thought you were talking server apps. Have you ever written a desktop standalone app in Java? Amazingly I've never bought a commercial standalone product that required the jvm to run, nor would I consider it. Or are you talking custom business apps? For small business custom business apps in a standard company (running windows) the economics of writing RAD in Visual Studio slaughter Java. You don't spend time defining classes and interfaces for a small custom app. In a company running Linux, well it's obviously a tech company and nobody there would listen even if MS were better for their problem, so sure Java might be fine. Even for business apps though, when you're on an intranet usually a web app would be my preference over client/server - managing software releases is a drag compared to just updating the web server, and in an IE environment you can offload a lot to client side vbscript so the response time is close to client/server.

  118. You'd be surprised by Pac · · Score: 1

    First, you wouldn't even know you needed jvm to run. If needed, it would be installed along with the application.

    Second, Java slow performance in the desktop is now more a myth than a fact: we tested applications with complex (Swing) GUIs in machines from Windows95/K6/32MB RAM up to new shinny XP/P4/256 MB. Its performance was more than acceptable at the low end, indistinguishible from anything else at the high end. When I say acceptable I don't mean "acceptable for us Linux geeks ifyouhavewindowsyoumustlikeitslow", I mean acceptable for our (large) clients. The point is that if you pay attention to the performance pitfalls you will be fine (for instance, recently I was able to accelerate a routine by an order of magnitude or more - from 220 sec to 1 sec or less - because the programmer forgot the ancient String/StringBuffer pitfall).

    Third, it may be hard for Windows-only developers (who necessarily listen to a lot of MS marketing speechs) to believe, but it is actually a selling point to tell the client you can deliver his application for the three major platforms (Windows/Mac/Linux) at the same time without any additional cost. Specially for clients with a large Mac base or with a "inclusive" marketing strategy.

  119. I still don't understand what types of apps by MemeRot · · Score: 1

    Let's say I buy a game. It's not going to be written in Java. Let's say I buy music processing software. It's not going to be written in Java. That's all the software I buy personally, and it needs to be optimized for particular hardware/OS to have decent performance. What kind of apps are you talking about? Can you give an example, because I just don't see what commercial software you'd write that you wouldn't want to optimize for a particular hardware/OS.

    So again, are you talking about custom business apps? Small-medium custom business apps have always been the focus of MS Studio, and it excels there.

    But you say the client wants to sell this product for multiple OS's - what kind of product is this? When games have a Linux version, it's ported over. When something like Photoshop has releases for the Mac and Windows, the Windows one is ported over. I'm not talking out my ass here.... Photoshop, Premiere, ProTools, SoundForge, there are always separate versions written for the different OSs, and it's necessary. With anything really complex like that you'll want to take advantage of whatever's built into the OS or hardware (DirectX, OpenGL, AGP cards, etc). The differentiation of one product from another in a field is small in most cases, and getting every advantage you can from the OS you're running on helps your product stand out.

    I just don't see the niche you're talking about if it's not back-end server software. Can you provide examples? Have you actually done this development yourself?

    220 seconds to 1 second. This was obviously not a product you sold on the shelf. So was it a custom app for internal use in a company? Was this released? Did your project have performance requirements or code reviews? I can't imagine a business app needing 220 seconds to do anything.

  120. Types of App by Pac · · Score: 1

    I agree with almost all you said. Some applications (image/processor intensive like Premiere or Photoshop) and games (3D Shooters, for instance) need all power a processor can give you and more.

    To give one concrete example (we have more of those) of what I am talking about, we are currently developing an educational software (a "text exploring" software, based upon a particular methodology - it has basic text processing capabilities plus a host of text oriented features). The client absolutely needed it for Mac and Windows and found it very pleasing to have it for Linux too. One thing you must notice that bellow a certain amount of time, the user won't note any difference - and Java is enough for this: no fancy annimation, no intensive processor task and a nice user interface. We are entering beta now and have not found any performance problems.

    So, I am talking about a custom app, but it is not exactly a business one. It will be used by thousands of users (mainly students).

    PS: the 220 to 1 sec was a mistake correction (I can't think of anything that needs 220 seconds too...:). Remember, I was talking about Java performance pitfalls. If you use a String instead a of an StringBuffer for a string that will be modified, you suffer a great time penalty in Java - in this particular case the program needed to interact through the text and change it completely twice (hence the 220 sec - it was also an n^2 algorithm - junior programmers sometimes just can't help it...:))

  121. OK, that's valid by MemeRot · · Score: 1

    The educational software market is probably a perfect example for you. You never know if the school will be running windows, mac, or, very rarely, linux. And there aren't constant minor updates as business rules change, so the maintenance issue doesn't push for web instead of client app. Just PLEASE don't write any Math Blaster type apps :)

    I can also see the use of this in certain scientific apps. Education and science aren't problem spaces I'm familiar with, and would seem to benefit from cross-platform compatibility, and to make more sense as a client app rather than a web app. The needs are particular to the problem space, for the problem space I work in (web databases, ecommerce, intranets) these abilities don't offer any value to the client so they don't sway me to java at all. It's partly personal prejudice too, I just don't like the C/C++/Java syntax style on an aesthetic level. We tend to make aesthetic judgements about things right off the bat, and then think of 100 auxiliary reasons to back up that judgement which are really beside the point.

  122. Re:No interest by Anonymous Coward · · Score: 0

    Idiot.