C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[6896] Re: 수치해석은 포트란이 '왔다'임당... -_-;;
김백일.cedar [cedar] 3271 읽음    2003-02-27 10:14
초보자 님이 쓰신 글 :
: 제가 개발 하려는건 수학적이나 물리학적인 학문을 위한
:
: 즉 컴퓨터 프로그램 개발이 목적이 아닌 수치해석등을 위한
:
: 새로운 개발방법론과 개발도구 입니다.
:
:
: 수치해석관련 프로그래밍에서는 c++보다 c가 오히려 효율적이라는게
:
: 제 판단이였고, c++의 여러기능들은 대부분 쓰이지 않고,
:
: 실제로도 c가 더 많이 쓰인다고 알고 있습니다.

아닙니다.
비밀님이 올려주신 링크인 geekforum(현재는 운영이 중단되고, 자료 읽기만 가능합니다.)의 토론인
'C/C++을 이용한 수치해석'에 올라있는 글들을 자세히 읽어보세요.
http://geekforum.kldp.org/stories.php?story=02/07/18/9701140
(허접하지만 제가 올린 글도 있네요. ^^;)

그 토론글들의 내용을 대강 정리하면,
수치해석에 가장 많이 쓰이는 언어는 최초의 고급언어인 포트란입니다.
언어 구조가 가장 단순하기 때문에 속도가 가장 빠릅니다.
실제로 포트란 명령어는 자주 사용되는 어셈블리 코드의 패턴을 하나의 명령어로 치환한 것이고,
스택의 개념이 없이 call by name으로 서브루틴(그래서 '프로시져'나 '함수'가 아니죠.) 호출을 하는 단순한 구조입니다.
(베이직도 포트란의 영향을 받은 언어이므로 위의 얘기를 잘 아실 것입니다만, 컴파일러가 아니라 인터프리터이므로, 논외로 해야겠죠.)
반면에 C나 파스칼과 같은 구조화 프로그래밍 언어이미로
모든 명령어가 함수(프로시져)이고, 함수를 호출(call by value, call by reference)할 때마다
런타임 스택에 인자(argument)들 push, pop하는 오버헤드가 있어서 느릴 수 밖에 없습니다.

이러한 C의 문제점을 해결하기 위해, C++에 도입된 것이 인라이닝(inlining)과 템플릿(template)입니다. 이것들을 잘 사용하면 C보다 훨씬 빠르고 포트란의 속도에 근접할 수 있습니다.
이렇게 template을 intensive하게 사용하는 방법으로 Fortran과의 속도 차이를 극복하려는 노력이 최근에 많이 시도되어서, Blitz++( http://www.oonumerics.org/blitz/ )와 같은 라이브러리들이 많이 사용되고 있습니다.

: 그래서 c기반의 개발도구를 제작하려고 했습니다.
:
: 하지만 저는 c를써본적이 없고,
:
: basic을 몇년간 써오다가 c++로 바꾼지 몇년 안되는 신출내기에 불과하기때문에,
:
: c는 직접적으로 써본적이 없기에..

C++ 프로그래밍 경험이 부족하시고, 베이직에는 능숙하시다면,
빠른 시간내에 개발을 착수하시려면, 포트란을 쓰실 것을 권합니다.
(베이직과 구조가 유사하므로, 쉽게 배우실 수 있습니다.)
말씀드린대로 속도도 빠르고, 몇십년간 구축된 방대한 수치해석 라이브러리가 존재합니다.

시간에 여유가 있고, 포트란과 같은 허접한 구조의 언어를 쓰기 싫으시다면
C++을 쓰시면 되겠죠.

: c의 개발방법론에 대해서는 제 생각이 맞는지 의구심이 들었습니다.
:
: 물론 c++도 c에서 파생된거라곤 하지만 방법론에서 많은 차이가 있는거 같아서
:
: (적어도 초보인제눈엔..) 그래서 여기다가 질문을 한거구요..
:
:
: 그리고 마지막질문은.. 공개된 빌더 컴파일러에서 소스를 c로 컴파일 하기위한
:
: 옵션 '/o' 같은 거를 질문한거였습니다만.. 빌더의 컴파일 설정에서 그게 된다고 하니
:
: 공개된 빌더 컴파일러의 옵션중에 하나 있을거 같네요..
:
:
: 제가 말주변이 없어서 이렇게 다시 글을 씁니다..
:
: 답변해주신 분들감사하구요..
:
: 혹시나 수치해석에 대한 알고계신 정보나, 'C'의 개발방법론에대한
:
: 생각이나 알고 계신점이 계시는 분들께서는 수고스럽겠지만 답변을 해주셨으면 좋겠습니다.
:
:
: 이런건 대학 교수나 연구원 분들에게 질문해야겠지만, 인맥이 없어서요...
:
: 부득이 하게.. 제가알고 있는 사이트중에 가장 친절한 이곳에다가 올립니다..
:
:
: 다시한번.. 자유게시판에 질문을 올려서 죄송합니다...
:
:

+ -

관련 글 리스트
6890 C언어에 관한.. 여러분들의 생각을 듣고 싶습니다. 초보자 1096 2003/02/26
6894     이글 질문한 사람입니다..;; 초보자 1048 2003/02/26
6896         Re: 수치해석은 포트란이 '왔다'임당... -_-;; 김백일.cedar 3271 2003/02/27
6895         Re:이글 질문한 사람입니다..;; Julien 994 2003/02/27
6897             Re:Re:이글 질문한 사람입니다..;; 이명주 961 2003/02/27
6892     Re:C언어에 관한.. 여러분들의 생각을 듣고 싶습니다. 김백일.cedar 1147 2003/02/26
6891     Re:C언어에 관한.. 여러분들의 생각을 듣고 싶습니다. 박상철.oseb 1124 2003/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.