Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
The Father of C# Improves His Brainchild
The Father of C# Improves His Brainchild

(Microsoft Chief Architect and Distinguished Engineer Anders Hejlsberg, inventor of the C# programming language, which underpins .NET, granted an exclusive interview to .NET Developer's Journal for its premier issue, coming in January 2003. As a preview, Derek Ferguson covers highlights from Hejlsberg's OOPSLA presentation.)

(November 20, 2002) - Anders Hejlsberg delivered a speech to the attendees of the recent OOPSLA conference in Seattle in which he described four new features to be incorporated into the C# programming language. These were: generics, Iierators, anonymous methods, and partial types.

Generics is a technology developed largely by Don Syme and Andrew Kennedy of Microsoft Research. Similar to C++ Templates, generics are much more powerful. For example, in C#, developers will be able to restrict the types of the "wildcards" used to concretize their generics, which is impossible when using Templates under C++.

Iterators are being added to solve a usability problem with the C# language as it currently stands. Specifically, in order to use the foreach keyword under C# now, developers have to make their objects implement the IEnumerable interface. Unfortunately, this is a rather cumbersome interface to implement. Going forward, developers will be able to implement an iterator that will allow the use of the foreach keyword simply by adding a method with the following signature to their class:

public Object foreach()

The third language alteration - which nearly produced a standing ovation from the assembled crowd - was the addition of so-called "anonymous methods." This is a step in the direction of Java's "anonymous classes," which allow entire bits of functionality to be defined at their point of use without even being given a name for later reference. Hejlsberg indicated later (during an exclusive .NETDJ interview) that he feels that this kind of behavior might not always lead to the most truly object-oriented of designs.

Finally, partial types will be introduced to change the existing one-to-many relationship between C# source files and classes into a many-to-many relationship. What is the practical value of this, you might ask? It allows a single class to be defined in multiple files that may then be created and managed via different entities.

For example, an automated code generation tool might be responsible for creating the parts of a class dealing with the user interface, while the human-generated code for this class is all kept safely in another file. In this way, classes can be safely "round-tripped" between generators and human beings with far less danger of accidental code overwrite.

For more information on C#, see www.csharp.net.

About Derek Ferguson
Derek Ferguson, founding editor and editor-in-chief of .Net Developer's Journal, is a noted technology expert and former Microsoft MVP.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Horray! These upgrades to C# are great.

Java sucks compared to .NET and in the end everyone knows Microsoft is the champ. The last time I tried developing a Java application my notepad text editor crashed. Microsoft tools are 'just slightly' easier to use.

- David Bennett

Hurra! for the generics and iterators inclusions in C#

We propose similar features for Eiffel language see

Collections and Iterators in Eiffel, Journal of Object Oriented Programming, Vol 6, No 7, Nov/Dec 1993, USA.
by Miguel Katrib and Ismael Mart

The only "non-oo" feature is anonymous functions. The Inventor of the term Object Oriented, Alan Kay, included anonymous code blocks in the OO language he developed, Smalltalk.

Generics and partial types allow you to create a class. Classes are an OO feature.

Iterators seem to fix an inconvenience in the design of containers.

Brendan

For too long, OO has been held up as an absolute good. This attitude might have been understandable in the late 1980s, but the popularity of Java has extended OO's time in the limelight. These new features of C#, while very useful, have nothing to do with OO, and in fact mostly cannot be achieved using straight OO! Many newcomers to computer science and engineering (Java zealots) will point this out in a negative light. But the fact is that OO is only one useful view of reality. Congratulations to Hejlsberg and MS for recognizing this.


Your Feedback
David Bennett wrote: Horray! These upgrades to C# are great. Java sucks compared to .NET and in the end everyone knows Microsoft is the champ. The last time I tried developing a Java application my notepad text editor crashed. Microsoft tools are 'just slightly' easier to use. - David Bennett
Miguel Katrib wrote: Hurra! for the generics and iterators inclusions in C# We propose similar features for Eiffel language see Collections and Iterators in Eiffel, Journal of Object Oriented Programming, Vol 6, No 7, Nov/Dec 1993, USA. by Miguel Katrib and Ismael Mart
Brendan Johnston wrote: The only "non-oo" feature is anonymous functions. The Inventor of the term Object Oriented, Alan Kay, included anonymous code blocks in the OO language he developed, Smalltalk. Generics and partial types allow you to create a class. Classes are an OO feature. Iterators seem to fix an inconvenience in the design of containers. Brendan
M. Whitener wrote: For too long, OO has been held up as an absolute good. This attitude might have been understandable in the late 1980s, but the popularity of Java has extended OO's time in the limelight. These new features of C#, while very useful, have nothing to do with OO, and in fact mostly cannot be achieved using straight OO! Many newcomers to computer science and engineering (Java zealots) will point this out in a negative light. But the fact is that OO is only one useful view of reality. Congratulations to Hejlsberg and MS for recognizing this.
Latest Cloud Developer Stories
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
CloudLinux, Inc., on Thursday released CafeFS 3, a virtualized file system for shared hosters that cages each customer within its own virtualized file system. CageFS becomes part of CloudLinux OS at no additional charge. CloudLinux OS, the only commercially-supported Linux OS m...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News

BEACHWOOD, Ohio, Feb. 16, 2012 /PRNewswire/ -- DDR Corp. (NYSE: DDR) today announced operating re...