Static Type Inference for Ruby

Posted 2008.03.26 04:29
저는 정적 타입 시스템 옹호자이기 때문에 루비, 파이썬 등의 스크립트 언어의 성공을 항상 못마땅하게 생각하던 사람입니다. 농담이고요. 동적인 스크립트 언어가 성공하면서 동적 타이핑이 많은 연구와 노력이 들어간 정적 타이핑보다 훨씬 좋은 것처럼 생각하는 사람들이 늘어나면서 안타까웠던 것은 사실입니다.

실제로는 루비나 파이썬 같은 동적 스크립트 언어도 정적 타이핑을 통해 여러 가지 이득을 볼 수 있습니다. UMD에서 나온 OOPSLA08에 제출한 Static Type Inference for Ruby도 그런 시도 중의 하나라고 볼 수 있습니다. 여기서 제시한 DRuby는 다음의 특징이 있습니다.


1. GLR(Generalized LR) 파서로 루비 문법에서 disambiguation을 위한 규칙을 분리해 내고 확장하기 쉽게 만들었다.

2. RIL(Ruby Intermediate Language)를 정의해 소스 코드를 쉽게 분석할 수 있도록 하였다.

3. 타입 어노테이션 언어와 타입 추론 시스템을 도입해 루비 프로그램의 타입을 정확히 알 수 있도록 하였다.


참고로 근래에는 정적 타이핑과 동적 타이핑을 적절히 결합하려는 시도가 많이 있습니다. soft typing, dynamic type, quasi-static typing, gradual typing 등으로 용어도 다양하네요.

  1. Favicon of http://tj.1manshow.co.kr BlogIcon Tijay!

    | 2008.03.26 10:25 | PERMALINK | EDIT | REPLY |

    오.. 파이썬을 사용하면서 타입이 없어서 너무 편하다고 생각했는데 그게 훨씬 좋은 건 줄 알았는데 그게 아니군요 -_-..ㅋㅋ

  2. 서광열

    | 2008.03.26 23:09 | PERMALINK | EDIT |

    박 교수님이 그토록 타입 시스템을 강조했건만 한 학기만에 배신 때리다니. ㅋㅋ

  3. Favicon of http://kanie.lovlog.net BlogIcon kanie

    | 2008.03.26 12:34 | PERMALINK | EDIT | REPLY |

    오! 루비에서 type inference를!
    관심만 있고 해보고는 싶지만 감히 엄두도 못내던 것을 누가 해주었네요.
    한번 들여다봐야겠습니다 :)

  4. 서광열

    | 2008.03.27 22:15 | PERMALINK | EDIT |

    들여다보시고 저도 좀 가르쳐주세요 :)

  5. Favicon of http://www.grayger.com/pw/ BlogIcon grayger

    | 2008.03.27 11:01 | PERMALINK | EDIT | REPLY |

    scala를 statically typed dynamic language라고 소개하기도 하네요.
    http://scala-blogs.org/2007/12/scala-statically-typed-dynamic-language.html

  6. 서광열

    | 2008.03.27 22:14 | PERMALINK | EDIT |

    앗 다른 글에다가 리플을 다신듯한 느낌이^^;; 아무튼, dynamic language가 반드시 dynamic typing을 해야하는 것은 아니지요. 좋은 링크 감사드려요!

Write your message and submit
« PREV : 1 : ··· : 48 : 49 : 50 : 51 : 52 : 53 : 54 : 55 : 56 : ··· : 244 : NEXT »