클린 코더: 타락의 길 (2017)

로버트 C. 마틴(Uncle Bob)은 Swift와 Kotlin의 지나치게 엄격하고 유연성 없는 강력한 정적 타이핑 경향을 '어둠의 길'이라 부르며 우려를 표합니다.

AI 요약

이 글에서 로버트 C. 마틴은 현대 프로그래밍 언어인 Swift와 Kotlin이 추구하는 강력한 정적 타이핑의 위험성을 경고합니다. 저자는 이들 언어가 람다와 같은 함수형 요소를 도입한 점은 긍정적이지만, 타입 시스템의 모든 허점을 메우려다 개발자의 유연성을 제한하는 수준에 이르렀다고 비판합니다. 특히 자바(Java)와 비교했을 때, 이러한 신규 언어들이 규칙 위반을 전혀 허용하지 않는 '비타협적인' 태도를 보이는 것이 개발 생산성에 저해가 될 수 있다고 주장합니다.

핵심 인사이트

  • 현대 언어들이 타입 시스템을 완벽하게 통제하려는 시도는 개발자의 자유와 유연성을 저해하는 '어둠의 길'이 될 수 있다.
  • 정적 타이핑 언어라도 자바처럼 필요에 따라 규칙을 유연하게 적용할 수 있는 적절한 균형이 필요하다.

주요 디테일

  • Swift와 Kotlin은 람다 도입 등 함수형 프로그래밍의 특성을 수용하며 긍정적인 방향으로 발전하고 있다.
  • 그러나 두 언어 모두 부모 언어(Objective-C, Java)보다 훨씬 더 강력하고 경직된 정적 타이핑 시스템을 구축했다.
  • 자바는 타입 규칙을 따르면서도 필요할 때 우회할 수 있는 길을 열어두었으나, Swift와 Kotlin은 이러한 예외에 대해 매우 완고하다.
  • 저자는 정적/동적 타이핑 언어를 모두 사용하지만, 언어가 개발자를 돕는 수준을 넘어 방해(obstructionist)하는 지점에 도달하는 것을 경계한다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...