DeleteMe) ì œëª©ì§“ëŠ” 센스가 없는 관계로;; ì›�글ì�˜ 뜻ì—� 맞게 ì œëª©ì�„ ê³ ì³�주시기를; Rename & Refactor This Page; --ì„�천
http://www.zdnet.co.kr/anchordesk/todays/jwkim/article.jsp?id=45258&forum=1 � 글� 대해서
í† í�¬ë°±ê¹Œì§€ ê°™ì�´ ì�½ì–´ì•¼ í• ê²ƒ ê°™ê³ . -_-; (ë¬¼ë¡ ì“¸ë�°ì—†ì�´ 화내는 사람들ì�´ 많아보여서, ì©�..) ê·¸ 글ì—� 대해서 약간 한계를 ìƒ�ê°�한다면.. (ë�. ê·¸ 글 ì“´ ë¶„ì�˜ ì�˜ë�„는 대강 ì•Œê² ì§€ë§Œ.)
- í•™êµ�ì—�서 C++ ë°°ìš´ë‹¤ê³ í•˜ë“œì›¨ì–´ 건드리나. -_-; (ì „ì „ê³µì�´ë�¼ë©´ 몰ë�¼ë�„..) 컴퓨터공학과ì�˜ 경우 í•™êµ�ì—�서 C++ 배워ë�„ 어셈블러 ë ˆë²¨ê¹Œì§€ 다루는 사람ì�´ 별로 ì—†ë‹¤ê³ í• ë•Œ, C++ ì�„ ë°°ì› ë‹¤ê³ ì‹œìŠ¤í…œë ˆë²¨ 까지ì�˜ 깊ì�€ ì�´í•´ê°€ 필요없었다는 ì �ì�¸ë�°.. 글ì�„ ì�½ìœ¼ë©´, 마치 'êµ�육용 언어로 C, C++ ì�„ ë°°ì› ë‹¤ë©´ 시스템 ë ˆë²¨ê¹Œì§€ ì�´í•´í• 것' 처럼 ì“´ 것 ê°™ë‹¤ê³ ìƒ�ê°�. (C, C++ í�¬ì�¸í„°ë¥¼ ë ˆí�¼ëŸ°ìФ ì�´ìƒ�ì�˜ ê°œë…�으로 ì“´ì �ì�´ 있었나.. --a) ì°¨ë�¼ë¦¬ '우리는 ì „ì „ê³µ ì¶œì‹ ì—� í•˜ë“œì›¨ì–´ì œì–´ 해본 사람 뽑습니다' ë�¼ê³ í• ê²ƒì�´ì§€..ì©�. Domain-Specific 한 부분ì�„ ìƒ�ê°�치 ì•Šê³ ì„œëŠ” 시스템 프로그래머ì—�게서는 늘 ìž�바와 Script Language 는 'êµ°ì�¸ì�„ 나약하게 만드는 무기' ì�¼ 수밖ì—� 없으니까.
- Language != Domain. ë¬¼ë¡ , Domain ì—� ì �합한 Language 는 있ë�”ë�¼ë�„. ì�´ 글ì�´ê±´ Talkback ì�´ê±´.. ë‘�개를 ë�™ì�¼ì‹œ 본다는 ëŠ�낌ì�´ 들어서 좀 ê·¸ë ‡êµ°. (나ë�„ ê°€ë�”ì�€ Java Language 와 Java Platform ì�„ 똑같ì�€ 놈으로 보는 우를 범하긴 하군. -_-;)
- 사족1) 간혹 C++ 로 OSë ˆë²¨ì�„ 건드리긴 하지; (잘못ë�œ ì—°ì‚° 오류, 파란화면, ì‹œìŠ¤í…œë ˆë²¨ë¡œ 건드린다면 ì�´xì§�êµ° 처럼 빨간화면ë�„ ê°€ëŠ¥í•˜ê² êµ¬ë‚˜;)
- 사족2) ì˜ˆì „ 마소ì�˜ 김재우씨가 '프로그래ë°�ì�˜ 숨겨진 진실과 ê±°ì§“' ê´€ë ¨ 기사 나왔ì�„때 ê°•ê·œì˜�씨ì�˜ 반박문ì�„ ì�½ì�„때ë�„ 약간 핀트가 안맞는다란 ëŠ�낌ì�´ 들었는ë�°.. ë’¤ì�˜ í† í�¬ë°±ë“¤ì�„ ë³´ë©´.. ë˜� 한번 한숨. --ì„�천
언어로서 C나 C++ì�˜ (수학ì �, 논리ì �) 규칙ì�„ ì •ë¦¬í•˜ë©´ A4용지 몇장ì�´ë©´ 충분합니다. í�¥ë¯¸ë¡œìš´ 것ì�€ 그런 규칙과 요소들ì�´ 서로 ì¡°í•©ë� 때(ê·¸ë¦¬ê³ ì¡°í•©ë�œ 것ì�„ 다시 ì¡°í•©í• ë•Œ -- ë�¼ì�´ë¸ŒëŸ¬ë¦¬, í”„ë ˆìž„ì›�)ì�˜ 변용입니다.
~cpp > êµ�육기관ì—�서는 문법ì � 특성과 ì•Œê³ ë¦¬ì¦˜ ì�´ì™¸ì—�ë�„ > 컴퓨터 시스템ì�„ 어떻게 ì œì–´í•˜ê³ ì–´ë–¤ ì‹�으로 ì˜� > í–¥ì�„ 미치는지를 가르ì³�야 한다. ê·¸ë ‡ê²Œ 하기ì—� ìž�ë�™ì�˜í•©ë‹ˆë‹¤.
하지만 ì�´ì œëŠ” 컴퓨터 시스템ì—� 대한 ì €ì°¨ì›�ì �ì�¸ ì�´í•´ ì—†ì�´ë�„ ì–¼ë§ˆë“ ì§€ 뛰어난 프로그램ì�„ 만들 수 있는 ì˜�ì—ì�´ ëŠ˜ì–´ë‚˜ê³ ìžˆìŠµë‹ˆë‹¤. ì–¸ì œë“ ì§€ ì €ì°¨ì›�ì—� 대한 ì�´í•´ëŠ” ë�„움ì�„ 주지만 ì�´ì œëŠ” ì €ì°¨ì›�ì�˜ ì •ì�˜ê°€ 조금 ë�” ìƒ�í–¥ ì¡°ì •ë�œ ë¬¸ì œ ì˜�ì—ì�´ 훨씬 많습니다. (컴퓨터 ë°œì „ 초기ì—�는 ì �ìš©ë�„ë©”ì�¸ì�´ 협소했습니다)
하드웨어를 "뼈 ì†� 깊ì�´ ê¿°ëš«ê³ ìžˆëŠ” 사람"ê³¼ 그런 ê±°ë�¼ê³¤ 하나ë�„ 모르는 사람ì�´ ë�™ì�¼í•œ ë¬¸ì œì—� ì ‘ê·¼í–ˆì�„ 때 후ìž�ì�˜ 경우가 ë�” 훌ë¥í•œ 프로그램ì�„ ë�” 빨리 산출해낼 가능성ì�€ ì–¼ë§ˆë“ ì§€ 있습니다.
~cpp > ë°”ë�¼ëŠ” 언어는 분명 한계가 있다. ìž�바는 컴퓨터 시 > 스템ì�„ ì�´í•´í•˜ì§€ 못하게 í•˜ê³ , 시스템 ìž�ì²´ì—� 대한목ì �ì—� ë”°ë�¼, ì�´í•´/구축ì�´ 필요한 시스템ì�˜ ì¶”ìƒ� ë ˆë²¨ 수준ì�´ 다릅니다.
~cpp > ì ‘ê·¼ì�„ 허용하지 않기 때문ì�´ë‹¤. JNI(java native i > nterface)로 í• ìˆ˜ 없는 것ì�„ ë§�하는 것ì�´ë‹¤. > > í•„ìž�는 ìž�ë°” ê°€ìƒ�기계를 만들었ì�„ ì •ë�„로 ìž�ë°” ìž�ì²´ > ì—� 대해서 관심ë�„ ë†’ê³ ì¢‹ì�€ 언어ë�¼ê³ ìƒ�ê°�한다. 하 > 지만 IT 업계ì�˜ 프로그래머ë�¼ë©´ ìž�바만 해서는 차별 > í™”ë� 수 없다. ìž�ë°”ë�¼ëŠ” 언어는 마치 패스트푸드와 ê°™ > 아서 ì‰½ê³ íŽ¸í•˜ê²Œ ì ‘ê·¼í• ìˆ˜ 있지만, ë�” 깊ì�´ ê³µë¶€í• > 수 있ë�„ë¡�하는 깊ì�€ ë§›ì�€ 없는 것 같다.ì–´ì°Œ 하나 ë�” 배워서 나ì�œ 것ì�´ ìžˆê² ìŠµë‹ˆê¹Œ. ìž�바만 해서는 차별화ë� 수 없습니다. Cë§Œ 해서ë�„ 똑같습니다.
ë§¥ë�½ì�„ ì œê±°í•œ 언어ì�˜ ìš°ì—´ ë…¼ì�˜ëŠ” 비ìƒ�ì‚°ì �입니다. ë˜�, 우리는 언어 ìž�ì²´ë§�ê³ ë�„ (ê·¸ 언어ì—� ìž ìž¬í•´ìžˆëŠ”) 광막한 세계를 ì ‘í•©ë‹ˆë‹¤. C언어가 깊ì�´ê°€ 있니 Java언어가 깊ì�´ê°€ 있니 하는 것ì�€ 난센스입니다. 언어는 모ë‘� 깊ì�´ê°€ 같습니다. see also 처치튜ë§�ë…¼ì œ
문화ì�¸ë¥˜í•™ì�´ 융성하ë�˜ 초기, 언어학ìž�들ì�€ ì–´ëŠ� 언어가 ë�” 우월한가, ë˜� 거기서 언어 사용ìž�ì�˜ ì •ì‹ ëŠ¥ë ¥ì—� ì°¨ì�´ê°€ ìƒ�기는가 등ì�„ 따지는 연구ì—� 심혈ì�„ ì�Ÿì•˜ìŠµë‹ˆë‹¤. 그들ì�´ ì–»ì�€ ê²°ë¡ ì�€ ì�¸ë¥˜ì—�게 있어
Aë�¼ëŠ” 언어로 표현가능하다면 그것ì�€ Bë�¼ëŠ” 언어로ë�„ í‘œí˜„í• ìˆ˜ 있다는 것ì�´ì—ˆìŠµë‹ˆë‹¤. 다만 여기서 문화권ì—� ë”°ë�¼ ì–´ë–¤ 효율성ì�˜ ì°¨ì�´ê°€ 있ì�„ 수는 있었습니다.
Aë�¼ëŠ” 언어로 표현가능하다면 그것ì�€ Bë�¼ëŠ” 언어로ë�„ í‘œí˜„í• ìˆ˜ 있다는 것ì�´ì—ˆìŠµë‹ˆë‹¤. 다만 여기서 문화권ì—� ë”°ë�¼ ì–´ë–¤ 효율성ì�˜ ì°¨ì�´ê°€ 있ì�„ 수는 있었습니다.
Cê°€ 하드웨어를 조작하게 í•´ì£¼ê³ , ë”°ë�¼ì„œ 컴퓨터 시스템ì�„ ì œëŒ€ë¡œ ì�´í•´í•˜ê²Œ 해준다는 것ì�€ 좀 과장ë�œ 주장으로 ìƒ�ê°�ë�©ë‹ˆë‹¤. "C 언어"ê°€ 보여주는 컴퓨터 시스템ì�€ ì�´ë¯¸ 몇계단 왜곡ë�˜ì–´ 있습니다.
ìž�ë°”ë�¼ëŠ” 언어 ìž�체는 그다지 중요하지 않습니다. 중요한 것ì�€ ìž�바로 무엇ì�„ 얼마나 효과ì �으로 í• ìˆ˜ 있ëŠ�ëƒ�는것입니다.
언어ì�˜ ì°¨ì›�ì�´ 1ì°¨ì›�ì�´ë©´, ê·¸ 위ì—�는 (ì €ì°¨ì›�ì—� 기반한) 2ì°¨ì›�, 3ì°¨ì›�,... 무한히 펼ì³�ì ¸ 있습니다.
세ìƒ�ì�€ 다층ì �입니다. ë˜�, ì°¨ì›�ì�´ 높아지기 시작하면 ì €ì°¨ì›�ì�´ 무엇ì�´ì—ˆëŠ�ëƒ�는 것ì�€ í�¬ê²Œ ì˜�í–¥ì�„ 주지 않습니다.
세ìƒ�ì�€ 다층ì �입니다. ë˜�, ì°¨ì›�ì�´ 높아지기 시작하면 ì €ì°¨ì›�ì�´ 무엇ì�´ì—ˆëŠ�ëƒ�는 것ì�€ í�¬ê²Œ ì˜�í–¥ì�„ 주지 않습니다.
아프리카 ë§�로ë�„, 중êµì–´ë¡œë�„, ì˜�어로ë�„ "ì‹¬ì˜¤í•˜ê³ ì‚¬ëžŒì�„ ê°�ë�™ì‹œí‚¤ëŠ” 효과ì �ì�¸ ë§�"ì�€ ì–¼ë§ˆë“ ì§€ í• ìˆ˜ 있습니다. 그것ì�€ ë§�ì�„ 어떻게 ê·¸ 언어 규칙ì—� 맞게 잘 조합하ëŠ�ëƒ�ì�˜ ë¬¸ì œìž…ë‹ˆë‹¤. ì�´ 변용ì�˜ ëŠ¥ë ¥ì�€ "언어"ë§Œ 후벼파서는 ì ˆëŒ€ 얻지 못합니다. "언어"ê°€ 구성해주는 2ì°¨ì›�ì�˜ 메타ì �ì�¸ 세계를, 혹ì�€ ê·¸ 메타 세계ì�˜ 메타 메타 세계를 후벼파야 합니다.
ì˜�ìž‘ì�„ 수ì‹ë…„ê°„ 공부한 사람ì�„ ì•Œê³ ìžˆìŠµë‹ˆë‹¤. ë§¨ë‚ ê´€ìš©êµ¬ë¥¼ ì™¸ìš°ê³ , 문법ì�„ ì�µížˆê³ , ë‚ ë§ˆë‹¤ ì˜�ìž‘ì�„ 한 편 씩 해서 미êµì�˜ êµ�수ì—�게 ê·¸ 글ì�„ ë³´ë‚´ê³ ê²€ì‚¬ë¥¼ 받아온 사람입니다. ê·¸ 사람ì�´ 몇 ë…„ ì „ ì œê²Œ ê³ ë°±ì�„ 했습니다. ìž�기 ì˜�ìž‘ 공부는 후회스러운 것ì�´ë�¼ê³ . ê·¸ 사람ì�€, 훌ë¥í•œ 글ì�„ 쓰는 것ì�€ 단순히 언어ì �, 문법ì �ì�¸ 요소를 ë– ë‚˜ì„œ 얼마나 훌ë¥í•œ ì•„ì�´ë””어를 ê°–ê³ ìžˆëŠ�ëƒ�ì—� ì�¼ì°¨ì �으로 좌우ë�˜ëŠ” 것ì�´ë�¼ê³ ê¹¨ë‹«ê³ , 후학들ì—�게 다양한 ì£¼ì œì�˜ ì±…ì�„ ì ‘í•˜ë�¼ëŠ” ì¶©ê³ ì�˜ 글ì�„ ì�¼ìŠµë‹ˆë‹¤. 명료한 글ì�„ ì“°ë ¤ë©´ 언어가 명료하기 ì�´ì „ì—� ì‚¬ê³ ê°€ 명료해야 하며, í’�부한 글ì�„ ì“°ë ¤ë©´ 언어가 í’�부하기 ì�´ì „ì—� ì‚¬ê³ ê°€ í’�부해야 합니다.
한êµì—�서 ì�¼ì°�부터 컴퓨터를 ì ‘í–ˆë�˜ 소수ì�˜ "특권" 계층ì�€ ìž�ì‹ ì�´ ì�µìˆ™í•˜ê²Œ 사용해온 것들ì�´ ì�¸ê¸°ë¥¼ 잃는 것ì—� 대해 ê°œíƒ„í•˜ê³ , ì‹ ì„¸ëŒ€ë“¤ì�€ 공부가 부족하다며 비íŒ�하길 좋아합니다. 그들ì�˜ ì§„ì •í•œ ë¬¸ì œëŠ” 겸ì†�하지 못하다는 것입니다. ìž�ì‹ ì�´ í•˜ê³ ìžˆëŠ” 것ì�´, ìž�ì‹ ì�´ 있는 ì˜�ì—ì�´ ë�” 본질ì �ì�´ê³ ë�” ì–´ë ¤ìš°ë©°, ë�” ê³ ìˆ˜ì¤€ì�˜ 것ì�´ë�¼ê³ ìƒ�ê°�하기 쉽습니다.
ì�´ ë¬¸ì œëŠ” 어디를 ê°€ë�„ 비슷합니다. í•™êµ�ì‹œì ˆì—� ì–´ë µê²Œ 공부를 한 기ë“�권층ì�€ 최근ì�˜ "열린êµ�육"ì�´ë‚˜ "대안êµ�육"ì—� 대해 ìƒ�당한 불만ì�„ ê°–ê³ ê³¼ê±°íšŒê·€ë¥¼ 주장하기 ë§ˆë ¨ìž…ë‹ˆë‹¤. "너í�¬ëŠ” 몰ë�¼."
p.s. í† í�¬ë°±ì—�서 여러분ì�€ ì�¼ë°˜ 게시íŒ� 모ë�¸ì�˜ í��ì•…ì�„ 여실히 ë³´ê³ ìžˆìŠµë‹ˆë‹¤. 거기는 사람ì�´ ì¶•ì�´ ë�˜ì–´ 있습니다. 위키ì—�서는 ë…¼ì �ì�´ ì¶•ì�´ ë�©ë‹ˆë‹¤. ë…¼ì �ì�„ 축으로 ê·¸ 글들ì�„ ìž¬ì •ë¦¬ 하면 ì–‘ì�´ 1/10로 ì¤„ê³ ì§ˆì�€ 10ë°° 높아질 것ì�´ë�¼ê³ ìƒ�ê°�합니다.
p.s.2 í† í�¬ë°±ì—� ìž�바를 대학ì—�서 ê°€ë¥´ì¹ ê²ƒì�„ 주장하며 "파스칼 따위는 ì�´ì œëŠ” ë²„ë ¤ì•¼ì£ "ë�¼ëŠ” ë§�ì�´ 있는ë�°, ë²„ë¦¬ë ¤ë©´ ë¨¼ì € ê°€ì§€ê³ ìžˆì–´ì•¼ í• ë¿� 아니ë�¼, 파스칼ì�„ 갖거나 버리거나 하는 것ì�€ ì�´ì œ í�° ì�˜ë¯¸ê°€ 없습니다. 구조ì � 프로그래ë°� ê°™ì�€ 파스칼ì�„ 주축으로 한 패러다임ì�„ 배우는 것ì�´ 중요합니다. OOP는 구조ì � 프로그래ë°�ì�„ ê°�ì‹¸ì•ˆê³ ë�” ìž�ë�¼ë‚œ 것ì�´ì§€ ë’¤ì—� 남겨ë‘�ê³ ì§„ë³´í•œ 것ì�´ 아닙니다.
The fatal metaphor of progress, which means leaving things behind us, has utterly obscured the real idea of growth, which means leaving things inside us.
--G. K. Chesterton (1874-1936), British author. Fancies Versus Fads, "The Romance of Rhyme" (1923).
-- JuNe









