박상길
Sang-Kil Park

Home > Articles

"Java vs. C#" in Workshop


또 한번의 워크샵을 다녀왔습니다.

아니 무슨 워크샵을 매주 가냐구요 ?

저번주는 개발팀, 팀단위 워크샵, 이번주는 기술본부, 부서단위의 워크샵이었습니다.

그리고 저번주는 사실 플레이샵이었고 ;) 가벼운마음으로 즐거이 스키를 탔다면 이번주는 정말 워크한 워크샵이었다는 ;;

첫번째 시간 : 연구소장님의 진행으로 pair drawing 이라는 재미있는 주제로 pair 로 개발하는것이 어떤 장단점이 있을까 생각해보는 자리였습니다.

두번째 시간 : 각조별 토론주제를 부여하고 그에 대한 각 조별 발표를 하는시간이었습니다. 우리조의 주제는 "엔지니어의 수명은 어디까지일까 ?" 라는 다소 우울한 주제였지만 나름대로 열심히 토론한끝에 발표자의 훌륭한 발표와 함께 조1위라는 만족스러운 결과를 얻을수 있었습니다 :)

* 발표하느라 고생하신 영준님, 지상님 수고하셨습니다 :)

세번째 시간 : 각자 관심있는 주제를 가지고 자유토론을 가지는 자리였습니다.

저번시간에 조별토론회를 장장 4시간동안 진행하느라 다들 지쳤는지 처음에는 기술적인 주제로 토론이 진행되는듯 하다가 어느새 "결혼은 왜 하는가 ?", "아침형인간이란 ?" 등의 재미있는 주제로 토론이 진행되고 있더군요 ;)

제가 참석한 자유토론은 "기존의 시스템을 대체할 새로운 플랫폼과 개발언어" 였고 여기에서 언급된 두가지 후보가 바로 이 포스팅의 제목인 Java vs. C# 에 대한 토론이었습니다.

사실 이번에도 조별발표를 하는지 알고 열심히 기록하였는데 토론이 끝나고 나니 다들 술마시러 가는 분위기로 어느새 바뀌어있더군요 ;; 페이퍼를 챙겨왔는데 그냥 잊어버리기엔 너무 아까운듯하여 진행된 토론에 대해 남겨보려합니다.

왜 이 주제에 대한 포스팅을 하게되었는지에 대한 서론이 너무 길었네요 ;)

성격별로 소주제를 분류하여 오고간 의견들을 정리해봅니다.

아직 정리되지않은 브레인스토밍정도로 생각하면 될것같습니다.

* 현재 우리시스템 front-end 상의 php 는 ?

  • 운영인력 풍부
  • platform independent
  • 현재까지 시스템을 5년간 이끌어온 언어
  • php 의 엔진을 개조해 체계적인 모니터링툴 구축한바있음
  • 하지만 언어적 문제, OOP 의 결여
  • 타언어와 연동 곤란
  • function primitive, 생산성을 위한 쓰기 편한 function 들로만 이루어져있음
  • 너무 무거운 function 들이 많다.
  • 이제 우리에겐 한계에 다다른 언어가 아닌가 ?
  • NOT loosely coupled design
  • php5 에서 interface 지원 but 아직 베타단계, 근본적인 해결책은 되지못한다.

* 그렇다면 대체할 새로운 플랫폼과 개발언어는 어떤것이 ?

- 우선 back-end 는 ?

  • 기존과 동일한 형태로 C/C++ back-end 를 유지하고 NCM (Neowiz Component Model) 을 완성하여 front-end 의 새로운 플랫폼과 인터페이스를 통해 정보를 주고받는다.
  • RPC (Remote Procedure Call) 의 개념

* front-end 의 새로운 시스템은 ?

- Java with JVM

  • 그 유용성과 우수성은 이미 검증된 언어
  • 코드 재사용성 뛰어나다.
  • 공개소스 ? JBoss 등의 오픈소스 WAS 도 존재한다.
  • Resin 의 성능은 믿을만하다.
  • 우수한 개발자가 풍부
  • 하지만 VM (Virtual Machine) 의 성능을 신뢰할수 없다.
  • 다양한 3rd-party 클래스 라이브러리가 존재하나 성능검증이 되지않았다.
  • Sun 은 우리에게 너무 많은 거짓홍보를 했다. 발표한 마케팅자료와 실제성능과는 차이가있었음
  • 5년후에도 Java 가 우월할까 ? 많이 사용할까 ?

* 더 나은것이 ?

- C# with .NET

  • 현존하는 최고의 언어, 언어적 성능이 뛰어나다. STL 과 가장 유사한 형태
  • 모든면에서 Java 보다 매력적이다.
  • .NET Framework 이 방대하여 가용성이 높다.
  • 우리는 유닉스 기반의 시스템, .NET 과 C# 을 적용할수 있는가 ?
  • Mono 가 존재하지만 3-4년후에도 만족할만한 성능을 보여주지 못한다면 Windows 로의 플랫폼전환을 검토할수 있다.
  • 하지만 검증되지않았다. 아직은 Microsoft 의 마켓팅자료에 의존할수밖에 없다.
  • Windows 의 성능을 신뢰할수 없다. IIS 는 더더욱 신뢰할수없다.
  • 대용량의 독특한 우리 시스템을 잘 견디어 낼수 있을까 ?

* ToDo ?

  • 검증을 통해 C# with .NET 의 성능을 확인해보자
  • 오픈소스에서 Microsoft 플랫폼으로의 대대적인 이동은 사회적 파장을 불러일으킬수도 있다 ?


트랙백

코멘트


이글에 대한 트랙백과 코멘트는 더이상 지원하지 않습니다.

| 다음 글