꼭 C가 아니라도 Native언어 하나 정도는 배우고 익히길 권장하는 이유는 언어적으로 메모리 관리나 성능집약적인 시스템을 구축할 일이 있기 마련인데 해당 작업은 고급언어의 개념과는 다른 많은 기술들이 필요합니다.
알고리즘으로 인해서 생기는 복잡도 계산이나 데이터 처리방법에 따른 메모리 사용량의 고려등 실제로 소프트웨어 세계에 적용되는 많은 이론들은 Native언어가 아니고서는 실제로 그 효과를 보기도 힘들고 또한 그에 따른 장단점을 알기도 힘든 부분이 많습니다. 물론 이런것들이 사용되지 않아도 된다고 할 지 몰르지만 그렇지만은 않은게 현실이죠.
Native가 아닌 고급언어만의 세상에서 살 수 있으면 좋겠지만 사실 그런 엔지니어는 차고 넘칩니다. 시스템 소프트웨어 엔지니어에 지원하는 이력서의 90% 이상은 그런 사람들입니다. 물론 그런일 하고 싶지 않다!! 고 하시면 할 말은 없지만 적어도 모바일 플랫폼이나 소프트웨어 분야에서는 뻔뻔강사님이 언급하신대로 Native시스템을 이용한 최적화는 거의 필수입니다.
그 이유는 가치를 지닌 소프트웨어 일 수도 복잡한 로직을 가지고 있을 가능성이 높고. 처리해야 하는 로직이 같다면 구현하는 도구에 따라서 성능의 차이가 생길 수 밖에 없습니다. PC나 대형 서버와 같은 시스템에서는 그 차이를 느끼기 힘들 수도 있고 작아서 사용자가 무시할 수도 있지만 모바일 시스템에서는 제한된 하드웨어자원으로 인해서 작은 차이가 심각한 문제를 만들고 나아가 고객에게 선택받지 못할 수도 있는 것이죠.
언어란 도구이고 도구를 배우지 않고 그에 연관된 개념등을 배우는 것은 한계가 있을 뿐 아니라 그 깊이도 차이가 크다고 생각합니다. 초심자에게는 숲을 보라는 말은 너무나 추상적이고 어려운 답입니다. 그래서 저는 그냥 도구를 추천하는 것도 나쁘지 않다고 생각했습니다. 도구를 사용하다보면 자연스레 숲을 볼 수도 있고, 보지 못한다 하더라도 일단 그 나무 하나에 해당하는 지식은 배울 수 있을 테니까요.
[quote="lanterrt":1cssndce]초심자에게는 숲을 보라는 말은 너무나 추상적이고 어려운 답입니다. 그래서 저는 그냥 도구를 추천하는 것도 나쁘지 않다고 생각했습니다. 도구를 사용하다보면 자연스레 숲을 볼 수도 있고, 보지 못한다 하더라도 일단 그 나무 하나에 해당하는 지식은 배울 수 있을 테니까요.[/quote:1cssndce]
흠… 또 요기서 하나 은근슬쩍~ 끼어 들자면…
초심자에게 숲을 보라는 게 왜 어려울까요??
제가 우연한 기회에 ‘강의’ 라는 일을 하게 되면서 남에게 지식을 전달하는 일이 정말로 어렵다는 생각을 하게 되었습니다.
물론 지금도 그렇습니다. (당장 내일부터 그런 어려운 일을 하기로 되어있지만… ㅠ.ㅠ)
머리속에는 떠도는데 막상 남에게 얘기하려니 무언가 막막~~~ 한 그런 기분…
숲을 보라고 하는 것 자체가 어려운 건 아닙니다.
다만 초심자에게 ‘숲’ 을 보여줄 수 있는 것 자체가 어려운 일입니다.
왜냐하면 본인들이 생각하는 ‘숲’ 을 초심자의 수준에 맞게 설명하기 어렵기 때문입니다.
이를 해결하기 위해 제가 지금껏 강조해 오고 있는 일이 바로 [b:1cssndce]‘단무지’[/b:1cssndce] 이지요!
즉, [b:1cssndce]단순하고 무식하게 전달[/b:1cssndce]하면 됩니다! ^____________________________^ 씨익~
가장 좋은 방법 중 하나가 ‘그림’ 으로 그려서 전달하면 더 더욱 좋겠죠.
오죽하면 공돌이 관련 원서들에서는 ‘설명하다’ 는 표현을 ‘explain’ 이란 단어 보다 ‘describe’ 라는 단어를 더 많이 사용할까요?
공식 같은 것을 이용해도 좋습니다.
가령 우리가 하루에도 수 십 번씩 접하게 되는 ‘플랫폼’ 이란 단어… 만약 설명하라면 어떻게 설명해야 할까요?
전, 단순하고 무식하게 공식화 하였습니다.
Platform = CPU + OS + Tool
ex) Android = ARM + Linux + Eclipse/Ubuntu
나중에 기회가 되면 설명해 드리도록 하고, 여기서 중요한 건 저러한 일을 숲을 볼 수 있는 분들이 자꾸만 초심자들에게 알려야 하는데,
그런 일이 [b:1cssndce]"거의"[/b:1cssndce] 없기 때문에 어려운 일이라고 생각됩니다.
교육은 백년대계…라고도 했고, 후배 양성은 기술을 익히는 사람들에게는 피할 수 없는 숙명(?)이라고도 생각이 됩니다.
숲을 볼 수 있는 분들이 자꾸만 초심자들에게 다가가 숲이란 이런 것이다~~~ 라고 많이 많이 전파해 주기를 희망하는 마음에서 살짝~ 껴들어 보았습니다.