Page 417 - MDP2020-3
P. 417
················································································ 명장양성프로젝트 【MDP】 과제발표회 자료집 Ⅲ | 411
8) 오픈소스 라이브러리가 풍부하다. 자바는 오픈소스 언어이기 때문에 자바 프로그램에서
사용하는 라이브러리 또한 오픈소스가 많다. 오픈소스 라이브러리를 사용하면 개발 시간을
단축하면서 안정성이 높은 애플리케이션을 쉽게 개발할 수 있다.
9) 속도가 느리다. 자바는 한 번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고
JVM에 의해 기계어로 번역되고 실행하는 과정을 거치기 때문에 C나 C++의 컴파일 단계에
서 만들어지는 완전한 기계어보다는 속도가 느리다. 그러나 바이트 코드를 기계어로 변환해
주는 JIT 컴파일러 같은 기술 적용으로 JVM의 기능이 향상되어 속도의 격차가 많이 줄어들
었다.
10) 예외처리가 불편하다. 자바는 다른 언어들과 달리 프로그램 실행 시 발생할 수 있는
예외(Exception)들을 개발자가 직접 선언하여 처리해야 한다. 그렇지 않으면 아예 컴파일이
되지 않는다.
라. C의 정의
C는 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일할 당시 새로 개발된
유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 켄 톰슨은
BCPL언어를 필요에 맞추어 개조해서 "B"언어(언어를 개발한 벨 연구소의 B를
따서)라 명명했고, 데니스 리치가 이것을 개선하여 C 언어가 탄생했다. 유닉스
시스템의 바탕 프로그램은 모두 C로 작성되었고, 수많은 운영 체제의 커널 또
한 C로 만들어졌다. 오늘날 많이 쓰이는 C++는 C에서 객체 지향형 언어로 발
전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C에 두고 있다.
마. C의 특징
1) 이식성이 뛰어나다. C언어는 다른 프로그램 언어보다 높은 호환성을 가지고 있고 C언
어의 표준함수만 작성된 프로그램은 어떤 기종의 컴퓨터에서도 정상적으로 컴파일 되고 실
행될 수 있다. 예를 들면 소형 컴퓨터에서 작성된 프로그램이 대형 컴퓨터에서도 완벽하게
사용될 수 있다는 것이다.
2) 다양성을 가진다. C언어는 과학 계산용 프로그램뿐만 아니라 FA(공장 자동화), OA(사
무 자동화), GUI(Graphic User interface), 시스템 프로그램(System program), 응용 프로그
램(Application Program)등과 같이 컴퓨터의 모든 분야에서 사용할 수 있도록 설계된 효율
적인 프로그램 언어이다.
3) 유연성이 좋다. C언어의 가장 큰 특징 중의 하나는 소프트웨어의 부품화를 실현할 수
있다는 것이다. 소프트웨어의 부품화란 새로운 프로그램을 개발하기 위해 이미 작성된 프로
그램 모듈들을 그대로 사용하는 곳을 의미한다. C언어를 부품과 같이 사용할 수 있는 대표
적인 응용 소프트웨어로는 클리퍼, 폭스프로, 윈도우, 오토캐드 등이 있다. 또 다른 의미로는
기계어에 준하면서 고급프로그래밍 언어로 집적된 표현을 할 수 있다는 것이다. 즉, 저급 언
어이면서 고급 언어의 성격을 가진 것을 말한다.
4) 혼합성을 가진다. C언어는 다른 프로그램 언어와 함께 혼합되어 사용될 수 있으며, 혼
합프로그램을 개발하는 프로그램의 혼합성을 극대화하는 데 사용된다. C언어와 함께 가장
많이 사용되는 프로그램 언어는 어셈블리이며 패키지 언어에는 클리퍼 등이 있다.
5) 절차 지향적 특징을 지니고 있다. 절차 지향적 프로그래밍이란 정해진 순서대로 프로그
래밍을 하는 방식을 의미한다. 그렇기 때문에 C언어를 학습하는 데 오랜 시간이 걸리지 않
는다는 장점이 있다.