특히 이게 제일 중요한 부분인데,사람들이 언급은 잘안하지만,
자바언어구현자가 제일 똑똑한 부분은,
const를 없앴다는 점이지요.
자바의 키워드를 살펴보세요. const가 없어졌답니다. ^^
C++짜는 사람들이 도대체 왜?
const int * a , 와 int * cont a
등을 신경써야 하며,
또 const int & a 를 함수 인자로 전달될 경우,
어떤 것을 전달해야 에러가 날지 안날지
생각해서 함수까지 설계해야하는지
도대체 이유가 없는 것이죠.
C++는 강력한 언어가 되기위해서 몇가지를 덧붙였죠.
그런데 오히려 그것들이 사람들의 직관을 방해하고,
도리어 애매모호한 짐을 덧붙인 것입니다.
좋다. 이것은 상수객체로 선언하고 앞으로는 바꾸지 않는다는
표시를 하자. 음..그러면 const를 붙여야겠군.
이렇게 생각해서 const를 만들어놨더니,
거기서 파생되는 문제가 주루루룩...
나오게 되는겁니다.
이것은 엔트로피법칙과 같죠.
사람들이 질서를 잡으려고 하지만,
사실 전체적인 계의 엔트로피는 증가합니다.
즉,아무리 질서를 잡으려고 해서 질서를 잡은것 같아보여도,
실제로 전체적인 무질서는 증가했다는 것이지요.
사실 저는 아직까지도 C가 최고의 언어라고 생각하고,
C를 제일 좋아합니다.
자바에 포인터가 없다고 해서,
편하다고 말하는 사람들이 있지만,
자바는 포인터를 모르면 배울수 없는 언어입니다.
즉,C를 알고,C++도 어느정도 알아야 왜 이런식으로 짜여졌고,
뒤에서 어떻게 돌아가는지 알수 있죠.
C안하고 자바부터 배운 사람은
제 생각엔 이해못할게 많다고 생각해요,
그것은 웹프로그래밍에서 세션객체를 쓰는 사람이
세션이 어떻게 구현되었는지 모르고,
쓰는 경우가 있는것과 마찬가지지요.
요즘 나오는 자바의 단점도 있읍니다.
C++를 제대로 이해못하고,C++를 썼던 사람이 많은 것처럼
자바를 제대로 이해못하고,자바를 쓰는 사람도 있죠
자바야 말로 배우기 최고인 언어인 이유를 제가 말씀..드릴까요-
자바는 정말 배우기 최고인 언어라고 생각해요
사실 저또한 빠르고 강력한 어플리케이션을 만들고 싶은 꿈(?)
때문에 자바를 별로 좋아하지않았었지만,
배운다는 차원,또 쉽게 쓸수 있다는 차원에서는
자바는 최고라고 생각합니다.
C++를 해보신 분이라면 가장 잘 이해하실것 같습니다.
한마디로 C++의 지저분한 것은 모두 버렸다고 생각하시면 됩니다.
다중상속같은것이나 가상,순수가상함수같은것들..
지저분한것이란 애매모호한것,
프로그래머로하여금 헷갈리게 하는것,
단순직관적으로 정직하게 코딩하기 어렵게 하는것,
이런걸 말하죠.
특히 이게 제일 중요한 부분인데,사람들이 언급은 잘안하지만,
자바언어구현자가 제일 똑똑한 부분은,
const를 없앴다는 점이지요.
자바의 키워드를 살펴보세요. const가 없어졌답니다. ^^
C++짜는 사람들이 도대체 왜?
const int * a , 와 int * cont a
등을 신경써야 하며,
또 const int & a 를 함수 인자로 전달될 경우,
어떤 것을 전달해야 에러가 날지 안날지
생각해서 함수까지 설계해야하는지
도대체 이유가 없는 것이죠.
C++는 강력한 언어가 되기위해서 몇가지를 덧붙였죠.
그런데 오히려 그것들이 사람들의 직관을 방해하고,
도리어 애매모호한 짐을 덧붙인 것입니다.
좋다. 이것은 상수객체로 선언하고 앞으로는 바꾸지 않는다는
표시를 하자. 음..그러면 const를 붙여야겠군.
이렇게 생각해서 const를 만들어놨더니,
거기서 파생되는 문제가 주루루룩...
나오게 되는겁니다.
이것은 엔트로피법칙과 같죠.
사람들이 질서를 잡으려고 하지만,
사실 전체적인 계의 엔트로피는 증가합니다.
즉,아무리 질서를 잡으려고 해서 질서를 잡은것 같아보여도,
실제로 전체적인 무질서는 증가했다는 것이지요.
사실 저는 아직까지도 C가 최고의 언어라고 생각하고,
C를 제일 좋아합니다.
자바에 포인터가 없다고 해서,
편하다고 말하는 사람들이 있지만,
자바는 포인터를 모르면 배울수 없는 언어입니다.
즉,C를 알고,C++도 어느정도 알아야 왜 이런식으로 짜여졌고,
뒤에서 어떻게 돌아가는지 알수 있죠.
C안하고 자바부터 배운 사람은
제 생각엔 이해못할게 많다고 생각해요,
그것은 웹프로그래밍에서 세션객체를 쓰는 사람이
세션이 어떻게 구현되었는지 모르고,
쓰는 경우가 있는것과 마찬가지지요.
요즘 나오는 자바의 단점도 있읍니다.
C++를 제대로 이해못하고,C++를 썼던 사람이 많은 것처럼
자바를 제대로 이해못하고,자바를 쓰는 사람도 있죠
이것은 사람들 탓이라기보다는
자바언어의 구현자탓이라고 생각합니다.
대표적인것이 입출력스트림인데요
대개의 자바프로그램에서 입출력에 쓸데없는 낭비가
많다고 합니다.
퍼포먼스 튜닝이 필요한 프로그램들이 대부분이라고하죠.
실제로 서점에서 자바책을 보면,
엉터리 네트웍입출력이 소스로 된 책들이 많습니다.
심지어는 인터넷온라인강좌에서도 그렇더군요.
이런 것은 꼭 프로그래머의 잘못이라기보다는,
자바언어구현자가 프로그래머로 하여금 직관적이고 단순한
인터페이스를 제공해주지않은 탓이라고 생각합니다.
하긴 이제는 자바의 소스가 공개되서,
그 베일을 벗길수 있겠지만요.
제 생각에는 역시 컴퓨터언어란 단순하고 직관적인 언어가
가장 오래가고 사랑받는 다는 것입니다.
그런면에서 자바는 C++에 비해서 많은 발전을 했고,
더 좋은 쪽으로 발전한 언어임에는 틀림없지요.