C#에 대한 Hejlsberg의 인터뷰

O’Reilly 사이트에 올라온 C#에 대한 Hejlsberg와의 인터뷰. Hejlsberg(어떻게 읽는거지?)는 물론 C#의 chief architect이고 그 유명한 터보 파스칼과 델파이을 개발했으며 .NET에서도 중추적인 역할을 한 인물. Channel 9에 올라온 LINQ에 대한 최근 인터뷰 비디오를 보면 선입견을 갖고 있어서인지는 몰라도 인상에서부터 천재성이 배어나오는 듯 하다. C#에 대한 인터뷰를 보면 프로그래밍 언어에 대한 그의 철학을 대충 볼 수 있는데, 나는 아직 C#으로 본격적인 프로그래밍을 해본 적은 없지만 Java를 써본 경험에서 알고 있는 문제점들을 C#에서 해결하는 것을 보면, 또 C# 2.0에서 도입된 강력한 기능들이 LINQ에서 어떻게 활용되는지를 보면 역시 그의 철학에 고개가 끄덕여지지 않을 수 없다. Java가 그동안 라이브러리를 많이 확장하면서도 VM이나 바이트코드 레벨의 호환성을 놀라울 정도로 안정적으로 유지해온 것이 Java의 가장 큰 장점 중 하나이긴 하지만, delegation에 대한 Sun의 주장을 읽다보면 C#/.NET이 아니었다면 지금쯤 Java도 delegation이 도입되었을 것을 근거가 약한 논리로 고집부리고 있는 것 아닌가 하는 생각이 든다. C#과 .NET은 Hejlsberg가 MS JVM과 WFC를 개발한 경험을 바탕으로 했기에 Java의 단점과 한계를 너무나도 잘 알고 이를 모두 매우 clever한 방법으로 보완하고 있는 것으로 보인다. 물론 후발주자가 이런 면에서 유리할 수 밖에 없지만 MS의 숙명적 한계인 업계의 반감과 불신, 그리고 아직 충분히 숙성되지 않은 VM의 완성도를 보면 C#/.NET이 지금 시점에서 꼭 유리한 것만은 아닌 듯하다. 그렇기는 해도 10년 전 MS가 낡아빠진 Win32와 x86 호환성에 묶여 있을 때 Sun에서 Java로 치고 나온 것처럼, Sun이 Java의 호환성과 WORA (Write Once, Run Anywhere)에 묶여 있을 때 MS에서 .NET, Avalon등의 강력한 기술을 포함하는 WinFX을 내놓는 것을 보면 입장만 서로 바뀐 역사의 반복이 아닐 수 없다.