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언어를  학습하는  데  오랜  시간이  걸리지  않
             는다는  장점이  있다.
   412   413   414   415   416   417   418   419   420   421   422