메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

교육 언어로서의 자바

한빛미디어

|

2001-03-21

|

by HANBIT

4,356

프로그램이 성공하느냐의 여부는 교육계에서 그 프로그램을 수용하는 정도에도 달려 있다. 자바는 선 마이크로시스템에서 1995년에 처음에 소개한 이래로 오랫동안 사용되었다. 그리고 지금은 전 세계의 대학에서 자바를 사용한다. 자바는 교육용 프로그램 언어로 우수하다고 인정받고 있다. 이것은 정말 중요한 일이다. 사회 전체적으로 볼 때에, 장차 컴퓨터 과학자나 프로그래머, 자바 분야 정보 기술 산업(IT)의 경영진이 될 사람들은 많은 언어를 통해 프로그램 하는 것을 배울 것이다. 이들이 교육받을 많은 언어들 중에서, 자바가 가장 널리 사용될 것이다. 가트너 그룹(The Gartner Group: 유명한 리서치 그룹)은 1997년 후반에 미국 대학의 교과 과정에서 자바가 널리 사용되었다는 것을 조사하고는, 자바가 그 시기에 그 쪽 분야에 상당한 영향을 주었음을 발견했다. 오늘날 컴퓨터 프로그램은 점점 중요해지고 있기 때문에, 자바는 계속 성장하고 있다. 반면, C++이나 이전에 주류를 이루었던 컴퓨터 과학 교육 언어는 쇠퇴하고 있다. 자바가 교육 언어로서 성공하고 있는 이유는 자바가 "실제 세계"에서의 성공적인 객체 지향 언어인 이유와 마찬가지이다. 자바는 상대적으로 사용하기 쉽다. 자바를 사용하면, 다른 언어를 사용할 때처럼 프로그램을 할 때에 지루하고 세세한 작업을 할 필요가 없다. 자바로 코드를 짜는 것이 재미있다고 하는 사람도 많다. 물론, 선(Sun)은 자바를 대학 교과 과정에 넣으려고 노력했는데, 그러한 노력도 역시 헛되지 않았다. 이 글에서는 자바가 오늘날 교육 프로그래밍 언어로서 하는 역할을 살펴보고, 자바를 성공적으로 사용하는 학교들을 강조하여 설명할 것이다. 우리는 자바가 컴퓨터 과학 분야를 공부하는 학생들에게 교육 언어로 널리 사용되게 된 요인을 살펴보고, 자바가 왜 C++을 대체하는지도 언급할 것이다. 자바와 교육에 관한 자료라면 선의 SunEd 사이트를 포함해서, 인터넷에도 많이 있다. 자바에 초점을 맞추고 있는 초기의 독립적인 사이트 중에는 뉴욕 주립 대학(SUNY) 오스웨고 캠퍼스의 컴퓨터 과학부 교수진인 도우그 리(Doug Lea)가 만든 사이트도 있다.
자바는 교육용 프로그램 언어로 우수하다고 인정받고 있다. 이것은 정말 중요한 일이다.
누군가가 도우그 리에게 왜 홈페이지가 몇 년간 업데이트되지 않느냐고 물어보았을 때, 리는 "자바가 컴퓨터 과학 프로그램에서 너무 흔해져서 이제 그것에 대해서는 이야기 할 만한 흥미거리가 없기 때문이죠."라고 대답했다. 이러한 대답을 통해 우리는 자바가 이 분야에서 어떠한 위치를 차지하고 있는지 알 수 있다. 1997년에 가트너 그룹에서 처음으로 자바의 보급에 대해 조사했을 때, 조사한 학교의 78%에서 자바를 가르치고 있었으며, 50%에서는 필수 과목이었다. C++은 이 학교들에서 주요한 교육 언어였으며, 95%의 학교에서는 거의 전면적으로 C++을 가르치고 있었다. 그리고 82%의 컴퓨터 과학 교육 프로그램에서 C++을 사용해야 했다. 가트너 사(社)는 2000년 초에 다시 똑같은 설문을 했고, 교육 언어로서 자바가 많이 사용되면서 C++이 점점 쇠퇴하고 있는 추세를 발견하였다. 2000년 1월에는 설문조사 한 학교 중 87%에서 자바를 사용하고 있었고, 56%의 학교에서는 컴퓨터 과학 분야에서 필수과목이었다. 반면에 C++은 87%의 학교에서 가르쳤고, 65%의 컴퓨터 과학 학과에서만 필수과목이었다. 게다가, 조사 한 학교 중 13%는 자바로 파스칼을 대체할 계획에 있었고, 21%는 C++을 자바로 대체할 예정이었다. 이러한 추세는 대학에서만 나타나는 것은 아니다. 대학의 이사회에서는 2003년 학기부터 상급 진학 컴퓨터 과학 교과 과정이 객체 지향을 포함하고, 자바를 상급 진학 컴퓨터 과학 시험을 수행하는 데에 사용하도록 개정하였다. 고등학교 학생들 중에서 뛰어난 학생들은 대학에 들어가기 위해 고등 지식이 있다는 것을 평가받기 위해서 상급 진학 시험을 본다. 따라서 이 시험에 자바를 넣으면, 자바에 기반을 둔 시험을 준비하기 위해 고등학교 수준의 자바 교육이 널리 퍼지는 계기가 될 것이다. 자바를 많이 사용하는 이유
컴퓨터 과학 프로그램이 중요하기 때문에 자바는 계속 성장하는 반면, C++은 쇠퇴하고 있다.
자바에는 교육 언어로서의 장점이 많이 있다. 그러한 요소들은 자바가 프로그래머 사이에서 인기가 있는 이유와도 같다. 자바에는 객체 지향적으로 디자인되어 있으며, 이식성이 있고, 가비지 컬렉션(garbage collection) 기능이 있으며, 그래픽 인터페이스에 강한 적응성이 있으며, 네트워크 지향적이고, 상대적으로 쉬운 구조로 되어 있다는 등의 성질이 있다. 이 때문에 자바는 현대의 교육 환경에 잘 맞는 강력한 언어이다. 선은 공식 문서에서 자바는 객체를 사용하는 것이 필요하다는 점에서 C++보다 더 순전히 객체 지향적이라고 언급했다. 자바에는 전역 변수나 함수가 없다. 객체 데이터를 포함한 모든 데이터는 클래스 라이브러리 안에서 정의되어야 한다. 이러한 구조 때문에 오늘날의 학생들에게는 객체 지향 프로그래밍 수업이 알맞다. 자바는 강력한 자료유형을 가진 언어로 간주된다. 즉, 자바에서는 다른 타입의 변수들 중에서 지정이나 비교를 하는 등의 오퍼레이션을 허용하지 않는다. 이러한 경우에는, 컴파일러에서 그러한 오퍼레이션을 금지하는 에러를 발생시킨다. 데이터 타입을 구분하는 이러한 엄격한 규칙으로 인해서 앞으로 생길 지도 모르는 에러들을 피할 수 있다. 자바가 강한 타입을 가져서 오는 장점은, 다른 언어에서는 프로그램이 작동될 때까지 에러를 발생시키지 않는데, 자바에서는 컴파일러가 에러를 발견한다는 것이다. 초보 프로그래머들은 디코딩 컴파일러 에러 메시지를 통해 잘못을 바로 아는 것이 이상하게 긴 러닝 타임이 생긴 이유를 찾는 것보다 더 쉬운 일이라고 생각한다. 프로그래머와 학교 선생님들이 자바에 대해서 가장 많이 칭찬하는 기능은, 가비지 컬렉션이다. 자바를 사용하면 프로그래머들은 지루하고, 때때로 복잡하기도 한 메모리를 다시 불러오는 작업을 하지 않아도 된다. 그래서 자바는 C++에 비해 많이 발전했다고 본다. 학생들이 C++로 코딩을 할 때에 가장 힘든 점은 끊임없이 메모리 할당의 정보를 얻어내야 한다는 데에 있다. 자바를 사용하면 가비지 컬렉션 때문에, 이러한 문제들이 발생하지 않는다. 마크 로이는 자바를 가르치고 있으며, 오라일리에서 출간한 『자바 스윙』을 저술하기도 했다. 그는 그래픽 애플리케이션을 구축하는 데에 쉽다는 점을 자바가 교육 언어로서 적절한 이유 중 한 가지로 꼽았다. "초급 학생들은 프로그래밍을 배울 때 버튼을 사용해서 실제적이고 생생한 윈도우를 만들 수 있습니다. 이것은 이전의 C나 파스칼, 포트란에서는 명령행을 사용하여 상호 작용을 주고 받았던 것 비해서 상당히 발전한 형태입니다."라고 그는 말했다.
피어 투 피어와 분산 컴퓨팅의 중요성이 점점 커지면서, 선이 오랫동안 내걸었던 "네트워크는 컴퓨터 자체이다"라는 슬로건은 현실이 되었으며, 자바는 거기에서 중요한 역할을 할 것이다.
이러한 인터페이스는 학생들이 매일매일 사용하는 애플리케이션과 유사하기 때문에, 자바를 사용하면 실제적으로 프로그램을 작성할 수 있다는 사실을 학생들 스스로가 더 잘 알고 있다. 로이는 "학생들이 더 많은 것을 알기를 원하도록 동기를 부여할 수 있다는 것은 가르칠 때 자바가 유용한 중요한 이유입니다."라고 덧붙였다. 호주의 모나쉬 대학에서 정보 기술 학부의 학장을 맡고 있는 존 로젠버그 교수는, 자바의 크기가 좁은 공간에 꽉 차있고, 구조가 깨끗해서 좋아한다고 한다. "자바는 두 학기 안에 다 가르칠 수 있어요. 예외 사항이 별로 없기 때문이죠. 신택스와 시맨틱스가 명료하고 직접적입니다."라고 그는 말했다. 로젠버그 교수는 자바는 이식성이 있고, 플랫폼에서 독립적이라는 점도 중요하다고 생각한다. 자바의 이런 점 때문에 학생들이 어디서나 프로젝트를 실제적으로 수행할 수 있다. 오라일리의 자바 편집자 마이크 루기즈도 자바 코드가 명료하다는 것이 교육자에게 중요한 요소라는 점에 동의했다. 나는 자바가 교육 언어로서 성공하게 된 이유 중 하나는 자바 코드가 다른 언어에 비해서 굉장히 명료하다는 점이라고 생각합니다."라고 그는 설명했다. 학생과 교수진이 자바에 대해 열의가 있다는 점도 교육계에서 자바를 받아들이는 데에 있어서 무시할 수 없는 요소이다. 네트워크 서비스에 갈수록 많이 의존하는 시대에는, 그리고 자바 개발자에 대한 시장 수요가 높은 상황에서는, 자바를 배우거나 가르치고 싶어하는 생각이 늘어난다. 가트너 그룹에서도, 내년에는 시장에서 요구하는 자바 개발자의 50%이하가 공급될 것이라고 내다보았다. 즉, 늘어나는 수요에 비해서 공급이 모자란 것이다. 학생들은 자바가 중요한 언어라고 생각하며, 그것을 몹시 배우고 싶어한다. 미국에서만 자바가 교육 언어로 책정된 것은 아니다. 영국에 있는 켄트 대학의 컴퓨터 실험실은 최근 "공인받은 자바 고등 교육 캠퍼스(AAJC: Authorized Academic Java Campus)"가 되었다. 이것은 켄트 대학에서 컴퓨터 과학 학위를 마치는 학생들은 자바 인증 시험을 칠 기회를 얻게 되고, 선이 발급하는 자바 프로그래밍과 개발 인증서를 받을 수 있다는 것을 뜻한다. 또한, 호주 멜버른에 있는 모나쉬 대학에서는, 자바가 주류 프로그램이 될 것을 믿으며, 자바를 가르치고 사용하는 데에 필요한 통합 개발 환경(IDE: Integrated Development Environment)인 블루J(BlueJ)를 개발하였다. 자바는 앞으로도 계속 남아있을 것이다. 점점 더 많은 학교에서 자바의 시류에 편승하고 있으며, 1학년에게 자바를 가르치는 것이 좋다는 것은 명백하다. 모나쉬 대학의 로젠버그는, "나는 1학년 학생들을 가르칠 때에는 프로그램에 객체 지향적으로 접근하는 것이 가장 적절하다고 생각합니다. 자바는 제일 멋지고 명료한 언어입니다. 자바를 사용하면, 기본 원리를 간략히 가르쳐도 되지만, 그렇게 해도 학생들은 더 발전된 개념을 꿰뚫어볼 수 있습니다."라고 말했다.
자바는 보안이 잘 되고 이식성이 있기 때문에 P2P나 컴퓨팅 모델의 분산된 형태로 사용하기에 좋다.
자바는 이제 C++을 대체하여, 주요한 교육용 프로그램 언어로 자리잡았다. 올해 가트너 그룹에서 조사한 바에 따르면, 자바를 가르치는 학교가 상대적으로 증가한 정도(9% 증가)가 C++을 가르치는 학교가 줄어든 비율(8% 감소)과 거의 일치한다고 한다. 로젠버그는 C++은 너무 크고 복잡하며 비일관적이기 때문에 교육 언어로서 그다지 좋지 않다는 점에 동의하면서, 자바가 C++을 대체해야 한다고 했다. 오즈웨고 시에 있는 뉴욕 주립대학의 교수인 리도 동의했다. "나는 자바가 대학의 컴퓨터 과학 코스에서 가장 널리 사용되는 프로그램이라고 생각합니다."라고 했다. 우리는 고등학교부터 시작해서, 교육 기관에서 자바 개발자에 대한 높은 요구를 충분히 공급할 수 있는지 의문을 가져야 한다. 선의 교육 프로그램 매니저 제리 니스도 이러한 의견을 보였다. "우리는 교육받고 싶어하는 학생들의 수요를 따라갈 수 없기 때문에, 더 많은 자바 교육기관이 생겨야 합니다."라고 그는 말했다. 컴퓨터 사용에 있어서의 동향을 보면 교육계에서 자바를 가르치는 이유를 이해할 수 있다. 전자 상거래가 널리 퍼지면서, 자바 서블렛은 사업을 뒷받침하는 시스템으로서 가치를 인정받고 있다. 피어 투 피어와 분산 컴퓨팅의 중요성이 점점 커지면서, 선이 오랫동안 내걸었던 "네트워크는 컴퓨터이다"라는 슬로건은 현실이 되었으며, 자바는 거기에서 중요한 역할을 할 것이다. 자바는 보안이 잘 되고 이식성이 있기 때문에 P2P나 컴퓨팅 모델의 분산된 형태로 사용하기에 좋다. 교육자나 컴퓨터 과학을 배우는 학생들은 이러한 발전 양상에 주의를 기울여 왔다. 따라서 그들에게 있어서 자바가 대학의 컴퓨터 과학 교육 과정에 깊숙이 들어온 것은 놀랄 만한 일이 아니다. 마지막으로, 자바에 대한 책만 해도 2000가지 이상이 나왔다. 자바는 교육계에서 적당한 장소를 찾았으며, 앞으로도 그럴 것 같다.
TAG :
댓글 입력
자료실