이러한 유형의 질문 중 하나는 어려움이 커뮤니티에 따라 다르다는 것입니다.
우연한 순서로 일부 질문에 대답하려면 :
MATLAB은 학계와 산업에서 많이 사용됩니다. 업계에서 꽤 많이 사용되는 이유 중 하나는 학계에서 가르치기 때문입니다. MATLAB이 Lincoln Laboratory 및 DuPont의 연구 개발 부서에서 사용된다는 사실을 알고 있습니다.
sympy 및 SAGE와 같은 기호 계산에 적합한 Python으로 작성된 소프트웨어 패키지가 있습니다. 특정 관심사, 기능 요구 사항 및 개인 취향에 따라 Mathematica (또는 Maple 또는 기타 컴퓨터 대수 시스템)가 이러한 패키지보다 우수 할 수 있습니다.
MATLAB에는 일부 기호 계산에 사용할 수있는 Symbolic Math Toolbox가 있지만 필자의 경험상 Mathematica 및 Python보다 기호 조작 기능이 약합니다. C ++에서는 이론적으로 일부 기호 조작을 수행 할 수 있지만 다루기가 어렵습니다. MATLAB도 좋은 범용 언어가 아닙니다. 선형 대수와 수치 수학을 잘 수행하지만 입출력 기능이 우수하지 않습니다. C ++ 또는 Python과 비교할 때 병렬 병렬 기능 (병렬 MATLAB, MATLAB Star-P 및 Parallel Computing Toolbox와 같은 변형이 있더라도)이 없습니다. 그래픽 기능조차 일부 작업을 사용할 수 있습니다. MATLAB은 라이센스가있는 기관과 제휴하지 않는 한 비쌉니다. 각 도구 상자는 구입 비용이 비싸며 일반적으로 수백에서 수천 달러의 비용이 듭니다.
Mathematica는 기호 계산 외에도 숫자 계산을 수행합니다. 사람들이 숫자 작업에 Python과 MATLAB을 사용하는 것처럼 사람들이 수치 계산에 사용하는 것을 보지 못했습니다. 병렬 기능도 있지만 대형 슈퍼 컴퓨터에는 확장되지 않습니다.
파이썬은 배우기 쉽고 사용하기 쉬운 것으로 간주되는 범용 언어입니다. 대형 슈퍼 컴퓨터 (예 : PyClaw, petsc4py, mpi4py 등)에서 사용되며 잘 확장됩니다. 또한 숫자 패키지 (예 : NumPy 및 SciPy)도 높이 평가했습니다. 크고 활동적인 공동체; 좋은 입출력 처리 능력; 큰 라이브러리 저장소와 함께 좋은 그래픽 라이브러리 (PyPI를 확인하십시오). 위에서 언급 한 독점 패키지에 비해 무료입니다. MATLAB 또는 Mathematica의 대부분의 기능은 무료로 제공되는 Python 패키지에서 찾을 수 있습니다. Python의 주요 단점은 C ++과 같은 컴파일 된 언어보다 속도가 느리다는 점입니다. Cython, Numba 및 PyPy의 지속적인 개발로 인해 이러한 단점이 줄어들고 있습니다. 또한 느린 Python 코드를 C (또는 C ++ 또는 Fortran) 코드 및 적절하게 작성된 Python 래퍼로 대체하여 완화 할 수 있습니다. 해석하면 많은 사람들이 컴파일 된 언어보다 파이썬으로 더 높은 생산성을보고합니다. 꽤 인기가 있으며 시간이 있으면 배우는 것이 좋습니다.
C ++은 복잡한 언어이며 계산 과학에서 사용하는 것은 논란의 여지가 있습니다. 큰 기능 세트를 사용하면 유지 관리가 어렵고 컴파일하는 데 영원히 걸리는 소프트웨어를 쉽게 작성할 수 있습니다. 그러나 신중하게 사용하면 deal.II, Blaze 및 Elemental과 같은 프로젝트에서와 같이 템플릿 및 연산자 오버로드와 같은 기능을 큰 효과로 사용할 수 있습니다. C ++은 고급 기능과 관련하여 가파른 학습 곡선을 가지고 있으며, 사람들이 전체 언어를 배우는 것처럼 느끼기 위해 수년이 걸리는 일화 보고서를 들었습니다. 그럼에도 불구하고 사용성 문제와 복잡한 기능 세트에도 불구하고 인기있는 언어입니다. 자신을 더 잘 활용하기 위해서는 배우는 것이 좋습니다. 전산 과학의 주요 경쟁자는 Fortran과 C이며 학습 가치가 있습니다.
배우기로 결정한 것은 실제로 필요한 것에 따라 결정됩니다. 물론 파이썬과 C ++를 모두 배우는 것이 좋지만 시간과 리소스 제약이 있다면 실제로 사용해야 할 내용 만 배우게 될 것입니다. 이는 작업하는 커뮤니티에 따라 다릅니다.