|
원래 이글루는 취미, 생활용 글만 올리기로 했었는데 이오공감에서 글을보고 생각난김에 써봅니다. 저 글을보니 학업용 블로그에 쓰다가 저장해둔 기초의 중요성이란 글이 생각났달까요..-_-; 더위에 지침과 동시에 블로그를 버려둔게 오래되서 까먹고있었습니다 lllorz 글을 잘 못쓰는데 할말은 많아서 두서없으니 양해바랍니다.. 하하 뭐 저 자신도 학생도 아니고 직장인도 아니고 그저 혼자 공부를 하고있는 백수이기에 기초가 제일 필요하겠지만, 저는 이미 기초가 중요하다는 것 정도는 알고있으므로 넘기도록 하죠. 무슨일을 하던간데 기초가 중요한것은 당연한 일입니다. 그리고 그것은 프로그래밍 분야에서 더더욱 강조되어야 하는 점이라고 생각합니다. 프로그램을 다룬다는 특성상 특정 언어를 사용하여, 또는 이전의 작업물을 기초로 새로운 무언가를 창조하여야 하는 것이 중요한데 그런 응용력을 나오게 하는 원동력이 바로 프로그래밍에 대한 기초능력이기 때문입니다. 또한 예상치 못한 상황이 발생하였을 때 슬기롭게 대처하는 능력도 기초능력에서 비롯됩니다. 아무리 화려한 기술(Skill)이 많다하더라도 기초적인걸 잊고있다면 그것은 잔재주에 불과하며, 그것은 프로그래밍에 방해만 될 뿐이죠 프로그래밍 언어. 더욱 깊숙히는 컴퓨터의 구조를 이해하고 있어야 새로운것을 창조할 때, 예상치 못한 상황에서 슬기롭게 대처할 수 있게 됩니다. 레시피를 보고 요리를 만들 수 있다고해서 그사람이 유능한 요리사인것은 아닙니다. 레시피를 보지 않고, 더 나아가서 자신만의 요리를 만들 수 있어야 유능한 요리사인 것이죠. 소금이 뭔지, 설탕은 언제 사용하는지 잘 알지 못하는데 그런일이 가능할까요? 또한 프로그래밍의 특성상 사소한것 하나까지도 신경써야 하기 때문에 기초능력은 더욱 중요합니다. 언어에서의 연산자 연산순위, 배열이나 구조체의 특성, 포인터... 이러한 것들은 C언어에서의 기초이지만 이것을 이해하고 있지 않다면. 당당히 내놓은 프로그램에서 튀어나오는 수많은 벌레들을 보실 수 있을것입니다. 연산자 우선순위. 전부 알고 있다고 생각하시나요? 확실히 대답할 수 없다면 책을 펴보실 것을 추천합니다. 당신을 위해서요. 한때 네이버 지식in 에서 C/C++ 카테고리에서 답변을 달며 지냇던 적이 있습니다. 갑자기 찾아온 공부에 대한 슬럼프 (그런거 있죠. 어느새 게임에 빠져서 공부하기 싫어지는...ㅎㅎ) 를 극복하고자 지식in 에서 답변을 달기 시작했습니다. 그것이 많은 도움이 되었었죠. 아는 것은 아는 만큼, 모르는 것은 인터넷을 검색하고 직접 테스트해보며 이것저것 공부한 것이 많았고, 잘못된 점을 많이 알았었습니다. (정말.. 해봐야 아는 소중한 것들) 내공15,000을 쌓아 영웅 등급이 되면서 느낀거지만, 지식in 에 올라오는 지식은 몇가지 유형이 있는데, 그중에서 가장 많고 짜증나는 질문은 풀어볼 생각도 없이 문제만 올리고 님들아 소스 주세여 뿌우'ㅅ' 하는 질문이죠. 그리고 질문을 자주올리는 사람도 있는데, 이전에 답변해준 질문과 별로 다르지 않은데도 또 질문을 올리는 사람들이 있곤 합니다. 답변을 달때마다 기초가 중요합니둥 :D 이라고 말은 하지만.. 참으로 안타까운 일이 아닐 수 없습니다. 반복문을 이용해서 * ** *** **** ***** 를 만들어 보세요. 라는 문제와 ***** **** *** ** * 를 만들어 보세요. 라는 문제의 차이가 뭘까요? 저 두 문제의 차이를 몰라 질문을 계속 올리는 분이 많은것은 정말 안타까운 일입니다. 저는 언어를 공부하는 것은 언어자체보다 컴퓨터와의 동작 대해 공부하는 것이다. 라고 생각하며 공부하곤 합니다. 그것이 도움이 되었는지, C언어를 마스터하고 다른 언어를 공부함에 있어서도 막힘없이 공부하는 것이 가능하였지요. C/C++이든 다른 언어이던간에 기초적으로 배운 것들은 나중에가서 항상 쓰이기 때문에 기초가 중요시 되곤 합니다. 그렇기에 많은 사람들이 보여주는 해답보다는. 해답속에 숨어있는 논리를 찾는데 시간을 써야하지 않을까요? 요즘같은 세상에서야 Dijkstra 보단 사용하기 쉬운 Floyd 알고리즘을 사용해도 문제 없겠지만, 사용하기 전에 그럼으로 인해서 발생할 수 있는 문제를 생각해야 합니다. 그러기 위해선 두 알고리즘에 대해 알아야하고, 두 알고리즘의 구조에 대해서도 알아야하겠죠. 이것은 한두가지로 국한되지 않은... 프로그래밍에 대한 문제이기도 합니다. 이렇게 오랜만에 글을쓰니.. 옛날 생각이 나는군요. 고등학교때 친구와 베이직 공부를 하면서, 처음으로 2차원 배열을 이해하였을 때.. 친구와 저는 "아 2차원 배열로 게임에서 맵 좌표 정하는 거구나 ㅋㅋㅋ" 하면서 좋아했던 기억이 납니다. 하나씩 알아가는 기쁨. 그것이 공부의 원동력이고 필요한 것이지만, 그것에 치우친 나머지 중요한 것을 놓치고 있지는 않은지 다시한번 생각해보는 시간이 되었습니다. 감사합니다. ps. 샤펜(Schaffen) 의 뜻은 창조. 프로그래머를 향한 저의 마음을 담은 닉네임입니다. 부족한 저를 되돌아보는 계기가 되었네요. 이런 계기를 주신 Nara님께 감사드립니다.
|
카테고리
메모장
게을러지지 말자. 제발! 최근 등록된 덧글
http://club.paran.co..
by 인디언보이 at 08/22 http://club.paran.co.. by 인디언보이 at 08/22 http://club.paran.co.. by 인디언보이 at 08/22 우연히 들어왔는데 좋은.. by 무유 at 07/24 잘 쓰셨다니 다행이네요 .. by 샤펜 at 07/16 최근 등록된 트랙백
당신이 여성을 유혹할 때..
by 근거없는 허풍으로..! 성격 바톤! by 근거없는 허풍으로..! ∂001 닉네임을 쓰는 이유 by 근거없는 허풍으로..! [티스토리 이용] 글을.. by 근거없는 허풍으로..! 뫼비우스 속의 운명.. '.. by 낭만타로술사 tO Tarot .. 이글루링크
태그
ragnarok
박지성
첫면접
모에
기초
긴생머리
무한의검제
평범한농부
당신이여성을유혹할때성공할확률
이미지로표현하는이글루
나이키
프로그래밍
역시페이트에선아쳐가제일간지
블로그문답
HI-NG
릴레이
지식in영웅
시발일본
레전드
아이솔
오델리아
라그나로크
이글루나무
무검
프로그램
얼굴인식
전생
라그쫑
바톤
하이엔지
이글루 파인더
|