Save content
Have you found this content useful? Use the button above to save it to your profile.
AIA

Progress or propaganda? Why .NET matters

by
25th Dec 2005
Save content
Have you found this content useful? Use the button above to save it to your profile.

They say life is a cyclical process. Each defining moment is preceded by a step forward in science and/or our perception of the world in which we live.

Software development mirrors this evolution very closely. As each generation of hardware and software pushes the boundaries of possibilities further, so the underlying platforms used to build software need to be re-invented (and the developer community re-skilled alongside it), if progress is to be achieved.

Reflecting on past milestones, the CP/M, DOS, Unix Macintosh, Windows 3.1 and Windows 32-bit eras all caused seismic shifts in the way we used IT. Each of these platforms harnessed the power of the computing technology available at that time.

Fast forward to 64-bit computers (and beyond), and the leap to fifth generation languages such as Java is taking place. The next progression appears to be towards .NET.

First, let's put the politics of the platform aside and look at one overriding fact. With Microsoft's muscle behind it, .NET's place in our consciousness is already assumed. But that doesn't necessarily make it the best tool for the job. Only its technical merits can prove that.

Unfortunately, the hype emanating from Redmond often clouds this. If .NET is to stand or fall it will do so on its own merits, so now is the time to look at the nitty gritty to decide if it really is the right platform for
your business.

So, to start at the beginning, the chief architect of the .NET language C# (pronounced C Sharp) is Anders Hejlsberg, the legendary ex-Borland employee who invented Delphi. He now works for Microsoft.

Contained within .NET, therefore, are many decades of evolution and wisdom. It's a paradox - a new thing harking back to all the things we've learnt (or failed to overcome) over the past 20 years or so.

Hence its main claim to fame - that programs using it should work across all computers which support it regardless of operating system. This is the enterprise computing Holy Grail that the software industry has been seeking since its inception. Yet, for me, this is a secondary consideration.

The exciting prospect I see is that programs will be designed to dynamically take advantage of the power of the PC running them. As it stands, they work on a lowest common denominator principle. All modern languages produce programs which will run on the lowest specification PC - disadvantaging the power PC user in order to retain backward compatibility.

Looking at the implementation of .NET from a financial software perspective shows the advantage extremely clearly: far more efficient use of processing power within a business. For example, if your PC is idle while you are at a meeting then potential processing power is automatically underused. Probably while another user is trying to (slowly) number crunch through a monster spreadsheet.

Under .NET the idle PC would become part of a pool of available resource, helping out the wider computer community it was connected to whenever it can.

This concept of load balancing has been attempted at the server side of a network but never successfully at the workstation end. .NET will turn this into a reality.

The second fundamental change .NET will bring about is the ability to 'componentise' traditional business functions.

For instance, we currently accept separate software packages to do different jobs, with an improving (but still fundamentally limited) means of integrating them into a coherent unit. Conflicting database and interface technology still hinder the ability, for example, to drill down from a figure in a spreadsheet to the underlying invoice from the financial system.

.NET will allow packages to be developed at a much more modular level. Instead of developing software to run on a specific database such as Pervasive or Microsoft SQL, the database will be plugged into the .NET operating system. This will, in turn, provide database services to the applications themselves, irrespective of which specific database they are talking to.

This leads to inherent compatibility between different technologies and a much more efficient use of resources. Pushing the concept further would see an operating system having a resident financial system, serving all applications with financial data right at the core.

.NET is already receiving some very strategic backing - Borland has put its resources behind a Delphi.NET product due out next year in a move which will sway the developer community into adopting .NET much more readily. This is a key move, as developers are vital to .NET uptake. After all, without the applications to run on it, it will inevitably fail.

An interesting by-product of this technology is more political than technical. It will render redundant the pressure to split up Microsoft into operating system and application divisions because it will soon be impossible to distinguish the applications from the operating system.
Co-incidence? Or clever engineering?

The cynics amongst you may well conclude that Microsoft has engineered itself out of a commercial nightmare. But I guess you don't become the world's most successful software house by sitting on your hands.

Tags:

Replies (0)

Please login or register to join the discussion.

There are currently no replies, be the first to post a reply.