"코드 미니멀리즘"

다소 추상적인 이야기이지만, 그간의 코드 작업들을 생각해보다가 떠오른 아이디어가 있어 이곳에 공유해봅니다. :smiley:

오늘 문득 생각을 정리해보다가, 제가 매우 아끼는 ASP .NET의 Minimal API 스택 (그 시작점은 OWIN/Katana 때로 거슬러 올라갑니다. NancyFx도 참 좋아하던 기술이었고요!), Main 메서드가 없는 C# 엔트리포인트, 그리고 LINQPad를 이용한 코딩 (극한까지 사용해보는 LINQPad)을 종합해서 하나의 패러다임으로 만들 수 있지 않을까 하는 생각을 불현듯 해보게 되었습니다.

소프트웨어 공학 패러다임에서 지속적으로 강조되는 것 중에 미니멀리즘이라는 조금 오래되었지만 시대를 타지 않고 계속 강조되는 패러다임이 있습니다.

"딱 이거다"라고 정의내리기는 어려우나 여러 가지 방향성에서 공유하는 점들이 있는데, 겉보기에는 단순하고 간결하지만 그 안에 들어간 정밀하고 고도로 다듬어진 엔지니어링 기술이 목적을 빠르고 쉽게 달성하게 해준다는 면에서 계속 다루어지는 개념인 것 같습니다.

제가 좋아하는 닷넷 기술들도 잘 생각해보면, 일견 보기에는 스크립트 언어처럼 작동하지만, 안에 들어있는 것은 런타임과 프로그래밍 언어가 받쳐주는 고도화된 기술들의 결과물이기도 합니다. 그리고 때로는 unsafe 코드 블록을 사용해서 C 코드나 OS API와도 직접 소통하는 것에 아무런 거리낌이 없기도 하고, 포인터도 쓸 수 있으니까요.

시간을 좀 더 들여 개념 정립을 어느 정도 마무리하게 되면, .NET을 기반으로 하는 "코드 미니멀리즘"이라는 주제로 오리지널 콘텐츠를 올해 만들어보려고 합니다.

이 콘텐츠는 의도적으로 Visual Studio나 Rider 같은 IDE의 사용을 최소화하고, LINQPad나 NetPad 같은 도구를 중심으로 소프트웨어 개발 과정 전반을 진행하는 내용이 될 것 같습니다. 그리고 기회가 되면, C# Script도 같이 다루면서, Visual Studio Code에서의 개발자 경험을 살펴본 뒤, 추천할 만한 수준이라고 여겨진다면 같이 다뤄보려 합니다.

혹시 저와 비슷한 아이디어를 가지고 계신 분들이 계시다면 피드백을 청취해보고 싶습니다!

15개의 좋아요