언어의 실행환경을 이렇게 3단계로 짜면 "궁극의 강력한 도구"가 될 수 있음...
생산성은 GUI기반의 데이터플로우 언어 못따라감...
근데 데이터플로우 언어의 계산 모형을
언어로 표현하는 것은 함수형 언어이고
함수형 언어는 다시 다목적 프로그래밍 언어랑 호환되고
개인적으로 이게 궁극의 조합인듯함...
언어의 실행환경을 이렇게 3단계로 짜면 "궁극의 강력한 도구"가 될 수 있음...
생산성은 GUI기반의 데이터플로우 언어 못따라감...
근데 데이터플로우 언어의 계산 모형을
언어로 표현하는 것은 함수형 언어이고
함수형 언어는 다시 다목적 프로그래밍 언어랑 호환되고
개인적으로 이게 궁극의 조합인듯함...
뜬구름잡는소리하지말고 Case Study 가져오세요
Labview, Unreal Engine Blueprint... 대부분의 그래픽 툴 다 노드로 짠다...
오 그렇게 말하니까 와닿네
근데 GUI 기반의 DSL도 좋지만 간단한 텍스트 기반의 DSL로도 충분히 생산성 올릴 수 있음 ㅇㅇ
오히려 GUI기반의 DSL은 사용층이 두텁지 않으면 개발할 이유가 없지
Node Editor 기반 프로그래밍 전문영역에서 많이 써... 코딩해서 만든다는게 오히려 구닥다리지...
근데 Node Editor 구현이 다 제각각이라서 이걸 함수형 언어 기반으로 표준화시키는거야... 그거 만들려고 함...
ㄴㄴ 모든걸 개발한다는게 아니라 애초에 DSL은 General Purpose가 아니기 때문에 모든 영역에 적용할 수 없음 ㅇㅇ 만약 내가 그 DSL을 적용할 수 없는 문제 도메인에 있다면? 그럴 땐 직접 죄다 코딩하거나 텍스트 기반의 DSL이라도 만들던가 해야지. 데이터 언어라고 딱 지칭할 수는 없지만 DSL이 생산성을 크게 올려준다는데는 나도 동의함 ㅇㅇ
나 이얘기 NDC에서 들어서 넘 와닿음 - dc App
ㅇㅇ 그래서 minimalistic purely functional lagnuage runtime 구현을 하나 만들고, 그걸 C/C++에서 확장시키며, 순수하게 언어를 분석하는 도구도 별도로 만들면 굉장히 강력한 도구가 된다고...
실제로 이래서 나도 유니티에 UI프레임워크 만들어서 씀 - dc App
코어로 만들고 rx패턴으로 컴포넌트 구현한다음 바인더로 붙이고 바깥에 툴확장해서 ui스크립트는 디자이너가 그래픽으로 해결함 - dc App
사실 그리고 함수형은 보조적이고 저 흐름이 궁극적으로 효과적인건 의존성 주입임 - dc App