C# 쓰다가 Java 쓰려니까 못 쓰겠다. 이유 몇 개만 들어보자면...

1. 클래스 이름하고 파일 이름을 일치시켜야 한다. 안 그럼 컴파일이 안 된다.

2. 연산자 오버로딩이 불가능하다. 고작 String 클래스의 +와 +=가 끝이다. 자료 구조 만드는 데 최악이다. 연산자 오버로딩은 C#은 물론 C++에서도 지원하는 건데 짜증나게 자바에선 지원 안 한다.

3. goto 문을 쓸 수 없다. goto문은 구조적인 흐름을 방해한다고 악명이 높다. 근데 그건 다익스트라 생각이고, 쓰고 안 쓰고는 프로그래머가 결정하는 거다. 이놈의 구조적인 흐름 때문에 가끔씩 복사 붙여넣기가 막 늘어나서 프로그램만 졸라 길어진다. 효율성 개떡으로 만들기 딱 좋다.

4. 참조에 의한 전달이 안 된다. 병맛이다. C#에서도 out 붙이면 C++의 &와 같은 개념으로 쓸 수 있고 C#은 unsafe 문 내에서 포인터도 지원한다. 근데 Java는 제대로 된 포인터도 없는 것이 그냥 클래스만 주소로 가리킨다. swap 함수 같은 것도 제대로 만들 수 없다. 만들려면 객체에 기본 자료 구조를 따로 집어 넣거나... swap 함수는 효율성을 위한 건데 이러면 swap 함수 효율성이 더 낮잖아. 이뭐병...

그건 그런데.. MS는 J#, C# 만들어 놓고 F#은 왜 또 만드는 거냐.. 물론 F#은 함수형 언어라서 C#이랑은 엄청나게 다르지만... 북 치고 장구 치고 잘한다. 다 먹어라.

'이런저런 이야기 > 낙서와 잡담' 카테고리의 다른 글

크롬 베타 3.0으로 갈아탐  (0) 2009.09.07
파이어폭스  (0) 2009.07.29
자바 싫어  (1) 2009.07.29
키탈저 사냥꾼들의 옛이야기  (1) 2009.06.15
정치 성향 분석 결과...  (0) 2009.06.14
코끼리를 냉장고에 넣는 방법  (1) 2009.06.06
태그 : ,
은빛냇물님이 쓴 글입니다.
댓글을 달아 주세요.
  1. w 2010.10.12 21:58 댓글 주소 고치기/지우기 댓글 쓰기

    자바 goto문과 비슷한 기능을 하는 라벨이라고 있어여