현재 버전

매운만두맥주 // 본문 내용으로 짐작하시겠지만 제 경우는 수학 지식이 깊지 않아 깊이 있는 의견을 제시하긴 어렵다는 점은 고려해주셨으면 합니다.

그런 전제로 제한적인 제 개인적 경험을 바탕으로 말씀드리면, 우선 프로그래밍 이론과 응용 부분으로 나누어 생각할 필요가 있을 것 같습니다.

이론에 대한 부분은 특히 함수형 프로그래밍이 인기를 끌면서 필요성을 느끼게 된 부분인데, 함수형 프로그래밍의 경우는 패러다임 자체가 수학의 범주론에 기반하는 만큼, 수학을 알면 원론적인 차원에서 개념을 이해하는데 도움이 됩니다.

프로그래밍 패러다임은 기본적으로 문제를 추상화해서 이를 해결할 수 있는 코드를 작성하고, 그런 코드의 단위를 어떻게 조합해서 보다 복잡한 덩어리를 쌓아 올릴 수 있는지에 대한 방법론인데, 함수형 패러다임은 수학의 함수를 추상화의 기본 단위로 삼아 함수의 합성을 통해 이를 해결하려는 접근이고, 범주론은 이러한 접근 방법에 대한 이론적 기반을 제시하는 관계입니다.

저도 이제 공부를 하는 입장이지만, 위와 같은 관계가 있다보니 함수형 프로그래밍에 대한 문서를 읽다 보면 기반이 되는 수학 개념과 관련 용어가 빈번하게 등장하다보니 본문에 언급한 바와 같이 생각의 변화를 경험하게 되었습니다.

응용부분에서는 지금도 분야에 따라 필요한 수학적 지식의 종류나 수준이 달라진다고 생각합니다만, 앞서 언급한 대로 딥 러닝이 대중화 될 것을 생각하면 선형대수 같은 건 알아두면 여러모로 개발에 도움이 될 일이 많은 것 같습니다.

저 같은 경우 회사에서 SVG를 다루는데, SVG의 좌표계 변환에 필요한 행렬에 대한 기본 지식이 취미로 3D 관련 코딩을 하는데도 그대로 적용 가능한 경험을 했습니다.

그리고 최근에 딥 러닝 기초를 배우면서, 역시 동일한 지식이 왜 행렬의 연산이 데이터 사이의 숨은 연관 관계를 찾아내는 작업에서 핵심 역할을 하는가 같은 내용을 이해하는데도 상당히 도움이 된 것 같습니다.

이제 범주론이나 선형대수 같은 걸 기초부터 배우는 입장에서 그 중요성을 역설하는 건 민망하긴 합니다만, 개인적인 경험에 대한 공유 정도로 이해해주셨으면 합니다.


수정 이력

2020-10-29 12:51:48 에 아래 내용에서 변경 됨 #1

매운만두맥주 // 본문 내용으로 짐작하시겠지만 제 경우는 수학 지식이 깊지 않아 깊이 있는 의견을 제시하긴 어렵다는 점은 고려해주셨으면 합니다.

그런 전제로 제한적인 제 개인적 경험을 바탕으로 말씀드리면, 우선 프로그래밍 이론과 응용 부분으로 나누어 생각할 필요가 있을 것 같습니다.

이론에 대한 부분은 특히 함수형 프로그래밍이 인기를 끌면서 필요성을 느끼게 된 부분인데, 함수형 프로그래밍의 경우는 패러다임 자체가 수학의 범주론에 기반하는 만큼, 수학을 알면 원론적인 차원에서 개념을 이해하는데 도움이 됩니다.

프로그래밍 패러다임은 기본적으로 문제를 추상화해서 이를 해결할 수 있는 코드를 작성하고, 그런 코드의 단위를 어떻게 조합해서 보다 복잡한 덩어리를 쌓아 올릴 수 있는지에 대한 방법론인데, 함수형 패러다임은 수학의 함수를 추상화의 기본 단위로 삼아 함수의 합성을 통해 이를 해결하려는 접근이고, 범주론은 이러한 접근 방법에 대한 이론적 기반을 제시하는 관계입니다.

저도 이제 공부를 하는 입장이지만, 위와 같은 관계가 있다보니 함수형 프로그래밍에 대한 문서를 읽다 보면 기반이 되는 수학 개념과 관련 용어가 빈번하게 등장하다보니 본문에 언급한 바와 같이 생각의 변화를 경험하게 되었습니다.

응용부분에서는 지금도 분야에 따라 필요한 수학적 지식의 종류나 수준이 달라진다고 생각합니다만, 앞서 언급한 대로 딥 러닝이 대중화 될 것을 생각하면 선형대수 같은 건 알아두면 여러모로 개발에 도움이 될 일이 많은 것 같습니다.

저 같은 경우 회사에서 SVG를 다루는데, SVG의 좌표계 변환에 필요한 행렬에 대한 기본 지식이 취미로 3D 관련 코딩을 하는데도 그대로 적용 가능한 경험을 했습니다.

그리고 최근에 딥 러닝 기초를 배우면서, 역시 동일한 지식이 왜 행렬의 연산이 데이터 사이의 숨은 연관 관계를 찾아내는 작업에서 핵심 역할을 하는가 같은 내용을 이해하는데도 상당히 도움이 된 것 같습니다.

이제 범주론이나 선형 대수 같은 걸 기초부터 배우는 입장에서 그 중요성을 역설하는 건 민망하긴 합니다만, 개인적인 경험에 대한 공유 정도로 이해해주셨으면 합니다.