10P by neo 2023-08-29 | favorite | 댓글 16개
  • 1957년에 만들어진 과학 계산용 언어 Fortran이 계속 발전중. 최근 버전은 Fortran 2018이고, 2023이 릴리즈 될 예정
  • 고성능: 과학/기술 계산용으로 설계
  • 정적/강 타입 언어. 배우고 사용하기 쉬움
  • Natively Parallel한 언어
    • 직관적인 배열 같은 구문으로 CPU간에 데이터를 통신
    • 단일 CPU, 공유메모리 멀티코어, 분산 메모리 HPC, 클라우드 시스템 등에서 거의 동일한 코드를 실행
    • Coarray, Team, Event, Collective Soubroutine 등으로 문제에 적합한 병렬 프로그래밍 패턴 표현 가능

GN⁺ 의 요약 내용

  • Fortran은 과학 및 공학에서 계산 집약적인 응용 프로그램을 위해 설계된 고성능 병렬 프로그래밍 언어
  • 성숙하고 검증된 컴파일러와 라이브러리를 갖추고 있어 빠른 코드 실행이 가능
  • Fortran은 정적이고 강력한 타입을 갖추어 프로그래밍 오류를 조기에 발견하고 효율적인 이진 코드를 생성
  • 큰 배열에 대한 수학 및 산술 연산을 표현하기 위한 간단한 구문을 갖추어 배우고 사용하기가 놀랍게 쉬움
  • Fortran은 명령형, 절차적, 배열 지향, 객체 지향 또는 함수형과 같은 다양한 프로그래밍 스타일을 허용
  • CPU 간 데이터 통신을 위한 직관적인 구문을 갖춘 병렬 언어
  • Fortran은 수치적 날씨 예측, 계산 유체 역학, 응용 수학, 통계 및 금융과 같은 영역에서 널리 사용
  • 큰 숫자 배열에 대한 빠른 산술 계산을 수행해야 한다면, Fortran은 최적의 도구

해당 언어가 컴파일제한이 꽤 많아 다른언어에 비해 최적화가 오지게 잘됩니다.

파이썬 코드와 비교해보니 이런 느낌이군요 https://fortran-lang.org/en/learn/rosetta_stone.html

이상하게 링크가 깨졌군요 -0- 원래 링크하려던 주소는 https://fortran-lang.org/learn/rosetta_stone/ 입니다

슈퍼컴을 사용하는 고체계산분야에서 지금도 포트란 많이 씁니다.

대체 누가 자꾸 업데이트하는거지

슈퍼컴퓨터가 포트란을 많이 쓴다고 들었습니다
기상청 채용공고 조건에 포트란이 있더라구요..

교수님: (타르볼을 이메일로 쏘며) 자네, 이 포트란 코드 좀 파이썬으로 포팅 해오게, 내일 아침까지.

이런 경우 말고 포트란에 입문하는 경우가 있을까요?!

인력이 없다지만 채찍피티가 포트란을 쓴다면 어떨지?

이미 python으로 다 넘어가신게 아니었나요... ㄷㄷㄷ

포트란이 사장된 언어가 아니었군요~ 지금도 업데이트 중인지 몰랐네요~

헉.. 로스트 테크놀로지같은 느낌이었는데.. 정적/강 타입언어에 병렬처리에, 구문도 간단하다구요..?

전산시뮬레이션에선 현역입니다ㅎㅎ 저희분야에서는 좀 빡센 시뮬레이션 코드는 80%가 포트란이고 나머지는 C...

포트란이 아직도 업데이트중이었군요 WoW..

아.. 저 사회생활 초기에 Microsoft Fortran Powerstation 으로 코딩했었는데..

Hacker News 의견
  • 로스알라모스 국립 연구소, 미션 크리티컬 코드에 포트란에 의존하는 위험에 대한 보고서 발표
  • 보고서는 포트란의 계속적인 사용과 관련된 7가지 위험을 강조, 직원 확보의 어려움과 미래 CPU 및 GPU 기술에서의 성능 저하 등을 포함
  • 저자는 포트란이 "유지보수 언어"가 되고 있다고 믿으며, 언어를 잘 알고 있는 사람의 부족, 학습에 대한 낮은 관심, 교육 및 보상에 대한 불충분한 투자 등을 언급
  • 포트란은 고성능 컴퓨팅을 단순화하고 상용화하기 위한 경쟁에서 독특한 위치에 있다.
  • 최근의 발전을 놓치기는 했지만, 포트란은 최적의 계산 성능을 갖춘 숫자 계산과 고성능 컴퓨팅을 위한 언어로 남아 있다.
  • Matlab 사용의 위험에 대한 더 많은 연구가 필요하다. 많은 학계 및 산업 연구자들이 여전히 이에 의존하고 있다.
  • 포트란은 Python의 Numpy/Scipy와 비교했을 때 수치 선형 대수에서 훨씬 빠른 성능을 보여준다.
  • 포트란은 배우기 쉽지만, 외부 라이브러리와 작업 제어와 관련하여 도전이 있다.
  • 포트란은 역사적인 중요성과 대규모 계산에서의 높은 사용량을 가지고 있으며, 더 많은 주목을 받을 만하다.
  • 포트란의 현대적인 웹사이트는 오래된 언어에 대한 기대를 뛰어넘는 인상적이다.