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

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[4006] C++문법과 C++ 개발툴...
박지훈.임프 [cbuilder] 5261 읽음    2002-03-26 17:19
요즘 개발툴들이 워낙 뽀다구가 나고, 그에 비해 C++ 문법을 공부하는 것은 지루해지기 쉬워서
공부하시는 분들께는 자칫 주객이 전도될 수 있습니다.

그래도 기본적으로 잊지 마셔야 할 것은, C++문법이 우선이고 어떤 개발툴이든 C++ 문법을 토대로
그 위에 지어진 집이라는 것입니다. C++ 기반의 개발툴들이 다양하게 나와서 서로 경쟁하는 것은
개발 편의성의 경쟁이지, 근본적인 기능면의 경쟁이 될 수는 없습니다.

예전에 도스 프로그래밍을 할 때는, 잘 짜여진 프로그램을 하나 작성하기 위해서는 기능 자체보다
유저 인터페이스에 더 많은 시간을 들일 때가 종종 있었습니다. 비주얼C++이나 C++Builder는 이런
UI에 들어가는 시간과 노력을 줄여주는 역할을 합니다. (물론 비주얼C++이 C++Builder에 비할 바는
아닙니다만.) 물론 MFC나 VCL 등 각종 라이브러리의 함수나 클래스들이 비즈니스 로직이라고 불리는
프로그램의 핵심 기능의 구현에 많은 도움을 주기는 하지만, 비즈니스 로직(혹은 엔진)의 구현은
역시 프로그래머의 역량에 달려있습니다.

개발툴이 개발에 어느정도의 역할을 하느냐는 작성하는 프로그램이 UI에 얼마나 의존하느냐와 관련이
있습니다. 예를 들어서, 메모장 정도를 만든다면 C++Builder의 강력한 GUI 디자인 기능으로 거의
힘을 들이지 않고 쉽게 만들어낼 수 있습니다. 또 간단한 로컬 DB 애플리케이션(가게부라든지 주소록 등)
을 만드는 데도 C++Builder의 GUI 기능들에 더해 강력하고 편리한 디비 컴퍼넌트들을 사용하여 그리
어렵지 않게 만들어낼 수 있습니다.

하지만 일반적으로 '엔진'이라고 불리는 핵심 기능들을 만들어내는 데는 개발툴의 편의 기능들은
큰 도움이 안됩니다. C++Builder이든 Visual C++이든 리눅스의 gcc이든 어떤 개발툴을 사용하더라도
엔진 개발에 필요한 방법은 거의 차이가 나지 않을 것이며, 소요되는 시간과 노력도 비슷하게 됩니다.

그러므로, 일반적으로는 특정 개발툴에 종속되는 라이브러리(MFC나 VCL 등)를 사용하는 것만 주의해서
피한다면 어떤 운영체제라도 동일한 소스로 작성된 엔진을 포팅할 수 있는 것이며, 이런 면에서
C++의 강력한 ANSI 표준에 의한 호환성이 중요한 것입니다. (물론 CLX의 경우처럼 크로스플랫폼
라이브러리를 사용하는 경우라면 예외적인 케이스지요.)

위에서 한 말들은 일반론이고...
초보자에게 있어, 개발툴과 C++ 문법 사이에서 어느것이 우선이냐 하는 것은, 개발툴이 뭐냐 하는
것과 큰 관련이 있습니다.

Visual C++을 사용하기로 마음을 먹었다면, Visual C++을 공부하기 전에 먼저 C++ 문법을 상당히 깊이
공부해야 할 것입니다. Visual C++은 거의 100% 코딩만으로 프로그래밍을 하는 관계로, C++ 문법을
먼저 충분히 숙지하지 못한 상태에서는 프로그래밍을 하는 것이 거의 불가능합니다. 또 무엇을 하든
기본적으로 만들어주는 불필요할 정도로 지나치게 복잡한 뼈대 클래스들은 C++에 익숙하지 목한
프로그래머를 혼란스럽게 만들기 충분합니다.

C++Builder라면 문제는 상당히 다릅니다. 비주얼한 GUI 컴퍼넌트들 뿐 아니라, 넌 비주얼 컴퍼넌트들까지
다양하게 구비되어 있어서 C++에 초보적인 사용자라고 하더라도 기본적인 사용은 충분히 가능합니다.
코딩을 제대로 못하는데 어떻게 개발툴을 사용하는가 하는 의문이 들 수도 있겠지만, C++Builder에서
프로그래밍은 코딩 기반과 컴퍼넌트 기반 양쪽 모두다 가능하므로 대학시절에 한 학기 동안 C++도
아닌 C언어 강의를 수강한 정도로도 기본적인 사용은 가능한 것입니다.


결론은..
Visual C++에 중심을 두고 싶으시다면, 먼저 C++을 가능한 한 깊이 공부하십시오.
그리고 다시 Visual C++ 프로그래밍에 도전해보시고, 그래도 진도가 도무지 안나간다면 다시
C++을 좀 더 공부하십시오. 그리고 다시 도전해보고, 그래도 모자라면 다시 공부해야 합니다.
Visual C++을 사용하면서 C++ 문법에서 막힌다면 다른 해결책은 거의 없다고 보면 됩니다.
Visual C++에서 방법은 오직 코딩 뿐이기 때문입니다.

C++Builder에 중심을 두시려면, 일단 C++Builder를 이용해서 일을 시작하시면 됩니다.
그리고 막히는 부분에서 C++을 공부하시면 됩니다. 물론 먼저 C++을 확실하게 마스터해놓을 수 있는
시간이 충분히 있으시다면 그렇게 하시는 것이 좋겠지만, 현재에 있어 당장 효과적인 결과물을 볼
수가 없는 딱딱한 C++만을 공부하는 것은 처음 공부하시는 분들께는 지루할 뿐 아니라, 프로그래밍이
얼마나 재미있는 것이 될 수 있는지를 깨닫기도 전에 지쳐서 나가떨어지기 쉽습니다.

그렇다고, C++Builder를 사용하다고 해서 C++에 대해 미숙한 상태로도 프로그래머로서 충분하다고
말씀드리는 것은 절대로 아닙니다. 물론 코딩에 덜 의존적인 작업들도 있습니다만, 어디까지나
C++Builder는 C++ 개발툴입니다. 지금과 같이 자바나 C#이 유행하는 시대에 C++ 개발자를 원하는
대분의 업체들은 자바나 C#등과는 차별화된 C++언어의 강력한 성능을 원하는 곳이 많기 때문입니다.
또 C++의 고급 문법들이 별로 필수적이지 않은 분야라고 하더라도, C++ 문법에의 높은 숙련도는
작업 효율을 높여줄 것이란 것은 당연하겠지요?


사족...

지금은 아니지만, 3~4년쯤 후면 자바나 C# 개발자가 C++ 개발자보다 많아질 것입니다.
VB도 이미 그렇지 않았느냐고 하실지 모르겠습니다만, VB는 C++의 시대에서 C++의 그늘 아래에 있었습니다.
물론 델파이도 마찬가지입니다. VB나 델파이 등은 모두 많건 적건 C++의 영향력 아래에 있었습니다.
쉽게 말하자면, 지금까지는 어떤 개발툴이건 직간접적으로 C++과 비교가 되었다는 것입니다.

하지만 이런 상황은 조금씩 변해가고 있습니다. 자바로 시작해서, 최근의 C#까지, 이런 언어들은
C++의 테두리와 영향력을 벗어나가고 있습니다. 쉽고 빠른 것이 개발 작업에서의 절대적인 미덕으로
인식되는 현상이 점점 가속되고 있는 것입니다.

자바나 C#을 보고 쉬운 언어라고 하면 자바 혹은 C#의 고급 개발자들이 발끈하시겠지만, C++과
비슷하거나 더 어렵다고는 누구도 말하지 못할 것입니다. 사실, 지금은 아니겠지만, 90년대 후반에
자바를 시작하셨던 지금의 자바 고급 개발자 분들은 C++의 어려움에 중도에 포기하고 자바로 전향
하셨던 분들이 많았습니다. 또 지금의 MS의 정책을 보더라도, C# 개발자 층을 단기간에 채워서
자바에 대항하기 위해, VB 개발자로부터 C# 초급자를, VC로부터 C# 고급자를 보충하려는 의도가
군데군데 엿보입니다.

C++은 원래부터가 강력한 성능을 위한 시스템 언어로서 설계된 것이므로 80~90년대의 C++ 열기는
다소 과열된 면이 없지 않았습니다. 이에 반해, 자바나 C#의 경우, 물론 각자 내세우는 언어 자체의
이상이 있기는 하지만 그보다는 먼저 쉬운 개발을 최우선으로 하고 있습니다.

다시말해, C++은 분명히 어려운 언어입니다. (문법보다는 사용하기가 어렵다는 말입니다. C++ 문법
자체는 대단히 단순하지요.) 먼 길이라는 것을 시작부터 분명히 인식하시고, 차근차근 한발한발
나아가셔야 합니다. 더 깊이 들어가시기 전에, 적어도 왜 다른 언어가 아닌 C++을 선택했는지를
다시 한번 깊이 고려해보시는 것이 좋을 겁니다. 그 고려의 결론이 돌아서는 것이든 혹은 남아있기로
결정하는 것이든 어느쪽이든 조해진님께 도움이 될 겁니다.

또 장황한 글을... -.-;;;;
(당분간 잠수해야게따...)

그럼...



조해진 님이 쓰신 글 :
: C++ 공부를 하는데
:
: 기본적인건 기초책2권 [ 다보진 못하고] 봤는데
:
: C++ 책을 보는건  결국 VC++ 나 C++ 빌더 툴을 잘 사용하기 위함인듯한
:
: 느낌이 들었거든요
:
: 기초책에 예제가  나와있는건   콜솔용으로 짜여진 아주 기본적인것들뿐이고
:
: 윈도우에서 간단한거 조차 [툴에서 그냥 폼하나 만드는 정도 수준]   툴을 사용안하고는
:
: API함수로 간단한거 만들기도 참 번거로운거 같아요 [API책 사서 조금 봤는데]
:
: C++ 언어를 배우는건 툴을 사용하기 위함 배움인지 헷갈리기 시작했습니다
:
: C++책에 나와있는 콜솔용 예제...... 즉
:
: 콜솔용 프로그램하는건  C나 C++이나 그놈이 그놈 같고  굳이 C++를 사용해야 하는지도
:
: 몰겠네요  콜솔자체가 혹시 구조적 프로그래밍으로 된거 아닌가여? --;
:
: 윈도우에 와서야 C++의 객체 지향 --; [잘 모름] 를 쓸수 있는거 같은데
:

:  클래스 사용은 VC++나 C++ 빌더 라는 툴을 사용할때 빛이나는거 같은데
:
: 일단 맹목적으로 C++를 잘하기 위해 C++ 중급서적도 여러권 주문했거든요 와우북에서
:
: 잘하는 짓인지 --;  점점 헷갈리고 있습니다 .  
:
: 계속 C++ 공부해도 되는거져? --;  VC++ 초보부분만 보고 접고 C++하는데
:
: C++ 고수의 길의 왕도가 몬지  --; ,툴 사용법이 C++보다 더 배우기 힘든거 같은데
:
: [물론 C++ 초급책만 봐성 그렇지만]
:
: 왕도를 알거나  이미 걷고 있는분은 답변좀 T_T;
:
: 그럼
:
:
:

+ -

관련 글 리스트
3996 C++를 공부하는데.... 조해진 3539 2002/03/25
4006     C++문법과 C++ 개발툴... 박지훈.임프 5261 2002/03/26
4014         흠... 난 자바가 더 어렵던데...-_-;; 김백일 4532 2002/03/26
4019             저도 자바가 어렵다고 생각합니다. -_- 지영배 3406 2002/03/27
4009         음 캬캬 또 한차례 바람이 거세게 불겠군~ ^ㅅ^ 에보니.+ㅁ+ 2982 2002/03/26
4008         Re:C++문법과 C++ 개발툴... 조해진 3503 2002/03/26
4017             간단히 덧붙이자면.. lycian 3275 2002/03/27
4010             Re:Re:C++문법과 C++ 개발툴... 박지훈.임프 3250 2002/03/26
4001     Re:C++를 공부하는데.... 하느리 3295 2002/03/26
3999     Re:C++를 공부하는데.... 남병철.레조 3252 2002/03/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.