창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 김길남2007-01-29 01:00:24, Hit : 6915
프로그래밍을 공부할때 기억나는 큰 가르침이 뭐가 있으셨나요,,,
Homepage : http://infomasi.com
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=freeboard&no=3471
저는 컴을 만저본지 약 10년 된듯 합니다.

처음 포토샵을 한 서너달 하니까 조금 감이 오고..
당시 큰 벽은 레이어와 체널에 관한것이였구요 그것을 이해 하니 응용력이 막 생기더군요,,

그러다가 메크로미디어사의 플래시라는걸 접한뒤 죽어라고 노가다가 하다가,,,플래시의 액션 스크립트를 보고 좌절과 함께 큰벽이 생기더군요,,그러나 그래픽보다 더 매력적인 것이기도 했구요,,

그래서 늘 컴퓨터 언어에 대해서 기웃거렸습니다,, 시간이 꽤 흘렀는데도 각종 그래픽 응용프로그램에 비해서는 현저하게 이해도 부족하고 응용력도 생기지 않는군요,,

그 원인이 저 스스로 산수나 수학의 기초가 없음에 두고 있습니다.
물론 아주 기초프로그래밍은 수학이 필요 없다고 도 하시겠지만,
저는 변수 라는 단어 자채를 이해 하는데 무지 오래 걸렸습니다.

뿐만아니라 중요한것이 있었는데,,,
타자를 못칩니다. 물론 전문 유저들은 마우스보다 자판을 통한 컴과 의사전달이 더 빠르다고 하시겠지만 , 그러나 일반인들은 타자를 쳐서 컴과 의사소통한다는 그 자체가 부담입니다.
해서 오늘부로 영문타자에 대한 생각을 달리 할려고 마음 먹고 있습니다.

어째든 컴퓨터 언어를 해석하는데 결정적인 중요한 계기가 있었는데,,
그것은 모든 프로그래밍 언어들이 계층구조(?정확한 단어선택인지는 모름) 바탕으로 구성됬더군요,,

지금까지 프로그래밍 언어를 기웃 거리면서 제일 속시원한 갈증 해소 였습니다,
모든 언어들은 계층구조가 있고,,, 거기에 따른 순서,, 또는 경로가 분명해야만
문법이 무엇을 지시 하는지가 보인다는것을 알려주지 않은  많은 기초강좌들이 원망스러워 지기까지 하더군요... (아마도 이야기 했어도 제가 인지를 못했을가능성이 크지만요,,,

그렇다면 이른바 이것이 객채지향 언어라는 것인가요??

여러분은 프로그래밍 학습에 있어 갑자기 업이 된 계기와 그 내용도 부탁드립니다..





지상현   2007-01-29 AM 4:48:12  
물론 객체 지향 개념이 제일 환상적이지만, 실제적으로 컴퓨터가 어떻게 돌아가는지 아주 낮은 단계에서 파악하는게 좋습니다.
일단 포인터를 이해하면 여러모로 일이 쉬워집니다.

객체 지향 및 디자인 패턴은 프로그래밍 세계에서 가장 꼭대기를 차지하는 기술(?)이고, 잘 포장되어 있으며 사용하기 쉽습니다.
(심지어 프로그래밍을 잘 몰라도)
물론 그런 것을 이룩하기 위해 내부적으로는 굉장히 복잡하다는 단점이 있죠.
즉, 객체지향(OO)의 세계에서는 같은 프로그래머라도 제공하는 자와 제공받는 자가 생깁니다.
(참고로 창조는 불완전 객체지향 언어입니다.)

OO는 여러 낮은 단계의 요소들를 멋지게 포장해주는 역할을 하며, 잘만든 객체는 내부가 어떻게 생겼는지 볼 필요 없이(그리고 볼 수도 없이) 멋지게 동작하기 때문에, 사용하는 사람은 그 속을 알 필요가 없습니다.
포장이 잘 되어 있기 때문에 그 포장을 풀 수 없다는게 단점이자 장정입니다.



그와는 반대로 낮은 단계로 내려가면, Basic, C나 파스칼 같은 언어가 보이기 시작하죠.
모든 프로그래밍 언어들은 계층 구조가 있다고 하셨는데, 그렇지 않은 언어들도 많습니다.
이런 언어들의 특징은 직관적이고 복잡한 요소가 별로 없다는겁니니다.
대신 그만큼 다른 고급 언어, 즉 OO 언어들이 하나 하나 처리해 나가는 것을 얼마 없는 명령어와 문법 조합으로 몽땅 구현해야 하기 때문에 사용하기는 좀 더 복잡하다고 볼 수 있습니다.
특히 C는 포인터라는 잘쓰면 좋고 못쓰면 나쁜 아주 낮은 단계의 요소를 대놓고 여기저기 쓰고 있어서 처음 배우는 사람들이 난해해하죠. (개념은 그리 어렵지 않은데 포인터 계산 부분에서 헷갈립니다.)

다른 고급 언어들은 이 포인터를 숨겨놓았거나, 있더라도 다른 편리한 요소들로 포장해놨기 때문에 큰 어려움을 느끼지 못합니다.

※주: 고급 언어와 저급 언어의 차이
고급/저급이란 것은 언어의 수준 차이를 의미하는게 아니라, 컴퓨터 본래 생김새에 더 맞는 것을 저급, 사람이 쓰기에 더 편한 것을 고급 언어라고 합니다.



여튼 계속 아래로 내려가다보면 어셈블리가 나오겠죠.

(참고: 기계어는 프로그래밍 언어가 아님 - 사람이 사용하는 언어를 자연어, 기계가 사용하는 언어를 기계어라고 합니다. 자연어가 프로그래밍 언어가 아니듯이 기계어도 프로그래밍 언어가 아닙니다. 프로그래밍 언어는 기계어로 된 것을 만드는게 목적인데 기계어가 프로그래밍 언어가 될 수는 없겠죠. 한가지 더, 어셈블리와 기계어는 다릅니다.)


어셈블리를 다룰 줄 안다면, 그것은 컴퓨터가(거의 CPU) 명령들을 어떻게 처리하는지 가장 가까이서 보는 것과 같습니다.
CPU 명령 중 실제로 쓰이는 명령어들은 몇 개 안됩니다.
그것도 동작이 아주 단순하죠.

고급 언어일수록 어셈블리에서 멀기 때문에 내부적으로 어떻게 동작하는지 알 길이 없죠.

정말 컴퓨터가 어떻게 돌아가는지 궁금하시다면, 어셈블리에 도전해보세요. 실제로 사용 하든 말든, 어셈블리를 아는 것과 모르는 것은 다릅니다.

한참 빙 둘러서 이야기 했는데, 컴퓨터를 보다 가까이 이해하고 싶다면 보다 가까이 있는 것을 익히시는게 좋습니다.
제가 알기로 어셈블리가 제일 가까운 것 같네요. (프로그래밍 쪽에서.)

어셈블리를 하다보면, 여러 언어들에서 말하는 수많은 고급 개념들이 허물어지는 것을 느낄 수 있습니다.
결국 그런 것들도 이 단순한 명령들의 조합일 뿐이니까요.
Pueding   2007-01-29 AM 11:59:57  
(으음,, 지상현님의 엄청난 글의 압박속에서 -_-;)

처음 프로그래밍할때는, 뭔지도 몰르고 무작정 따라 하기 엿지만,

객체지향의 뜻을 알때, 윈도우 어플리케이션의 작동원리를 알때,

비로소, 프로그래밍의 진실이 보이더군요 :)

[상현님께서 말씀하셧듯이, 단순한 명령들의 조합일뿐입니다.]
김길남   2007-01-29 PM 5:09:23  
그럼 푸딩님은
객체지향의 뜻을 무엇으로 이해 하셨는지,,,요??
지상현   2007-01-29 PM 8:27:06  
객체 지향은 사실 프로그래밍과 무관한 내용입니다.
어떠한 사고 방식 중 하나일 뿐이죠. 프로그래밍을 하는 수단은 아닙니다.
따라서 객체 지향 언어나 컴파일러 같은 것이 내부적으로 어떻게 구현해도 상관 없고, 또 강제 사항도 없습니다.
그저 겉보기에 객체 지향이면 그것이 객체 지향 언어가 됩니다.


객체 지향은 말 그대로 기존의 절차적 프로그래밍 방식에서 "객체"를 "지향"하는 것입니다.
절차적 프로그래밍은 별 거 없고, 그냥 명령어들을 나열하면 순서대로 실행해가는 방식이라고 생각하세요.
객체 지향은 이것을 객체라는 방식으로 다시 포장하는 것이죠.

간단히 말하자면, 어떤 객체의 명령이나 속성을 객체 스스로가 갖는 겁니다. (실제로는 객체는 그냥 명령어 뿐입니다.)
복잡한 주제이므로 제가 설명할 순 없지만, 지금 창조는 불완전한 객체 지향이기 때문에 창조만 가지고는 객체 지향이 무엇인지 알기는 힘들 겁니다.
C++나 자바, 델파이 같은 언어들을 만져 보셔야 객체 지향이 어떤 것이고 어떤 개념이 있는지 이해할 수 있을거라고 생각합니다.
(다만 이런 것들은 1~2년 해서 이해할 수 있는게 아닙니다 ^^;)
Pueding   2007-01-29 PM 10:05:43  
지상현님의 설명에 별로 할말이 없네요 -_-ㅋㅋ
김길남   2007-01-30 AM 12:51:05  
저는 처음에 객채지향 프로그래밍이라고 해서,,,
레고블럭을 연상 했습니다.
프로그램을 짤때 할일들을 잘 나누어 놓고 나중에 그 명령들을,
나는 물론 같은 프로젝트에 참여하는 다른 사람들이 조립하기 쉽게 짠다는 것인걸로 생각 했습니다,

그러다가,,,
사용자함수가 객체인가,,,
또 창조 접하면서 ㅎ밑판, ㅎ눈금계,,, 이런것이 객체인가,,,??

근데 지금와서는 다시 원점.
창조가 왜 불완전한 객체지향 툴인지 눈꼼만큼도 눈치채지 못하는 저로서는 근 수년 동안은 이해 한다는것은 불가 할것같습니다.
지상현   2007-01-30 AM 7:23:11  
레고상자는 모듈이라고 생각하시면 됩니다.
모듈은 함수들을 모아둔 거라고 생각하시면 편하겠네요.
그럼 레고블럭은 함수 쯤 되겠죠.
(VB 같은 언어를 보면 실제로 아이콘이 레고블럭 같은 것이 여러 개 있는 형태입니다. -_-)

레고블럭을 조립하는 것은 프로그래머이고, 이것을 조립해서 프로그램을 만드는 것은 절차적 프로그래밍입니다.

객체지향은 좀 더 복잡합니다. 왜냐하면, 프로그램의 동작이나 흐름을 제어하는게 프로그래머가 아니고 객체, 즉 레고블럭이기 때문입니다. 물론 조립이야 프로그래머가 하지만요.

창조가 불완전 객체지향 언어인 이유는, 객체를 다루고 사용할 수는 있지만 만들 수가 없기 때문입니다.
진정한 객체지향 언어는 객체를 만들 수도 있어야겠죠.
(객체를 만들 수 있다면 일단 상속 개념부터 튀어나올듯... 신세계가 열라는 셈이죠 -_-)
손상진   2007-01-30 PM 1:16:10  
캬... 여러 이야기가 많이 나왔는데..
델파이로 코딩 하면서, 컨트롤 + 클릭하면서 깊숙한 세계로 빠져듭니다~^^
레드썬!--a
LIST ALL               GO TO THE TOP


N
C
   Subject
Posted by
Date
H
128
   제 바탕화면 [8]
장규형 2006/08/02  6982
127
   앗 제 포인트가 딱 4200점! [3]
지상현 2006/01/08  6987
126
   파일전송가능 테스트 완료.... [6]
박재성 2006/08/14  6989
125
   일 잘 하는 직원!!!!!
o00pp99oo 2016/09/22  6990
124
   델파이 말썽입니다 [2]
ps.이진백 2004/11/19  6993
123
   프로그램자료실 파일첨부가 없어요.. [2]
최재일[20JI] 2004/05/22  6995
122
   새로운 마음으로, 윈도우 싹 밀고^^; [9]
박종훈 2006/11/25  6995
121
   [잡담]길고 긴 밤을 무엇을 하며... [3]
김환욱 2006/12/01  6998
120
   지우개 관련 글 보고 컴피클린 카페에 글을 올렸습니다 [6]
정성우 2006/11/25  7007
119
   cugz.. 컥즈 -_-;; [6]
김정엽[닷넷] 2004/05/19  7020
118
   안냐세효올만입니다 IE7에 대해서...(성취도 평가에 대해서도) [9]
이진성 2006/11/27  7020
117
   아아~ 제길~ [1]
지상현 2003/04/02  7022
116
   리눅스를 깔고 싶은데... [7]
신용주 2007/07/19  7023
115
   블로그분양해드리겠습니다. [4]
박재성 2006/12/24  7037
114
   정팅에관해서..^^[창조를 사랑하는 모든분들..] [2]
권선중 2004/01/05  7038
113
   창조 속도 문제를 보완하기 위해서 [2]
성인e 2015/02/28  7039
112
   도움말 보다가 그야말로 무용지물인 명령어 발견 -_-;
지상현 2005/08/01  7041
111
   KT에서 넷피아 한글인터넷 서비스를 끊는다나... [4]
정성우 2006/09/24  7043
110
   흐미~ 급 맥북에어 뽐뿌가 올라오는군요ㅋ [7]
김동민 2011/08/18  7050
109
   도스용 한글 프로그래밍 언어? [13]
정성우 2005/03/29  7052
108
   오랜만에[?] 글 써봅니다. ^^; [2]
박종훈 2006/09/06  7052
107
   에에, 기타자료실에 올려놓은 것들은;
Midor☆ 2003/07/25  7057
106
   ftp 싸이트를 오픈했습니다 ㅋㅋ [7]
박재성[날개달기] 2004/10/01  7058
105
   창조로 irc 클라이언트 만들어보고있어요.
박재성 2015/03/19  7068
104
     [re] Satan에 관해서 아스키 코드를 보니까... [3]
최문석 2004/06/14  7075
LIST ALL   Prev [1]..[151] 152 [153][154][155][156][157] Next
Copyright 1999-2025 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7389 점
4권선중6077 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인