728x90

대학생활의 대부분을 증명으로 보내죠

일단, 전문적인 수학지식이 필요한 프로그램 부류들이 있습니다. 예를 들어, 최적화 프로그램을 작성하는 프로그래머라면 그 분야에 따라 ‘알고리즘’이나 ‘조합론’, 또는 약간의 ‘선형대수’가 필요할 것 같습니다. 또, 기하 알고리즘을 구현하고 싶다면 '기하학'에 대한 지식이 필요할지도 모르죠. 프로그램들의 종류가 하도 다양해서 거의 모든 분야의 수학이 다 거론될 수 있을 것 같습니다. 제일 추상적이라는 ‘추상대수’나 ‘수리논리학’까지도 computational algebra나 computation logic 분야에서 사용되니까요.

그러나, 이런 것 말고 '일반적인' 프로그래밍 전반에 수학적인 지식이 필요하느냐? 하는 질문에 저는 당근! 필요하다고 생각합니다.

단적인 예가 문제가 주어졌을때, ‘문제를 abstract할 수 있는 능력’입니다. 이거 별로 안 쉽습니다. abstraction이라는 수많은 의미가 있지만 그 중 '불필요한 것들을 떼어내는' 의미를 가지는데, 문제가 복잡할 경우, 뭐가 중요하고 뭐가 그렇지 않은지 파악하기가 극도로 힘들어집니다.

이것은 훈련에 의해서도 충분히 길려질 수 있는 능력이기도 하죠. 결국, 수학이 성공적인 방법론이라는게, 걸리적거리는 detail들을 다 떼어내고 단순화시킬 수 있었기 때문에 이만큼 발전해온것 아니겠습니까? (너무 단순화해서 써먹을 수 없을 때도 많지만.) 쾨니히베르크 다리 문제를 오일러가 한붓그리기로 단순화시킨 것을 예로 들 수 있을것 같군요..

이 abstraction은 아주 현실적이고 concrete한 상황으로도 설명할 수 있는데, 예를 들어, Java에서 interface와 implementation의 관계도 이 abstraction이 적용된 예입니다. Interface에는 타자가 알아야할 정보만 표시되어 있죠. Implementation을 abstract한 예입니다.

우리회사에도 그렇죠. 수학잘하는 사람과 못하는 사람 구분 팍팍 됩니다. 수학을 잘하는 사람은 논리적이고 대신 추상적으로 가는 경향이 있습니다. 이런 사람들은 자료구조나 , 프로그램의 전체적인 설계, 디자인에서 탁월하죠. 반면 수학에 둔감한 사람들은 그런게 너무 떨어집니다. 말을 해도 잘 알아듣지 못할때도 많고요. 대신 수학에 둔감한 사람들중에서는 하드웨어쪽에 탁월한 사람들이 또 있읍니다. 기계적인 감이라고 할까요. 이런 사람들은 전체적인 프로그램설계나 디자인보다는 시스템이나 서버관리 이런쪽에 능력을 발휘합니다.
이 둘 중에 하나라도 잘하면 되겠죠 둘다 못하는 사람들도 많더군요.



수학&전산전공입니다.
우리나라 고등학교 수학은 실제로 대학쪽에서는 물리에서 많이 쓰입니다. 고등학교 수학의 대부분이 미적분쪽을 깊이 배웁니다. 실제로 ‘미적분’은 물리에 많이 쓰입니다. 실제로 진짜 수학은 고등학교때 수학과 거의 별개라고 볼 수 있습니다. 님들이 말하는 수학은 대학에선 거의 물리학쪽에 가깝죠.. 그런데 두 학문다 프로그래밍에 도움이 된다는 것입니다. 진정한 수학은 논리 그자체에 가깝고, 물리학은 수를 논리로 풀어가는 거에 가깝습니다. 프로그래밍할라고 수학하실려는 분들 물리를 하세요. 수학보다 재밌고 잘 와닿습니다.

Computer science나 engineering이나 중요한 것은 ‘abstraction’입니다. OOP만 보더라도 느껴지지 않습니까? 수학은 사고 하는데 있어서 체계적이고 구조적인 접근이 가능하게 하며, 똑같은 사물을 어떻게 abstraction하느냐에 따라 상당한 성능의 차이와 개발 기간의 차이를 냅니다. 수학적인 접근 방식은 플밍하는데 있어서 평범한 타 프로그래머와의 차이를 내는데 아주 큰 역할을 한다고 생각합니다.

저는 현재 수학과 전산을 둘 다 전공하고 있습니다. 제가 내린 결론은 수학을 하면 반드시 프로그래밍에 도움이 됩니다. 하지만, 프로그래밍을 할때 꼭 수학을 해야 하는 것은 아닙니다.그리고, 수학을 공부했을때 도움이 되는 것은 ‘수학적 창의력’입니다. (빠른 계산 능력은 수학으로 간주하지 않았습니다.)

아이디어는 인간, 연산은 컴퓨터, 수학은 수학자에게, 로직은 프로그래머에게 오히려 프로그래머는 수학자쪽보다는 건축가나 이야기의 구조를 짜임새있게 엮어가는 작가쪽의 역량이 좀더 필요하지 않을까 생각합니다. 자연과학 대학원은 학생 지원을 쉽게 해 주기 때문에, 미국의 거의 모든 대학원들에서 석박통합 과정을 밟는다면 학비랑 생활비를 지원받으면서 살 수 있다는 말이 있었습니다. 다른 사이트에 가서도 확인해보니 같은 말이었습니다.


출처: 까먹었어요..

+ Recent posts