FORTRAN과 GNU Fortran

프로그래밍/FORTRAN 2008/02/14 05:23
매년 새로운  컴퓨터 프로그래밍 언어가 나오고 있습니다만 ,

기계어와 어셈블리어 시대를 거쳐 고급언어(High-level Language)라는 이름으로
탄생했던 1세대 언어인 FOTRAN 같은 다른 언어에 비하면 역사가 오래된
언어도 있습니다.

저같은 경우는 포트란이 대학에서 처음 배웠던 프로그래밍 언어였기 때문에
남다른 애착이 있습니다.

문법을 익히는 단계를 거쳐 작은규모의 프로그램 ,
아르바이트로 했던 여러학과 교수님들의 논문을 위한 수치해석 프로그램들
XY플로터 라는 신기한 물건을 포트란으로 제어하여 시간표를 만들고
모나리자를 그렸던 대학 1학년의 추억이 서려있기 때문이겠죠 :)

하지만 포트란을 사용하지 않은지 무려 15년이 지나면서 거의 가물가물
해졌습니다. 새로운 언어라고 해도 과언이 아니겠지요.

또한 아직까지도 FORTRAN이라는 언어가 상당한 점유율로 계속 쓰여지고 있는
것을 생각해본다면 꽤 재미있는 부분이 남아있기 때문 일 것입니다.

그래서 프로그래밍 언어에 대해서 이번에는 새로운 프로그래밍 언어를
배우는 대신 Fortran을 복습해보고자 합니다.

갑작스런 질문이지만 지구상에 사람들이 현재 사용하는 언어가 얼마나 될까요?
언뜻 생각하기에는 여러나라가 한 언어를 쓰는 경우도 있고 각나라마다 하나씩
쓴다고 해서 나라수를 넘지 못하니 몇백개 정도 되지 않을까 생각되었지만 ,
자료에 의하면 무려 6912개의 언어가 사용되고 있다고 합니다.(2007년 기준)

세상에 있는 모든 언어를 목록화하고 설명하는
언어 레퍼런스를 제공하는 책인
Ethnologue : Languages of the World , 15th edition.
의 자료입니다.

그렇다면 프로그래밍 언어는 얼마나 많을까요?
프로그래밍 언어도 수백개에 이르고 있습니다.
정확한 갯수는 모르겠습니다만 ,


위키피디아에 알려진 목록을 다음 링크에서 볼 수 있습니다.
http://en.wikipedia.org/wiki/Alphabetical_list_of_programming_languages
와 정말 많군요 :)

이렇게 많은 언어들과 최신기법으로 무장한 새로운 언어들 속에서도
FORTRAN은 여전히 강력한 수치해석 언어로 남아있습니다.
그도 그럴것이 포트란이 탄생한 1950년대 초반은 컴퓨터가 주로 과학과 수학의
문제해결을 위한 수치해석용 용도로 사용되어졌기 때문입니다.

또한 실제로 FORTRAN 사용에 대한 것을 보면 과거의 몇십년보다 현재에
있어서 FORTRAN이 그 어느때보다 많이 사용되어지고 있습니다.
주로 과학과 , 공학에서 많이 사용되고 있는데 예를 들어 기후모델 ,
유체역학 , 자동차 충돌 역학 , 태양계 역학 같은 천체계산및 공학같은곳에
활발하게 사용되어지고 있습니다.

GNU 제작하는 컴파일러중에도 Fortran 컴파일러가 존재합니다.
앞서 말한 수많은 프로그래밍 언어에 비교해보자면 몇가지 안되는 GNU가 지원하는
프로그래밍 언어중 하나입니다.

2008년 현재 GNU에서 만드는 컴파일러는 (GNU Compiler Collection)
C를 비롯하여 C++ , Java , Fortran , Ada ,Objective-C 입니다.

GNU가 만드는 포트란 컴파일러의 메인페이지는 다음 링크에 있습니다.
http://www.gnu.org/software/gcc/fortran/
http://gcc.gnu.org/wiki/GFortranBinaries Compiler 바이러리 다운로드 링크

리눅스를 설치할때 개발키트를 깔아놓은 경우라면 대부분 gfortran이 설치
되어있을 것이며 , 원도우즈에서 사용하려면 원도우즈 바이러리를 다운받아
설치하면 됩니다.
http://gcc.gnu.org/wiki/GFortranBinaries#Windows 윈도우즈 바이러리 링크

인스톨러를 클릭하여 바로 손쉽게 설치할 수 도 있습니다.
일반적인 설치처럼 라이슨스 동의 , 디렉토리 설정 , 설치로 완료됩니다.
아.. IDE(통합개발환경) 같은 것은 바라지 마십시요. 컴파일러만 있습니다.

http://gcc.gnu.org/wiki/GFortran#manuals 메뉴얼 페이지
top