본문 바로가기

Computer Programming4

MS 의 C# 코딩이 익숙해지면서 - 2 C# 의 인터페이스는 자바와 상당히 다른 점이 많다. 정적 필드값이 들어갈 수도 없고, 접근 한정자도 지정하는 것이 불가능하다. 때문에 처음에는 이모저모 불편이 느껴졌다. 사실 자바의 인터페이스같은 경우, 정적 필드값을 일종의 통신을 위한 메시지 개념으로 만들어 두었으며, 이것은 고전적인 모듈간의 통신 형태가 가지고 있는 편의성과 퍼포먼스 향상을 남겨둔 것으로 보인다. 그리고 이런 자바의 인터페이스는 개체가 이러한 형식으로 통신이 가능하다는 형태를 보여주는 것 보다는 그 자체가 일종의 메시지 개체로 사용될 수 있는 형식에 가깝다. 즉 메시지와 구조체를 활용한 고전적인 통신방식을 OOP 의 개념으로 변형시켰다고 할까... C# 의 인터페이스는 아주 철저하게 개체의 형태를 나타내는 형식으로만 제약되어 있다... 2005. 3. 7.
MS 의 C# 코딩이 익숙해지면서 - 1 자바와 비교하면서 몇 가지 알게 된 점이 있어 적는다.. 1) 자료구조의 동기화 기능이 한 클래스에 대한 래퍼 형식으로 구현되어 있다. 자바의 경우 Hashtable 은 액세스 시 동기화 지원, Hashset 이나 Hashmap 의 경우는 액세스 시 동기화를 지원하지 않는 형태로 분리되어 있다. 물론 이것은 기능적으로 분류한 것이 아니라, 초기에 자료구조에 동기화가 필요할 것이라고 생각되어 걸어 두었다가, 실질적으로 코딩시에 자료구조 클래스의 동기화가 별 의미가 없고, 그렇다고 놔두자니 퍼포먼스가 저하되는 현상이 발생하여 1.2 부터 새로이 등장한 자료구조에서는 '니가 알아서 해라' 라고 하면서 동기화를 지원하지 않는 자료구조들이 탄생한 것이다. .NET 에서는 각 자료구조들이 래퍼 클래스를 따로 가지고.. 2005. 2. 23.
MS VS .NET C# vs Sun Java SE 5 나는 작년 10월까지만 해도 자바 프로그래머였고 그 때까지만 해도 MS 의 솔루션들은 가깝고도 먼 존재였다. MS 환경이라고는 2000-2001년 Visual Basic 6.0 으로 이것저것 툴만을 만져본 것이 고작이었고, 그것도 쓸만한 툴을 만들어내지는 못했다. (그나마 남은 소스도 지금은 구동조차 하지 않는다) 뭐 자바 경력도 사실 그렇게 긴 것은 아니다. 2001년 말부터 시작해서 고작 3년간의 실무경험을 쌓았고, 그 동안 나온 상업적 물건이라면 Eternal Dream 이라는, 국내에서는 베타서비스까지, 대만에서는 겨우 유료화를 넘어선 게임을 개발한 것 뿐이니까. 하지만 코더로서 지금 즉 2005년 1월 중반까지 C# 을 코딩해 보면서 Java 와 비교해 이것저것 재미있는 차이점을 느끼게 되었다... 2005. 1. 18.
Java 2 Standard Edition 5.0 간단한 사용 소감 J2SE 5.0 은 아시는 분이라면 익히 아시겠지만, 이전에 자바의 스탠다드 에디션 1.5 버전으로 개발되던 바로 그것이다. J2SE 1.4 가 자바의 전반적인 속도 향상과 시스템에 대한 더욱 직접적인 접근을 가능하게 하는 방향으로 발전되었다면, 이번 5.0 은 기존에 불편하게 사용되었던 문법적인 부분과 그에 따라 프로그램 구동 시 발생하는 퍼포먼스 코스트를 개량하는 방향으로 이루어졌다. 일단 그런 부분에 대한 세세한 이야기는 나중에 하도록 하고, 실제적으로 기존에 작성했던 Eternal Dream 의 클라이언트 어플리케이션을 돌려본 결과는 다음과 같다. 1. 어플리케이션의 Launching Speed 는 이야기와는 달리 그다지 빨라지지 않았다. 물론 Eternal Dream 의 경우 Launching .. 2004. 11. 12.
반응형