프로그래밍 공부하려고 하는데, C++ vs C

  • #3731326
    aaas 72.***.75.32 986

    분자동역학등등 과학분야에 쓰는거라서 이 둘중에 하나를 배우려고 해요.

    둘중에 어떤게 더 나을까요?

    15년전에 포트란도 좀 써보고 씨도 좀 써봤는데 프로그래밍을 따라 배우지 않아서 배울려고 해요.

    • Gsusuwiw 50.***.180.26

      갠적으로는 둘보다는 파이썬을 추천하고 싶네요

    • aaas 72.***.75.32

      파이썬은 이미 공부했는데 제 목적에 맞지 않아서요. (너무 느림 etc.).

    • ? 118.***.142.16

      C랑 C++이랑 겹치는게 많아서
      바로 C++ 하시거나
      일단 C부터 하시다가 추가로 OOP 개념 필요하면 C++도 배우시면 될듯요

    • ion 172.***.99.196

      당연히 C++이죠 특히 modern C++은 C와 전혀 다릅니다

    • 누가 104.***.139.108

      C++
      누가 C++과 C가 비슷 하데?
      C++은 oop라서 오히려 java랑 유사
      진짜 하드웨어 가까운쪽 임베디드를 할게 아니라면 C++을 공부하는게 활용도가 높음

    • Liquor 47.***.237.62

      아마 C++ 이 나을듯..요즘 과학 프로그램들 포트란으로 부터 C++ 로 다 바꾸는 추세라서..
      물리학에서도 예전에는 입자가속기 관련 프로그램 포트란 베이스로 쓰다가 C++ 로 다 바꿔서 쓰고 있음…
      파이썬은 너무 느리고 헤비해서 과학프로그램에 사용하기는 음…

    • 0xabcdef 93.***.234.206

      당연히 c++ 쓰셔야하고요. Modern hardware acceleration 써보세요. SIMD vectorization 검색하시면 나옵니다. x86의 경우 cpu마다 다르지만 avx512 또는 avx2가 지원되는 cpu를 public cloud(aws, azure, gcp등)만드셔서 처리하세요. 그리고 parallel execution이 되도록 multi threading programming하셔야 합니다. 더 나아가서 distributed system에 관심 있으시면 여러대의 서버를 나눠서 병렬처리가 가능하게 할 수 있습니다.

    • 지나가다 174.***.139.134

      Cad tool이용하세요. 아님 Phthon numpi numba같이 고성능 라이브러리 쓰시고. Cuda programming python으로도 나와있아요. 프로그래밍이 느린건 코딩이 비효율적이라 그런건데. CS전공자도 아니신데 C++ 고속 프로그래밍 하신다면 근처에 가기도전에 넉다운 되실겁니다.

      • aaas 72.***.75.32

        참 이게 딜레마입니다.

        과학 연구라서 연구 내용도 알아야 되고
        코딩도 해야되고.

        상용/ 오픈소스 프로그램도 헤비하게는 cpu 수백개 몇달 돌리기도 합니다.
        제 분야에서는 python 으로 진지한 시뮬레이션 돌리는걸 본적이 없네요.

    • aaas 99.***.21.67

      1. 제가 개발하랴고요…

    • aaas 99.***.21.67

      분자동역학”등등”

      분자동역학용 프로그램은 필요한 경우 몇개 써봤고,

      이미 존재하는거로 불가능한게 있어서 직접 (somewhat coarse-grained) 프로그램만들려고 해요.