Welcome to MSDN Blogs Sign in | Join | Help

Hello, World!

Hi, my name is Rick Byers.  I’m a developer on the Common Language Runtime (CLR) team at Microsoft.  I work on the debugger services team where our main deliverable is the ICorDebug API which debuggers like Visual Studio use to debug managed code. 

 

Mike Stall already has an awesome ICorDebug blog, so I’m not about to try to compete with him here <grin>.  Instead, I plan on using this space to blab about whatever ideas from the software industry I happen to find exciting at the moment.  I’ll also try and share some information about the CLR that you might find interesting.

 

Mainly, I’m excited about improvements to programmer productivity in the software industry.  Building large and complex pieces of software which are also correct, reliable, secure, robust, maintainable and understandable is incredibly difficult.  In my opinion, figuring out how to do it better (“engineering” anyone?) is incredibly important.  I don’t pretend to have any great insights here, but I do try and read and learn what I can in this area, so I’ll often pass on tidbits of information and research which I think are exciting and important.  My favourite areas are the design of programming languages and developer tools.

 

Of course, the CLR (and managed type-safe environments in general) is all about improving developer productivity (which is primarily why I joined this team).  The CLR also makes it easier to experiment with and deploy new programming languages.  On that note, let’s get things started off with a little quiz.  Which language is each of the following code snippets written in?  Here’s a hint, there are .NET implementations for all of them.

 

  1. System.Console.WriteLine(“Hello World!”)
  2. write('Hello world'),nl.
  3. std::cout << “Hello World!” << std::endl;
  4. ." Hello, world!" CR
  5. Ada.Text_IO.Put_Line ("Hello, world!");
  6. ldstr "Hello World!" call void [mscorlib]System.Console::WriteLine(string)
  7. io.put_string("Hello, world!%N")
  8. System.Console.WriteLine(“Hello World!”);
  9. string* s = {yield return "Hello"; yield return "World!";}; s.{Console.WriteLine(it);};
  10. (display "Hello, world!") (newline)
Published Sunday, February 06, 2005 7:10 PM by rmbyers
Filed under:

Comments

# re: Hello, World!

Monday, February 07, 2005 12:02 AM by Pieter
1. VB.NET
2. ?
3. C++
4. ?
5. Ada :D
6. IL
7. ?
8. C#
9. ?
10. ?
Hope I get 50% for this! :D Or is the pass rate 70%?

# re: Hello, World!

Monday, February 07, 2005 12:13 AM by Luc Cluitmans
Welcome to blogosphere...

Hmm, a few of these are easy, but others are not. Let me try a first shot.

1) JScript?
2) not sure, is this fortran?
3) C++
4) no clue
5) I guess the namespace is a giveaway: Ada
6) IL . But shouldn't the 'call' be on a second line?
7) No clue, again
8) C# (definitely) and also J# (probably)
9) C-Omega
10) no clue...

# re: Hello, World!

Monday, February 07, 2005 2:37 AM by PatternGuru
Just a quick guess (not complete):
1. VB.NET
2. ?
3. Managed VC++ (guess?)
4. ?
5. ADA.NET?
6. MSIL
7. ?
8. C# 1.0
9. Ehh if not for the * I'd say C# 2.0...?
10. LISP.NET

# re: Hello, World!

Monday, February 07, 2005 8:59 AM by Rick Byers
Wow - three decent answers and my blog has only existed for less than 12 hours! Good work guys.

I was thinking VB.Net for #1 (I don't know JScript very well, but it does have semicolons). Nope, #2 isn't fortran. Luc, good question about the line-break for #6 - I thought so too, but then I tried it and apparently ilasm didn't care that the two statements were on one line :-). Comega is correct for #9 - good work Luc, I thought that would be a tough one! (I'll be blogging about Comega soon). #10 is "a Lisp" (good work PatternGuru), but I don't think common lisp defines "newline". I was thinking "Scheme".
So we're left with 3 hard ones - #2,#4 and #7.

# re: Hello, World!

Tuesday, February 08, 2005 3:02 AM by Matthew Cosier
1) VB.NET
2) prolog
3) C++
4) Forth (funny, but true)
5) ADA
6) IL
7) Eiffel
8) C#
9) Comega
10) Lisp

Come on!! ;)

# re: Hello, World!

Tuesday, February 08, 2005 9:26 PM by Rick Byers
Wow - vey good Matthew, that's perfect (although I still think #10 is more accurately Scheme than Lisp)

#

Wednesday, February 09, 2005 2:07 AM by Rick Byers

#

Wednesday, February 09, 2005 2:10 AM by Rick Byers

# Rick Byers has started a blog!

Tuesday, February 15, 2005 12:51 AM by Mike Stall's .NET Debugging Blog

# Rick Byers has started a blog!

Tuesday, February 15, 2005 12:54 AM by Mike Stall's .NET Debugging Blog
Anonymous comments are disabled
 
Page view tracker