Slashdot Mirror


Understanding .NET: A Tutorial and Analysis

benjiboo writes "This is one of the many books designed to help the average technical manager or developer get a feel for what the .NET framework means for them. Primarily geared towards developers and technical managers, this book aims to cut through the marketing hype. But, does it succeed? Read on for Benjiboo's answer to that question. Understanding .NET: A Tutorial and Analysis author David Chappell pages 288 publisher Addison-Wesley rating 4 reviewer Benjiboo ISBN 0201741628 summary A summary of the .NET framework

Firstly, this book doesn't attempt to act as a programming tutorial, and as a result is thin on code examples. Instead, the book takes a highly summative approach to the main technologies of the framework, broadly dividing them into: web services, the CLR and languages, the class library, data access, ASP.net and .NET my services.

Having said this, the central theme through the book is that of XML and web services, accurately reflecting their importance in the .net framework. It frustrates me how web services are often described as revolutionary, when built on technologies such as UDDI and WDSL which in turn are based on relatively mature technologies such as XML and HTTP. This book falls into the same trap of pandering to the hype surrounding web services, without really managing to convince me of what is so revolutionary about them.

The author dedicates a chapter to a summary of the main .NET languages, Visual Basic .NET, C#, and the managed extensions of C++. The author concludes that "Managed C++ adds even more complexity to an already complex language." Some may have reservations with this statement; garbage collection, interfaces, attributes and the managed types are only likely to result in less work for the developer even after a relatively short learning curve. The author appears to come out in favour of C# over the "more complex" Visual Basic. I would like to have seen some discussion on other .NET languages under development.

The chapter on the class libraries makes a relatively good job of summarising the massive .NET libraries. It's a fleeting overview of the most useful and interesting parts of the libraries. Remoting (remote method calls), reflection and the ubiquitous GUI libraries are just a few examples. This is one of the stronger sections of the book in my opinion, though this is coming from a developer's perspective.

There is a concise chapter on ADO .NET. The author acknowledges the fact that this is the latest in a long line of Microsoft data access libraries but fails to indicate why this one is better. The controversial .NET My Services is also detailed. The book doesn't really ponder the politics surrounding My Services, which is surprising as this element was always likely to be its downfall.

In parts, this book is overwhelmingly pro-Microsoft. In a particularly gushing moment, the author implies that COM was successful in its goals of interoperable component software, only failing to reach critical mass due to a failure by other vendors to support it. OMG's corba on the other hand was based on an incomplete standard, destined to failure due to Microsoft's decision not to support this 'doomed' standard. I would whole-heartedly disagree with this. Firstly, the distributed object technologies of CORBA are applicable to a different range of problems. Even overlooking the validity of this comparison, CORBA has seen massive support and is generally considered to be more successful than COM.

On a more positive note however, this book does provide isolated moments of insight. Some of the sidebars, for instance, tend to delve a little deeper, providing a little bit of the insight I was hoping to gain by reading this book. A brief look at the differences between MSIL and Java's VMs for instance led me to research further. Apparently future versions of SQL server are set to host a version of the .NET CLR natively, similarly to how Oracle 9i can run its own Java VM. For me, these insights go beyond the information which I could have picked up on any number of white-papers out there on the net.

In hindsight this book is perhaps too shallow, falling into the trap of using a barrage of acronyms and buzzwords without delving deep enough into any one topic. There is no mention of cross-language interoperability, and more importantly no mention of cross platform interoperability efforts -- which do exist. Also, even with a book so Microsoft oriented, I would expect to see either a distinct section, or at least more comments, on the pitfalls and barriers to takeup of the framework. A more critical and less Microsoft-centric text would for me have made this book more authoritative.

Table Of Contents

Preface
1. An Overview of .NET. 2. Web Services.
3. The Common Language Runtime.
4. .NET Languages.
5. The .NET Framework Class Library.
6. Accessing Data- ADO.NET.
7. Building Web Applications- ASP.NET.
8. .NET My Services.
Conclusion

You can purchase Understanding .NET: A Tutorial and Analysis from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

55 of 282 comments (clear)

  1. well by Joe+the+Lesser · · Score: 4, Insightful

    I might buy this book, except my managers won't touch .net with a ten foot pole, as once your in, you apparently can't get out.

    --
    "I only speak the truth"
    Karma: null(Mostly affected by an unassigned variable)
    1. Re:well by xyzzy · · Score: 5, Interesting

      Not particularly any more or less than any other Microsoft technology. In fact, if you do any Microsoft-centric work in your shop, .Net is a significant improvement over (COM | ASP | etc). If you live for cross-platform portability, you won't be using any of these anyway.

    2. Re:well by Kris+Warkentin · · Score: 3, Funny

      > I might buy this book, except my managers
      > won't touch .net with a ten foot pole, as
      > once your in, you apparently can't get out.

      Hence the name, "dot NET".

      --

      In Soviet Russia, hot grits put YOU down THEIR pants.
    3. Re:well by Anonymous Coward · · Score: 5, Insightful

      .NET locks your applications up onto a particular platform (arguable, since Mono does do ASP.Net, and a lot of the stuff is either currently ECMA and IEEE certified, or on track to be.)

      What .NET doesn't do though is lock your data up on a particular platform. As long as you have SOAP libraries for other platforms/languages you can easily mix and match heterogenous systems.

    4. Re:well by krumms · · Score: 3, Insightful

      It's a shame so many people are taking this "oh god don't lock us in" stance. To me, and people will disagree with this, .NET is the Sun/Java 'write once, run anywhere' concept done right because it's:

      - Language Independant (although I would agree that C# seems best suited to it for me)
      - Potentially Platform Independant (not yet, maybe not soon, but possible - well done to the Mono team)
      - Generally runs faster than Java on Windows ('big surprise' you say - but see how Mono goes)

      This isn't even mentioning the fact that developers can gather together to work on a software project using .NET, and can contribute regardless of their language of choice.

      Naturally there's barriers to such a thing actually happenning. For example, imagine reading the source code to a large project developed in such a manner: where My.Namespace.Person is written in C#, My.Namespace.BusDriver is written in J#, My.Namespace.BusinessManager is written in VB.NET and My.Namespace.HospitalityManager is written in Managed C++. In such a scenario, Person would be the base class of BusDriver and BusinessManager, and HospitalityManager would be derived from BusinessManager.

      Thus to understand that relatively small section of a project (four classes!) you need to know four separate languages. Obviously, a good design will save a person from having to do such a thing. Unfortunately, good designs are hard to come by. Harder still is following a good design to the letter. Although you can argue otherwise, the fact of the matter is that we haven't yet perfected the art/science of software engineering at its current level of complexity - why make it more complex?

      That said, there's nothing to stop you from developing with, for example, C# as your main language then using Python or Perl for handling complex text files.

      As previously stated, so far as I'm aware there's no more 'lock-in' to .NET than there is to other Microsoft (and indeed some non-Microsoft) software. I've spoken to various companies here in Australia and few of them are even thinking about installing the .NET CLR on their Windows systems - let alone their servers.

      I think the biggest problem with .NET for managers is a lack of understanding. .NET has a bit of an identity crisis in that it seems hard to define what it is in layman terms, and the technical terms tend to evolve from simple two-line explanations into long, drawn-out descriptions of the CLR and assemblies.

      It's a simple concept that I feel is hard to convey. How do others feel regarding this?

      Anyway I'm rambling now. Outies :)

      Tom L

    5. Re:well by j3110 · · Score: 2, Informative

      "NET is the Sun/Java 'write once, run anywhere' concept done right because it's:"

      --Oh really?

      "- Language Independant (although I would agree that C# seems best suited to it for me)"

      There are even LISP compilers for Java. If you haven't found what you are looking for, you just haven't looked hard enough.

      "- Potentially Platform Independant (not yet, maybe not soon, but possible - well done to the Mono team)"

      No it's not. Not as much as Java. Looking at the way MS treated Java (changing the core java.* libraries) I doubt it ever will be. You'll have to excuse me for looking at MS's track record to gauge their future conduct instead of fairy-tale hype told to managers to try to persuade them to buy.

      "- Generally runs faster than Java on Windows ('big surprise' you say - but see how Mono goes)"

      No it doesn't. As far as I can tell, MS really doesn't want to benchmark this at all. There have been no C# vs anything benchmarks. Not even the falsified for the public kind. There have been benchmarks of 2.5 Tier .Net web applications against broken, obfiscated J2EE implementations though. They tend to suggest that you can use 10x the LOC and still only be 2x slower. Sounds to me like Java cat run 5x more code per clock. I don't doubt the UI will be faster for .Net when you write a GUI. No faster than SWT, but faster than Swing by some ammount. .Net programs will start faster because it will be loaded at boot time like explorer(22M). Java will have this capability, and shared VM capability soon though, and most of my Java programs, with the VM, only use 11-14M of RAM.

      --
      Karma Clown
    6. Re:well by MickDownUnder · · Score: 2, Informative

      Mono does alot more than just ASP.NET it also does Windows Forms.NET and all the other essential class libraries. So .NET already has good coverage on the Linux platform.

      Development of support for .NET on OS X is already underway so there's a likilhood .NET will soon offer cross platform solutions for Windows, Linux and Mac which is pretty much the entire desktop market.

  2. Chapter 1: Security by Anonymous Coward · · Score: 5, Funny

    Full-text follows:

    "Security is job one at Microsoft. Make sure you make secure programs, and don't let anyone see the source code. Access to source code results in insecurity as the viewer may find holes in your application that they can exploit."

    1. Re:Chapter 1: Security by SlashdotLemming · · Score: 2, Insightful

      Ha, What's even funnier is that the .NET version of bytecode (ala Java) can be easily reverse-engineered. So in a sense, all .NET applications are "Open Source".

    2. Re:Chapter 1: Security by Bendebecker · · Score: 2, Informative

      Security at Microsoft? Secure programs are secure whether you see the source code or not.

      --
      There's a growing sense that even if The Future comes,
      most of us won't be able to afford it.
      -- Lemmy
    3. Re:Chapter 1: Security by AntiNorm · · Score: 2, Insightful

      Access to source code results in insecurity as the viewer may find holes in your application that they can exploit

      Not having access to Microsoft's source code sure prevented the script kiddies from finding all the holes they've found so far in MS products...

      --

      I pledge allegiance to the flag...
      of the Corporate States of America...
  3. Let me get this straight.. by Rinikusu · · Score: 4, Insightful

    "less-Microsoft oriented.."

    Hrm. MS invented the technology, there's no complete "alternative" .NET implementation, this book is about .NET...

    I'm just not sure how this couldn't help but be "Microsoft" oriented.

    --
    If you were me, you'd be good lookin'. - six string samurai
    1. Re:Let me get this straight.. by Otter · · Score: 5, Interesting
      I think what he means (as opposed to what he says which, you're right, makes no sense) is that he wanted the book to be more even-handed about the downside of .NET, and less cheerleading.

      At any rate, this book does sound potentially useful. It's a year (two years?) since .NET was introduced and every .NET story here still has multiple +5 posts asking "Could someone finally explain what the hell .NET is?", each responded to by multiple +5 posts providing barely overlapping explanations. Good for karma, I guess, but so far the only value I've gotten from .NET is the KDE theme copying it.

    2. Re:Let me get this straight.. by Rinikusu · · Score: 5, Insightful

      Honestly, I'm not really sure even MS knows what .NET truly is (or if they do, they were confused as to how to market it, resulting in consumer confusion and the subsequent renaming of .NET server). Is it a framework? A language? A methodology? An idealogy? Can you buy .NET in a box? Can you eat with spam? I do not like it, Sam I Am!

      --
      If you were me, you'd be good lookin'. - six string samurai
    3. Re:Let me get this straight.. by Rinikusu · · Score: 2, Insightful

      Well, you can still be "microsoft" centric and not cheerlead, you know? I think it's mostly a matter of semantics at this point. "Pro-Microsoft" and "Microsoft-centric" aren't the same thing and it's possible to write an article that "Microsoft-centric" and be very very very critical of them. :)

      --
      If you were me, you'd be good lookin'. - six string samurai
    4. Re:Let me get this straight.. by krumms · · Score: 2, Insightful

      You make an excellent point, one that I was trying to get at in an earlier post: .NET suffers an identity crisis (read "marketing bungle") that leaves management, amongst others, scratching their heads and wondering what exactly this whole .NET thing is. I think this problem may also have to do with the fact that .NET is used collectively to describe several technologies produced by Microsoft that all integrate at a certain level. Thus, several technologies + one name for them all leads to an understandable confusion. At the same time, it's hard to seperate all the components of .NET (the framework, the CLR, the languages) because they're all so tightly integrated. Is it a framework? Yes. Well, there's the ".NET Framework" - but the framework itself isn't .NET. A language? No, but it provides a common runtime for programs that is language independant: the CLR ('common language runtime' funnily enough) A methodology? Um ... An idealogy? I can think of two responses to this: 1) MS wishes. OR 2) The "Develop Web Applications, You Fool!" ideology Can you buy .NET in a box? Portions of it. Or you can download the runtime, or the developer setup which even provides a C# compiler for you. I have Visual C++ .NET Standard, Visual C# .NET Standard and Visual Studio .NET academic sitting here beside me. So I guess it kinda comes in boxes :) Can you eat with spam? I do not like it, Sam I Am! LOL - awesome :)

  4. So, a poll... by Frothy+Walrus · · Score: 3, Funny

    How long before MS changes .NET in order to break Mono?

  5. Well, there's a chance that it's not full of crap by TWX_the_Linux_Zealot · · Score: 4, Insightful

    The publisher appears to be Pearson Education, and not Microsoft Press, who really isn't trustable anymore in my opinion. I'm kind of surprised that they're reviewing a book that is a year old now, as far as Microsoft-oriented books go, this is almost an antique.

    --

    IBM had PL/1, with syntax worse than JOSS,
    And everywhere the language went, it was a total loss...
  6. writer by AyeFly · · Score: 2, Funny

    The writer of the article is Dave Chappell? hm, isn't he a comedian with Comedy Central? .NET really is a joke!

    --
    Sig- http://www.dreamhost.com/rewards.cgi?ayefly
  7. Web services by zero_offset · · Score: 5, Insightful
    the central theme through the book is that of XML and web services, accurately reflecting their importance in the .net framework.

    Except for the minor problem that web services are not a central theme of the .NET framework. They are there, and they are well supported, but the majority of the framework would work unchanged if they didn't exist or are not used.

    --

    Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

  8. Re:How many languages? by Junks+Jerzey · · Score: 2, Informative

    You're off the mark. You pick your language, the primary candidates being VB and C#. VB isn't really reccommended, it's more of a migration path for old VB users. If you're starting fresh, stick with C#.

  9. Too early in the morning by sunset · · Score: 4, Funny

    After reading this article I caught myself looking for Mozilla's "delete" button....

  10. The following is meant to be humor by IWantMoreSpamPlease · · Score: 2, Funny

    so don't take it any other way.

    >>...this book aims to cut through the marketing hype....

    But that's all I've ever seen on .net.

    --
    So rise up, all ye lost ones, as one, we'll claw the clouds.
  11. No how long SOAP changes... by MosesJones · · Score: 4, Interesting


    To break Microsoft... actually this is EXACTLY what the next spec does. Microsoft were the only people who went for literal encoding, which is a bit naff. The next SOAP spec does away with literal and enforces the use of RPC encoding.

    So actually this standards adherence stuff is already biting MS. But to compete in the enterprise space they have to adhere. Mono however is screwed.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:No how long SOAP changes... by bratmobile · · Score: 2, Informative

      Which just shows how little you understand of Microsoft's SOAP framework. The .Net Framework supports SOAP encoding, but it is done in a very general pluggable encoder class hierarchy.

      Microsoft provides a SOAP formatter, and a high-density binary RPC-like encoding. Even if this RPC encoding is not the same as the SOAP RPC encoding, it will only take Microsoft a single service release to update it, and bring it into conformance with any SOAP/RPC specification -- if Microsoft chooses to do so.

      You can even write your own encoders, and slot those into Microsoft's existing framework! For example, the SOAP encoder is a class called SoapFormatter. The binary RPC formatter is called (surprisingly) BinaryFormatter. But they both implement IFormatter and IRemotingFormatter -- and that interface is publicly documented. Anyone can write a class that implements IFormatter, and slot their class right into the ASP .Net (SOAP) framework.

      You should really try to understand things more before you just attack them. And I don't see at all how this is "biting" Microsoft, given their very flexible, extensible platform.

  12. Re:How many languages? by Rary · · Score: 5, Informative

    .NET is a framework that is not tied to any specific language. ANY language could be made into a .NET language. C++, C#, ASP, VB -- these are the primary languages Microsoft has chosen to use with .NET, but any language could be used. Other vendors are already releasing .NET versions of various development tools, although off the top of my head I don't remember which ones are already out or in the works, but essentially you could have PHP.NET, Delphi.NET, Java.NET (hey, it could happen), even PowerBuilder.NET (it's in the works).

    --

    "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

  13. Re:How many languages? by matthew.thompson · · Score: 4, Informative

    Yes you're off the mark.

    The .NET framework is just that - a framework around which you can create an application. The language you use is totally up to you. VB.net, C#, C++ are all choices you may make - you do not have to learn all of them.

    ASP.net is almost a container to these languages - it highlights a few different classes of the .NET framework and provides a method of writing web applications that are almost the same as a standalone version.

    With .NET you learn the ins and outs of the framework and the syntax and grammer of the language you choose - if you decide to migrate to a different language you have the same framework.

    With Perl you learn Perl's syntax and grammer and learn your way around CPAN, with Python you learn Python's syntax and grammer and learn it's framework. Same with other sets of libraries and frameworks.

    --
    Matt Thompson - Actuality - Insert product here.
  14. .net by MagicMerlin · · Score: 2, Informative

    Well, as a developer, I think .net is pretty good. My happiness with .net goes up with the implementation of mono. .net is standardized, and open source is built on portability. There is nothing more portable than being able to run a binary (sort of) on a host of different machines. C# is pretty good all around, it got right a lot of the things java got wrong, and choosing .net for your (windows) database app is never a bad decision, even if it may not be the best one. In a way its a lot like xml: there's a lot of hype, but the overall philosophy is good. Very unmicrosoftian in implementation. When they get generics I will probably write all my own personal stuff in C#.

    1. Re:.net by bygimis · · Score: 3, Insightful

      "There is nothing more portable than being able to run a binary (sort of) on a host of different machines" Which is just what you can't do with .net - or can you send me a binary I can run on my Mac, Linux box and Win2K box? "My happiness with .net goes up with the implementation of mono. .net is standardized, and open source is built on portability. " From what I've heard its almost impossible to write anything in .net without using the Windows API as well. So you'll end up with Windows .net Apps that are no more portable than at present, and Open Source Mono apps that run well on all platforms with a recompile (just like most current Open Source Apps).

  15. revolutionary by syle · · Score: 5, Funny
    It frustrates me how web services are often described as revolutionary, when built on technologies such as UDDI and WDSL which in turn are based on relatively mature technologies such as XML and HTTP.

    Remember, revolutionary also means to go in circles.

    --

    /syle

  16. Re:How many languages? by boatboy · · Score: 2, Informative

    ASP.NET is not a language as much as a set of classes to use when programming for a .NET enabled web server. You can use VB.NET or C# (or any of the other implementations) to program "Web Forms", which are rendered as HTML. Thus ASP.NET is more analagous to a SDK than a language.

    The reason there can be more than one language is that each language is compiled to a "Common Language Runtime". Really, there's just that one language, and I suppose if you were insane you could program straight tokenized CLR. But, since each language uses the same framework, it is usually fairly easy to translate between them, if you know the basic syntax.

    The benefit of .NET is the framework, which provides a logical way to program for pretty much all of the functionality of todays computers and OSes. Stuff like threading, data access, graphics, etc. are rolled into convenient classes that implement "best-practices" with minimal coding required. It's a big, smart toolbox. =)

  17. Re:How many languages? by bimmergeek · · Score: 2, Interesting

    I attended a MS .NET Visual Studio launch event last spring/summer. During the session, which was led by a knowledgeable and articulate MSite, we were informed that the code compiled by Visual Studio is not executable code but an intermediate language.

    The executable code is actually generated on demand on the server side by a just-in-time compiler using the .NET framework resident on the server. The framework determines the hardware and optimizes the code for the server.

    The implications of this structure were that there are no longer any advantages to be gained over coding in C# instead of VB because both compile the same intermediate code from Visual Studio. What could only be done in C# can now be done in VB.

    The presenter said (almost an exact quote here): "In the past, programmers said, 'I'm a C guy,' or 'I'm a VB guy.' Now that .NET Visual Studio has equalized these two languages through the intermediate language and the JIT compiler, C# and VB will simply be syntactical preference. People will now say 'I'm a .NET guy.'

    --
    -Everyone laughs at lemmings but no one ever wants to admit to ever being one.
  18. I second that... by sirshannon · · Score: 2, Insightful

    Once I got "in" .net, I began doing everything in my power to keep from ever having to use VB6, VBScript, and/or "ASP Classic" ever again. The improvements are too great for me to go backwards unless I absolutely have to. Luckily, most of my clients are worried about the results more than the technologies used so I get to make that call.

  19. Re:Well, there's a chance that it's not full of cr by arkanes · · Score: 2, Informative

    Microsoft Press publishes one of the most useful books I've ever seen - "Writing Secure Code", by a MS engineer. No, stop laughing, I'm serious. It's a great book. It even goes into great detail on how important it is to force secure coding practices onto the rest of the project team, and how you have to resist the temptation to add features or push up the release date at the expense of code review and good coding practices. It's usefullness is only enhanced by the delicious sense of irony you get when reading it.

  20. .Net Framework Essentials by andynms · · Score: 3, Informative

    For a similar, but maybe more technical overview, see .Net Framework Essentials from O'Reilly. It's a nice short book with a good number of simple code examples. I'm about half-way through it, and I've learned a lot.

  21. In a nutshell by nemeosis · · Score: 5, Insightful

    .NET is language independent, platform centric.
    Java is language centric, platform independent.

    1. Re:In a nutshell by will_die · · Score: 2, Informative

      So the Ada code converted into java bytecode that some of my programs use is not really there??
      Sorry but Java is actually language and platform independent, however it is not as language independent as the .NET bytecode, but then again .NET forces languages to change to be compatible.

  22. What did you expect? by brickbat · · Score: 5, Informative

    Also, even with a book so Microsoft oriented, I would expect to see either a distinct section, or at least more comments, on the pitfalls and barriers to takeup of the framework. A more critical and less Microsoft-centric text would for me have made this book more authoritative.

    Did you read the author's bio--even the short one on bn.com?

    David Chappell is Principal of Chappell & Associates and the best-selling author of Understanding ActiveX and OLE (Microsoft Press, 1996) and Understanding Microsoft Windows 2000 Distributed Services (Microsoft Press, 2000). Through his keynotes, seminars, writing, and consulting, David helps IT professionals around the world understand, use, market, and make better decisions about enterprise software technologies.

    He's been published by Microsoft, fer chrissakes. He makes a living as a consultant on MS technologies. You can't possibly expect him to be coolly objective about anything coming from Redmond.

    Reading the author bio will often give you a clue about his or her technology bias, although it's no guarantee that the book will provide an objective perspective. I wouldn't expect Richard Stallman to write a wholly bias-free book about .NET, either.

    1. Re:What did you expect? by GroovBird · · Score: 3, Interesting

      I heard him speak at the .NET convention in Brussels last friday! He did an introductory peptalk in front of the entire audience, and then spoke at a session about the differences between .NET and J2EE.

      Well, even though even lunch was paid for by the .NET campaign budget, he really didn't step over the edge by spreading FUD or anything like that. It seemed quite honest and unbiased.

      (Allthough he DID call Linux nothing more than a broken light instead of a real fire, but that was another session.)

      But he writes mostly books about Microsoft technologies and not very deep ones at that...

      I also don't agree with the reviewer's thoughts on the success of COM. COM was a successful piece of crap, but you wouldn't hear about it if you weren't in the Microsoft camp.

      Dave

    2. Re:What did you expect? by AndroidCat · · Score: 2, Informative

      I've read it too. It's a pretty fluffy overview "for managers and developers", and pretty useless for anything serious. The definitive book is/was, of course, Brockschmidt, but no one ever reads all of that. If you want to good free guide look here (By Brockschmidt, of course. :^) COM can actually be a lot of fun. (In Delphi. In VC++, it's a chore.)

      --
      One line blog. I hear that they're called Twitters now.
  23. Built on WDSL? by ortholattice · · Score: 4, Informative
    "when built on technologies such as UDDI and WDSL..."

    Acronyms, acronyms... For the unitiated:

    WDSL Wireless Digital Subscriber Line
    WSDL Web Services Description Language
    UDDI Universal Description, Discovery and Integration (not Description and Discovery Interface)
    ASP Active Server Page
    CLR Common Language Runtime
    CORBA Common Object Request Broker Architecture
    OMG Object Management Group
    XML eXtensible Markup Language
    MSIL Micro$oft Intermediate Language
    ADO ActiveX* Data Object
    .NET ?

    * The correct spelling is a skull-and-crossbones character in place of the X but slashdot filters out Unicode 9760

  24. Re:How many languages? by yamla · · Score: 3, Informative

    While it is true that any language can be made into a .NET language, the end result could be a mess. C++, when converted into a .NET language, lacks much of the flexibility of C++. And functional languages? They are a huge pain in the ass to convert. The .NET model is lousy for languages that differ substantially from C#. That's not particularly a condemnation of .NET, mind.

    --

    Oceania has always been at war with Eastasia.
  25. Re:How long? by bbqBrain · · Score: 2, Interesting

    Because hiring managers often don't know much about the technology their departments use. For instance, I saw listings in 2000 for people with 2-3 years J2EE experience...uh, sure some people qualify, but they all work in Sun R&D.

    I think it's just a ploy to keep the really inexperienced would-be applicants from wasting the employer's time.

    --

    One of the reasons that I became a lawyer was to avoid ever having to hire one. -SPYvSPY
  26. Re:How many languages? by tshak · · Score: 2, Insightful

    Languages are differnt. So they both compile into an IL? Big deal. Yes, it's nice that all languages on the .NET framework have access to the powerful class library, and all run on the CLR so that you can use a VB.NET DLL with a C# DLL (because in the end they're really just IL DLL's). However, the IL that VB.NET generally create's is a mess - especially if "option strict" is off, making it a loosely typed language.

    Of course, you have the minor language features (not used most of the time) like "safe" pointers that makes C# nice to have as well.

    So allthough the languages are a lot closer than ever, they still are different languages, and the differences do go beyong curly braces and verbose declarations.

    --

    There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
  27. Re:How many languages? by russianspy · · Score: 3, Interesting

    That's not entirely true. There are languages that simply will not map well enough onto the .NET platform. I know of one for sure - Python. There is simply no way to make a natifve implementation of Python.NET - some things like dynamically binding functions to an object instance, multiple number of function arguments, etc will not work. There is a version of python for .NET, but it involved porting over the INTERPRETER onto .NET and running that. Basically you have a VM running a VM running your code. If you think that is not very fast - you're right ;-)

  28. Re:Slightly Offtopic by nicodaemos · · Score: 2, Interesting

    You're right that Microsoft has patience where others do not, but they've only ever succeeded where they've been able to create a legal/illegal choke point in distribution or had marginal (only compared to their monopoly products) success in products which are closely linked or can leverage their monopoly products.

    I may not know enough about their plans, but I don't see the distribution choke point in gaming. The best bet is trying to buy the biggest game developers - which is what Microsoft appears to be trying to do - but even then, a new game developer can come out of nowhere and write a hit game for your competitor's platform. It's just so unpredictable compared to the controlled windows distribution scheme with the OEM's.

    I actually think Microsoft has a better chance with the home media market with their close ties to the RIAA and MPAA due to DRM technology. The RIAA is intimately aware of the power of choke points on pricing and profit. There was never a question about whether they and Microsoft would get into bed .... the only question was which one would have to sleep in the wet spot.

  29. Lots of reasons why I want .NET to fail by Anonymous Coward · · Score: 5, Interesting

    This note was originally published at John Munsch weblog on January the 14th.

    Lots of reasons why I want .NET to fail and fail badly

    It's benefits a criminal organization. Not one that's been found guilty of crimes once or maybe twice, but lots and lots of times. Those crimes are many and varied, but here's just a few of them: Stac Electronics v. Microsoft, DOJ v. Microsoft, Sun v. Microsoft.
    P.S. If you want to split hairs, Stac v. Microsoft isn't a criminal action, it's doesn't stem from a criminal abuse of their monopoly like the other two cases. Instead it was just a case of a small company being driven out of business by willful patent infringement, theft of trade secrets, etc.

    Microsoft isn't just one thing anymore. It's too damn big for that. I'm sure even Bill himself knows better than to think that he truly controls the whole ship because it's become big enough that he can't possibly know all the projects, people, etc. anymore. But even a really large company still has a kind of collective personality that it exudes and a large part of the personality both internal and external to Microsoft for many years now is that of a total control freak.
    If they don't own it, if they don't control it, if they didn't create it, if it doesn't have a broad stamp from Microsoft on it, then they don't want it. Sometimes it's sufficient for the thing to merely exist and they'll refuse to acknowledge it, other times they need to actively stamp it out because they can't control it.

    When was the last time you can remember Microsoft saying they supported a standard? That is, not something they invented and submitted a RFC for, an actual, take it off the shelf and re-implement it without renaming it or "improving" it so it doesn't work with anybody else standard. C++? Basic? HTML? A video or audio codec? Java? Anything?

    I'm sure there's something, somebody will point out their excellent support for TCP/IP or something and I'm sure that's true. But if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person.

    When your business is selling the operating systems that 90+% of everybody uses, software development tools should not be a profit center.
    Why should I have to plunk down a couple of thousand dollars for a "universal subscription" in order to have access to compilers and basic development information? Sun doesn't have to do that? On this point I'll quote from the .NET "rebuttal" that I linked to above, "For non-profit use VS.NET can be had pretty cheaply, especially if you know anyone that is in college somewhere." Pretty cheaply? For a non-profit (that means charities, churches, universities, the hobbiest who is going to give away his work for FREE)... pretty cheaply? Wow. That is well and truly pathetic. To try and justify it, and say, oh well, you can try to scam an educational discount so it won't be so dear, is even more pathetic.

    Marketing. Have you been "lucky" enough to catch one of the .NET commercials with William H. Gacy telling you how great it is without really ever telling you anything about it? Microsoft doesn't trust .NET to stand on its own technical merits and it knows it may go like cod-liver oil down the gullets of a lot of people who have seen how the company works behind closed doors even if it were the tech shiznit.
    So they are going to pull a page out of Intel's bum-bum-buh-bum "Intel Inside" playbook and try to sell the brand like it's sneakers and cola. Trust us, you'll look cool if you use it, and we'll keep hammering the brand on TV so somebody who doesn't have much tech savvy in your organization will ask you if you are using it, or have plans to port to it, or whatever, even if he hasn't got a clue what "it" is in this case.

    They don't trust you. They don't like what they can't control and they can't control you. They can try and they always will keep trying but ultimately you are going to see them keep trying to do things and always keep a step towards the door just so they can bolt if they have to. Want to see what I mean? Go visit GotDotNet sometime if you haven't already been there. It's the grassroots community website that Microsoft put up to support .NET just in case there wasn't any grassroots community who actually wanted to do it. Or maybe just in case there was and they couldn't control it.
    Ever been to SourceForge? Of course you have, everybody has because that's one of the hubs of all open source projects. You can go there and get the source of thousands of cool open source projects and it really serves the community well. There's even hundreds of projects now that list C# among their programming languages. So why did Microsoft feel compelled to create their own GotDotNet Workspaces that is clearly just a ripoff of SourceForge?

    A few reasons are fairly clear: First, at many of their workspaces you don't get in unless they know who you are. Ever been stopped at SourceForge and asked for a name and password to look at a project? What about download binaries or source? No? At GotDotNet you will, lots of projects are marked with a lock. Second, forget about all those messy licenses that Microsoft might not approve of, you don't need to worry your little head about BSD vs. GPL vs. LGPL. You've got the one true workspace license that you have to agree to, or else you won't be putting your project there. Lastly, well it's kind of obvious, but it's really all about control isn't it. After all, if you aren't under their thumb, that has to be a bad thing. So a SourceForge that they control is pretty much a requirement, isn't it?

    It's a really sad way for a lot of people to waste a whole lot of time rebuilding that which already exists. Wouldn't the whole computing world be a lot better if there wasn't a team of people, maybe a couple of teams of people building complete copies of .NET for other platforms? If those same people were working on giving us new libraries and new tools for an already existing language instead of pouring in the thousands of man hours it's going to take to build a copy of the C# compiler or a .NET version of Ant and JUnit?

    In the end, we'll all just be left with another way to do the exact same thing only in a different language. Lord knows the world benefits now from being unable to share media between France, Germany, Italy, Spain, the US, and Japan because we can't all speak the same language. I benefit every day from the fact that I can't read a Japanese manga I might enjoy or understand a TV show from Europe. Once you are done building this tower, go build a few more right beside it using Perl, Python, and Ruby too. They're all trailing behind in certain areas, we need to make sure the same set of stuff is reinvented and rewritten for all of them too.

    1. Re:Lots of reasons why I want .NET to fail by Anonymous Coward · · Score: 2, Flamebait

      You are an idiot. What do you know about the case with Stac Electronics? I was there at Stac. They lied about everything. I remember Gary (the CEO) talking about how they could say whatever they wanted because the case was going to be spun as David vs. Golliath and the facts were secondard. He actually laughed about it. I left Stac after that because it made me sick to sit in a room with the executives.

      And the patent that was the basis of the lawsuit? Stac bought it as a pre-emptive strike against Microsoft and to protect themselves (since virtually everyone who had implemented fast compression infringed on the patent, including Stac). Stac knew this because they had illegally obtained early info from Microsoft regarding their plans for compression in the OS.

      Given your total misrepresentation of the Stac case, I give the rest of your message no credibility.

  30. Re:So Why .NET? by RedWolves2 · · Score: 5, Informative

    Frankly .NET is all about making it easier for the developer. The .NET Framework is there to make tedious tasks easier. Of course this is all made easier by the use of M$ tools Visual Studio.NET. Without that GUI .NET is a little harder to work with.

    ASP.NET makes it easier on developers as well. Traditional ASP, otherwise known as "Spagetti code" was all intermixed with HTML. Now you can write your scripts in a separate file and have your controls reference the code. Also there is a whole ASP.NET community, kind of like open source, which develops controls that you plug into your VS.NET and then are able to take advantage of this new functionality by dragging the control onto your page and setting some properties.

    I am still in the "learning curve" of .NET but I found Professional ASP.NET a usefull book in teaching me about the framework and ASP.NET. I am planning on porting over my site MediaGab as soon as my hosting company supports it.

  31. Errr by GroovBird · · Score: 4, Insightful

    That's a negative, Roger.

    ILDASM is the tool to use to disassemble an assembly, and the result is MSIL in readable form. Nothing i386 to it.

    It's as much disassembling as any non-MSIL binary would produce. Has nothing to do with security.

    Dave

  32. Re:How many languages? by TheShadow · · Score: 2, Informative

    ANY language could be made into a .NET language. C++, C#, ASP, VB -- these are the primary languages Microsoft has chosen to use with .NET

    ASP is NOT a language. ASP is a framework for writing web applications. You can write ASP pages in any of the .NET languages. For instance, one of the things that ASP provides is Session management. Whether you are writing in VB or C# or Managed C++, ASP will provide you with a "Session" object that it can use to store session state. This object behaves exactly the same way in all languages. It was probably written in C# (I think that's what MS uses for internal .net development) but that doesn't matter because all languages get compiled to MSIL (which is kinda equivalent to java bytecode).

    ASP has never been a language... even before .NET. The default language for ASP used to be VB... some people used JScript and there were probably a few other choices. Now, you can use any .NET language in your ASP.NET pages.

    --

    --
    "What do you want me to do? Whack a guy? Off a guy? Whack off a guy? Cause I'm married."
  33. Re:Confused by slimemold · · Score: 2, Informative
    My understanding of .NET is mostly based on water-cooler conversations and reading the introduction to an introduction, so don't take any of this as gospel. But here's my quick, undoubtedly incomplete summary:

    .NET is a marketing term for a group of several vaguely related technologies.
    • The Common Language Runtime (CLR) is a virtual machine that runs intermediate code. Thus, you can write a program in Visual Basic, C#, or several other languages and compile them to the same intermediate code. The virtual machine throws in a bunch of java-inspired features, like garbage collection, absence of pointers, and a giant class library that exposes much of the harder-to-get-to aspects of Windows. Since the class library is available from any .NET programming language, the choice between using C#, VB, or something else is mostly just a matter of whether you like semi-colons or not.
    • The Visual Studio .NET IDE provides lots of tools to "simplify" programming and debugging. For instance, if you want to make a [Microsoft] standards-compliant web service, you can go through a wizard which generates the deployment descriptors and several pages of source code, including a big comment telling you were to put your logic. Similary, if your app manipulates a database, a wizard helps you make the SQL query or create a stored procedure. Of course, these wizards create lowest-common-denominator, bloated code that is nearly impossible to modify by hand without breaking it.
    • ASP.NET is a language and server for creating dynamic web pages. In theory, you can write an ASP.NET application and pretend you're just writing an ordinary client-side GUI, attaching event handlers to buttons and drop-down lists without thinking about the mechanics of HTTP Posting. In reality, this leads to constant round trips and page refreshes that are only practical on the developer's machine.
    I'm sure there are several other technologies lumped in with .NET, but I can't think of them right now.

    As far as why you should care about XML, .NET, etc., the goal (regardless of whether you think Microsoft helped move towards this goal) is to have programs that can interact with each other. Sure, XML is verbose, but it just might save me some time and heartache when I'm trying to parse through your data that's in a flat text file, or worse yet, locked up as a binary file inside your proprietary database.

  34. I read the book, it was very useful as an overview by bvk · · Score: 2, Informative

    The book is a good survey of the very large .net world. It is not an in-depth view of any particular part, but gave me a very good overview of just what the parts *are*, so I could build a conceptual framework on which I could hang the detailed knowledge I got from other books. It was a quick read, too. .net is a bunch of different things, including languages, language-independent libraries, a virtual machine, and standards for interoperability. The book covers all of that, walking the line between "too high-level to be useful" and "too detailed to grasp easily". It is trying to cover several different audiences, and succeeds pretty well, I think.

    The book has "executive overview" summary sentences beside each paragraph, which are obviously aimed at, well, executives. But at the same time, the paragraphs themselves have good solid information about how the CLR works, how the libraries are structured, how VB.NET and C# are similar and where they differ, including actual code examples. It makes you aware of what pieces are out there, so when you need an encryption algorithm (for example), you know there are some standard library routines you can check out before coding one from scratch.

    Don't get the book if all you want is a C# reference (get the O'Reilly book for that). As a matter of fact, don't get the book if you want a really in-depth discussion of any particular part.

    *DO* get the book (or borrow it from the library, like I did) if you want to know more about the whole .net system and how it all fits together, and have a good base for the rest of the knowledge you need to collect.

  35. Re:Let's .NOT feed the beast.. -1, Zealot by aes12 · · Score: 2, Insightful
    -1, Zealot

    Last time I checked, you were allowed to use Microsoft products AND read Slashdot....



    It's comments like these that frighten average people away from Linux. The 'RTFM' and 'Bomb Redmond' attitudes have got to go, or Linux will rot. Linux-nazis are probably more harmful to the promotion of Linux than any of it's technical deficiencies. Don't get me wrong, I love the idea of Linux, and it's come a long way, but the aggressive power trip of some linux zealots makes being a linux newbie really suck.

  36. Re:How many languages? by bratmobile · · Score: 2, Informative
    [Sorry to post so much in a single day, but...] Microsoft has already provided a Java compiler that produces MSIL (.Net's bytecode equivalent) instead of Java bytecode. It's called J#. It works great. It also handles translating the names of most of the Java classes to the .Net equivalents.

    Main J# page
    J# download page (free!)

    J# is a free download because it is an add-on to Visual Studio .Net (which isn't).