Life and Times of Anders Hejlsberg
- Posted: Feb 01, 2006 at 2:50PM
- 39 comments
Loading user information from Channel 9
Something went wrong getting user information from Channel 9
Loading user information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
This episode features industry luminary, Anders Hejlsberg. Before coming to Microsoft in 1996 he was well noted for his work as the principal engineer of Turbo Pascal and the chief architect of the Delphi product line. At Microsoft he was architect for the Visual J++ development system and the Windows Foundation Classes (WFC). Promoted to Distinguished Engineer in 2000, Anders is the chief designer of the C# programming language and a key participant in the development of Microsoft’s .NET framework. In this show, Anders is joined by a surprise guest.
This episode of “Behind the Code” is hosted by Barbara Fox – former senior security architect of cryptography and digital rights management for Microsoft.
“Behind the Code” with Jim Gray to be released March 2006
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.
Follow the discussion
Oops, something didn't work.
What does this mean?
Subscriptions allow us send you email notifications when new content is added. You need to be signed in to Channel 9 to use this feature.What does this mean?
Subscriptions allow us send you email notifications when new content is added.sign up for email notifications?
Comment removed at user's request.
Works fine for me. Your problem is most likely related to network conditions in your area. Keep trying! In the meantime, just stream!
C
Mike
WinInsider.com
EDITED BY Charles: Please send us mail and we will help you troubleshoot. No need to use this thread to do this... Thanks.
--wjs
The best part was when Anders said "When you don't code (get your hands dirty) you tend to become one of those architect who thinks everything is possible"
(Don't wear black clothes on a black background, it looks like a flying face.)
Since this looks like an attempt at more professional setting it seems fair to note few obvious things such as: What is going on with the varying black/blue backgrounds and the "BEHIND THE CODE" text where visibility of the "code" part is bad. (look at 14:43)
Also the large table looks pretty horrible - is it for holding a paper with the questions?
Probably because he knew what he was talking about. No need to make stuff up on the spot...
...so, his favorite language feature is that the data model simplifies to the point where "everything is an object".
...and, uh, so, his favorite data structure is the circularly linked list.
--Eric
My favorite data structure is also a queue, but blocking and bounded. I just posted a Bounded Queue and a Pipe based on the Q. The bounded queue internally uses a LinkedList<T>. The linked list has a small perf disadvantage on adds because it needs to wrap the T in a LinkedListNode. However, adds and removes are constant time and the queue always only contains Count items and never needs to grow or shrink by using Array.Copy as default Queue does. Also this queue is double-ended so you can add remove from either end. That gives you a form of priority queue for free also. Check it out in the Sandbox for the project. The Pipe shows using it like a NetworkStream for an authentication.
Anders, you're my hero. Even if you never read my posts.
I still contend that we can do better than the current set of data structures out there. The concept of a linked list is inherently flawed no matter where you stick the pointers. Again, as I've said before, I'll post a prototype of what I have in mind within the next few weeks.
Side note: Why do these types of videos (much like an informercial) always have to cut to shots of the audience nodding their heads? It's so cheesy.
How so?
He is Bruce Lee of Western world.
As Bruce Lee had stolen (?) skills from Judo, Boxing, Wrestling, and Fencing, etc. and made simple, fast, powerful martial art JitKun-Do, Mr. Hejlsberg has made things clearer for us. He is the star of this geeky world.
Did you guys see the data structure diagram which Mr. Hejlsberg drew in this show? (two thumbs up!)
I anticipate he will transform SQL into his C# way!
Hooray for Mr. Hejlsberg!
It's a long story...but I will post something about this soon. I'm quite busy right now with other things, but that should change soon. It will take me several days to assemble a post about this topic, and to put together a prototype/demo. It will be written up in C++.
The very short version is this: the linked list (single or double) is somewhat primitive in its design. It does not have to be this way. It is rather odd that the only means of traversing between nodes is via connected pointers. That forces a user to traverse a list, node by node, and when the list is long enough, that is time consuming. So, I'm going to build a hybrid between an array (or vector) and a linked list.
And then show you how to flip that into a completely different data structure in real time without moving any data around. The question is not whether it can be done, but how fast I can get it to work.
Then, when I'm done with that, I'll put up a "data structure" builder/designer in the Sandbox.
Edit: Tenative "early" thoughts here (subject to great changes in the weeks ahead).
Excellent Video. It's so great to hear about Anders' past and to know his ideas.
This divide certainly exists but is easily shrinkable. .NET 2005 makes huge steps. In VS2003 you must create the code to invoke a stored procedure, whereas in vsnet2005 you can drag a stored proc into a dataset and it autogenerates the code.
The next step is autogenerated stored procs which is something that is easily doable using SQL MO, previously DMO. By simply declaring an event schema you can autogenerate the sql table structures to hold the data, as well as the stored procs as well as the c# data layer.
A key idea is the marriage of object orientation with relational databases and this can be done very very very easily. Without it we are stuck doing what we do today. I've already got this one worked out. Let's discuss at Mix06!
And let's play some ping pong. Just so we get the urban legend story straight, I remember reading that the signing bonus of $1.5 million was doubled over the phone contigent upon resignation within 24 hours. True or false?
And Turbo Pascal 7.0 ROCKED!
Jonathan
I would love to hear Anders' analysis of Windows Workflow Foundation and XAML in general. He mentioned he spent some time with the early Avalon team. Was this XAML-related?
His response (bold emphasis is mine):
It's hard to say. I don't know. Batch files and the programming that is going on in those definitely need some help! Another language that is difficult to learn, but very powerful, is XSLT.
I see lots of little languages go by in various projects and I tend to stress internally at Microsoft that we all need to get on the .NET Framework so that we all share the same power of the API, regardless of our language choices.
One of the trends I think is interesting is the integration that is happening with programming models like ASP and XAML, which are mixtures of declarative and programming code that give you an amalgam of two different programming disciplines.
What I'm shooting for with the next generation of Microsoft platforms is to use XML for declarative tasks and C# for programming tasks. I'm less of a believer in using XML to "new up" objects in C#.
I'd still love to hear his thoughts on Windows Workflow Foundation in particular...
He looks like an older Harry Potter to me.
I need an Anders Hejlsberg autograph
Really interesting video, anyway I do not know why do those people on the show "behind of the code"treat hime like being more famos than Bill Gates however this men is genius one, but his work as far as i know is not as famous as Bill's work is ?. Althought this is my judgmen about the video I can't cut out that Anderson I hardly belive that In that time He did a great job building up TURBO PASCAP and so on,but for the moment the product that Bill is building up are incratible, those products are very adecuate for the market.
Great Video
By Liridon Shala
Many programmers certainly have fond memories of the yellow
and blue IDE, where drop down menus were made of characters.
I am curious of how the C# team will face the challenge of
a growing language. Someone in the assistance mentionned
the creeping of functionnal programming inside C#. For example,
LISP initially designed to be very simple and homogeneous,
has then evolved into a 1200 pages standard. And this standard,
besides being "functional-oriented", had imperative constructs,
and object oriented constructs. C++ starting from its low-level
origins also has grown into a thousand pages standard.
The C# team actually did a great job at designing a homogeneous
language, but the idea of providing one path for one problem
will have a hard time living through the growth of the language.
As eventually there always comes a situation where the programmer
needs freedom, the choice might be between spawning new simple
languages, or keeping on growing. So far the number of available
languages, only for MS gives a clue of the extent of the problem.
(And this is not a negative comment).
Back in the early 80's the DOD realized they had tens of programming
languages being used internally, so they decided to come up
with a unification aka ADA. But that did not remove the need for
various types of languages. In the 60's AI was supposed to be
implemented before the end of the century. And declarative programming
has been a promise since the 40's.
I think the advances with XML are really great, but as someone wrote in
another post, it might be a good idea to have a declarative layer,
and an imperative/object oriented layer.
So hurry slowly toward fully declarative languages.
Also there is much greatness in .net. Although C# and .net are tightly
coupled, programming for .net provides a very homogeneous set of
programming experiences for all the supported languages. This
factorization favors improvements across a variety of languages,
each with its own flavor, but iteratively improving each others.
Looks like a powerful leverage for evolution...
(And still providing lots of freedom for specific classes of problems)
This eco-system oriented growth of the languages is IMHO something
where Java definitely fell short... Well I mean the initial idea,
as there is a J#.net
As Anders said: Keep inventing...
Awesome video - I admire Anders immensely.
I recognised Gregor Noriskin at the end with the great question about declarative/functional features creeping into C# and OOP just becoming a "feature" rather than the be-all and end-all. This is a fascinating time i.e. there is a lot of cross-pollination happening in the language space right now.
If I'm honest though I don't like the format of these shows. Don't get me wrong; the content is first rate but I found the interviewer very irritating and the set/audience is not necessary at all.
Tim Scarfe
Can't download or stream; most likely, the media file is missing from the page. Thanks.
http://www.researchchannel.org/prog/displayevent.aspx?rID=4919&fID=569
Thanks C.
I want to download the media files ...
Michael
Concur with Tim Scarfe:
I think you'd be very attractive w/ a bit of hair & some makeup. This ain't a dig; hope I'm not canned! 
>> If I'm honest though I don't like the format of these shows. Don't get me wrong; the content is first rate but I found the interviewer very irritating and the set/audience is not necessary at all.
----------------------------------------------------
No offense Barbara.
Thanks for the link Lexis; Tho it was also viewable from Dr. Dobb's, curious why the video was pulled from Channel 9.
I am not able to view this video. I get a pop-up saying launch application, I do that and I see media player trying to open some file and failing. Too bad.
How about this: http://mschnlnine.vo.llnwd.net/d1/ch9/2/5/9/9/5/1/Behind_The_Code_2_512k.wmv
Enjoy
C
Remove this comment
Remove this thread
Close