사람들에게 감정을 불러일으키는 소프트웨어를 만들라

1 month ago 17

  • 개인용 코드 에디터 Boo를 개발한 작성자가, 프로젝트를 잠시 중단하고 새 프로그래밍 언어를 만드는 이유를 설명
  • Boo는 인간 중심 키보드 내비게이션LSP 대체 시스템을 갖춘 Rust 기반 에디터로, 상용화보다는 개인 사용 목적
  • 반복적 개발 과정이 창의성을 떨어뜨린다고 보고, 영감을 주는 소프트웨어를 만드는 즐거움을 중시
  • 레고 블록 조립젤다의 전설: 브레스 오브 더 와일드를 예로 들어, 기억에 남는 창작물의 중요성을 강조
  • 성공 공식을 따르기보다 자신의 흥미와 배움 중심의 개발 철학을 유지하며, Boo를 향후 자신이 만든 언어로 다시 작성할 계획

Boo 프로젝트와 개발 동기

  • Boo는 작성자가 자신을 위한 코드 에디터로 만든 프로젝트로, 대중적 성공보다는 개인적 효용에 초점
    • Boo는 인간-키보드 내비게이션 기능을 갖추고, LSP(Language Server Protocol) 대신 더 빠르고 OS 부담이 적은 시스템을 사용
    • 현재 일상 업무에 사용할 수 있을 정도로 동작하지만, 공개 소스로 배포할 계획은 없음
  • Boo와 Rio Terminal은 모두 Rust로 작성되었으며, 유사한 구조와 배포 과정을 가짐
    • 이러한 유사성이 반복적 작업으로 느껴져 개발의 즐거움을 감소시킴

창작과 영감의 관계

  • 레고 블록 놀이를 예로 들어, 매번 다른 형태를 만들 수 있는 자유로움이 창작의 즐거움임을 설명
    • 같은 부품을 반복적으로 사용하는 대신, 외부 요소를 더해 새로운 결과를 만드는 과정이 흥미의 핵심
  • 프로그래밍이 반복적일수록 “와우” 효과를 주는 창작물이 나올 가능성이 줄어듦
    • 영감을 받아야 영감을 주는 소프트웨어를 만들 수 있다는 점을 강조

기억에 남는 소프트웨어의 예시

  • 젤다의 전설: 브레스 오브 더 와일드를 예로 들어, 게임을 하지 않던 사람들까지 콘솔을 구매하게 만든 완성도를 언급
    • 플레이 후에도 오래 기억에 남는 경험을 제공하는 작품의 힘을 강조
  • 이러한 수준의 정성을 들여 만든 소프트웨어가 사람들에게 감정적 인상을 남긴다고 설명

Boo 중단과 새로운 언어 개발

  • Boo는 사업 목적이 아닌 취미 프로젝트로, 수익이나 마감 기한이 없음
    • VS Code 같은 대형 프로젝트를 만들 의도도 없으며, 억지로 진행하지 않음
  • 영감이 돌아올 때 다시 이어가기 위해 Boo를 일시 중단하고, 현재는 자체 프로그래밍 언어를 개발 중
    • 장기적으로 Boo를 이 언어로 다시 작성할 계획

개발 철학과 태도

  • 새로운 언어 개발은 많은 작업이지만, 작성자는 이를 즐거운 학습 과정으로 인식
    • 바이너리와 컴파일러에 대한 이해를 넓히며, 자신만의 속도로 진행
  • 외부의 성공 공식이나 조언을 따르기보다, 자신의 사고방식과 흥미를 중심으로 개발을 지속
  • 이 글 자체도 Boo를 사용해 작성되었음

Read Entire Article