| [ WWW ] in KIDS 글 쓴 이(By): seasons (오히려검열) 날 짜 (Date): 1996년09월06일(금) 14시41분29초 KDT 제 목(Title): WWW 강좌 10 : Java 배우기 (31) A.Fun.A.Day(407) WWW 강좌 10 : Java 배우기 (31) ----------------------------------------------- < 자바 백서 > 계속 4.6 자바의 비교 자바언어의 기대되는 적응은 자바언어가 다른 언어의 능력에 어느 정도에 속하는지 조사할 필요가 있다. 자바언어의 특성을 묘사한 기본적인 비교 표가 있다. 비교항목은 여태껏 앞에서 다룬 간결성, 객체지향, 쓰레드 등이 다. ● : 특성이 존재 ◑ : 특성이 약간 존재 ○ : 특성이 아예 없다. --------------------------------------------------------- Java SmallTalk TCL Perl Shells C C++ --------------------------------------------------------- 간결성 ● ● ● ◑ ◑ ◑ ○ 객체지향 ● ● ○ ○ ○ ○ ◑ 견고함 ● ● ● ◑ ● ○ ○ 보안성 ● ◑ ◑ ◑ ◑ ○ ○ 인터프리터 ● ● ● ● ● ○ ○ 동적 ● ● ● ○ ◑ ○ ○ 이식성 ● ◑ ● ◑ ◑ ◑ ◑ 구조중립 ● ◑ ◑ ◑ ◑ ○ ○ 쓰레드 ● ○ ○ ○ ○ ○ ○ 예외 ● ● ○ ○ ○ ○ ◑ 수행력 High Medium Low Low Low High High --------------------------------------------------------- 위의 표에서, 자바언어의 개발자의 다양한 가능성에 있어 높은 이익을 주 는 풍부한 특성이 있음을 알 수 있을 것이다. (역주 : Perl 과 Shell은 유닉스의 도스 프롬프트 역할을 한다. 스크립트라 고 불리는 도스의 batch파일과 같은 파일을 작성하여 배치처리를 할 수 있 으며, 실행화일의 결과를 파이프와 다이렉션 등을 통해 다양하게 사용할 수 있어 일종의 프로그램이라 할 수 있다. 도스의 배치화일을 축소판이다. 특히 Perl은 인터넷상의 많은 사이트들이 웹 BBS를 구축하는데 있어 보안 성이 좋다는 이유로 많이 채택되었다. 특히 충북대 BBS는 웹의 고향인 CERN의 httpd를 설치하고 Perl로 만든 최초의 웹 BBS로 유명하다. 또한 Source가 Ver1.0까지는 제공되는데 그이후 버전은 아직 잘 모르겠다. 더붙 여 간단한 CGI 프로그램의 경우 Perl 또는Shell로 만들어진 경우가 많으 며, 많은 부분이 공개되어 있다. 그러나 쌍방향의 길을 열어 놓기는 했으 나, 항상 재로딩에 드는 시간이 오래 걸려 곧 자바로 넘어 갈 것 같다.) 사실상 개발자가 특수한 영역에서 문제 해결을 위해 프로그램을 작성할 수 있는 프로그래밍 언어는 수백 종이다. 프로그래밍 언어는 UNIX Shell, awk, TCL, Perl등과 같은 완전한 인터프리터에서부터 C와 C++과 같은 " 꾸미지 않은 도구를 프로그램 하는" 언어에 이르기까지 다양하다. 예로, Shell과 TCL은 완전하게 인터프리터 되는 고수준의 언어이다. 시스 템 수준에서 "객체"를 이용한다(적어도 그들이 객체를 사용한다고 말하기 때문에) - 그들의 객체는 데이터 구조보다는 파일과 처리과정이다. 이런 언어의 일부는 매우 빠른 원형화에 적당하다 - 아이디어를 빠르게 개발할 수 있고, 새로운 접근을 시도할 수 있고, 그리고 엄청난 처리과정을 투자하 지 않고 적당하지 않는 접근법을 버릴 수 있다. 스크립트 언어는 매우 이 식성이 강하다. 그들의 첫 번째 약점(DrawBack)은 수행력이다 - 그들은 일반적으로 원시기계코드나 인터프리트된 바이트코드보다 무척이나 느리 다. 그런 프로그램이 실행시간이 짧거나, 옮겨 다니는 기초(Itinerant Basis) 에서 프로그램을 이용한다면, 이런 맞바꿈은 타당하다. 저수준에서, 높은 수행력을 제공하는 거대한 크기의 프로그래밍 프로젝트 를 개발하는 언어는 C와 C++같은 컴파일 언어이다. 높은 수행력은 어쨌든 간에 비용이 작다. 견고하지 못한 메모리 관리 시스템을 디버깅하는 많은 비용과 멀티쓰레딩 능력을 구현하고 사용하는 어려움이 약점에 포함된다. 물론 C++을 사용할 때, 영구적인 약한 수퍼클래스문제가 그대로 남아있다. 마지막으로, 컴파일된 코드인 실행화일 분배의 문제는 인터넷 전반에 걸친 이질적인 플랫폼으로 인해 관리가 불가능하게 된다. 자바언어 환경은 고수준이고 이식성이 있으나 느린 스크립트 언어와 저수 준이고 빠르나 이식성이 없고 신뢰할 수 없는 컴파일 언어간에 매우 매력 적인 중간배경(Ground)을 만든다. 자바언어는 이런 중간정도의 공간에 적 당하다. 프로그램이 극히 간결하다는 것과 이식성이 높고, 구조 중립적인 것을 추가하면, 자바언어는 대부분의 컴퓨터에서 작동하는 응용프로그램에 적당한 수행력을 제공한다. -- ___o ___o ___o ___o ___o __ \\ __ __ \\ __ __ \\ __ __ \\ __ __ \\ __ (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) (*)/ (*) +---------------------------------------------------------------------------+ | Won Geun Baek E-Mail: wgbaek@pharaoh.telecom.samsung.co.kr | | Samsung Electronics co. http://pharaoh.telecom.samsung.co.kr/~wgbaek | | Karak-Dong, Seoul, Korea TEL : 02-405-1376 (7:00-18:00 Korea) | +---------------------------------------------------------------------------+ |