C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66411] Re:C++빌더와 델파이 공부 깊게 해보려는데 조언좀
빌더 [] 1461 읽음    2012-02-25 18:42
아젠더 님이 쓰신 글 :
: C++은 어느정도 해봐서 왠만한건 프로그래밍 가능합니다.
: 이번에 C++빌더를 사용하게되어서 보고있는데 좀 갑갑하단 생각이 듭니다.
: C++빌더 사용하려는 목적이 VCL 컴퍼넌트를 깊게 다뤄보고 싶어서인데
: 델파이로 짜여있는 VCL 소스를 보려니 답답합니다.
: 파스칼 소스가 눈에 잘안들어고 분석하려니 복잡하고 눈앞이 캄캄합니다.
: 어떤 식으로 공부를 해야할지 조언좀 부탁할게요.




답변:


델파이에서 파스칼 랭귀지를 사용하죠. 파스칼 랭귀지가 만들어지게 된 동기는 프로그래밍을 배우는
학생들이 언어의 개념을 쉽게 배울수 있도록 하기 위해서였습니다. 원래 목적이 그랬기 때문에...
begin...end 등 친숙한 자연어를 키워드로 사용해서 언어를 설계했건 것도 그 때문 이고요.

자칭 델파이 매니아? 라고 말씀하는 분들 중에, 델파이가 C++보다 컴파일도 빠르고 더 월등하다고 하는
분들도 있더군요. 그러나 그런 분들은 언어의 구조를 잘모르고 있기 때문에 그런 말을 하는 겁니다.

파스칼 언어는 procedure, function, var 등... 이 블럭은 프로시져입니다. 이 블럭은 함수입니다.
이 블럭은 변수를 정의하는 블럭입니다.. 이런 식으로 키워드를 사용해서 특정 블럭을 표현하는 구조라서
컴파일러를 만들 때 파서를 구현하기가 다른 언어에 비해서 용이 합니다.

그에 반해서 C++ 같은 경우는 include 되는 헤더파일들 간의 종속적인 관계, 매크로 확장, 전처리, 거기다
template 까지 정의되어 있으면 그것도 파싱 해줘야하고, 또 언어 자체가 매우 추상적이고 복잡하기 때문에
파서 제너레이터를 이용해서 컴파일러를 구현하기도 쉬운 일이 아닙니다. 소스를 파싱해서 심볼테이블을
생성하고, AST 트리를 만들어서 코드를 최적화 하는 단계에 이르기 까지, 그 과정이 복잡해서 컴파일 시간도
길어 질수 밖에 없습니다. 그러나 Precompiled Header를 이용하면 처음에 빌드할 때만 시간이 좀 걸릴 뿐..
일단 Precompiled Header 데이타 베이스가 생성되고 난 이후 부터는 컴파일 시간이 대폭 줄어 듭니다.



아젠더님이 지금 혼란스러워하고 힘들어 하는 부분은...

RTL, VCL 프레임웍 구조가 복잡하고 또 처음이라 낯설어서 그런거지, 파스칼 언어 자체가 복잡해서 그런건 아닙니다.

깊게 들어가기 위해선 Embarcadero에서 제공하고 있는 프레임웍 분석이 필수지만, 그렇다고 파스칼에 너무 부담 가질
필요도 없습니다.

친척 집에... 이제 고등학교 2학년 밖에 안되는 꼬맹이가 있는데... 이 녀석도 델파이를 곧잘 사용할 정도로 파스칼은
어려운 언어가 아닙니다.

VCL 프레임웍 소스를 보기에 앞서 파스칼 유닛에서 코드가 어떤 식으로 구성되는지 전체적인 큰 틀 부터 확인하고
시작해보세요. 세부적인 건 그 이후죠. 프로젝트에서 파스칼 소스를 불러오면 C++ 헤더파일을 생성해 줄텐데...
그걸 보면서 언어적인 차이를 확인해 보는 것도 도움이 될 겁니다.

+ -

관련 글 리스트
66410 C++빌더와 델파이 공부 깊게 해보려는데 조언좀 아젠더 1001 2012/02/25
66411     Re:C++빌더와 델파이 공부 깊게 해보려는데 조언좀 빌더 1461 2012/02/25
66421         Re:Re: 감사합니다 빌더님 아젠더 945 2012/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.