msgbartop
If it ain’t broke, fix it anyway
msgbarbottom

23 Oct 05 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을 내놓는 것을 보면 입장만 서로 바뀐 역사의 반복이 아닐 수 없다.

Reader's Comments

  1. |

    다른 것은 몰라도 안정적인 VM의 완성도란 그다지 기대할 수 없는 요소라고 생각합니다.

    꽤 오랫동안 말이죠… -_-;;

  2. |

    저도 같은 질문을 한적이 있습니다만. 덴마크 발음인데 미국에선 그냥 ‘헤즐스버그’라고 읽는다는 군요. http://bbs.kldp.org/viewtopic.php?t=34127

  3. |

    C#…한번도 만져본 경험이 없고 만질 예정도 없는 언어군요. 참 그 이름은 영어로 억지로 발음하자면 헤이즐버그..정도? j가 묵음일겁니다.

  4. |

    mooni님, VM이 복잡한 것이기도 하지만 특히 MS의 경우엔 그렇겠죠…
    유겸애비님, Prometheus님, 헤즐스버그, 헤이즐버그… 잘 모르겠네요. 저도 C# 대충 보기만 했지만 한번 볼만 합니다. 특히 LINQ를 보면 얼마나 강력한지 알 수 있죠. 근데 functional/meta 프로그래밍이 강화되면서 어쩌면 너무 복잡해져 가는 것이 아닌가 싶기도 하더군요. 일반 프로그래머에게는 Java나 VB 정도가 적당한 것 아닌지…

  5. |

    가끔 저 둘을 합해서 사용할 수 있는 방법은 없을까 하는 생각도 들더군요..

Leave a Comment