:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
19/05/29 16:09
자연과학, 공학에서 쓰는 프로그래밍은 연구를 도와주는 도구일 뿐이니 10~20년된 소스를 그냥 써도 상관없죠. 다만 컴공쪽은 프로그래밍이 본업이라 좀 다릅니다. 옛날 소스를 그대로 쓰면 효율이 안나와요. 지난 수십년간 발달한 CPU, 네트워크 속도를 반영하려면 사용하는 프로그래밍 언어 및 아키텍처 역시 발달해야 합니다. 예를드신 머신러닝만 해도 구글은 텐서플로 만드려고 코드만 새로짠게 아니라 하드웨어까지 새로 만들었습니다.
19/05/29 16:14
자연과학 쪽도 계산시간이 무지막지하게 오래 걸리다 보니 현업에서도 '계산 시간을 단축하고 효율을 올리는 연구' 자체는 꾸준히 시행되고 있습니다. 그래서 사실 기존 소스를 완전히 뒤엎는 식의 연구도 하기는 해요. 그러나 그런 식으로 할지라도 프로그래밍 언어나 개발 방법은 진짜 차이가 많이 납니다. 최신 알고리즘을 포트란으로 짜는 건 예사고요. 하드웨어를 직접 개발하는 건 진짜 컴퓨터과학·공학의 범주라 거기까지는 안 나가긴 합니다만, GPGPU 등 최신 하드웨어 자체에는 컴퓨터 쪽 유행도 잘 따라가는 것 같아요. 슈퍼컴퓨터 등 고성능 컴퓨터 수요에서 무시할 수 없는 게 이 자연과학·공학 쪽 분야기도 하고요. 그럼에도 소프트웨어 개발에서는 영 딴판인 것 같아서요.
19/05/29 18:56
컴공에서 쓰는 '소프트웨어'라는 단어의 범위 자체가 다른 분야에 비해 훨씬 넓습니다. 모바일 앱, 게임, 머신러닝 등등.. 분야가 다양하다 보니까 차이가 날 수 밖에 없을 것 같습니다. 새로운 소프트웨어 개발은 여러가지 유인에 의해 만들어지는데, 자연과학(연구)는 비교적 범위가 좁아 보이긴 합니다.
19/05/29 16:11
기상-대기 쪽 분야입니다.
안바뀌는 이유는 코드가 주목적이 아니라 이를 통해 계산된 결과가 주된 목적이기 때문이라고 생각합니다. 그리고 기후모델과 같은 경우에는 코어부터 거기에 달려있는 여러 sub-routine들이 각각 하나의 분야에서 관측-이론을 기반으로 만들어진 것이기 때문에 버전업을 하면서 모델 내의 모든 코드를 다른 프로그래밍으로 바꾸게 된다면 어마어마한 인력이 갈려들어가기에 할 여력이 나오지 않는 것 같습니다.
19/05/29 16:19
통신 분야이고 파이썬, 매트랩을 쓰고 있는데요. 파이썬을 쓰는 이유는 머신러닝 관련 라이브러리 때문이고 매트랩은 그래프를 그려서 분석하기 좋습니다.
그리고 두 언어 모두 다 해당되는 강점은 코딩을 하기가 매우 간단합니다. 그리고 세부적인 메모리 관리를 알아서 하기 때문에 그 부분도 따로 신경 쓰지 않아도 됩니다. 단점이라면 상대적으로 느리다는 점이있긴 한데 이건 최근 하드웨어 발전과 병렬처리등으로 많이 극복되고 있습니다.
19/05/29 17:09
컴퓨터사이언스에서는 프로그래밍 언어의 가치가 계산 속도 이외에도 여러가지가 있지만,
일반 수치계산하는 입장에서는 다 모르겠고 속도만 빠르만 장땡입니다. 총 계산시간은 (코드 작성 시간) + (계산 수행 시간)에서 계산 수행 시간 대비 고속화 코드 작성 시간 소요가 더 크다면 굳이 고속화할 필요없이 오히려 무식하게 돌리는게 효율적이에요. 그냥 80년대 개발된 포트란 코드 그대로 돌리는거죠. 만약 계산 수행 시간이 일주일, 한달을 넘어가는거면 30%만 단축해도 얻을 수 있는 이득이 더 크니, cuda든 새로운 언어든 벡터라이제이션이든 다 적용해서 새로 짜는거구요. 만약에 c, fortran보다 반복문이 수십배 빠른 언어가 개발된다면, 모든 공학자들은 유행을 따를걸요? 그런 언어가 나올리가 없으니 기껏 돌려봐야 수십시간 정도 돌아가는 계산을 다루는 사람들은 신기술에 별 관심없죠. 요즘 머신러닝 같은걸 적용하는 쪽이라면 좋은 라이브러리가 있는 언어로 갈아타는게 훨씬 효율적이니 python이나 julia 같은걸 사용하는 거구요.
19/05/29 17:10
큰 원인 중 하나는 언어에 대한 온도와 부담이 전공에 따라 다르기 때문이라고 봅니다.
같은 프로그램을 만들어도 구현언어에 따라 성능이 다르게 나오는 경우가 많습니다. 자연과학 계열에서는 이에 큰 의미를 두지 않는 반면 컴공 분야에서는 열광하고 분석합니다. 설령 자연과학 계열에서 그런 흐름이 있다고 하더라도.. 종사하는 사람의 수가 다릅니다. 또, 컴퓨터 언어의 대한 이해도 차이가 확실히 존재하기 때문입니다. 컴공 전공자들은 새로운 언어를 접하더라도 1~3일 정도면 어느정도 사용할 수 있지만.. 자연과학/공학의 일반적인 전공자들은 그게 안되죠. 굉장히 부담스러워 하는 경향이 강합니다. 이는 R, 매트랩이 자연과학 계열에서 주류가 된 원인과 상통합니다. (R, 매트랩은 자연과학 계열에서 요구하는 행렬계산, 통계적 분석, 그래프 작성 등의 대부분의 기능들이 내장되어 있습니다.) 아무래도 컴퓨터를 계산도구로 보는 사람과 연구개발의 대상으로 보는 사람의 차이가 큰 것이라 생각합니다. 다만 최근 딥러닝을 비롯한 기계학습이 메인스트림이 되면서.. 자연과학/공학 계열도 R, 매트랩이 강세에서 최근에는 파이썬으로 넘어오는 추세로 알고있습니다.
|