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.

8 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 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.

  2. 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 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. 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...
  4. 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

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

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

  6. 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