Welcome!

.NET Authors: Lori MacVittie, Yeshim Deniz, Ivan Antsipau, Liz McMillan, Michael Bushong

Related Topics: .NET

.NET: Article

.NET Archives: Getting Reacquainted with the Father of C#

Derek Ferguson, Editor-in-Chief of .NET Developer's Journal, Talks to Hejlsberg In a Major Interview

In our premier issue, back in October 2002, we ran a full-length interview with Anders Hejlsberg, the Distinguished Engineer at Microsoft responsible for the creation of the C# programming language. Then, in March 2005, we presented a follow-up interview conducted by .NETDJ's editor-in-chief, Derek Ferguson, at Microsoft's Tech Ed 2004 conference in San Diego, California. Here it is again in full.

.NETDJ: Between now and the last time we spoke, Borland has entered the .NET space. As an ex-Borland employee who is now one of the most revered .NET icons, what are your thoughts on this?

AH:
I'm very excited that they are doing that! It is the right thing for the Delphi community and .NET is the logical next place for all Windows development tools to go. I think it is a win-win situation.

.NETDJ:
I didn't realize the last time we spoke that you started off at Microsoft building the Windows Foundation Classes for J++. I never had a chance to look at WFC during its day. If I looked at it today, would I see bits I'd recognize from the .NET Framework?


AH:
Some of the ideas from WFC were carried forward into Windows Forms, so you would see stuff there.

.NETDJ:
Where, if anywhere, do you see a need for "a language specializing in... <blank>" today? For example, I think there is a real need for a new entry-level programming language. What do you think?

AH: I think there is a healthy cross-pollination that occurs between all the programming languages. While you might see C# pioneer in one direction and VB pioneer another, ultimately there is a lot of crossing over of ideas over time. Certainly, anything we do on the C# team we let the VB folks participate in and vice versa.

.NETDJ:
I recently spoke with Soma Somasegar, Microsoft's Corporate VP of the Developer Division, and he mentioned that you were one of the people looking at how XML usage can be done better from a programmatic standpoint. Can you tell us a little about this work?


AH:
Well, I wasn't involved in X#, but two of the people who were on the X# team are now members of the C# team. Some of X#'s ideas are being carried forward in C#. These are not going to look the same way as they did in X#. However, I think that the core concepts will carry forward. I can't make any commitments, though.

Actually, the main thrust of X# was trying to deal with relational data. It also tried to deal with XML, but it did not deal with loosely typed XML, which is what most of the XML in the world is.

My feeling is that if XML is strongly typed, then it can very conveniently be represented as classes. So what we really need is syntax for creating "object literals" - objects with nested objects - all in a single expression. We are kind of calling these "object initializers."

I would not expect to see XML literals embedded in the C# programming language, however. There are two ways to think about integrating concepts. On one hand, you can just embed one language in another. Honestly, however, this approach just calls attention immediately to all of the differences between the two languages. Take Embedded SQL, for example. You still have to learn two languages, but you also have to learn how those two languages interact.

On the other hand, if you could just take the conceptual things that are in two languages and merge them into one, you could get a much more productive environment. This is the approach to data I want to take in future versions of C#.

.NETDJ:
The last time we spoke (at OOPSLA 2002), you had just announced that anonymous methods would be added to C#, but you couldn't give a timeline. Now we know that that will occur in Visual Studio 2005. What has happened between now and then to take this idea from a vision to reality?


AH:
The stuff we talked about at OOPSLA was the first glimpse we gave of the new C# language features that will be in Visual Studio 2005. There are many that are well-known: generics, anonymous methods, iterators, and partial classes. There are also many more - nullable types, which we just talked about today - and a whole bunch of smaller things that are not as well-known.

Nullable types basically represent the ability to have value types that can be set to null, which is something that people very much ask for. I recently asked a group of programmers, "How many of you access data in your applications?" Virtually everyone raised his hand.

People do a lot of database access, and yet there are some pretty notable impediments to interactions between databases and programming languages. One of these mismatches is the absence of nullable types from programming languages. SQL databases have always had nullable types, but programming languages have never had nullable types. One of the things that you are sort of seeing here is the beginning of us trying to think really deeply about this problem. Nullable types are a specific problem that we are solving as a part of .NET 2.0. In .NET 1.0, value types can't be null, but in 2.0 they can.

(continued on page 2)

More Stories By Derek Ferguson

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

Comments (7) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
isodoor 10/26/09 03:54:00 AM EDT

Professor Linda Shapiro is a great women with the following honors:
1. Pattern Recognition Society Best Paper, 1984
2. Pattern Recognition Society Honorable Mention, 1985
3. Pattern Recognition Society Honorable Mention, 1987
4. Pattern Recognition Society Best Paper, 1989
5. Pattern Recognition Society Best Paper, 1995
6. Fellow of the IEEE, 1996
7. Fellow of the IAPR, 2000
I like this site ;)
Good post thanks for sharing.

Peter Frost 01/28/08 06:21:14 AM EST

So it was the flaws in most major programming languages (e.g. C++, Java, Smalltalk, even Delphi) that drove the fundamentals of the CLR, which, in turn, drove the design of the C# programming language itself? Interesting...

David Totzke 03/14/05 12:27:22 PM EST

The mothers of C# invention wrote:

"Or you might actually look beyond the blinders and see that VB is Basic mutated beyond recognition. And Basic was the worlds only programming language for those who couldn't program. "

Thank god for that. Now all of the people who couldn't program won't be able to inflict their garbage on the world.

"The father of C#! Like calling the guys in Malasia and China running the illegal CD and DVD duplication operations the fathers of multi-media. "

Well, at least they're not bitter. Somebody get the mothers some Thorazine please.

Sheesh,
dave

The Mothers of C# Invention 03/12/05 09:59:57 PM EST

>I think there is a healthy cross-pollination that occurs
>between all the programming languages. While you might see C#
>pioneer in one direction and VB pioneer another, ultimately
>there is a lot of crossing over of ideas over time.
>Certainly, anything we do on the C# team we let the VB folks
>participate in and vice versa.

Or you might actually look beyond the blinders and see that VB is Basic mutated beyond recognition. And Basic was the worlds only programming language for those who couldn't program.

Or if you took the blinders off, you might see that C# is Java with Microsoft curb feelers.

J++ + MFC ??? What a joke! Microsoft never saw a standard they couldn't improve upon!

The father of C#! Like calling the guys in Malasia and China running the illegal CD and DVD duplication operations the fathers of multi-media.

Doug Ferguson 03/11/05 03:45:29 PM EST

What should the language/framework add in the future?

Managed Threading would be a great addition. Currently managed memory stops the wild pointer problems that we see in unmanaged C/C++. The GC manages the memory.

However, when programming with threads, it is so easy to make a mistake. What is worse is that you will not know that you have made a mistake until some random collision blows up your program.

Managed Threading would check for thread safety in addition to type safety.

With all the announcements about dual core processors, multi-threading issues will be more important than ever.

dotnetRajesh 02/18/05 09:31:57 AM EST

Fantastic interview.Thanks.

Mukul Gandhi 02/11/05 11:41:32 PM EST

Its indeed inspiring to read interview of Mr. Anders Hejlsberg.

I have heard that Microsoft has decided not to implement latest version of XSLT language(XSLT 2.0) and XPath (XPath 2.0) in the .NET Framework. But Microsoft wishes to implement XQuery 1.0 in .NET, but only after it becomes a W3C recommendation.

In this interview, Mr. Anders Hejlsberg has said.. "Another language that is difficult to learn, but very powerful, is XSLT". It therefore seems, XSLT is an important language for Microsoft!

I wish Microsoft implements XSLT 2.0, XPath 2.0 and XQuery 1.0 in .NET Framework(and other relevant products).

Also it seems, Microsoft has decided not to release next version of their freeware MSXML software(i.e. after MSXML4, which I think is MSXML5). MSXML5 is shipping only with MS Office 2003. I wish Microsoft release its latest MSXML5 software(or later versions like MSXML6..) as freeware just like MSXML4. And, latest MSXML (6 and beyond), should support XSLT 2.0 and XPath 2.0!

I have heard, that Microsoft is of the view, that they implement W3C specs only after they become recommendations(and not in draft form).. I do agree with this view.. But, if Microsoft starts work now(it might have already started!), to implement XSLT 2.0/XPath 2.0 in .NET and MSXML, the product would be delivered on time!

Regards,
Mukul

@ThingsExpo Stories
All major researchers estimate there will be tens of billions devices – computers, smartphones, tablets, and sensors – connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo in Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be!
Noted IoT expert and researcher Joseph di Paolantonio (pictured below) has joined the @ThingsExpo faculty. Joseph, who describes himself as an “Independent Thinker” from DataArchon, will speak on the topic of “Smart Grids & Managing Big Utilities.” Over his career, Joseph di Paolantonio has worked in the energy, renewables, aerospace, telecommunications, and information technology industries. His expertise is in data analysis, system engineering, Bayesian statistics, data warehouses, business intelligence, data mining, predictive methods, and very large databases (VLDB). Prior to DataArchon, he served as a VP and Principal Analyst with Constellation Group. He is a member of the Boulder (Colo.) Brain Trust, an organization with a mission “to benefit the Business Intelligence and data management industry by providing pro bono exchange of information between vendors and independent analysts on new trends and technologies and to provide vendors with constructive feedback on their of...
Software AG helps organizations transform into Digital Enterprises, so they can differentiate from competitors and better engage customers, partners and employees. Using the Software AG Suite, companies can close the gap between business and IT to create digital systems of differentiation that drive front-line agility. We offer four on-ramps to the Digital Enterprise: alignment through collaborative process analysis; transformation through portfolio management; agility through process automation and integration; and visibility through intelligent business operations and big data.
There will be 50 billion Internet connected devices by 2020. Today, every manufacturer has a propriety protocol and an app. How do we securely integrate these "things" into our lives and businesses in a way that we can easily control and manage? Even better, how do we integrate these "things" so that they control and manage each other so our lives become more convenient or our businesses become more profitable and/or safe? We have heard that the best interface is no interface. In his session at Internet of @ThingsExpo, Chris Matthieu, Co-Founder & CTO at Octoblu, Inc., will discuss how these devices generate enough data to learn our behaviors and simplify/improve our lives. What if we could connect everything to everything? I'm not only talking about connecting things to things but also systems, cloud services, and people. Add in a little machine learning and artificial intelligence and now we have something interesting...
Last week, while in San Francisco, I used the Uber app and service four times. All four experiences were great, although one of the drivers stopped for 30 seconds and then left as I was walking up to the car. He must have realized I was a blogger. None the less, the next car was just a minute away and I suffered no pain. In this article, my colleague, Ved Sen, Global Head, Advisory Services Social, Mobile and Sensors at Cognizant shares his experiences and insights.
We are reaching the end of the beginning with WebRTC and real systems using this technology have begun to appear. One challenge that faces every WebRTC deployment (in some form or another) is identity management. For example, if you have an existing service – possibly built on a variety of different PaaS/SaaS offerings – and you want to add real-time communications you are faced with a challenge relating to user management, authentication, authorization, and validation. Service providers will want to use their existing identities, but these will have credentials already that are (hopefully) irreversibly encoded. In his session at Internet of @ThingsExpo, Peter Dunkley, Technical Director at Acision, will look at how this identity problem can be solved and discuss ways to use existing web identities for real-time communication.
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. It also ensured scalability and better service for customers, including MUY! Companies, one of the country's largest franchise restaurant companies with 232 Pizza Hut locations. This is one example of WebRTC adoption today, but the potential is limitless when powered by IoT. Attendees will learn real-world benefits of WebRTC and explore future possibilities, as WebRTC and IoT intersect to improve customer service.
From telemedicine to smart cars, digital homes and industrial monitoring, the explosive growth of IoT has created exciting new business opportunities for real time calls and messaging. In his session at Internet of @ThingsExpo, Ivelin Ivanov, CEO and Co-Founder of Telestax, will share some of the new revenue sources that IoT created for Restcomm – the open source telephony platform from Telestax. Ivelin Ivanov is a technology entrepreneur who founded Mobicents, an Open Source VoIP Platform, to help create, deploy, and manage applications integrating voice, video and data. He is the co-founder of TeleStax, an Open Source Cloud Communications company that helps the shift from legacy IN/SS7 telco networks to IP-based cloud comms. An early investor in multiple start-ups, he still finds time to code for his companies and contribute to open source projects.
The Internet of Things (IoT) promises to create new business models as significant as those that were inspired by the Internet and the smartphone 20 and 10 years ago. What business, social and practical implications will this phenomenon bring? That's the subject of "Monetizing the Internet of Things: Perspectives from the Front Lines," an e-book released today and available free of charge from Aria Systems, the leading innovator in recurring revenue management.
The Internet of Things will put IT to its ultimate test by creating infinite new opportunities to digitize products and services, generate and analyze new data to improve customer satisfaction, and discover new ways to gain a competitive advantage across nearly every industry. In order to help corporate business units to capitalize on the rapidly evolving IoT opportunities, IT must stand up to a new set of challenges.
There’s Big Data, then there’s really Big Data from the Internet of Things. IoT is evolving to include many data possibilities like new types of event, log and network data. The volumes are enormous, generating tens of billions of logs per day, which raise data challenges. Early IoT deployments are relying heavily on both the cloud and managed service providers to navigate these challenges. In her session at 6th Big Data Expo®, Hannah Smalltree, Director at Treasure Data, to discuss how IoT, Big Data and deployments are processing massive data volumes from wearables, utilities and other machines.
P2P RTC will impact the landscape of communications, shifting from traditional telephony style communications models to OTT (Over-The-Top) cloud assisted & PaaS (Platform as a Service) communication services. The P2P shift will impact many areas of our lives, from mobile communication, human interactive web services, RTC and telephony infrastructure, user federation, security and privacy implications, business costs, and scalability. In his session at Internet of @ThingsExpo, Erik Lagerway, Co-founder of Hookflash, will walk through the shifting landscape of traditional telephone and voice services to the modern P2P RTC era of OTT cloud assisted services.
While great strides have been made relative to the video aspects of remote collaboration, audio technology has basically stagnated. Typically all audio is mixed to a single monaural stream and emanates from a single point, such as a speakerphone or a speaker associated with a video monitor. This leads to confusion and lack of understanding among participants especially regarding who is actually speaking. Spatial teleconferencing introduces the concept of acoustic spatial separation between conference participants in three dimensional space. This has been shown to significantly improve comprehension and conference efficiency.
The Internet of Things is tied together with a thin strand that is known as time. Coincidentally, at the core of nearly all data analytics is a timestamp. When working with time series data there are a few core principles that everyone should consider, especially across datasets where time is the common boundary. In his session at Internet of @ThingsExpo, Jim Scott, Director of Enterprise Strategy & Architecture at MapR Technologies, will discuss single-value, geo-spatial, and log time series data. By focusing on enterprise applications and the data center, he will use OpenTSDB as an example to explain some of these concepts including when to use different storage models.
SYS-CON Events announced today that Gridstore™, the leader in software-defined storage (SDS) purpose-built for Windows Servers and Hyper-V, will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Gridstore™ is the leader in software-defined storage purpose built for virtualization that is designed to accelerate applications in virtualized environments. Using its patented Server-Side Virtual Controller™ Technology (SVCT) to eliminate the I/O blender effect and accelerate applications Gridstore delivers vmOptimized™ Storage that self-optimizes to each application or VM across both virtual and physical environments. Leveraging a grid architecture, Gridstore delivers the first end-to-end storage QoS to ensure the most important App or VM performance is never compromised. The storage grid, that uses Gridstore’s performance optimized nodes or capacity optimized nodes, starts with as few a...
The Transparent Cloud-computing Consortium (abbreviation: T-Cloud Consortium) will conduct research activities into changes in the computing model as a result of collaboration between "device" and "cloud" and the creation of new value and markets through organic data processing High speed and high quality networks, and dramatic improvements in computer processing capabilities, have greatly changed the nature of applications and made the storing and processing of data on the network commonplace. These technological reforms have not only changed computers and smartphones, but are also changing the data processing model for all information devices. In particular, in the area known as M2M (Machine-To-Machine), there are great expectations that information with a new type of value can be produced using a variety of devices and sensors saving/sharing data via the network and through large-scale cloud-type data processing. This consortium believes that attaching a huge number of devic...
Innodisk is a service-driven provider of industrial embedded flash and DRAM storage products and technologies, with a focus on the enterprise, industrial, aerospace, and defense industries. Innodisk is dedicated to serving their customers and business partners. Quality is vitally important when it comes to industrial embedded flash and DRAM storage products. That’s why Innodisk manufactures all of their products in their own purpose-built memory production facility. In fact, they designed and built their production center to maximize manufacturing efficiency and guarantee the highest quality of our products.
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. Download Slide Deck: ▸ Here
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. Over the summer Gartner released its much anticipated annual Hype Cycle report and the big news is that Internet of Things has now replaced Big Data as the most hyped technology. Indeed, we're hearing more and more about this fascinating new technological paradigm. Every other IT news item seems to be about IoT and its implications on the future of digital business.
BSQUARE is a global leader of embedded software solutions. We enable smart connected systems at the device level and beyond that millions use every day and provide actionable data solutions for the growing Internet of Things (IoT) market. We empower our world-class customers with our products, services and solutions to achieve innovation and success. For more information, visit www.bsquare.com.