Monthly Archives: January 2009

Jan 28th Links: ASP.NET MVC 1.0, .NET Services White Papers

These past weeks have been extremely busy around here, so excuse me for not writing regularly. Here are two links for:

ASP.NET MVC 1.0 Release Candidate Now Available

Today we shipped the ASP.NET MVC 1.0 Release Candidate (RC). It works with both Visual Studio 2008 and Visual Web Developer 2008 (which is free).

Today’s RC is the last public release of ASP.NET MVC that we’ll ship prior to the final “1.0” release. We expect to ship the final ASP.NET MVC 1.0 release next month.

In addition to bug fixes, today’s build includes several new features. It also includes some refinements to existing features based on customer feedback. Please read the release notes that ship with the ASP.NET MVC download for full details on all changes. The release notes include detailed instructions on how to upgrade existing applications built with the ASP.NET MVC Beta to the RC.

Microsoft .NET Services White Papers (Dec 2008 CTP)

Overview
An Introduction to Microsoft .NET Services for Developers. This overview paper introduces Microsoft® .NET Services, each of its building block services, and how they fit together.

A Developer’s Guide to the Microsoft® .NET Access Control Service. This whitepaper shows developers how to use a claims-based identity model and the Microsoft® .NET Access Control Service – part of the Microsoft® .NET Services family – to implement single sign-on, federated identity, and role based access control in Web applications and services.

A Developer’s Guide to the Microsoft® .NET Service Bus. This whitepaper shows developers how to use the .NET Service Bus – part of the Microsoft® .NET Services family – to provide a secure, standards-based messaging fabric to connect applications across the Internet.

A Developer’s Guide to the Microsoft® .NET Workflow Service. This whitepaper provides details about the Microsoft® .NET Workflow Service, its relation to Windows Workflow Foundation, and what developers need to know to begin building workflows for the cloud. It not only explains the current tools and capabilities but also outlines the vision for future releases.

The Future of .NET Languages?

I came across this article and really enjoyed it, thats why I have to share it with you. Written by Damon Armstrong this article gives a bit of light what is next in .NET field.

Co-Evolution for VB.NET and C#

One of the most prominent messages coming from Microsoft right now is geared towards Microsoft Visual Basic® .NET developers. VB.NET and Microsoft Visual C#® are both built on top of the Common Language Runtime (CLR), which means they both compile down into the same Common Intermediate Language (CIL). Since they both compile down to the same code, there should be no intrinsic benefit of one language over another. However, both languages are maintained by separate teams at Microsoft, and over the years this separation has led to a variety of language-specific features in both C# and VB.NET as the teams focus on different areas with their respective products. Many VB.NET developers feel that the most exciting new features appear in C# first and are only later introduced into VB.NET. Naturally, this has generated a bit of animosity in the VB.NET community.

Introducing the Dynamic Language Runtime

Microsoft is acutely aware that the .NET Framework is not the only choice for building applications. All you have to do is take a quick glance around the development sphere and you’ll find a number of language options, and that number is only expected to rise as domain-specific languages emerge. People are spending time and energy writing useful components in these languages, so the question is, how can you use a component written in another language without having to rewrite it in .NET?

At a high level, you can think of the Dynamic Language Runtime as having three layers (see figure 1 below):

* .NET Language Integration
* DLR Core Components
* Language Binders

image001 The Future of .NET Languages?

The first layer, .NET Language Integration, simply represents the need for .NET languages to have a notion of what the DLR is and how to use it. For the most part, you won’t even notice this aspect of the DLR because most of the .NET languages had a natural integration point. IronRuby and IronPython are both dynamically typed languages, so the DLR fit right in. VB.NET has always supported the notion of late binding on the Object type, so the DLR incorporated nicely into late binding resolution. C#, however, has no notion of late binding and needed an additional static type for dynamic language support. It’s called the dynamic type, and we’ll talk about it in more detail a bit later.

Language Binders, which make up the third layer, are language-specific implementations of certain operations the Dynamic Language Runtime needs to understand about each language that wishes to participate in the DLR.

New Language Features in .NET 4.0
– Dynamic Lookup (New to C#)
– Named and Optional Parameters (New to C#)
– Anonymous Method Support (New to VB.NET)
– Co-variance and Contra-variance (New to C# and VB.NET)
– Dynamic Import (New to C#)
– Omitting Ref Parameters (New to C#)
– Compiling without Primary Interop Assemblies (New to C# and VB.NET)
– Implicit Line Continuation (New to VB.NET)
– Simplified Property Syntax (New to VB.NET)
– Array Type Inference and Jagged Arrays (New to VB.NET)
– From Keyword (New to VB.NET)

Functional Programming with F#

F# is a succinct, high performance, type-inferred, functional language built on top of the .NET Framework. Microsoft has a solid base of imperative programming languages with VB.NET and C#, but there is a trend in computing that tends to be moving towards a more declarative style of programming. What’s the difference? In an imperative language you write code that tells the compiler exactly how to do something, whereas in a declarative language you write code that says what you want to do, but leave the “how” part up to the compiler. Now, the ultimate declarative language would allow you to write something like “Morph the screen into something cool” and then compile your thoughts into a wicked screen saver or some such, but we’re not there just yet. F# offers developers the opportunity to explore declarative concepts and offer a useful language to customers whose thinking is geared more towards functional development.

Read the whole of this article from the source.

Windows 7 Beta is here!

 


Windows 7 Beta was announced at CES 2009 and you can download it now.  I just did it from MSDN Subscripter downloads section.


Windows 7 home page:
http://www.microsoft.com/windows/windows-7/

Download info from the team:
http://windowsteamblog.com/blogs/windows7/archive/2009/01/07/information-on-downloading-and-installing-windows-7-beta.aspx


Steve Ballmer’s keynote:
http://www.microsoft.com/presspass/press/2009/jan09/01-07CES09PR.mspx


Keynote videos and WIndows 7 demo video:
http://www.microsoft.com/presspass/events/ces/keynote.aspx?initialVideo=Windows7Democast

2009 Predictions – ASP.NET, LINQ 2 SQL, VB and C# are dead

These are predictions by Guy Barrette who is Microsoft Regional Director.

ASP.NET is dead
You should drop ASP.NET and start using Silverlight right now because it is clear that Microsoft has no roadmap and future plans for that technology. At the last PDC, nothing new ASP.NET was announced except a few tweaks for AJAX and the fact that Microsoft released the MVC Framework proves that but IMHO, the MVC Framework is just a toy technology to shut the Agile loudmouths that wants to code everything by hand and reinvent the wheel.

BizTalk is dead
With Dublin coming up with the Framework 4.0, it makes no sense to purchase and invest in BizTalk anymore. Why spend gazillions of dollars when you’ll have the exact same services for free right in the Framework? Why being locked with a product when you get the API for free?

LINQ 2 SQL is dead
Microsoft recently stated that they have stopped working on LINQ 2 SQL to focus on the Entity Framework so why would you use LINQ 2 SQL anymore? Once again, Microsoft has released a new technology, people invested in that technology and Microsoft abandoned it without warnings. I’m not happy because I invested so much in LINQ 2 SQL so I think I’ll stick with ADO.NET fearing that Microsoft will eventually dropped the Entity Framework as well.

VB and C# are dead
At the last PDC, Microsoft showed Oslo, its modeling platform along with M, a modeling language. This will revolutionize the way we design and build applications. In the near future we will no longer code using low level languages like VB and C#. I would stop investing in these languages right now and train my whole team in M.

Azure is DOA
Cloud computing, talk about something so stupid its name is stupid. Why the heck would I push my apps and data in Microsoft’s data centers? I don’t get it and I think no one will use that technology and trust Microsoft. This thing is dead even before it will be released (.NET My Services anyone?).

OK, you must have seen similar comments everywhere in forums, blogs or talking with colleagues and other developers but is any of this making sense?

AP.NET vs Silverlight vs MVC Framework
When I was at the last PDC, one thing that struck me was the fact that no major new announcements were made for ASP.NET. Clearly, this is the sign of a mature technology but at the same time, Microsoft is putting a lot of resources and efforts in building a new platform in Silverlight. Does that mean that you should drop ASP.NET? Of course not: it’s mature, it’s stable, hundreds of 3rd party controls are available, it’s proven and you can find thousands of developers familiar with that technology. Why would you stop using it all of a sudden? But why is Microsoft working so hard on Silverlight? Because Silverlight fills the RIA gap in the Microsoft offer because developing complex RIA apps with AJAX is way too costly right now. So why is Microsoft working on the MVC Framework, a direct competitor to ASP.NET? Again, another model to solve different problems. It’s easier to use if you’re deep into TDD, it’s somewhat lighter but at the same time, it’s somewhat a return to Classic ASP. Well, it’s another tool in your .NET toolbox and this creates confusion for people who think in the “one size fits all / one ring to rule them all” way. Again, look at your project/assignment, analyse the problem/need and select the right technology to do the job. But in the long time, could Silverlight be so successful that it would replace ASP.NET? Maybe or maybe not. It certainly has the potential to do so but who knows at this point in time!

2009 prediction: ASP.NET will dominate and we will see a slow but steady Silverlight adoption. The MVC Framework will remain a niche tool for Agilists for now (and I’m not saying this in a pejorative way).

BizTalk vs Dublin
The .NET Framework 4.0 will include a set of extensions to Windows Server that will add new services to Microsoft’s app server. Features that will simplify the deployment, configuration, management, and scalability of WCF and WF applications. Basically, some of the same features found in BizTalk Server. So why would I bother with BizTalk and spend big money when I can get the same services for free? Well, BizTalk is an integration server and Dublin is a set of management tools extending Microsoft app server. Dublin will allow you to deploy more easily your WCF apps so instead of writing a Windows service to host your WCF services, the app server will be able to host them directly.
So you think you can write a BizTalk clone? Remember how BizTalk 1 was a piece of ****? And remember BizTalk 2? Microsoft only got it right with version 3 so yes, you can write a BizTalk clone using Dublin but it will cost you a lot more than purchasing BizTalk because Dublin and BizTalk are two different animals.

2009 prediction: Dublin will be widely used right away to help host WCF apps. BizTalk will not die and some people will get burned by trying to replace BizTalk with Dublin in a scenario where the use of BizTalk would have make more sense. FUD will run loose on the Web.

LINK 2 SQL vs Entity Framework
So Microsoft created some confusion by releasing two similar ORM technologies? Yes of course but if you look closely, they are somewhat similar and different at the same time. LINQ 2 SQL is RAD against SQL Server and the Entity Framework is the full blown ORM thing. Both use LINQ as the query language so if you invested in LINQ 2 SQL, your investment is not wasted and for God’s sake, LINQ 2 SQL is in the Framework; it cannot die!
One suggestion that I saw on the Web was to release LINQ 2 SQL on CodePlex so that people can update it since Microsoft has “abandoned” it. First, Microsoft never said that it has abandoned it. They will keep it as it is right now and they will put all their efforts on the Entity Framework. My hope is that when we’ll see new SQL Server releases, Microsoft will update LINQ 2 SQL to match some of the new features. So back to the CodePlex idea: I think it’s a bad one because people will try to match the features of the Entity Framework or Nhibernate and that will create more confusion because we will have similar products competing against each other.

LINQ 2 SQL = simple 1 to 1 mapping against SQL Server
Entity Framework = complex mapping against SQL Server and more

2009 prediction: people will still be confused and FUD will run loose on the Web

C# and VB vs Oslo
Microsoft have finally abandoned the traditional design surface where we connect little boxes as the way to model apps and I think that Oslo and M are very good concepts. Is this the modeling Holy Grail? I have no idea but it looks good. Can Oslo and M replace VB and C#? Of course not!
Every time that Microsoft launched a new way to model apps, these technologies never lasted more than one version. I would tend to have a wait and see approach. Take a look, experiment and wait for version 2.

2009 prediction: Olso and M will be curiosities. Let’s hope that they will not die as the other Microsoft modelling oddities.

Azure vs apps hosted in the enterprise
Microsoft has taken a bold approach to cloud computing. Instead of hosting your virtual machines running your apps, they will host your apps in a new cloud OS running in their virtual machines. But why would you do that? To drive IT costs down of course. Look, there’s something called a recession going on right now and it’s a nasty one. At some point, your boss will be asked by his/her boss to cut expenses drastically and maybe one way to do it is to go the cloud way. We’ll see but there’s one thing that I’m sure: this will be another tool in your .NET arsenal and it will not make sense to write all apps to run in the cloud. Again, look at your project/assignment, analyse the problem/need and select the right technology to do the job. I’m sure that people will get burned by using the cloud model on projects where it doesn’t make sense.

2009 prediction: Microsoft has a lot of work to do to convince people to move to cloud computing.