| [ CAU ] in KIDS 글 쓴 이(By): tecnika () 날 짜 (Date): 1996년04월19일(금) 01시34분15초 KST 제 목(Title): 저의 잘못이 어떤것입니까. 제가 지금까지 살아온 시간들, 26년이 됩니다. 그동안 많은 일을 경험하고 살아왔습니다. 하지만 제가 그렇게 오랫동안 살아왔다고 해도, 그래도 아직 이해하지 못하고, 어찌해야 할지 모르는 일들이 있기 때문입니다. 그러기에 여러분께 조금이나마 조언을 구하고자 글을 올립니다. 여기 계신분들 중에는 저보다 긴 세월을 살면서 많은 경험을 하신 분들도 계시고, 저보다 적은 연륜에도 불구하고, 제게 도움을 주실수 있는 분들이 계실 것이라 믿기 때문입니다. 문제의 시작은 다음과 같습니다. 3학년의 시스템 프로그래밍 시간에 담당교 수이신 강현철 교수님께서 레포트를 하나 내셨습니다. 수업시간에는 어셈블 리를 가르치시고, 숙제의 내용은 사칙연산 프로그램입니다. 자세한 것은 알 수 없지만, 글에서 느끼기에 정수 연산식을 입력받아 결과를 출력하는 것 같습니다. 예를 들어 2+3에 5라는 답을 만들어 내는 것입니다. 다음의 내용은 게시판에 올라왔던 글들을 수정없이 모아 올리는 것입니다. 저나 세현군이 올린 글중 하나도 생략한 것이 없으며(소스 프로그램 게시물 하나 제외) , 순서도 오래된것부터 최근것의 순서로 올렸습니다. 보시면 아시겠지만, 글의 처음에는 헤더가 있고 그 글의 번호가 있습니다. 가장 첫번째 글은 135번이고, 마지막은 152번입니다. 참고로, 제가 올린 글들은, 제 아이디가 없기 때문에 '성욱'이라는 아이디를 빌려서 사용하며, 제가 쓴 글임을 알리기 위해 말머리에 '[TECHNIKA]'라는 것을 붙입니다. 헤더에 는 제목과 글쓴이, 날짜와 시간, 조회수등이 기록되어 있습니다. STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#135/152) 1/10 ─────────────────────────────────────── 제 목 : [잡담] SP숙제에 관해서.. '무지는 용감하다' 올린이 : 여백주기(김세현 ) 96/04/08 03:03 읽음 : 58 관련자료 없음 ------------------------------------------------------------------------------ 일단 강교수의 지식력이 의심스럽습니다. 이번 PL숙제는 두 integer value를 입력받아 4칙연산을 해서 결과를 출력하는 것입니다. 얼핏 들으면 아주 쉬운 내용처럼 보입니다. 그러나 이것을 시도해본 사람이라면 곧 난감함을 느끼게 될것입니다. 우리는 C프로그램에서 scanf와 printf라는 편리한 함수를 사용해서 간단히 해결했습니다. 그러나 asm이라면 문제가 다르죠. asm은 머신 인스트럭션과 1대1 대응하는 구조로 된 언어입니다. 당연히 high-level language에서 지원하는 stream의 구조는 없습니다. 실제로 high-level language에서의 stream은 language제작사들이 만들어 넣은 것으로 우리는 이것을 include와 같은 형태로 불러쓰는 것이죠. 강교수는 자신이 낸 숙제가 'asm초보자들에게 알맞은 숙제'라고 생각하는 것 같습니다. 그러나 이것은 어디까지나 high-level language적 관점에서나 그러한 것이죠. asm을 한번이라도 짜본 사람이라면 저런 용감한(?) 짓은 하지 않습니다. 전 z80에서부터 Pentium에 이르기까지 10년에 걸쳐 asm 프로그래밍을 해왔습니다. 그렇지만 asm으로 저런짓은 '한번도' 해본일이 없습니다. asm은 주어진 문제를 가장 빠른 cpu time으로 해결할 수 있는 solution이기 때문에 프로그래밍이 가장 어렵다는 단점을 무릅쓰고 하는 것입니다. asm으로 어떤 module을 만드는 일은 결코 쉬운 일이 아닙니다. stream과같은 광대한 내용을 asm으로 짠다는 것은 한마디로 미친짓이라고 표현하고 싶습니다. 물론 asm은 모든일을 할 수 있습니다. stream manipulation도 못하는 건 아니죠. 그러나 이런걸 과제로 낸다면 주간 숙제가 아닌 텀프로젝트나 졸업논문으로 해야 옳다고 생각합니다. 여기까지의 설명이 이해가 안가는 분들을 위해 부연설명하자면, 우리는 일단 integer value를 입력 받아야합니다. 어떻게? 많은 사람들은 DOS function을 떠올릴 것입니다. 그러나 DOS function은 buffered string이라는 stream밖에는 가지고있지 않습니다. 당연히 한 string을 입력받아 integer value로 evaluation해야 한다는걸 곧 알 수 있습니다. 일단 evaluation만 하면 주어진 문제를 계산 할 수 있습니다. 그런 다음에는 evaluation된 결과를 string으로 만들어서 out-stream에 뿌려주어야 하죠. 간단해 보입니까? 입력부분은 in-stream의 최소한으로 볼 수 있죠. 출력부분은 out-stream의 최소한입니다. 짜보면 알겠지만, asm모듈은 이런일을 처리하기에 부적합 합니다. UI의 특성상 user의 다양한 input을 적절히 해석한다는 것은 그리 쉬운일이 아닙니다. 수많은 에러처리를 어떻게 할것이며, in-stream에서의 해석은 실제로 interpreter가 있어야 가능한 일입니다. 결과적으로 우리는 숙제를 하기 위해서 1. I/O stream base를 만들어야한다. 2. interpreter를 만들어야한다. 3. 주어진 문제를 해결하는 function을 만들어야한다. 3번은 먹기좋은 자세로 앉아서 식은죽먹는 일보다 쉽죠.(그것보다는 좀 어렵나? 어쨌든) 그러나 1,2번은 대학에서 1학기 내지는 1년은 배워야 제대로 할 수 있는 부분이라는건 쉽게 알 수 있습니다. 강교수는 문제의 처리조건을 많은부분 제약했습니다. 그러나 제약한 조건 조차도 1.번과 2.번은 반드시 필요하며 최소한의 stream base와 최소한의 interpreter는 여전히 필요합니다. '처리조건을 제약했으니 쉬운문제다'라고 느끼는 분이 계시다면 일단 짜보라고 말씀드리고 싶습니다. 아마 짜려고 시도해보고도 쉽다고 느끼는 분이 계시다면 asm의 달인이거나 숙제를 아예 포기한 분일거라 생각합니다. 아울러 asm이 유용한 분야를 예로 들어 드리겠습니다. asm은 machine instruction을 기본으로 동작하는 언어죠. 그래서 machine cycle로 프로그램을 실행할 수 있습니다. 요즘 유행하는 언어중에 JAVA라는게 있죠. 어떤사람은 JAVA를 써야하는 이유로 'C보다 20배밖에 안느리다!'라는걸 내세우고 있습니다. 전 그사람에게 이렇게 얘기해주고 싶습니다. 'asm은 c에 10~100배의 속도도 낼 수 있다!' (JAVA보다 200~2000배 빠르다?? 헐...) 특히 80계열의 string instruction은 RISC계열 instruction보다 빠르기로 정평이 나 있죠. 즉, 대량의 data를 처리하는 언어로 asm은 '가장' 좋습니다. 특히나 real time graphics은 asm이 아니고는 불가능하죠. 그래서 asm은 주로 c와 섞에서 주로 실행에 엄청난 시간이 요구되는 부분을 만드는데 씁니다. asm으로 하나의 application을 만드는 미친짓은 assembly '95같은 경진대회에나 있을법한 일입니다. 이만총총... ... 여백주기 ─────────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#138/152) 1/1 ─────────────────────────────────────── 제 목 : 3학년이 되기 무서워... 올린이 : 형사랑 (권중철 ) 96/04/09 00:16 읽음 : 53 관련자료 없음 ------------------------------------------------------------------------------ 숙제가 되게 힘든가보네요.. 흐흐... 어쩌나.... 내년에는.. 꿀꺽~ 어셈공부나 열심히 해둬야하나.. 아님 강교수님한테 사정을 해볼까.. 컴퓨터공부는 무섭다...흐흐.. 그리고 오늘부터 자바 공부할려고하는데 세현이형께서 초를 치시는군.. 그래도 괜찮아요..히히.. 나는 자바할테니.. 열심히 공부해서 담에 깜짝세미나나 한번 때려야지.. Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#139/152) 1/2 ─────────────────────────────────────── 제 목 : [TECHNIKA] 사칙연산 올린이 : 성욱 (최성욱 ) 96/04/10 21:02 읽음 : 55 관련자료 없음 ------------------------------------------------------------------------------ 음.. 사칙연산이 그렇게 어렵나? 전에 우리 학교다닐때(몇학년때인지는 생각 안나고) 한번 짜본적이 있는것 같기도 한데, 정확히 어떤 요구사항이었는지 기억은 안나지만, 100줄 이내의 비교적 간단한 프로그램이었던 것으로 기억나는데. 아래의 70여페이지에 달하는 프로그램을 보니, 놀랄수밖에. 그때 문제의 해결은 거의 DOS Function call만 알고 있으면 되었던 것 같은데. 물론 그때 음수처리등은 어떻게 했는지 모르겠지만. 버퍼 잡아서 도스 스트링 받아서 토큰별로 잘라서(숫자와 부호, 연산자) 숫자는(즉 ASC '0'-'9') 하나씩 읽어서 저장하고, 다음에 또 숫자가 오면 기존의 숫자 * 10하면 될테고, 실제연산이야 add, sub, mul, div 다 있고, 결과값도 버퍼에 차례로 넣은 다음 도스콜 한번이면 끝. 시간있으면 한번 해보겠지만, 논문땜시 그럴 여유가. 91학번들도 비슷한 숙제를 한 적이 있었는데. 아참, 경진(정경진, 91학번)이가 예전에 1000바이트때 어셈블리로 달력 만든게 갑자기 기억나네. 2000배 빠른 CPU는 언제 나오는거야.. Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#140/152) 1/1 ─────────────────────────────────────── 제 목 : [TECHNIKA] 사칙연산 2 올린이 : 성욱 (최성욱 ) 96/04/10 21:07 읽음 : 50 관련자료 없음 ------------------------------------------------------------------------------ 정말 쉬운 방법!!! 1. 일단 C로 짠다 2. 컴파일을 한다. 단, 출력이 OBJ가 아니고 ASM으로 나오게. 3. 제출한다. 소스가 좀 많이 나오려나. 히히. 돌 날아온다. Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#141/152) 1/1 ─────────────────────────────────────── 제 목 : [TECHNIKA] JAVA, 가장 뜨거운 감자! 올린이 : 성욱 (최성욱 ) 96/04/10 21:14 읽음 : 49 관련자료 없음 ------------------------------------------------------------------------------ 자바의 퍼포먼스는 어셈블리보다 1/2000일지 몰라도 지금 세계는 자바열풍! 어느 누구도 방심할수 없는 현재 최상의 네트웍 언어! 요즘 조금씩 문제가 발견되기는 하지만(speed문제가 아니라 security문제) MS사의 새로운 도전(예를 들어 BasicScript같은)이 있다 하더라도 당분간(한 3-5년)은 풍미할 언어. 지금 업계(삼성, 현대, LG, 기타 모든 회사)가 떠들썩하고, 많은 학교, 연구소를 들썩거리게 만든 현재의 최상의 솔루션! 누군가 JAVA에 대해 묻는다면, 나의 대답은, "한시라도 빨리! 그것이 여러분에게 새로운 프로그래밍의 세계를 안내할 것이다! 여러분을 가장 진보한 개발자로 만들 것이다!" 시간은 짧고, 할일은 많다. Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#143/152) 1/4 ─────────────────────────────────────── 제 목 : [139] 쯔쯔... 올린이 : 여백주기(김세현 ) 96/04/14 22:58 읽음 : 42 관련자료 없음 ------------------------------------------------------------------------------ 역시 프로그래머적 관점과 매니저적 관점은 같을 수가 없죠. 제가 아래 올린 글에서 분명히 연산을 행하는 부분보다 스트림을 관리하는 부분이 장난이 아니란 말씀을 드렸죠. 이것은 볼랜드씨의 디폴트 라이브러리를 봐도 알 수 있습니다. 볼랜드씨의 스트림 관련 라이브러리는 전체 라이브러리의 80%가 넘습니다. (의심이 나시면 라이브러리를 디스어셈블 해보세요) 물론 이 숙제는 integer연산만을 위한 것이고 모든 stream에 대한 처리를 요구하는것도 아니지만 서로다른 stream관련 처리의 대부분이 중복된다는 점을 생각하면 어떤 스트림 처리를 하든 그 양은 가볍게 볼게 아니란 결론을 얻을 수 있죠. 제가 저런 숙제는 텀 프로젝트나 졸업논문에 알맞다라고 한 이유는 이것입니다. 프로그램이 죽든말든, 결과가 제대로 나오든 말든 단순히 결과만 나오는 수준으로 보자면 이 얘기를 적용할 수 없겠죠. 그러나 엄연한 숙제인데 그럴수가 있습니까? 숙제를 하는 자의 입장에서 최소한 프로그램이 죽지는 않게 해야겠죠. 그런 일련의 처리를 하는데 필요한 분량은 좀처럼 짧게 되지 않습니다. 그런 숙제를 내 놓고도 강교수는 태연스럽게 '쉬운숙제니까.. '라는 말을 했습니다. 도저히 납득이 가지 않는 소리 입니다. 아래 글을 쓰신분 아직도 제 이야기를 이해 못하신다면 직접 짜보시고 여기 소스를 올려보시죠. 판단은 독자 여러분이 할 것입니다. 이만총총... ... 여백주기 STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#144/152) 1/3 ─────────────────────────────────────── 제 목 : [140] 쯔쯔... 올린이 : 여백주기(김세현 ) 96/04/14 22:58 읽음 : 43 관련자료 없음 ------------------------------------------------------------------------------ 무지를 드러내놓고 자랑할 사람은 그리 많지 않죠. 아래 글을 쓰신분이 한번이라도 고급언어에서 어셈블리 소스를 생성해 보셨다면 저런 글을 쓰지는 못하셨을겁니다. 볼랜드씨에도 generate assembly source라는 옵션이 있죠. 그걸 켜놓고 printf가 들어있는 소스를 컴파일 해보세요.. 그럼 볼랜드씨는 아주 친절히(?) extern printf_ . . . call printf_ . . . 를 출력해 줄겁니다. 이만총총... ... 여백주기 ps; 좀 멍청하게 옵티마이징을 하는 볼랜드는 어떨지 모르지만 옵티마이징이 잘된 디폴트 라이브러리를 개나소나 다 볼수있게 친철히 내뱉어줄 회사는 별로 없죠. Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#145/152) 1/10 ─────────────────────────────────────── 제 목 : [141] 쯔쯔... 올린이 : 여백주기(김세현 ) 96/04/14 22:59 읽음 : 45 관련자료 없음 ------------------------------------------------------------------------------ 아래분은 예상외로 유치한 구석이 있군요. (평소엔 그렇게 안봤는데..) 전 어셈블리가 빠르단 얘길했지, java가 나쁘단 말을 한게 아니죠. 그리고 어셈블리를 단독으로 쓰는것만큼 용감한(?)짓이 없단 말씀을 드렸죠.그건 다시 말하면 어셈블리를 쓰되, c와같은 고급언어와 같이 쓰는게 좋단 뜻이죠. 그 java가 느리단 말에 그렇게 흥분하실줄이야.. 헐.. 스티브 워즈니악이 했던 말이 생각나는군요.. "나는 새로운 기계를 접하면 맨 처음 그 기계의 어셈블리를 익힌다." 어셈블리는 기계를 이해하는데 가장 좋은 언어죠. 또, 그 기계위에서 돌아가는 모든 프로그램을 이해하는데도 좋죠. 아래분은 java가 가장 뜨거운 감자이니 java를 해야한다고 말씀하셨습니다. 그리고 visual basic이 나왔을무렵 학부과정 저학년 학생들에게 쓰라고 하셨죠? 그리고 delphi가 나오자 이것도 써볼만한 언어라고 말씀하셨죠. 그러나 자신의 입장과 학부과정 저학년 학생들의 입장을 혼동하고 계신건 아닙니까? 언어라는게 뭡니까? 결국은 기계어 코드를 생성해 내는 도구에 불과합니다. 그 언어가 어떤 부분의 기능을 많이 지원하면(라이브러리를 많이 갖고 있으면) ap개발자 입장에서 그 부분을 프로그래밍하기 그만큼 쉬워지는 것이죠. visual basic이나 delphi는 정말 사용하기 쉬운 언어로 생산성이 높죠. 그러나 지금 visual basic에 만족하고 visual basic으로 자신의 모든 프로그래밍을 하려는 사람은 별로 많지 않을 것입니다. 그렇게 떠들어대던 visual basic은 이제 좀처럼 들어볼 기회가 없습니다. delphi도 나온지는 얼마 안됐지만 지금은 별로 delphi, delphi... 하는 소리가 별로 없죠. 언어보다는 툴에 가까운 이런 언어들에 젖어있던 프로그래머들이 획일적이 되어가는 이러한 언어로 짜여진 ap에 식상해 하고 대신에 windows와 밀접하게 손수 코드를 써 넣어야 하는 visual c 쪽으로 가고있다고 하는 것은 모든걸 다 지원해주는게 능사는 아니란걸 뜻하는거죠.(이 이야기는 ["MFC프로그래밍 이렇게 시작하세요",pc advance,윤정음 지음]에 나온 말을 인용한 것입니다.) 모든것을 다 지원해주는 windows에서도 손수 코드를 써 넣기를 바라는 프로그래머들이 늘어갈 즈음에 java가 나왔습니다. 어떤 언어가 모든 일을 가능케 해줄 도깨비 방망이쯤이나 된다고 생각 하시는건 큰 오산입니다. 우리는 UNIX라는 OS를 알고 있습니다. 또 C라는 언어도 알고있죠. C는 B언어를 계승해 UNIX를 개발하기 위해서 만든 언어죠. 왜 C언어를 만들었는가? 그 날고 긴다는 프로그래머들이 왜 C를 새로 만들어야했고, 왜 C와같은 형태를 만들었는가 생각해 보셨습니까? 그 날고 기는 프로그래머들이 객체지향이라는 기술을 몰라서? 객체지향이 좋은줄 몰라서? library에 모든 것을 포함해 주는 잇점을 몰라서? 아니죠. 그 사람들은 C라는 언어에 유연성을 부여했습니다. 컴파일러가 알아서 다 해주는 식이 아닌 컴파일러는 최소한의 기계코드만을 생성해라, 나머지는 내가 다 한다는 생각으로 그렇게 만든 것입니다. 그래서 C는 system programming에 유용한 언어죠. java는 interactive한 환경에 알맞은 언어라고 하죠. 결국 그쪽으로 디폴트 라이브러리를 더 추가해서 그쪽 ap를 짜기에 좋게 만든 것이죠. 즉 특정 분야에 적당한 언어라고 할 수있죠. java는 interactive한 환경용 ap를 짜는데 생산성이 높을뿐이죠. 말하자면 그뿐이예요. assembly로 interactive환경용 ap를 못짭니까? 당연히 짤수있죠. 단지 시간이 더 걸릴뿐이죠. 마치 다른 언어로는 java로 하는 짓을 못하는것처럼 말하는건 잘못된 것이죠 (물론 아래글 쓴분이 그렇다는 뜻은 아님). 서두에 자신의 입장과 학부 저학년 학생들의 입장을 혼동하는게 아니냐는 말씀을 드렸습니다. 특정한 분야의 컴파일러를 쓴다는것, 컴파일러가 지원해 주는 기능을 쓰고 내가 최소한의 코드만을 쓴다는것, 생산성이 높다는 것이 무엇입니까? 결국 어떤 학문의 연구와는 상관없이 어떤일의 생산성을 높이는 것이죠? 우리과 학부생들이 그런짓이나 하자고 우리과에 들어왔습니까? 그런 짓을 하려면 차라리 전산학원에 1년 다니는 것이 우리과 4년 다니는것보다 나쁠게 뭐있습니까? 물론 고학년학부생들,대학원생들처럼 몇달후면 나가서 돈을 벌어야 하는 사람들한테는 저런 돈벌기 좋은 언어가 assembly나 c같은 구닥다리 언어보다 좋죠. 사회가 그걸 원하니까 당연히 해야겠죠. 그러나 저학년학생들이, 컴퓨터가 어떻게 돌아가는지 제대로 파악도 못하는 학생들한테 저런걸 권한다는건 이치에 어긋난다고 생각합니다. assembly나 c대신에 프로그래밍에 필요한 환경을 '잘' 지원해 주는 windows용의 언어보다는 툴에 가까운 그런걸 학문하는 입장에서 배워야 옳겠느냐 하는 것입니다. 학교를 학원과 차별화 하는게 무엇입니까? 저는 우리과 저학년 학생들에게 visual basic,delphi,java가 아닌 c와 assembly를 가르치고 싶습니다, 권하고 싶습니다. 이만총총... ... 여백주기 Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#146/152) 1/1 ─────────────────────────────────────── 제 목 : 2000배 빠른 속도의 PC용 CPU가 나온다면.. 올린이 : 여백주기(김세현 ) 96/04/14 23:05 읽음 : 45 관련자료 없음 ------------------------------------------------------------------------------ 요즘 전 리얼타임 ray-tracing을 해볼 궁리를 해고있는데.. 만약에 그렇게 빠른 PC용 CPU가 나온다면 전 악마의 찌그려져가는 얼굴을 메가픽셀,트루칼라의 리얼타임 ray-tracing으로 animation해 보여드리겠습니다. 후후.. . 이만총총... ... 여백주기 Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#147/152) 1/4 ─────────────────────────────────────── 제 목 : [TECHNIKA] 글쎄.. 올린이 : 성욱 (최성욱 ) 96/04/15 19:50 읽음 : 43 관련자료 없음 ------------------------------------------------------------------------------ 먼저 글을 시작하기 전에, 아래의 글처럼, '쯔쯔' 라든지, "무지를 드러내놓고"나, "유치"라는 단어를 분명한 선배에게 하고 있다는 것을 보고, 후배가 과연 선배에게 할 수 있는 말들인가를 생각하고, 아득한 절망감과, 한편으로 밀려오는 후배들에게 내가 이런 이야기를 들을 정도밖에 선배로서의 위상을 지키지 못했나 하는 생각에 아쉬움이 남는다. 내일이 논문 심사일이기 때문에 시간이 별로 없고, 세현의 글이나, 혹은 나의 글이 서로를 잘 이해하고 있지 않다는 것 그것이 혹시 문제는 아닐까 하는 생각에서, 게시판에서 피해야 할 일중 하나인 글 이어쓰기를 한다. 이를 통해서, 아니면 다음에 올라올 세현 혹은 다른 사람의 글 속에서 이해의 폭을 넓히고자 한다. 숙제인데 아무렇게나 짤수 없다는 세현의 말, 아니, 설사 숙제가 아니더라도 프로그램은 아무렇게나 짤 수는 없다. 그러나 한가지 또 생각해야 할 것은 숙제, 혹은 프로젝트를 할 때에는 숙제를 낸 사람이나 프로젝트 기획자의 의도를 잘 파악해야 한다. 내가 아래에 그 프로그램은 그리 복잡하지 않을 것이다라는 말은 숙제를 낸 강교수님의 의도는 세현군이 말하고 있는 그런 복잡한 스트림의 처리를 요구하는 것일까를 생각해 보기 바란다. 내가 이렇게 저렇게 하면 될것이다라는 것은 강교수님의 말을 내 나름대로(직접 듣지는 못했지만) 해석한 것이고 세현은 세현 나름대로 해석한 것이다. 내 해석대로라면 숙제는 그리 복잡하지 않을 것이고, 수업시간에 배운 어셈블리로 쉽게 결과를 얻을 수 있을 것이다. 세현의 방법대로 해석했다면 물론 더 많은 시간과 노력을 들여 숙제를 하였을 것이고, 이를 통해서 새로운 많은 것들을 얻었을 것이다. 이 두가지중, 어느 하나가 잘 되었다, 잘못되었다고 이야기하기는 어렵다. 다만 100을 요구하는 문제에 100으로 답변하느냐, 그 이상으로 답변하느냐의 차이가 있을 뿐이다. 어쩌면 평가하는 사람의 입장에서는 두개의 답변이 그리 큰 차이를 갖지는 못한다.(이것은 답을 하는 사람의 입장이 아니라, 답을 듣는 사람의 입장이다) 많은 노력을 들인 사람의 입장에서는 더 많은 지식과 경험을 얻은 것으로 보상을 받는 것이다. 프로젝트의 경우에도 마찬가지이다. 작업을 지시하는 사람이 어느정도를 요구했을때, 그의 지휘를 받는 경우라면 그만큼을 하는 것이 가장 훌륭한 개발자이다. 물론 그가 더 많은 것을 했다면 그 보상은 스스로로부터 받는 것이지, 매니져로부터는 받기 어렵다. 여러분이 학생이기 때문에 내가 여러분에게 권할수 있는 것은 요구되는 만큼 이상을 하는 것을 기대할것임에는 분명하다. 하지만, 주어진 문제를 정확히 파악하고, 그에 맞는 답변을 할 수 있는 것도 여러분이 길러야 할 능력중 하나이다. 물론 학원이 아니기 때문에 여러분이 해야 할 것중 하나가 분명히 그런 능력들도 포함되어 있기 때문이다. 나는 항상 이야기하듯이, 여러분이 프로그래머가 되길 원하는 것은 아니다. 나는 개발자를 꿈꾸며, 여러분도 그 능력을 익히라는 이야기를 하고 싶다. 물론 개발자는 프로그래머의 능력도 포함하고 있다. 하지만, 학원생이 아니기 때문에 기술, technic 만으로는 진정한 개발자가 되기 어렵다. 내가 요즘도 후배들과 이것 저것 하는 것들도 , 후배들이 개발자가 되기 위한 초석을 밟고 있는 동안 나는 내 나름대로의 수업을 받고 있는 것이다. 사람들의 마음을 파악하고, 그들의 능력을 파악하고, 새로운 기술을 알려주고, 기술 습득을 종용하고, 기타 이런 일들이 우리가 배워야 할 일중 하나이다. 물론 아직 충분한 기술이 없는 사람들에게 이런 이야기를 하기는 부담되지만, 하나보다는 둘, 둘 보다는 그 이상의 관점에 눈을 돌리고 그들을 이해하는 것 역시 여러분이 해야 할 일들이다. Nownuri ─────────────────────────────────── STECH KIPS (중앙대 컴퓨터공학과)-프로그래밍 (#152/152) 1/5 ─────────────────────────────────────── 제 목 : 제가 쓴 아래글들에 대한 덧붙임... 올린이 : 여백주기(김세현 ) 96/04/18 18:42 읽음 : 11 관련자료 없음 ------------------------------------------------------------------------------ 제가 보아온 7년동안 우리나라의 컴퓨터통신은 오만불손한 사람들에 의해서 몸살을 앓아 왔고, 우리나라 통신 토론장의 고질적인 문제점을 유발시켜왔 죠. 왜 우리의 통신계는 서로 물고 뜯기는 토론아닌 비난을 반복해야 합니까? 통신상에서 예절이 바르다는 건 무엇입니까? 남을 존중해 주는것이란 무엇입니까? 그저 고상한 말을써가며 아부나 해 대는것이 남을 존중하는것 은 아니죠. 적어도 남을 존중한다는 것은 남이 하는 이야기를 귀담아 듣고 그 사람의 의견에 대해서 논리적인 근거를 들어 적절히 대응 하는것이 예절 의 최소한이고, 남을 존중하는 것의 기본이죠. 남이야 무슨 말을 하건 어떤 것에 대한 얘기만 나오면 '지가뭔데 저런소릴해'하며 남이 하는 말은 들어 볼 생각도 안하고 오만불손하게 저 잘난척하는 인간들때문에 우리나라 통신 상의 토론장은 통신이 걸음마를 시작하던 7년 전부터 항상 싸움이 끊이질 않아왔습니다. 어쩌면 이것은 나와는 상관없는 일인양 방관한 대부분의 네티즌의 잘못일 수도 있죠. 통신문화는 우리가 만들어 가는 것이고 그 예 절은 우리가 지켜 가야 할 것이죠. 그 사람이 누구건간에 우리는 그런 인간 들에게 어떤방법으로든 제재를 가할 필요가 있습니다. 아래 분 제 글을 보 고 절망감을 느꼈따고 하셨는데, 전 아래분의 글을 보고 그간 제가 참여 해왔던 수십번의 토론이 생각났고, 토론에서 적당한 근거도 없이 제대로된 논리하나 세우지도 못하면서 그저 자기 자존심만을 지키려고 토론을 질질 끌어가는 그런 인간들이 생각났습니다. 제 의견을 무시하고 저잘났다고 떠드는 인간들은 선배가 아니라 선배의 할아버지라도 제 비판을 피해가지 못할것이고, 지금까지 그래왔듯 아주 생 매장시키겠다는게 제 생각입니다. 아래분에 대해서 제가 저런 격한 글을 쓰게된건 바로 이 때문입니다. 남의 의견을 무시하고 남을 무시하는것 만큼 무례한 짓이 없고, 같은글 두번 쓰게 하는것만큼 사람 성가시게 하는 짓이 없죠. 아래분, 자신의 글이,그리고 자신이 남한테 존중을 받고 싶으면 이 글을 보시고 통신예절이 무엇인지 생각해 보셔야 할것입니다. 이만총총... ... 여백주기 이상입니다. 조금 글이 길었죠. 하지만, 여러분의 좀더 공정한 견해를 위해 , 또 제가 전체 분위기를 바꾸어놓지 않기 위해 전체를 다 올렸습니다. 혹시 제가 뭔가 잘못 생각하고 있거나 틀린것이 있다면 주저없이 알려주십 시오. 여러분의 직언에 감사드립니다. 제가 여기 이런 글을 올린 것은 제가 잘 이해하지 못한것을 여러분께서 이해하수 있도록 도와주시기를 바 라는 마음에서입니다. 특히 카우보드를 아끼시는 여러분의 글 기다리겠습 니다. 혹시 개인적인 글로 보내주시기를 바라신다면, technika@sers1.cse.cau.ac.kr 로 보내주십시오. 여러분께 행운이 깃드시길. |