수학 필요하다 vs 수학 필요없다(혹은 수학적 사고만 있으면 된다)
이거더군요
그리고 컴공 출신과 학원 출신 프로그래머의 암암리한 기싸움..
학부생 때 한 번 비전공자 분들의 모임에 낀 적이 있었는데
노골적으로 대졸 출신은 사고가 굳어있다며 까는 분위기가 형성됬어서
"와 진짜요??" 하면서 맞장구만 열심히 치고 나왔었습니다.
왜냐면 전 컴공도,학원 출신도 아닌, 하다못해 언어 하나도 다룰 줄 모르고
컴퓨터 조립을 좋아할 뿐인
그저 지나가던 문돌이에 불과했거든요...
제생각에 개발은 랭기지입니다
글 잘쓰고 커뮤니케이션 잘하는 사람이 잘짜더라구요
한자랑 비슷합니다. 한자를 몰라도 우리나라 말을 사용하는데 아무 지장이 없으나...
한자를 알면 국어 이해력이 훨씬 빨라집니다.
수식을 도출하는 능력 정도는 필요해 보여요.
코시 의 사례 던가요?(가우스던가?)
초등학교.. 시험지 채점에 쫓기던 선생은 학생들에게 문제 하나를 내죠.
시간을 벌어서 채점하려구요.
"너희들 1부터 100까지 더하고 그 결과를 적어봐"
코시는 생각했습니다.
1+100 = 101, 2+99=101, ...
이게 50개 있으니까 5050 이다.
물론 컴퓨터는 계산이 빠르니까 반복문을 써도 됩니다.
근데 그것 보다는 저 코시의 방법이 더 빠를거잖아요. 좀더 복잡해지면 반복문만 쓰다가 에러날 수도 있구요.
딱 수식으로 도출할 정도만 되면 된다고 봐요. 미적분을 배울 필욘 없죠.
저희는 대학수학정도만 하고 수학은 안했습니다.
{
bbb;
}
if(aaa) {
bbb;
}
생각하고 들어왔는데.. 민망해지네요 ㅎㅎ
수학적 풀이를 이해하고 적용할 정도가 되면 뛰어난 사람이 되는거고
이해 적용이 아니라 새로운 것을 도출 할 정도가 되면 제대로된 설계를 할 수 있다고 봅니다.
엄밀히 말해 수학을 모른다고 해서 개발을 못하거나 일류 개발자가 될 수 없다는 아니지만, 수학은 프로그래밍에 상당히 도움이 된다고 생각합니다. 특히 일정 수준 까지는 고등 수학 수준의 수학적 사고 만으로도 가능하고 그 일정 수준이라는게 수학을 기반으로 개발 해 온 수많은 개발자들의 도움으로 상당히 높아져 있습니다.
직관이 매우 뛰어나고 암산이 매우 빠른 사람은 모르겠지만, 프로그래밍의 한 축은 수학이므로 매우 복잡한 시스템의 설계는 수학적 도식 없이 최적화 할 수 없거나 답을 찾을 수 없을 지도 모릅니다.
그런데 말 그대로 노가다 코딩작업으로 밥벌이 하는 사람도 있고... 말 그대로 코어 개발인력도 있고 하죠.
음... 아닌가?
범위도 넓고, 전문분야도 있고, 응용분야도 있고, 순수분야도 있는 프로그래밍인데 저런 논쟁이 있는 것 자체가 좀 이해가 안 가긴합니다. 결국 일하다 보면 저런 건 큰 의미가 없어지는 걸 알텐데요.
전체적인 구조를 이해하고 동작하게 하는 아키텍쳐에 가까와 질 수록 논리적인 사고능력은 필수죠.
수학적 사고라는게 덧셈 뺄셈 미적분만을 의미하는 건 아니죠.
대학에서 2.3학년때 배우는 수학요
최적화, 계량방정식 같은
미적분이야 당연히 고2때 다 익혀야죠
그냥 더 폭넓은 프로그래밍을 하기 위해 수학적 능력이 있어야 한다. 정도가 맞지 않을까요?
ClienKit3 . iPXSMax
그럼 프로그래밍은 컴퓨터와 관련된 일이자나요?
컴퓨터가 계산(computation)하는 놈(er)이기도 하고, 원래 컴퓨터공학이라는 학문의 출발은 계산을 위한 기계와 시스템을 위해서 시작된 학문이니 수학적 지식이 필요가 없다는것은 완전히 맞는말은 아니라고 보여집니다.
하지만 어느계통에 종사하냐에 따라서 정도의 차이는 있어보입니다.
정말 단순한 앱을 만들어 공급하는 회사라면 정말 필요가 없을수도 있겠죠
하지만 게임개발이라던가, 게임앤진개발이라던가, 머신러닝이라던가 이러한 분야에서는 미적분 이상의 고차원 수학지식이 있어야 소스코드를 굽고삶고쪄먹고 할수 있겠죠...물론 저는 그래서 못먹고 굶고있습니다 ㅠㅠ
그냥 필요한 부분에 쓰는데 그 양이 많냐 적냐 차이일 것 같습니다
문젠 이 논리력이 사실상 수학을 기반으로 하는 녀석이라, 수학을 잘하진 못해도 이해하는 정도는 되어야 한다는 것이죠.
실제로 우리가 하는 대부분의 프로그래밍 업무들이나 아키텍쳐, 설계 관련 분야들은 수학보다 논리력이 절대적으로 필요한 부분입니다. 문젠 설계를 합당한 근거로 설명하기 위해선 수학을 기반으로 하는게 가장 쉽다는 것이죠.
말이 조금 이상한데, 프로그래머의 제 1 자질은 논리력이고 현상에 대한 차이를 분석하는 분석력이고, 그 다음이 각 현상에 대한 관계를 연결하는 능력이죠. 그런데 이 능력들 또한 가장 쉽게 확인하는 방법이 바로 수학입니다.
즉, 프로그래머의 주요 능력에서 수학은 설명을 위한 도구일 뿐입니다. 그것도 가장 손쉽게 이해 가능하도록 제공하는 가장 강력한 도구죠. 그래서 수학이 프로그래밍에서 중요하다고 하는데 실상은 수학이 필요한 이유가 논리적인 설명을 위해서이기 때문에, 핵심 능력은 논리력이라고 생각합니다. 수학은 다른 방법으로 풀어서 이야기 할 수 있으면 그닥 필요 없다고 생각해요.
수학이 필요한 특정 분야가 있다고 보는 게 가장 합리적이죠. 3d, 물리엔진, 딥러닝 등은 수학이 필수적입니다. 웹 프론트엔드 개발을 한다면? 수학의 중요성이 딱히 없겠죠. 단지 이 뿐입니다.
가끔 프로그래밍 그 자체에 수학이 중요하다고 주장하는 분이 있는데 저런 분야별 중요성이 아닌 어떤 큰 연관성을 제대로 설명하는 경우는 한 건도 못봤습니다. 뭐 느낌적으로 중요하고 연관있는 것 처럼 느껴질 수는 있겠죠. 하지만 구체적으로 어떻게 연관이 있는지는 설명하기 아주 힘들 겁니다. 전 연관이 별로 없다고 보구요.
* 포프 : 인생에 도움되는 수학
공학수학은 뺀다쳐도 기본수학 이산수학 선형대수 공학수치해석은 필수입니다
지금도있는지모르지만 공학인증제 bsm 받고 졸업하려면 수학없인 안된걸로 기억하네요
단순히 알고리즘이나 아키텍쳐가 주어져 있을 때 이를 프로그램으로 구현하는 코더가 되느냐(수학 필요없음)
혹은 알고리즘이나 아키텍쳐를 만들 수 있느냐(수학이 필요함)
의 차이라고 생각합니다.
널리고 흔한 코더에서 아키텍쳐를 설계할 수 있는 차이가 프로그래머에 대한 능력의 차이라고 생각합니다.