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


LIST ALL
Posted by 김길남2007-01-29 01:00:24, Hit : 5702
프로그래밍을 공부할때 기억나는 큰 가르침이 뭐가 있으셨나요,,,
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

   프로그래밍을 공부할때 기억나는 큰 가르침이 뭐가 있으셨나요,,, [8]
김길남 2007/01/29  5702
120
   핵이나 스파이등의 창제목과 클래스명... [3]
이희창[빙고] 2006/03/25  5705
119
   웹에디터 3.2 계획.. (웹에디터 3 Plus) [6]
박종훈 2006/05/19  5707
118
   보드 문제 해결되었어용.. ^^ [3]
최재일 2004/07/13  5709
117
   KT에서 넷피아 한글인터넷 서비스를 끊는다나... [4]
정성우 2006/09/24  5709
116
   웹에디터 계속 이어갈지도 모름 ^^ㅋ [5]
박종훈 2006/05/29  5721
115
   ..만들다가.. [14]
철희 2006/02/17  5722
114
   델마당 진입불능 -_-; [3]
ps.이진백 2004/06/23  5730
113
   리뉴얼 기념 ^-^ [1]
ps.이진백 2004/05/20  5734
112
   음.. 프로젝트 진행에.. 차질이 ^^; [4]
박종훈 2006/06/07  5734
111
   창조 속도 문제를 보완하기 위해서 [2]
성인e 2015/02/28  5735
110
   4시간동안의 사투.. [4]
권선중 2004/02/12  5736
109
   왼손 마우스 시작! [1]
ps.이진백 2004/08/29  5738
108
   [알림] 오늘부터 조금씩이라도 각종 팁을 올리겠습니다.. [2]
권선중 2003/09/09  5739
107
   한국, 오만 5:0 승 [1]
nJoySoft 2004/02/14  5743
106
   정팅에관해서..^^[창조를 사랑하는 모든분들..] [2]
권선중 2004/01/05  5747
105
   어휴; [2]
박종훈 2007/04/24  5748
104
   [잡담]길고 긴 밤을 무엇을 하며... [3]
김환욱 2006/12/01  5751
103
   cugz.. 컥즈 -_-;; [6]
김정엽[닷넷] 2004/05/19  5752
102
   CD 강좌에 보면은..
돌쇠형님 2002/09/07  5753
101
   리눅스를 깔고 싶은데... [7]
신용주 2007/07/19  5756
100
   블로그분양해드리겠습니다. [4]
박재성 2006/12/24  5757
99
   으~ 소름이... [2]
위자드 2003/02/27  5760
98
   ftp 싸이트를 오픈했습니다 ㅋㅋ [7]
박재성[날개달기] 2004/10/01  5762
97
   도움말 보다가 그야말로 무용지물인 명령어 발견 -_-;
지상현 2005/08/01  5763
LIST ALL   Prev [1]..[151] 152 [153][154][155][156] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인