저는 항공 우주 공학 분야에 관심이있는 기계 공학 학생입니다. 여기서 Fortran은 여전히 일반적으로 사용됩니다.
배우기 위해 시간을 투자해야하는 포트란 버전은 무엇입니까?
저는 항공 우주 공학 분야에 관심이있는 기계 공학 학생입니다. 여기서 Fortran은 여전히 일반적으로 사용됩니다.
배우기 위해 시간을 투자해야하는 포트란 버전은 무엇입니까?
답변:
Fortran의 "버전"이 있다는 것은 약간의 유명한 오해입니다. 드문 경우를 제외하고 최신 Fortran 표준 (및 컴파일러)은 이전 표준과의 호환성이 우수합니다. 아직 많은 사람들이 아직 사용하지 않는 레거시 코드가 많지 않다면 Fortran을 사용하지 않을 것입니다. 즉, 표준 호환 Fortran77 코드는 거의 항상 최신 컴파일러에서 작동합니다.
가장 최신 버전의 언어를 사용하는 법을 배워야합니다. F2008은 초보자에게 끔찍한 도움이되지 않았지만 F2003의 객체 지향 개념 도입은 확실히 큰 문제입니다. "Modern Fortran Explained"는 시작하기에 알맞은 장소이며 "Scientific Software Design : Object Oriented Way"는 실제로 그것을 연습하는 법을 배우는 데 상당히 좋습니다.
실용적으로 레거시 코드 (예 : F77 또는 이전 코드)를 사용하려면 F90 + 기능이 없기 때문에 수행 한 작업 중 일부를 배워야합니다. 예를 들어, Fortran 코드를 작성하는 경우 "COMMON 블록"을 사용해서는 안되지만 반드시 F77 코드에 해당 코드가 표시되는 것을 볼 수 있습니다.
최소한 F90 / 95 기능 세트가 없으면 Fortran에서 작업을 시작하지 않는 것이 좋습니다.
즉, 다른 언어로 프로그래밍하는 데 정통하지 않다면 아마도 항공 우주를 다니더라도 Fortran이 처음으로 배우는 데 가장 적합한 언어가 아니라는 의견이있을 것입니다. (그리고 나는 Fortran을 정기적으로 사용하고 그것을 제 첫 언어로 사용하는 항공 우주의 누군가라고 말합니다).
나는 둘 다에 동의하지 않습니다. C ++과 Python은 여전히 FORTRAN만큼 최적화되지 않았습니다. FORTRAN 90/95가 최소라는 데 동의합니다. 그러나 다른 최신 버전을 사용하는 것이 항상 유용합니다. FORTRAN의 과제는 객체 지향 언어를 배우기 전에 배우면 이해하기 쉽다는 것입니다. 사물을 생각하는 데 익숙하다면 배우기가 훨씬 어렵습니다. 여기 슈퍼 컴퓨팅 수업을 가르치고 학생들에게 FORTRAN을 사용하도록 강요합니다. 프로그래밍에서 다른 종류의 논리를 사용하도록합니다. 파이썬이나 C ++처럼 "생각"하지 않기 때문에 마음에 들지 않습니다. 그것은 모두 당신이하려는 일과 병렬화와 성능이 얼마나 중요한지에 달려 있습니다.