Programming .NET 3.5
lamaditx writes "The world of the .NET framework is taken to the next level by the release of .NET 3.5. The intended audience of this book are experienced .NET programmers. There are no sections that tell you details about C#, SQL servers or anything like that. I don't recommend this book if you never worked on a .NET project and don't know how to set up a SQL database. You should be aware that the code is written in C#. You might use one of the software code converters if you prefer Visual Basic instead. I think the code is still readable even if you do not know C#. I appreciate the fact that the authors decided to use one language only because it keeps the book smaller. The authors assume you are using Visual Studio 2008. You don't necessarily need to update to 2008 if you are working with an older edition because you can use the free Express Edition to get started." Keep reading for the rest of Adrian's review.
Programming .NET 3.5
author
Jesse Liberty & Alex Horovitz
pages
476
publisher
O'Reilly Media
rating
7/10
reviewer
Adrian Lambeck
ISBN
ISBN 978-0-596-52756-3
summary
Covers all main .NET technologies found in .NET 3.5
The table of contents is available from O'Reilly — together with a chapter preview — here. The book does not come with any extras but includes the usual free 45 days access to the book on Safari.
This book covers the key technologies in .NET. There are books on each of these technologies: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), XAML, AJAX,C# and Silverlight already, but this book shows you how everything is connected with each other. As the authors note: "Our goal is to show you the 25% that you will use 85% of the time.". From my point of view this is good because I have a .NET 2.0 background and wanted to know what is new in .NET 3.5 and how things are connected.
The book is divided in 3 main parts. The first is presentation, which covers XAML, WPF and AJAX. The second describes how to take advantage of the design pattern support in .NET. The last part covers the business layer which includes LINQ, WCF, WF and CardSpace.
The first part starts with XAML. This is the eXtensible A The next main topic is using WPF which is the successor of Windows Forms. The authors explain how to connect data structures to the user interface which I consider to be one of the most important parts of using WPF. You will also find a lot of code and XAML layout descriptions.
The chapter on Silverlight was not very helpful to me. Silverlight is the competitor of Adobe Flash. Giving samples how to layout a Silverlight application is essentially the same as a WPF application thus it dives into more details of XAML. I am missing the real Silverlight message so this part did not meet my expectations.
The third technology you will learn about is AJAX which leads us away from the desktop client to a web client. The explanation how AJAX works is pretty good. The authors show you step by step how to create a todo list web-application with a database backend using ASP.NET and AJAX. Again, this does not cover all AJAX controls or ASP.NET but it shows you how the parts are interconnected and assumes that if you know how to handle one control, then you can also figure out how to handle all the others. Most web applications need some kind of access control. At this point the authors argue that it is faster to implement your own security tables instead of using the ASP.NET forms-based controls.My opinion is that you should never do something that is not correct to teach something else. There are always people who get it wrong in a way you did not anticipate. My recommendation: use the ASP.NET components and do not implement them by yourself.
The second part about the design patterns was surprising to me because I expected the common introduction to standard design pattern. The Model-View-Controller project implements the pattern for ASP.NET and allows developers to incorporate it easily. The advantage is that you get a comprehensive and easy to understand introduction how .NET supports design pattern implementation. I guess this will lead some developers from theory of design patterns to actually implementing them.
I consider the third part to be the real interesting content. It starts with LINQ which bridges object-oriented code to relational databases. You get to know the differences to SQL and also the advantages it provides by explaining new concepts. The examples are easy to understand and successfully make their point.
Windows Communication Foundation (WCF) covers the hot Service-Oriented-Architecture (SOA) topic. The authors explain what it is all about but you will need some knowledge about Web Services and XML to really get it. The introduction is rather short but more details are explained in the corresponding example.
The chapter about Windows Workflow Foundation (WF) starts with a short example how you implement a workflow without WF. After that you get to see how you do the same with WF. This way the necessity for WF become clear and you understand how to take advantage of this technology.
Card Space is the successor of Microsoft passport which was not successful as an authentication service with respect to user acceptance. This is also the key issue that decides on the success of Card Space. Maybe the improved interoperability will help. The chapter provides you with a short authenticate-yourself test and shows you how to offer Card Space authentication in your ASP.NET application.
The book is a good entry to the world of .NET 3.5 because it gives you an idea about every part and what it is good for. Maybe you do not need all of it for your job but at least you know that it exists and how it might be useful. I think it is reasonable that a comprehensive introduction to .NET 3.5 can not satisfy everybody because the range of topics is too broad. One can argue that this kind of information could also be retrieved from the net. I consider the book to be a better resource because it already summarizes the important information such that you do not drown in a flood of information.
There is also some criticism as I pointed out earlier. Maybe I am just a little picky about the details but if you print code download references into a book, they must be available. Most examples can be downloaded but the Alex Horovitz site was not reachable when I tried to access it. Another personal remark is that I do not like to see quotes from Wikipedia. Other people might think different about that so you just need to decide on your own.
I rate this book a 7. The authors scratch the surface of every topic and choose an appropriate style to explain it. You can tell that they thought about how to explain each topic on it's own and give you not just the "how" but also the "why".
Adrian Lambeck is a graduate student in "Media and Information Technologies" and worked with .NET for a few years.
You can purchase Programming .NET 3.5 from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This book covers the key technologies in .NET. There are books on each of these technologies: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), XAML, AJAX,C# and Silverlight already, but this book shows you how everything is connected with each other. As the authors note: "Our goal is to show you the 25% that you will use 85% of the time.". From my point of view this is good because I have a .NET 2.0 background and wanted to know what is new in .NET 3.5 and how things are connected.
The book is divided in 3 main parts. The first is presentation, which covers XAML, WPF and AJAX. The second describes how to take advantage of the design pattern support in .NET. The last part covers the business layer which includes LINQ, WCF, WF and CardSpace.
The first part starts with XAML. This is the eXtensible A The next main topic is using WPF which is the successor of Windows Forms. The authors explain how to connect data structures to the user interface which I consider to be one of the most important parts of using WPF. You will also find a lot of code and XAML layout descriptions.
The chapter on Silverlight was not very helpful to me. Silverlight is the competitor of Adobe Flash. Giving samples how to layout a Silverlight application is essentially the same as a WPF application thus it dives into more details of XAML. I am missing the real Silverlight message so this part did not meet my expectations.
The third technology you will learn about is AJAX which leads us away from the desktop client to a web client. The explanation how AJAX works is pretty good. The authors show you step by step how to create a todo list web-application with a database backend using ASP.NET and AJAX. Again, this does not cover all AJAX controls or ASP.NET but it shows you how the parts are interconnected and assumes that if you know how to handle one control, then you can also figure out how to handle all the others. Most web applications need some kind of access control. At this point the authors argue that it is faster to implement your own security tables instead of using the ASP.NET forms-based controls.My opinion is that you should never do something that is not correct to teach something else. There are always people who get it wrong in a way you did not anticipate. My recommendation: use the ASP.NET components and do not implement them by yourself.
The second part about the design patterns was surprising to me because I expected the common introduction to standard design pattern. The Model-View-Controller project implements the pattern for ASP.NET and allows developers to incorporate it easily. The advantage is that you get a comprehensive and easy to understand introduction how .NET supports design pattern implementation. I guess this will lead some developers from theory of design patterns to actually implementing them.
I consider the third part to be the real interesting content. It starts with LINQ which bridges object-oriented code to relational databases. You get to know the differences to SQL and also the advantages it provides by explaining new concepts. The examples are easy to understand and successfully make their point.
Windows Communication Foundation (WCF) covers the hot Service-Oriented-Architecture (SOA) topic. The authors explain what it is all about but you will need some knowledge about Web Services and XML to really get it. The introduction is rather short but more details are explained in the corresponding example.
The chapter about Windows Workflow Foundation (WF) starts with a short example how you implement a workflow without WF. After that you get to see how you do the same with WF. This way the necessity for WF become clear and you understand how to take advantage of this technology.
Card Space is the successor of Microsoft passport which was not successful as an authentication service with respect to user acceptance. This is also the key issue that decides on the success of Card Space. Maybe the improved interoperability will help. The chapter provides you with a short authenticate-yourself test and shows you how to offer Card Space authentication in your ASP.NET application.
The book is a good entry to the world of .NET 3.5 because it gives you an idea about every part and what it is good for. Maybe you do not need all of it for your job but at least you know that it exists and how it might be useful. I think it is reasonable that a comprehensive introduction to .NET 3.5 can not satisfy everybody because the range of topics is too broad. One can argue that this kind of information could also be retrieved from the net. I consider the book to be a better resource because it already summarizes the important information such that you do not drown in a flood of information.
There is also some criticism as I pointed out earlier. Maybe I am just a little picky about the details but if you print code download references into a book, they must be available. Most examples can be downloaded but the Alex Horovitz site was not reachable when I tried to access it. Another personal remark is that I do not like to see quotes from Wikipedia. Other people might think different about that so you just need to decide on your own.
I rate this book a 7. The authors scratch the surface of every topic and choose an appropriate style to explain it. You can tell that they thought about how to explain each topic on it's own and give you not just the "how" but also the "why".
Adrian Lambeck is a graduate student in "Media and Information Technologies" and worked with .NET for a few years.
You can purchase Programming .NET 3.5 from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Pogramming? :P PROGRAMMING.
It is not a god that would do evil biddings, but only a mortal and its limited knowledge would let such atrocities exist
Behold, the Ultimate Pog!
music lover since 1969
I would like to send this to my programmers.
this is a great book but is designed for advanced programmers only.
The act of doing a really bad job of gramming.
Pogrammers need to spell korekktly - just konsistenetely.
Informatus Technologicus
Microsoft devs who focus on .NET are known as pogrammers. Microsoft is right and the rest of the world is wrong. Better get on the bus.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
How appropriate, it's a picture of a lame duck.
it's = it is
its = belonging to it
Is the picture on the book supposed to be a limping/lame duck?
There should be a space between pog and ramming. Back in my day, we used pog "slammers," not "rammers," but you can call 'em whatever you want samzenpus.
Also, I am still confused as to what this has to do with Card Space. Is there a new crossover between pogs and yuugio/magic/pokemon? I hope so. I believe children nationwide will benefit from throwing large chunks of brass at the ground during school.
Thanks for the review Adrian! I'm also a .Net 2.0 programmer. Being employed doing 2.0 full time makes it hard to bounce around the net trying to find cohesive 3.5 examples and explanations (that aren't just hacks.) This looks like a good place to do the concentrated study that I need.
Lol, MIT. We have that at my university as well. It's entirely comprised of students who can't hack CS or CE.
XAML, AJAX,C# and Silverligth
Silverligth?? Sounds like some creepy relation of cthulhu
actually, iirc, mono is compatible with all of .NET 2.0 and quite a bit of 3.5, so they aint that far behind, see: http://www.mono-project.com/FAQ:_General
if (!signature) { throw std::runtime_error("No sig!"); }
It's a sad day at Slashdot when more people would comment on a typo than offer criticism about a book. So let's fix this.
It explains some of the newer things 3.5 brings but does it deal with their actual implementation with business logic or otherwise? From what I've gathered, LINQ sounds like craziness in terms of being able to keep SQL maintained.
Roll with that.
import system.cool.Sig;
I'm sorry, this is a really poorly written review. It's choppy, uninsightful, and just painful to read. And then there are "sentences" like:
Good lord.
Is there anyone else here who is already sick of seeing greenhorns implementing LINQ left and right? I personally, am not that impressed. Hype = more money for Microsoft and less maintainability for us designers.
I hear that they're ahead in some areas, patent infringement for example.
Actually it's Pooh-gramming. A child-like state all programmers try to enter into.
Shai Schticks:"You don't make peace with friends, you make peace with enemies"
Yes they do. Various versions depending on when the products were released (keep in mind .NET 3.5 is .NET 2.0 with a lot of extensions, its still .NET 2.0), so you have Windows Workflow in Biztalk and Sharepoint, Expression Blend is in WPF, of course, many of their own sites use Silverlight 2.0, etc etc etc. .NET 3.5 is fairly recent, especially 3.5 SP1, so we don't see that -as much-, but .NET in general is fairly pervasive at MS.
Yes. Yes they are. Point nullified.
"Perhaps a language which changes so drastically and so quickly should be avoided. Especially when that company is Microsoft, and especially when that stands a major chance of ruining all of your previous hard work."
You know I just had to reply to such a curious complaint. FOSS is not only subject to change, but more so due to it's open nature and "defacto" leadership. And no one complains about all the changes required when some code you're depending on changes, or your existing assumptions don't work as well as you thought.
Shai Schticks:"You don't make peace with friends, you make peace with enemies"
And using a poor fit for a language to make products you are going to sell is management genius? Even if you happen to make that poorly-fitting language internally.
Which is not quite as lame as being the third person to make this joke.
How is a book review flamebait? Why tag a book review with "microsoftsucks" and "vssucks" and even "eclipsesucks"?
There is only one reason, and that is zealotry and bigotry.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
I use LINQ almost exclusively in two ways:
1. To access stored procedures
2. To do SQL-like queries on in-memory collections
It works GREAT for both.
I would think that adoption of Microsoft technologies at Microsoft tends to follow the same rates as their overall client base, mostly because Microsoft is no different from any other large company with IT requirements, budgets, staffing and legacy problems.
In some cases they tend to be early adopters (the core of microsoft.com was probably the first large .NET web site), but that's not always the case.
Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
The problem is that "quite a bit" of 3.5 (+SP1) is, in fact, a very big bit: they're missing WPF, WCF, and WWF, as well as LINQ to SQL and LINQ to Entities.
The only bits of 3.5 they seem to have are C# 3.0 language features in the compiler, and basic LINQ to Objects/XML/DataSet.
Given that MS has just announced .NET and C# 4.0, yes, Mono guys are clearly falling behind.
As others have mentioned, they are.
Beyond that... no, .NET is not the right tool for every task. It is not necessarily what you want to write your next OS in. It is a very good choice for most of the business software development I've seen in my career, however.
Perhaps a language which changes so drastically and so quickly should be avoided.
Eh, not really. New editions of .NET, for the most part, only add options and functionality; they don't break existing code. If you don't want to use generics, WCF, LINQ, etc. as they're introduced, don't -- they just present what amount to easier/cleaner options to achieve the same goals, in some cases. Instead of iterating through a collection and picking out the objects that match your chosen criteria, maybe you write a LINQ query to do it instead. The latter is less code and probably a lot easier on whoever has to maintain your code down the line (it's easier to read/understand/modify), but the former still works.
I've spent a lot more time dealing with fallout from PHP 4 code that isn't valid PHP 5 code (for example) than I ever have with old-version .NET code -- and I spend a lot more time working with .NET code.
Does anyone out there using .NET have a comment about how it is shaping up? Has MS included MVC support for ASP.NET? What types of apps are people doing?
When I first saw the article I thought ".Net finally has it's Llama book" but then I saw it was a duck and that was the first thing I thought... "lame duck".
Get it online $31.98
http://www.betterworld.com/detail.aspx?ItemId=059652756X
54 .Net Books, most used and under $10
http://www.betterworld.com/list.aspx?Category_ID=764452&s=18339247
and save the planet while you learn .net :-)
http://www.betterworld.com/custom.aspx?f=impact
The APress offering in this category, Pro C# 2008 and the .NET 3.5 Platform, is almost certainly superior in both breadth of topics covered and details presented. I own the Apress book and have found it to be a useful reference on numerous occasions, but read the reviews and look at the scores before deciding what to buy. If you only have funds for one or the other then get the Apress book, you won't be disappointed.
This book is not of o'reilly quality and reminds me of sams or wrox. They had too many personal stories and it was light on technicalities. It was akin to some large paste of some code they wrote and then a followed up chopped up description of the easy parts. The ajax part was horrific on how basic it was. The WCF part didn't help me pick it up.. anyways I'd suggest that anyone interested in this book to look through it, rather than depened on o'relly's name.
SQL Server Management Studio is written in .NET.
Of course not, obviously O'Reilly thought of it first.
So far, MS has a pretty good track of backwards compatibility with .NET. C# in particular goes to great lengths to not break stuff. For example, one of the new features in C# 3.0 is type inference for local variables, similar to "auto" in C++0x. So, you can write:
And type of "list" will be inferred from the type of initializer. Now, "var", is a keyword here, but it's a special one. In theory, there might be an existing valid C# 1.x/2.0 program like this:
In this case, "var" is just a user-defined type, and should be treated as such. And C# 3.0 compiler will do precisely that. The new meaning of "var" will only kick in if you don't have a type named "var" in scope, otherwise you'll just get the old explicit 1.x/2.0 semantics. MS calls that "context keywords". "Context" can be different in any given case - e.g. "var", as noted already, depends on types visible in scope; another context keyword, "partial", is only a keyword when it is immediately followed by another (normal) keyword "class". And so on.
In fact, all new keywords that appeared after the very first version of C# are like that: "global", "partial", "where" and "yield" in C# 2.0; and all the new LINQ keywords ("from", "select", "let", "join" etc) in C# 3.0.
Long story short, a CTP (that is, prerelease) C# 4.0 compiler can still compile any valid C# 1.0 program, with exact same semantics. Few other languages can boast the same level (Java cannot, for example, and neither can C++). I'd say that says a lot about commitment to backwards compatibility in this particular case.
Thank you everyone, I'll be here all night.
...and don't forget, the 8 o-clock show is the same as the 7 o-clock show
Reply to That ||
I must admit I have pretty much zero experience with WWF (workflows? why bother, when I can code the same much faster?). But WPF is, in my opinion, much more impressive - at least it's the first UI framework from Microsoft that's built around data binding from ground up (which enables proper MVC/MVP). WinForms had data binding bolted on in later versions, and that really shows - there are quite a few corner cases where it just doesn't work, and then some more where it sorta does, but performance is abysmal. Not to mention some controls that are simply not databinding-aware at all (e.g. ListView), and general silly limitations on some features originating from the underlying Win32 API.
WPF certainly has its rough edges in its present state - some performance issues that had only been resolved in 3.5 SP1, a fairly small selection of basic controls, text renderer not quite suitable for small fonts (such as Windows default one), and so on. But it's getting better fast, and it's already at the point where it has some advantages over WinForms for production projects, depending on what needs to be done. What's most important is that the base there is solid.
WCF, now - what's wrong with that? Certainly much better than the old ASP.NET webservice model, and more standard-centric as well. Hostable outside IIS, too - at last. What's not to like?
Alright, I understand that "Eclispse" doesn't suck, but can someone enlighten me as to what it is? Sounds like a good name for an IDE for CLISP.
I can't think of any significant, remotely-close-to-good-practices .NET code that breaks in subsequent .NET versions.
Of course, I'm also not a freetard, so I won't FUD that they'll stop adhering to this behavior.
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
If you're a professional, then you can afford the Visual Studio Professional kits. It's $689. Extremely reasonable and in line with the cost of other professional tools like Photoshop for graphics, Ableton for audio (once you pick up their live packs, anyway), whatever. If you can't afford $689 and can't score a legal free copy (which they hand out like candy at events), you are obviously not a professional.
If you're an enthusiast, Visual Studio Standard is $250. Still reasonable. A little pricier than, say, Ableton without its live packs, but not by much. Not a huge sum. They give this away a ton at events, too.
If you're a newbie, you can download Visual Studio Express, which is a very full-featured IDE lacking only a few options that are primarily used in large-scale development efforts, for free.
Or, if you're a student, you can get a free version of VS2005 Professional, VS2008 Professional, and Server 2003 through DreamSpark.
In conclusion: you are a fucking moron.
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
Bah! Tell me when they release version 2!
I've had the same experience. Our .Net 1.x code runs seamlessly after importing it into the latest Visual Studio 2008. There are couple of clicks to run the conversion process, but that only changes the project metadata, not the C# code itself.
WCF.. apart from my pet peeve with it: its sockets implementation is 'specially optimised for great ECF to WCF performance', ie it doesn't provide any interoperable tcp/ip socket, its a layer on layer on layer technology.
WCF runs on top of COM+, which was pretty poor for performance, which is layered on top of DCOM, on top of TCP/IP. Its queue connectivity - on top of MSMQ.
I think there's the potential for it to be good, and its webservices is better than running ASP.NET webservices (but not as good as gsoap :) ).
I'd prefer a nice, easy to use socket library with data transfer helpers, I think WCF will find its niche as a webservice provider, but no more than that.
I know, but do the Office guys use it? I recall when the Ribbon toolbar control came out (developed by the Office team) and it was for MFC only. There was a little outcry from the C# community at the time.
So it seems to me Office still uses MFC, I doubt they'll be quick to rewrite it in .NET, and Office is the number 1 important division at MS. So I'd love to know more about how things are panning out in Redmond regarding this.
If that is the case why do I need one different dot net library for every dot net application that I run? One needs v1, another v2, another v3 and now some things will be needing v3.5. Normally this wouldn't be a big deal however they are fairly big libraries and for some reason the applications never seem to include either a copy of the library or a valid link to download it. It makes installing MS Windows applications more painful than usual and to date all that I have seen are VB shareware quality no matter what youpay for them. I have to admit that I've only noticed the dot net stuff on the web when it crashes web browsers so I don't know much about the reliability there (and most likely have my opinion skewed by the buggy crap that crashes web browsers that probably would be buggy crap in any language). From the outside it appears that MS tried to reinvent something like Java badly and couldn't get away from the ever shifting VB mindset.
You wouldn't write Office in .NET for similar reasons you wouldn't write Half-Life 3 in .NET. Right tool for the right job. Massive applications with thousands of hooks to native librairies, drivers, low level I/O (well, low level anything), and that needs to run on low end consumer hardware, all at once, isn't exactly the thing you'd use .NET for...
Plus, they'd need to rewrite Office as a whole, which is probably a bad idea, even if the resulting software was better. In the same way, you won't write a browser rendering engine in it.
Most anything else though? They definately do. I'm looking at my Windows Home Server right now. The management application is an MFC + RDP shell, but all of the actual work is done via .NET. The SQL Server business intelligence stuff uses .NET APIs under the hood (not the engine itself though, for obvious reasons). Most of MS' web sites by now are in .NET.
You don't see them do more of it because they are in the process of converting to it. Bit by bit, can't rewrite all that code in a day :) They're not done converting all of their teams to Team Foundation Server yet either. One thing at a time.
http://www.mono-project.com/Moonlight
.NET Framework 1.x is completely different than 2.x, mainly because IL instructions and so on changed a bit with the introduction of Generics. They are relatively "sourcecode" compatible except where a few classes/methods/interfaces where marked obsolete by a replacement iteration/improvement that does require referencing a new assembly. But, for the most part, the new bits are completely optional and you can suppress the [Obsolete] compiler warning if you choose.
With the addition of .NET 3.0 (WPF, WF, WCF, and CardSpace), is really built on top of .NET 2.0 and basically introduces new capabilities. There are no new compiler features or language features otherwise. If you don't use any of the .NET 3.0 features, then you do not need to install .NET 3.0. .NET 3.5 is built in top of .NET 2.0. They did change the compiler to have more language features and they did make significant performance enhancements in the JIT, but otherwise, it is .NET 2.0. You can actually use all of the new C# 3.0 features and target .NET 2.0 except the extension methods and LINQ (which requires the use of Extension methods). You can create projects that target the .NET 3.5 framework and still reference only .NET 2.0 assemblies as long as you don't use anything that's new to .NET 3.5 (or .NET 3.0).
But it will be hard to do so because by definition, a .NET 3.5 application is something of Microsoft AJAX or WPF, WCF, WF, etc. Also, later .NET frameworks are cumulitive include everything previous, and are 99% backwards compatible. At least in the many multimillion line projects I've participated in, not one line of code has had to change for newer releases.
As to whether .NET is buggy or not. I've noticed just as many JSP and Flash and PHP websites that were buggy and prone to crashing, too. Considering that I've mostly worked on large enterprise projects that must sustain tens of millions of transactions/page requests per day (I'm currently an architect for one that must sustain 400 million), .NET is quite capable. It is just as easy to write crappy .NET code as it is crappy Java code and PHP. .NET make the problem more visible by rendering an internal exception into the HTML stream if the developer does not handle the exception (very bad practice). In all, I don't think .NET is any more buggy than any other language. The framework is solid if not quirky or lacking in some areas. It is the programmers, ultimately, that write good or bad code, or adhere to standards and good practice or none at all.
When you see buggy .NET applications, it is not because .NET sucks, it is because the programmer who wrote the application sucks.
Thanks,
Leabre
Hello World in only 750MB
And only $750!
Modding me -1 troll doesn't make me wrong.
What socket implementation did you find in WCF, even? It runs on top whatever is given to it - inside IIS, it uses IIS networking; when hosted in a .NET application, it uses System.Net sockets.
And why would a webservice framework need "interoperable TCP/IP sockets", even? It is, by definition, operating on a layer much higher than that!
No, it doesn't. Where did you even get that idea? And why would web services run on top of an object-oriented remoting stack that does not even use HTTP?
If you need a socket library, then what's wrong with plain old sockets, and possibly NetworkStream + BinaryFormatter?
If you want more than that, but still don't care about interop, there's .NET remoting.
Well, and what else is it supposed to be?
Well, and what else is it supposed to be?
Its supposed to be a complete communications framework for all kinds of IPC. I see from your post that you've only seen/used the webservice stuff, but there is more in the whole package. I think WCF is positioned as the main communications system for everything in .NET
All my info comes from Juval Lowy's book (though probably with more stuff picked up here and there)
a bit from that, a bit from this and we don't see a single .NET software being out there except some demo like media players.
It is like every month, I see a software coded in .NET framework (not bad on Windows) and when I check, it is impossible to make it run on any other thing except windows.
and I run Azureus (now Vuze) on 3 different operating systems and 2 different CPUs which has nothing to do with each other.
VB6 was a complete shit and it didn't stop people from using it.
I bet somehow MS makes it easy for Windows based developers to use those frameworks. I am betting on it knowing how MS works and how false their promises are along with those puppets supporting them.
Whoops! A MSCP fount this... :) tag -1 as you wish, .NET STILL is a big, ugly, bloated, bizarre piece of useless junk.
Religion: The greatest weapon of mass destruction of all time
Apple codes everything in Cocoa or Carbon. They also use their own OS X Wide Frameworks whenever they are available even installing them to "enemy" operating systems when there is a need. (watch Safari install/windows).
Their iTunes which saved them from death (along with OS X) relies on their own Quicktime Framework.
Their _Office Suite_ (iWork) is a pure Cocoa application. Finder becomes Cocoa in Snow Leopard.
So there are true frameworks which you can bet your life on (as company) and frameworks which are desperate attempts to stop time from ticking which leads to true ubiquitous computing which is naturally multiplatform. As long as MS sits there, doesn't code and ship that thing (.NET 3.5 SP1, CURRENT) on every single Desktop/Mobile platform out there, MS is not a company to trust your application framework. Mono, Stereo stuff coded by guys who gets paid by companies which got saved from Chapter 11 by MS doesn't count.
Interesting. I have always got the impression that Microsoft positions it as a replacement for the assorted set of remoting technologies they had before - COM+/EnterpriseServices, .NET Remoting, and ASP.NET Web services. But, from what I've read on MSDN, they just kept talking about using service-centric model in general, and HTTP web services in particular - certainly not something truly general-purpose. So I mentally catalogued WCF as "the new better way to do SOA in .NET 3.0+", but certainly not as replacement for good old socket streams, binary serialization, and .NET Remoting, and considered the rest just meaningless marketspeak that MS is usually so good at. Judging by what you say, I was wrong.
Do you have any examples of other (non-service-centric) recommended scenarios of WCF use?
lol, no I think you were right... ignore the marketing message and stick to WCF as webservice only and you'll be fine. (until they deprecate it too in favour or XML serialised Biztalk connector objects :-) )
I think it was supposed to be a replacement for all the other comms tech, from years and years ago, but I guess someone started work on it and then realised just how much effort it would be to repackage everything up (or figured out that they got a better "value-return-proposition" by just slapping a .NET wrapper on top, pretty much like the rest of .NET)