다음과 같은 문제에 대해 실제로 포트란을 목록의 최상위에 두어야합니다.
a) 숫자 크 런칭
b) 병렬화
c) cs 연구 외부에서 (전문 프로그래머가 아닌 엔지니어에게) 실제로 가르치는 언어 였지만 여전히 언어이다.
d) 업계 수준의 컴파일러 수준에서 믿을 수 없을만큼 (!) 업계 지원을 제공하며, 벤더 중 어느 것도 해당 지점을 포기한 징후가 가장 적습니다. 얼마 전까지 인텔 대표 중 한 명이 자사 포트란 제품의 판매량이 개발 툴의 판매량보다 높다고 밝혔습니다.
또한 매우 쉽게 배울 수있는 언어입니다. 연구 조교를 빠르게 데려 오는 데 시간이 걸린다는 데 동의하지 않습니다. 저의 첫 번째 교과서에는 30 페이지가 넘는 희소 인쇄 텍스트가 없었습니다. 10 개의 키워드를 학습 한 후 중간 크기의 프로그램을 작성할 수있는 언어입니다. 나는 기본 Word 텍스트로 작성된 30 페이지가 대부분의 사용자에게 더 포괄적 인 "Fortran manual"을 만들 것이라고 감히 말할 것입니다.
당신이 CUDA에 관심이 있다면, 당신은 확인 할 수 있습니다 포틀랜드 그룹의 컴파일러 , 그것을 지원합니다 . 나는 세밀한 세부 사항에 익숙하지 않지만 사람들은 일반적으로 칭찬으로 이야기합니다.
그 외에도 병렬 프로그램의 경우 OpenMP, MPI 및 현재 출시 된 (그리고 오랫동안 기다려온) 공동 배열을 사용할 수 있습니다. 인텔 컴파일러는 최근에 구현했습니다. 단어를 낭비하지 않기 위해, 포트란은 프로그램 병렬화를위한 "라이브러리"의 아주 좋은 감마를 가지고 있습니다.
업계 표준 수치 라이브러리 는 무엇보다도 기능 / 루틴 포트폴리오에서 다소 다른 언어를 따르도록 개발되었습니다.
모든 존재는 나는 그러나, 것이라고 말했다 (이 원래 작성된 경우에 따라 다름) F90를 적어도, 가능하면 F2003 기능 -이하자의 말, F77 코드 또는 오래된 경우, 추천 새 방언에 시간을 통해 부분적으로 재 작성. 해당 주제에 대한 논문 / 논문이 최근에 출판되었습니다 (중간 크기의 PDF 파일). 올바르게 수행하면 여러 플랫폼에서 이식성을 보장 할 수있을뿐만 아니라 향후 유지 관리를보다 쉽게 수행 할 수 있습니다.
ps "미래 유지 보수"가 진행되는 한, 가끔 언급하고 싶은 일 화일뿐입니다. 논문을 쓰는 동안 35 년 전에 쓴 시점에서 작성된 멘토의 코드를 다시 사용했습니다. 하나의 오류로 컴파일되었습니다. 복사 붙여 넣기 실수로 인해 끝에 문장이 없습니다. :)
@DaveMateer (댓글에 답장) -약간의 무례한 내용이 될 수있는 다음의 설명을하겠습니다. 그러나 공정한 의도이므로 잘못된 방식으로 취하지 마십시오.
이 "문제"를 잘못된 방식으로 다루고있는 것 같습니다. 몇 가지 짧은 요점에서 의미하는 것은 (여기서는 매우 늦기 때문에 읽을 수있는 문장을 만들 수있는 능력은 오후 10시 이후에 떠납니다.)
a) 여분의 코딩 시간을 최소화하려고한다고 말했지만 숫자 표현에 특화된 언어에서 다채로운 언어 선택의 언어로 다시 작성하는 것을 고려하고 있습니다 .
- 그중 일부는 다차원 배열을 지원하지 않으며 무엇보다도
- 그들 중 대부분은 많은 수치 작업에 부적합합니다 (하스켈과 하둡의 병렬 처리 기능에 대해서는 인정합니다. 아무것도 알지 못하지만 그 서클에서 언급 된 적이조차 없습니다)
- 아마도 시도되었지만, 이질적인 문제를위한 언어 인 포트란 (Fortran)을 기능적 언어로 다시 쓴다는 말은 들어 본 적이 없습니다.
- comp.lang.fortran (Google 그룹을 통해 검색해보십시오)에 대한 "클라우드에서의"과학 컴퓨팅 측면에 대한 토론이 최근에
있었습니다. 대부분의 사람들은 잠재력이 존재한다는 것에 동의했지만 지금까지는 그것이 일하는 방식에 만족합니다.). 많은 종류의 병렬 처리가 그런 종류의 병렬 처리에도 적합하지 않습니다.
b) 그러한 재 작성의 비용은 얼마입니까? 사람 / 시간.
c) -컴파일 할 라이브러리의 올바른 버전 ...-은 피할 수없는 모든 언어의 문제이지만, 살펴보십시오.
d) 몇 개의 occation에서 병렬 응용 프로그램에 사용되는 Python (정말 좋은 언어)에 대해 들었지만 그 시장의 보급률은 여전히 상승하지 않는 것 같습니다. 장기 프로젝트 (역 호환성을 생각하십시오). 어떤 사람들은 "접착제"언어처럼 그것을 아주 좋아합니다.
내가 다른 것을 생각하면 내일 추가 할 것입니다. 잠 좀 자야 겠어 ...