Running Zork on .NET

Remember the Infocom games from the good old days? I am talking about games like Zork. Well there is an Infocom game interpreter called Frotz out there. It allows you to play Infocom games on modern day PCs. Frotz is written in the C programming language.

Well guess what? Frotz has been ported to C#. It now has a WPF front end as well. This thing needs the .NET 4.0 runtime to work. I just read a blog post that some guy tried this newly ported interpreter, and had Zork I up and running fine. This sounds like good stuff.

Silverlight Media Framework

Microsoft has an open source framework called the Silverlight Media Framework, or SMF for short. It is a framework for video. This allows you to create your own media player. Cool stuff.

SMF makes use of the Smooth Streaming Player Development Kit. This additional kit is not open source. You create your own Silverlight project. Then you use SMF and this kit within it.

The technique is to inherit from the SMF player. Then you extend the capabilities as you see fit. Settings are downloaded from a server via an XML file. Check it out.

Complaints Against Microsoft

Let us all admit Microsoft’s goals for the .NET framework. They want to go for the enterprise market. They target high end systems. This is the same market that Java is going after. Some people are not happy with how Microsoft has been proceeding with expanding the .NET framework.

On a positive note, .NET provides you with great plumbing. But it seems as if Microsoft is not collecting feedback from users and developers when deciding the new things they are adding to the framework. There are also complaints that .NET is becoming very bloated.

Take the ADO.NET Entity Framework for example. This is an object relational mapping. It is now Microsoft’s recommended data access solution. People think the database layer is big, maybe too big. What happened to support for LINQ to SQL? Developers want to spend time learning and using technologies that will stick around. Microsoft needs to keep an ear on the developer community.

MEF

I want to talk about this new Managed Extensibility Framework (MEF) idea. It is a library that ships with the .NET Framework 4, as well as Silverlight 4. It allows third parties to extend systems after they are deployed.

There are other technologies which implement the same thing. These include Enterprise Java Beans, Corba, Spring, and the Component Object Model. However some of these competing or legacy technologies are heavyweight. The competitors may also require a lot of developer work.

Let us discuss some of the MEF terminology. A part provides services to other parts. An export is another name for a service. An import is the service that you part uses. And a contract is an identifier.

MEF comes with an attribute programming model. You can achieve the import using constructors. That is called constructor injection. All part instances are currently implemented as singletons. Finally there is a “lazy” framework where instantiation is delayed until the value of the object Is accessed.

.NET 4


The .NET framework initially came out as a replacement for the legacy MFC. Since then it has changed rapidly. This makes for much developer learning. The most recent version changes ASP.NET significantly.

Silverlight 4 is set to come out towards the end of 2010. It will get access to the Component Object Model in the next release. This technology is Microsoft's weapon to combat Adobe.

Last time .NET was upgrade to include Windows Presentation Foundation and Windows Communications Foundations. Then a minor update added Language Integrated Query (LINQ). All the good new technologies coming out of Microsoft are part of .NET.

Microsoft is getting into the component market. Silverlight 3 contained over 100 new controls with it. This has given consultants something to sell to their customers. Such consultants have custom tool sets to sell. Third party control manufacturers are hurting though.

F-Sharp

Microsoft continues to offer the F# programming language in Visual Studio. This relatively new language incorporates functional programming with the existing object oriented language features. The language supports multiprocessor machines. It also supports preemptive multitasking.

F# is a strongly typed language. It has a number of features that have not made it into other .NET languages like C#. However developers have not flocked to the new language in great numbers. If you do specialized parallel programming projects, F# might be for you. Otherwise there may not be a strong reason to try out this new language.

ASP.NET MVC 2.0

ASP.NET is starting to get old. It seems that just the other day it was taking over where classic ASP left off. Well now there is another twist on an old technology. It is ASP.NET MVC 2.0.

The MVC stands for model view controller. It is a web framework that is compatible with both Visual Studio 2008 and 2010. This technology is an alternative to using web forms.

Don't fret if you are a web forms programmer. That technology is not dead. But ASP.NET is getting a face lift. Leave it to Microsoft to keep the technology pace moving quickly.