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


LIST ALL
Posted by 김길남2007-01-29 01:00:24, Hit : 5685
프로그래밍을 공부할때 기억나는 큰 가르침이 뭐가 있으셨나요,,,
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
3771
   웹에디터 다시 만들고는 싶지만.. [8]
박종훈 2007/03/01  5668
3770
   저작권 관련 분쟁에 대해서...박종훈님과 지상현님, 그리고 모두에게... [19]
이진성 2006/11/29  5668
3769
   김훈님/이경근님보세요. [3]
천호성 2004/03/09  5667
3768
   나이론님~ 저 카타고리 만들어주심이 ㅡ ㅡ; [1]
날개달기 2003/11/03  5667
3767
   프로그램자료실 파일첨부가 없어요.. [2]
최재일[20JI] 2004/05/22  5662
3766
   앞에 바꿧네.. ^^;;;
윤현민 2002/09/13  5662
3765
   20년만의 폭설 [12]
이지행 2005/01/16  5660
3764
   [잡담] 아름다름님.. 여기 홈피 한번 오셔서 글좀..^^ [6]
권선중 2003/09/22  5659
3763
   저희학교 홈페이지 해킹당했습니다! [13]
ⓗigher 2004/03/01  5655
3762
   비스타를 깔아보려고 합니다. [3]
박재성 2007/03/18  5653
3761
   으흐흐~~~내장다보인다~~! [3]
강정훈 2007/02/19  5653
3760
   오랜 기간동안의 잠수를 끝내고... [5]
지상현 2003/10/04  5650
3759
   으악~~~ 자동로그인해제 때문에.. ㅠ^ㅠ [2]
최재일 2004/09/13  5647
3758
   아이고~ 힘들어라 [;;]
김동민 2008/05/22  5646
3757
   드뎌.....컴터 리모델 하다...자작! [4]
강정훈 2007/04/04  5639
3756
   MS_SQL테스트결과입니다.. [8]
권선중 2005/11/01  5637
3755
   제 홈피 바꿨어여~~ [3]
막강철다리 2003/02/09  5636
3754
     [re] 한글 프로그래밍 도구로 말이 많습니다만
지상현 2005/10/03  5635
3753
   [펌] 야동을 너무보는 동생을 위해 누나가정리해준 폴더라네요.. [5]
권선중 2009/10/24  5633
3752
   [건의]우리도 얼릉 프로젝트 준비를 하는게.. [6]
Pueding 2003/09/14  5628
3751
   비씨파크에서 무료 호스팅하길래 잽싸게 신청을...
김환욱 2003/10/14  5627
3750
   파일전송가능 테스트 완료.... [6]
박재성 2006/08/14  5624
3749
   오타인것 같은데 [2]
성인e 2007/02/21  5623
3748
   3DMark05로 테스트를;; [14]
최재일 2006/01/24  5621
3747
   음.. 국산 압축 프로그램 알집을 많이 의식하는 듯.. [19]
최재일 2005/11/29  5619
LIST ALL   Prev [1][2][3][4][5] 6 [7][8][9][10]..[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이희철
로그인