> Mathematica 매스매티카 > Mathematica를 배우기 위해 필요한 시간

Mathematica를 배우기 위해 필요한 시간

Mathematica를 배우기 위해 필요한 시간

By James H. Choi
http://Korean.SabioAcademy.com
원문출처

“Mathematica를 배우려면 시간이 얼마나 걸릴까요?”하는 질문을 받는다.

이 질문은 “피아노를 얼마나 배워야 할까요?”와 마찬가지로 목적과 재능에 따라 극과 극으로 다를 수 있다.

Java 나 C++ 같은 대부분의 컴퓨터 언어는 핵심이 되는 core 가 있고 그 위에 library라 하여 여러 사람이 만들어 놓은 코드를 여기저기서 가져와서 사용한다.  그래서 core를 배우고 나서 일단 “다 배웠다”라는 말을 할 수 있고 그 후 평생 다양한 종류의 문제를 다루면서 그때마다 필요한 library를 찾거나 만들어서 사용할 수 있다. Core  다 안다고는 할 수 있지만 그 언어의 library를 다 안다고는 할 수 없다.  세상 어디어 어떤 library가 있는지 아는 것도 불가능하고 매일 새로운 library가 만들어지고 있기 때문이다.  그리고 누구나 다 library를 만들 수 있기 때문에 같은 기능도 어떤 library를 사용하느냐에 따라 명령어도 다르고 성능도 차이가 난다.  그리고 언제 누가 만든 것이 멀쩡하게 잘 작동하다 내 자료를 분석할 때 조용히 오류를 낼지 아무도 모른다.  즉, 누가 썼는지도 확실치 않은 library 믿고 사용하다 발등을 찍힐 가능성도 있는 것이다.  나 같은 사람도 끄적끄적 써서 library 랍시고 인터넷에 올릴 수 있으니 “세상에 믿을 놈 하나도 없다”라는 격언을 새삼 상기하고 연륜이 있고 검증이 된 library를 잘 선택해서 사용해야 한다.
https://i0.wp.com/c.sabio.tv/Column/Info/Korean/SpecialEvents/SpecialEvents.gifMathematica 는 핵심과 library가 구별 없이 수학 과학에 필요할만한 기능은 거의 다 내장이 되어있다.  (Matlab의 경우는 library를 Toolbox라고 하여 따로 구입하게 되어 있다.)  그래서 Mathematica의 명령어는 수 천개가 되고 새 버젼이 나올 때마다 수백개가 늘어 나온다.  예를 들어 Version 8부터는 Webcam을 직접 읽어 분석하는 명령어가 새로 등장했다.  이 library는 Mathematica 를 쓴 사람들이 만든 것이라 완전하지는 않지만 나 같은 사람이 만든 것 보다 믿을 수가 있고 따라서 나오는 결과를 믿고 사용할 수 있다.

Mathematica 만의 library를 내장하는 구조 때문에 “Mathematica를 안다”라고 선언하는 것이 애매하다.  여태까지 내가 Mathematica 프로그램 할 줄 아는 사람을 구했을 때 프로급 중에서도 내가 필요한 것을 아는 사람은 없었다.  나도 Mathematica로 학원 학생의 관리 software 까지 만들지만 다른 사람의 분야에서는 Mathematica에 어떤 명령어가 있는지 조차도 모르고 있다.

학 생이 주어진 실험실에 들어가 연구소장이 주는 자료를 자유자재로 열고 분석하고 visualize 해 내는 수준이 되기 위해서는 현재 총 40주의 세 코스로 나누어 가르치고 있다.  1주에 약 3시간에서 5시간이 소요된다고 가정을 하니 120~200시간이 되겠다.  하지만 이 40주의 세 코스도 3주만에 배워버리는 학생이 있고 (다른 언어를 배운 경험이 있거나 천부적인 소질이 있는 경우=50시간) 아무리 시간을 소요해도 배우지 못하고 마는 학생이 있다.

코스를 수료하고, 인턴쉽 준비 코스도 하고, 실험실 현장에서 일하는 학생은 매일 매시간 필요에 따라 새로운 명령어를 찾아내어 배운다.  교수에게 결과를 보이면 항상 나오는 주문이 “Great! 그러면 이렇게 배꿀 수 있나?” 이다.  그렇게 바꾸기 위해서 그에 해당되는 명령어를 찾아야 한다.  처음에는 subroutine을 쓰려고 하다가 나중에는 “여러사람이 필요할만한 기능은 반드시 Mathematica 명령어가 있을 것이다”라는 믿음을 가지게 되어 코드를 쓰는 대신 명령어와 사용법을 찾아내는데 집중을 한다.  그렇게 쓴 코드는 간결하고 빠르고 bug이 적고 읽기도 쉽다.  그래서 Mathematica는 하루종일 일하고도 코드 10줄을 쓰는 것이 고작인 경우가 흔하다.  하지만 그 10줄은 Java나 C++의 10페이지에 해당하는 기능을 해내고 문제도 훨씬 적게 된다.

이렇게 명령어가 많다고 겁먹을 일이 아니다.  인간의 언어와 마찬가지로 사전에 나온 단어를 다 알 필요도 없을 뿐 아니라 다 안다고 해서 그 언어에 유창한 것이 아니다.  내게 필요한 것을 그 때 찾아서 내가 가진 생각을 간결하면서도 정확하게 전달할 수 있는 능력이 가장 중요하다.

다시 원래 질문으로 돌아가서 “Mathematica를 얼마나 배워야 하나?”에 대한 비과학적 주먹구구식의 무책임한 답은 소질에 따라 “50시간에서 200시간” 이다.

https://i0.wp.com/c.sabio.tv/Column/Info/Korean/Copyright.gif

  1. h
    12월 30, 2011 3:47 pm

    퍼가요
    정말감사해요!!

  1. No trackbacks yet.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: