포트란이 산업전선에서 어떻게 쓰이나요?

purewell의 이미지

벗이 포트란 교육을 갔길래 문득 포트란에 대한 의문이 들었습니다.
산업전선에서 포트란이 어떻게 쓰이나요?

안테나나 반도체쪽 대학원에서 데이터분석 및 계산을 하는데 쓰이는 것 같던데 말이죠.

뱀발로 MatLAB을 많이 쓰던데, MatLAB이 포트란을 대체할기 위한 툴+언어인가요, 아니면 그냥 병행해서 쓰기 위한 것인가요?

뿌직의 이미지

학부 때 기계전공이라 가끔 MatLAB을 사용할
기회가 없지 않아 있었습니다.

포트란과 MatLAB에 대해서 제 견해를 말씀드리면,
포트란은 과학자들이 사용하기 용이하게 만든 하나의 언어이고,
MatLAB 언어라기보다는... 툴에 가깝지 않을까요?
그러니까, MatLAB은 복잡한 계산식을 코드(?) 몇 줄과 클릭 몇 번으로
원하는 결과값을 얻기 위한 툴이고,
포트란은...
...
말그대로 언어죠...

좀 과장해서 말씀드리자면,
C언어로 ftp 클라이언트를 구현하려면 세월아 네월아지만,
ftp가 C언어를 대체한다는 것은... ㅡ_ㅡ;;

그리고 포트란의 사용도에 대해서 말씀 드리자면,
연구소에서 science를 연구하시는 분들은 아직도 포트란을 주로 쓰시는 것으로 알고 있습니다.
특히나 슈퍼컴 이용하시는 분들은...

산업 전선에서의 포트란은 잘 모르기 때문에 다음 분께 페스...
------------
`0-
-0`

--------------------------
`0-
-0`

warpdory의 이미지

저희 회사에서는...

전자기장 및 잔류응력 관련 시뮬레이션용으로 후지쯔 포트란으로 된 코드를 레드햇 6.0 위에서 돌리는 중입니다.
- 인터넷에 연결된 것도 아니고, 후지쯔 포트란에 딸려온 게 레드햇 6.0 이라서 그냥 쓰고 있댑니다.

물론, 몇몇 상용 시뮬레이션 툴(MatLab 은 물론이고, vector****** 라든가, Max**** 이라든가, 등등등...) 도 사용중입니다.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

doldori의 이미지

이름부터 FORmula TRANslation이니 계산용으로 많이 쓰이죠.
마침 지금 보는 코드도 포트란인데 legacy code도 아니고
쌩쌩하게 잘들 쓰는 코드입니다.
그런데 이놈의 코드가 전부 대문자에 132컬럼...
보고 있자니 눈이 뻑뻑합니다. -_-;

제가 학교다닐 때 F77을 썼었는데 그때는 몰랐지만
지금은 그런 언어로 잘도 코딩했구나 하는 생각이 듭니다. -_-;
다음 코드의 결과는 뭘까요?

      I = 1
      print *, l
      stop
      end

응물이의 이미지

0 이요 ㅋ

implicit none을 써주는 쎈쓰 ㅋㅋ

nike984의 이미지

제 친구가 물리과에서 박사 과정인데
연구 관련 계산할때 포트란을 많이 쓰더군요.
왜 그걸 쓰냐 물어보니 포트란이 수치 계산에서는
속도가 C보다 빠르다더군요. 그럼 보나마나 매틀랩보다 포트란이 역시 빠르겠죠.

익명 사용자의 이미지

FORTRAN은 수치해석 분야에서 많이 사용되고 있습니다.

계산 속도가 C 보다도 훨씬 빠를 뿐만 아니라
수치 연산에 적합한 다양한 언어 사양을 가지고 있습니다.

게다가 예전부터 수치해석 분야에서 오래동안 사용되어 오다보니
수치해석용 라이브러리가 방대하게 존재합니다.
최근엔 C에서 사용할 수 있는 라이브러리들도 많이들 나옵니다만
실행속도나 다양성 면에서 부족하여서 대체 가능한 수준은 아직 못되고 있습니다.

그리고 과학계산 분야에서는 일반적으로 프로그램이 굉장히 방대한 구조를 가지는데,
한 연구자가 프로젝트를 진행해서 어느 정도의 프로그램을 짜 두면
다른 연구자가 거기에 코드를 조금 더 보태어서 논문을 쓰기도 하고 그럽니다.
그런 식으로 기본 코드 위에 여러 이론이 보태진 코드들이 늘어나게 되면
이미 다른 언어로 포팅할 수 있는 수준을 넘어선 거대한 코드가 나오게 되지요...

그렇기 때문에 요즘 연구자들이 Fortran90/95 같은 현대적인 포트란을 사용해서 코드를 짜면서도
프로젝트 안에 들어있는 코드들의 대다수는 Fortran77 코드들도 많이 있습니다.
컴파일러 역시 Legacy 코드들을 깔끔하게 잘 컴파일 해 줍니다.

전 인텔 포트란 컴파일러를 사용 중인데, 그 어떤 컴파일러 보다도 날렵하고 빠른 코드를 생성해 줍니다.
프로세서를 만드는 회사에서 제공하는 컴파일러라서 그런지는 모르겠습니다만
수치 연산용 프로그램을 만드는 데 있어서 이보다 더 뛰어난 컴파일러를 본 적이 없네요..

sangwoo의 이미지

개인적인 생각으로는, 포트란을 아직까지 쓰는 이유는
1. 안정적으로 잘 작동하는 게 검증된 Legacy 코드가 엄청나게 많이 존재하고,
2. 높은 성ㄴ능을 내는 상용 컴파일러들이 많이 있다.

이 두가지라고 봅니다. 그리구 사용 범위도 scientific 한 분야로 상당히 제한되어 있죠.
그래도 오래된 언어라고 생각하기 쉬운데, 현재도 매우 active 하게 개발되고 진화하고 있는 언어라는 게 인상적이었습니다. 최근 스펙이 Fortran 2003까지 있었던 거 같네요.
아.. 글구 77까지는 보통 FORTRAN이라고 쓰고, 90부터는 Fortran이라고 쓰더군요 :-)

----
Let's shut up and code.

----
Let's shut up and code.

wkpark의 이미지

gfortran도 매우 활발하게 개발되고 있죠 :>

그리고 F90/F95는 F77과는 완전히 다르더군요

온갖 참된 삶은 만남이다 --Martin Buber

익명 사용자의 이미지

네, F77 까지만 해도 컴파일러 언어임에도 인터프리터 언어처럼 보이게 하는 요소들
(예를들면 행번호나 한줄 내에서 칸 구분, 그리고 goto문 등등) 이 많이 남아있었는데,
F90 이후로는 거의 다 사라졌습니다.
F95 에 와서는 F95 코드 내에서 일부 Legacy 코드를 혼용해서 쓰는걸 막기도 하구요...
그리고 저는 F90 으로 코딩을 하고 있어서 그 이후의 언어 사양은 잘 모르는데
요즘에는 OOP 도 C++ 과 비슷한 수준으로 지원한다는 얘기도 들었습니다.