잠시 멈추어서...

2022. 9. 26. 00:00Functional Programming/Category Theory

반응형

Functional Programming 을 위한 여러가지 기법들 용어들이 있었다. 

그러한 용어 및 기법들이 수학과 연관되어 있다는 것을 다들 알것이다. 

물론 그러한 개념 들을 모른다고 해서 Functional Programming 을 할 수 없는 것은 아니지만

Functional Programming 의 대부분의 기법들이 서로 연관되어 있어

합성에 의해서 새로운 기능을 만들어 낼 수 있다는 것을 알게 된다면

이러한 원리에 기반이 되는 이론을 알게 된다면 개발에 더욱 도움이 될것이다. 

다행스럽게도 이와 관련하여 정리해 놓은 좋은 이론들이 있고

앞으로 좀 긴 시간동안 이 부분에 집중하게 될것이다

 

이것을 프로그래머를 위한 Category Theory 라고 한다.

 

이부분의 창시자(??) 이자 전문가라고 할 수 있는 사람이 있다. 아래를 참고하자.

https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/

 

 

Category Theory for Programmers: The Preface

Table of Contents Part One Category: The Essence of Composition Types and Functions Categories Great and Small Kleisli Categories Products and Coproducts Simple Algebraic Data Types Functors Functo…

bartoszmilewski.com

 

앞으로 이 공간은 당분간 Functional Programming 과 Category Theory 를 정리하는 공간이 될것이다. 

 

프로그래밍에 패러다임이 변하고 있다.

구조적 프로그래밍에서 객체 지향 프로그래밍으로

다시 Functional Programming 으로 ....

구조적 프로그래밍에서 객체지향으로 이동하며 많은 충격이 있었고

이제 객체지향에서 Functional 로의 이동(??) 으로 더 많은 충격이 있을 것이다.

객체지향과 함께 발전한 Design Pattern 과 SOLID 같은 원칙들은

개발자들에게 유지보수와 확장이라는 것에 대해 다시한번 생각하게 되는 계기가 되었다.

프로그램이 거대화되고 복잡해 질수록 유지 보수와 확장도 함께 복잡하고 어려워진다.

하드웨어의 발전은 parallel 이라는 개념과 함께

동시성을 처리해야 하는 단계를 추가하여 더욱더 개발에 복잡성을 더해가고 있다.

Functional Programming 은 어쩌면 바로 이 부분에서

패러다임에 변화가 필요하다는 안내를 하게 되는 것 같다.

불변성은 바로 이부분에서 가장 놀라운 해결책을 주는것이라고 생각된다. 

 

AI 의 발전은 기존에 사람이 하던 일들을 빠르게 대처하고 있다. 

Copilot 같은 AI coder 의 등장은 개발자들이 하던 많은 일을 대처하게 될것이다.  

혹자는 이 부분에 대해 개발자에 위기라고 말하지만 나의 생각은 다르다.

모든 위기에는 기회가 있는 것 처럼 AI 를 이용 할 수 있다.

Copilot 를 단위 Function 을 생성하는 곳에 이용하고

개발자는 이러한 Function 을 적절히 합성하는 기술을 익힌다면

개발이라는 것은 지금까지와는 다른 모습으로 자연스럽게 변화할 수도 있다. 

 

모든것은 생각하기 나름이다.!!

 

어쨌든 당분간(??) 진행하게 될 category theory for programmer 에 대해 함께 공부하고

한달 만원짜리 ai coder 가 20년차 개발자 보다 개발을 잘하게된 이런 세상에서 

개발의 next step 을 같이 밟아보자!!

그럼 모두 즐거운 마음으로 함께 하길 바라며~~

 

 

관련영상

https://youtu.be/SH3GVKFkelw

 

반응형

'Functional Programming > Category Theory' 카테고리의 다른 글