AI 시대의 프로그래밍 언어: Ruby의 역할과 미래

Yukihiro "Matz" Matsumoto — Programming Language for the AI Age | Baltic Ruby 2025

작성자
Baltic Ruby
발행일
2025년 08월 30일

핵심 요약

  • 1 AI 시대의 프로그래밍 언어는 인간과 AI 간의 효과적인 소통 수단이 될 것이며, Ruby는 간결함, 표현력, 확장성으로 이 역할에 적합합니다.
  • 2 Ruby의 미래를 위해 AI 학습 데이터(오픈 소스 코드), 개발 도구, 그리고 YJIT 및 새로운 ZIT 컴파일러를 통한 성능 개선에 지속적으로 투자하고 있습니다.
  • 3 Ruby 4.0이 30주년을 기념하여 2025년에 출시될 예정이며, 실험적인 ZIT JIT 컴파일러와 `namespace` 기능이 포함될 것입니다.

도입

화자는 Ruby 개발자이자 기술 작가로서 소규모 컨퍼런스의 중요성을 언급하며, AI 시대의 프로그래밍 언어에 대한 질문을 던집니다. 현재 AI가 코딩에 활용되지만, 주니어 개발자 수준의 오류를 자주 범한다고 지적합니다. 하지만 AI가 빠르게 발전하고 있어 미래에는 시니어 개발자보다 더 똑똑해질 수 있음을 예측하며, 이 시점에서 어떤 프로그래밍 언어를 사용하게 될지에 대한 깊은 고찰을 시작합니다.

AI 시대의 프로그래밍 언어의 역할

  • 인간 언어의 한계: AI는 인간 언어를 잘 이해하지만, 복잡한 프로그래밍 개념을 인간 언어로 표현하는 것은 너무 장황하고 비효율적입니다. 이는 고대 그리스 수학자들이 인간 언어로 증명을 기술했으나, 17세기에 수학적 표현법이 발명되면서 추상적 개념을 간결하고 명확하게 다룰 수 있게 된 역사와 유사합니다.
  • 추상적 개념 처리: 소프트웨어는 물리적 실체가 없는 매우 추상적인 개념이며, 수천만 줄에 달하는 복잡한 시스템을 인간 언어로 모두 설명하는 것은 불가능합니다. AI가 아무리 똑똑해져도 방대한 인간 언어 문서를 모두 이해하기는 어렵습니다.
  • 인간-AI 소통: 따라서 AI 시대에도 프로그래밍 언어는 인간과 AI 간의 의도를 간결하고 명확하게 소통하는 핵심 수단으로 남을 것입니다. 기계를 단순히 “지시”하는 것을 넘어선 “소통”의 도구가 됩니다.

정적 타이핑 vs. 동적 타이핑

  • 현재의 정적 타이핑: 현재 AI는 실수를 자주 하므로, 정적 타이핑은 AI가 생성하는 코드의 오류를 탐지하는 데 유용합니다.
  • 미래의 동적 타이핑: 그러나 AI가 충분히 똑똑해지면 정적 타이핑의 필요성은 줄어들 수 있습니다. 시니어 개발자나 Smalltalk, Lisp 사용자처럼 숙련된 개발자들은 타입에 대한 의식적인 신경을 덜 쓰며 코딩합니다. AI도 단순한 타입 오류는 쉽게 해결할 수 있을 것이며, TypeProf와 같은 도구로 충분한 타입 정보를 얻을 수 있습니다.
  • 정적 타이핑의 매력: 많은 개발자가 Rust, TypeScript, Go와 같은 정적 타이핑 언어를 선호하는 이유는 현재의 이점과 더불어, 복잡한 타입 시스템을 다루는 것이 ‘재미있는 퍼즐’ 같기 때문입니다 (예: 루빅스 큐브). Ruby가 ‘재미’ 때문에 선택되는 것처럼, 정적 타이핑 언어도 ‘재미’ 때문에 선택될 수 있음을 인정하며, 서로의 선택을 존중해야 한다고 강조합니다.

Ruby의 강점 및 미래 전략

  • AI 시대에 적합한 Ruby의 특성: Ruby는 간결하고(Concise), 표현력이 풍부하며(Expressive), 확장 가능합니다(Extendable). 특히 DSL(Domain Specific Language)을 정의하는 능력(Rails와 같은 프레임워크가 대표적)은 미래 언어의 중요한 특징입니다.
  • 미래를 위한 노력:
    • 데이터: AI가 Ruby 코드를 더 잘 이해하고 정확하게 반응하도록, 품질 높은 최신 Ruby 오픈 소스 코드를 더 많이 공개해야 합니다. Shopify와 같은 기업들이 AI 학습을 위해 데이터를 제공할 계획입니다.
    • 도구: Ruby 3.0부터 지속적으로 투자해 온 Robocop, Ste, Debugger, Ruby LSP와 같은 개발 도구 개선을 계속할 것입니다.
    • 성능: Ruby는 인간 개발자를 위해 최적화되었지만, 성능 개선 노력도 지속됩니다. YJIT 컴파일러 도입 이후 매년 Rails 애플리케이션이 10-15% 빨라졌습니다.
      • 새로운 JIT 컴파일러 ‘ZIT’: YJIT 팀은 새로운 JIT 컴파일러인 ZIT를 개발 중이며, 이는 메서드 기반 JIT로 새로운 기여자 유입을 목표로 합니다.
      • JIT 결과 캐싱: ZIT는 컴파일된 네이티브 코드를 파일로 캐싱하여, 프로그램 재실행 시 JIT 컴파일 과정을 생략함으로써 성능을 크게 향상시킬 것입니다.

Ruby 4.0 발표

  • 30주년 기념: 2025년 12월 21일, Ruby 0.95 출시 30주년을 기념하여 Ruby 4.0이 출시될 예정입니다. 이는 리눅스와 같은 ‘감성적’ 버전 업그레이드입니다.
  • 주요 포함 사항: Ruby 4.0에는 실험적인 ZIT JIT 컴파일러와 20년 전부터 구상했던 실험적인 namespace 기능이 포함될 것입니다. namespace는 파일 및 젬 로딩, 문자열 평가 등을 특정 스코프 내에서 가능하게 하지만, 초기 단계이므로 API는 변경될 수 있습니다.

결론

AI 시대의 프로그래밍 언어는 인간과 AI의 소통을 위한 간결하고 표현력 있으며 확장 가능한 도구가 될 것이며, Ruby는 이러한 특성을 이미 갖추고 있습니다. Ruby 커뮤니티는 데이터, 도구, 성능 개선을 통해 미래를 현실로 만들고자 노력하고 있습니다. 특히 30주년을 기념하여 2025년에 출시될 Ruby 4.0은 새로운 ZIT JIT 컴파일러와 `namespace` 기능을 통해 Ruby의 발전 가능성을 더욱 확장할 것입니다. Ruby는 AI 시대에도 그 가치를 증명하며, 커뮤니티의 지속적인 기여와 함께 밝은 미래를 맞이할 것입니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!