티스토리 뷰

가끔 선배들이 학교에 가서 하는 이야기들이 있다...

"Java에 something은 절대 사회에서 쓸 일이 없으니깐 배우지마..." 라던가
"C 언어 왜 배우냐?? 나가면 그런거 안써..."라던지...
"그런거 보다 차라리 사회에 나가서 많이 쓰는 이런걸 배워..."
이런 말들...

머 위와 같은 말을 많은 선배들이 많은 후배들에게 하는 것 같다....
여기서 잠시 심각하게 고민해보자..ㅡㅡ;;;

과연!!!!?????
나를 일 예로 들면 어느 선배가...
"어셈블리 배워도 안써~~ 요즘 누가 그런거 하냐?" 라는 말을 들은 적이 있다.
물론, "어셈 알아두면 좋아"라는 선배도 있었던것 같다... 그런데 전자의 말로 이야기를 이어가 보면,
요즘... 난... 어셈으로 디버깅 한다..ㅡㅡ;;; 어셈으로 프로그램을 작성하진 않지만!!
아무리 디버거가 좋다고 하더라도... 속도나 바이너리 크기 때문에 옵티마이즈 된 프로그램 코드는 진짜 보기 어렵기 때문이다. 그래서 레지스터 일일이 보면서 디버깅 한다. 단말에 관련된 일을 하고 있기 때문에 좀 더 특성을 탈 수도 있으나... 예가 어셈블리 언어여서 그렇지.. 다른 분야에 다른 예를 들 수 있다면?? 이야기는 달라지지 않을까?

예전에 누군가 "건X대학교는 1학년 때 C를 안가르치고 JAVA를 가르친다던데??"라는 말을 들었다...
(절대 해당 학교를 나쁘게 말하는 것이 아니기에 오해가 없었으면 한다.)
그렇다고 C랑 C++을 안배우는 것일까?? 해당 학교 커리큘럼을 보고 나서 확정지어야 할 의문이다.

컴류터에 관련된 일을 하면서... 컴퓨터에 대한 동작 원리와 기반 지식이 없다면, 과연 제대로 된 일을?? 아니면 무언가 제품을 이루어 낼 수 있을까??

요즘은 워낙 잘 만들어진 API set과 Lib들... IDE 툴들 덕분에 프로그램을 좀 더 손쉽게 만들어내기 쉬운 것 같다. 여기서 중요한 점은, 프로그램을 만들어내기 쉬워진 것이지 좋은 프로그램을 만들어 내기가 쉬워진 것은 아니다.

가령 메모리 단편화에 대해서 생각해 보면, 아무리 좋은 플랫폼이라도 조그만 메모리를 10초에 한 200번씩 계속 alloc free 하면, 나중에 조금 큰 memory를 할당 받고자 할 때, NULL이 떨어질 가능성이 무진장 크다. 물론 할당하고자 하는 메모리 조각을 찾기 위해서 속도도 무진장 느려지기 시작한다....
(windows Mobile은 실제로 그렇다.)
물론 mem pool을 여러개로 나눠 관리하는 플랫폼이라면 저런 현상이 덜할 것이다...
자.. 우리는 학교에서 한번 쯤 들어보았을 법 한 단어, "메모리 단편화"를 까마득히 저 먼 곳 안드로메다에 두고 올 때가 많다. 실제로 단편화 방지를 위한 방법에 대한 교육을 받았음에도 불구하고 말이다.
"그건 플랫폼이 알아서 해주어야 하는 것이 아닌가요?" 라고 말하는 사람이 있다면... 앞으로 프로그램 짜지 말아주길 정말 바란다.... 플랫폼도 일종의 프로그램이다. 그런 프로그램이 전지전능하길 바란다면... 너무 큰 망상이 아닐까?

또, 알고리즘을 보자... 이 글을 얼마나 많은 분이 읽으실 지는 모르지만.. 실제 제품을 만들거나 하면서 binary search 이상의 알고리즘을 적용해 보신 분이 몇이나 되실까.... hash table은?? 만들어 져 있는 것을 쓰는 것이랑은 좀 다른 관점이다. 
"bubble sort가 편해서 그냥 쓴다... 어차피 요즘 하드웨어 스펙도 좋은데 속도나 메모리 걱정 왜 하느냐...." 라는 분이 많으실 걸로 안다.... 그럼 2GB 메모리가 모자른 경우의 프로그램을 만들어본 적이 있는지 물어보련다...  처리할 이미지 파일 하나, 혹은 영상 파일 하나가 1GB가 넘는 경우가 없을 것 같은가?? 많다..ㅡㅡ;; 실제로 의료용 어플들은 그런일이 비일 비제 할 거다... 왜?? 자료가 크니깐...DICOM이라는 의료용 규격이 문제 있는 것도 사실이지만, 그렇다고 안 만들 수는 없지 않은가??

이야기가 옆으로 센듯 한데, 우리가 학교에서 배우는 대부분의 교과목들은 컴퓨터를 관련한 일을 하는데 필요한 기초 지식을 쌓아주는 것이라고 생각한다. 그리고 우리는 그 기초를 가지고 자신이 하고 싶은 혹은 더 잘 할 수 있는 분야로 발전 시켜서, 그 분야에 더욱 매진하는 것이 아닌가?!!

이야기의 서두를 학교에서 일어나는 일로 다뤘지만 결론은 앞으로 내가 가져야할 자세로 지어야 할 것 같다.
여러 분야의 지식을 습득하고 어떻게 하면 더욱 나은 프로그램을 만들까를 계속해서 고민해야 할 것 같다.....

"책을 놓는 순간 난 도퇴되기 시작한다."라는 말을 한 사람이 있다. 좋은 책이라며 추천해 주시는 분들도 있다...
언제나 그 분들께 감사하다는 말씀을 드린다. (저 같은 놈 신경써 주셔서^^;;) 그래서 지금 inter 공원에 책 주문하러 갈꺼다.

책을 사고 나서 또 몇자 올려 볼란다.....

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함