Key elements - all that stuff from my other post.
- Consistent OO programming environment
- Code execution environment with versioning
- Code safety features (signing)
- Eliminates performance problems of scripted/interpreted environments
- Consistent developer experience
Types of Apps Same as ever - console, GUI, scripted, web, Mobile
Theoretically portable. They have an implementation on Sparc (surprise!)
Framework classes - similar to the Java diagram....
".NET is about services" - plug and play architecture is what they tout here. runtime system diagram looks a lot like the Java one.
Good thing!! - Smalltalk shows up on the list of supported languages!
All communications based on industry standards (Web Services)
Touting the versioning system heavily. I'll note that you ought to look here for a comment on that from a developer in the field:
Had an interesting experience today; a friend sent me an assembly and asked me to check it out. I referenced the assembly in my application and starting writing some elite code that consumed it. Project compiled fine but when I executed the app. it blew up and complained that assemblies couldn't be found - System.Xml in particular.
Welcome to SxS ( side by side execution ). What my friend had failed to tell me is that his assembly was built on Version 1.1 of the framework and I only have Version 1.0 installed!
Thankfully this fine article - http://www.3leaf.com/default/articles/ea/SBS.aspx - told me how to rectify the problem by adjusting my configuration settings to map to the V1.0 assemblies.
So it's not as seamless as the consultants would have you believe, it seems....
ASP.NET - server side object model for the page - sounds a bit like VisualWave or AidaWeb. More like AidaWeb, to be honest. ASP.NET can be done in any .NET language. Session support, browser detection/support. Yeah, sounds a lot like AidaWeb to me.
Multi-platform .NET - MONO For Linux and Sparc, plus Windows (for Apache) Includes C# and VB.NET compilers (certified) Supports lots of database vendors Complete language binding to GTK
Note what this means - .NET from MS does not support using ASP.NET on Apache (etc). Have to use IIS. So much for real portability.....
So - who's using it? Early Adopters and Microsoft. My take on this - it's the next silver bullet for all the IT shops that most recently jumped on Java and J2EE. Pitfalls - MS (not known for Enterprise support). Also, optimized more for SQL Server than other databases (surprise).
The consultants recommendation - get your toe in the water, build departmental apps - don't bet your business on it yet.
Claim - C# is a big leap forward from Java. I asked "how?" The answer - distribution (library) more keywords (a bad thing). i.e., SOSDD. These guys totally confuse "the language" and "the platform".