변화된 IT 환경에 적응하기 위한 개발 방법론
페이지 정보

본문
뭐든지 시작은 단순합니다.
먼거리도 첫 한걸음 부터 시작하듯이
프로그램도 프레임워크도 초기에는 단순했습니다.
그런데, 지금은? 그 시작이 단순했던 프레임워크도 복잡해지고
그리고 언어도 다양해 졌습니다.
오래된 언어일수록 오래된 프레임워크일 수록 그 세월을 코드에 담아내느라
그 복잡성이 이루 말할 수없을 정도로 다양하고 복잡해졌습니다.
그래서
후학 들이 쫒아 갈 수 없을 정도가 되자 나온
새로운 언어들이 제법 됩니다.
뭐 하나 만드는데, 이제는
예전에 언어 하나만 써서 만들었다면 이제는
여러 언어를 조합해서 만들어야하게 되었습니다.
그게 속도나 인프라 대응에 더욱 적합하기 때문입니다.
그럼 반대로
기존 오래된 언어가 갖는 복잡성은 어떻게 해야죠?
오래된언어 + 다양한 언어가 합쳐지면 복잡도는 더욱 증가합니다.
하나만 잘해도?
그래서 객체지향 언어의 시대가 끝났다는 말을 하게 됩니다.
객체 지향은 삼체 문제 처럼
변수와 함수 이렇게 2차원 적인 것에 클래스라는 하나의 차원을 더해서
복잡도에 거의 무한으로 대응가능하게 만든 개발 방법 모델입니다.
하나의 언어 환경을 매우 다양한 방식으로 쪼갤 수 있게 한 것이 공이라면 공이겠죠.
그런데, 복잡도가 높아지고, 속도는 느려지게 됩니다.
아직 도래하지 않은 메타버스나 기타 초고속 통신 속도에 대응해야하는 다양한 프로그램 제작에서
3차원 복잡도가 갖는 속도 저하는 렉현상을 초래하게 될 것입니다.
만들기도 시간이 오래 걸리고,
만든 다음에도 접속하면 처리하는데 시간이 오래걸려서 기다려야하고
여태 조장 찍는 다는 옆나라의 정체된 시스템을
IT에서도 보게 되는 것이죠.
그래서
하나의 언어는 단순해야합니다.
간단하게 생각하면 클래스 수준을 언어의 다양성으로 커버 한다고 보시면 됩니다.
그런데 여기서 php 의 문제를 들자면
php는 당연히 웹을 만들기 위한 단순화를 목적으로한 언어입니다.
그런데 java 가 한참 유행하면서 객체지향이 정답 처럼 연봉을 올려주는 언어처럼 생각하게 되었는데,
php로 객체지향 만든다고 해서 연봉이 올라가지는 안았습니다.
그저 만든는 시간만 증가 시켰습니다.
php를 가지고 왜 객체지향을 만들지?
객체지향 만들꺼면, 그냥 java 쓰지 말야?
저와 같이 일하시던 C# 프로그램 10년 하다 오신 개발자 분이 던진 화두였습니다.
그분은 빠르게 만들때는 php 를 함수만 가지고 만든다 그리고 천천히 클라이언트가 좀 돈질좀 하려고 한다
그러면 java로 ...
게임 프로그래머로 유명한 유투버인 포프님도
객체지향으로 게임 서버를 만들면 느려서
실력 좋은 C++ 프로그래머들과 계획을 잘 세워서 객체지향을 사용하지 않고 만든다고 했습니다.
이유는 전적으로 속도
msa 방법론.
마이크로서비스라고 하는 방법론이 대두된 이유도 앞의 이유과 비슷합니다.
하나의 언어를 깊게 파고드는 것도 나름 가치 있는 일이지만,
안되는거 억지로 되게하려고 기를 쓴 깊은 사연을 알고 나면,
그럼 다른 언어 쓰지?
결국 다른언어로 만들어서 이거 랩핑해서 가져다 쓴것을 대안으로 만들어 놓고
내 언어 다되 이렇게 말하고 있습니다.
python 의 numpy 정도가 그런 수순을 따르고 있습니다.
이렇게 보면
하나의 언어는 단순하게 만들고
다양한 언어를 합쳐서 만드는게
현재 개발 방법의 트랜드입니다.
그래서 karbon에서는 다양한 언어를 가볍게
결합하는 방식의 프로젝트를 슬슬 진행해 볼까 합니다.
현재 홈페이지는 php 그누보드5로 제작되었습니다.
여기에 앞으로 다양한고 가벼운 언어들을 결합해서 만들어내는 프로젝트가 하나하나 올라올 것입니다.
게으르고 귀찮은 개발자 들의 성지가 되길 바랍니다.
- 다음글그누GO, 그누Svelte 선택 24.10.14
댓글목록
등록된 댓글이 없습니다.