matz ã¯ããã³ããã¿ã¼ã®åã«å¯¾ããå§¿å¢ã«ãçåãæã£ã¦ãã¾ãã
ã¨ãããæè¦ãèªåã«åºãã£ãæ°ãããã®ã§ãä»ã®è©±é¡ã¯ã¨ããããã®ç¹ã«é¢ãã¦ã ãããã¨ã ãæ¸ãã¾ãã
ãRubyã«åãæ¬²ãããã¨ããã®ã¯ãããã£ã¨éãé¦¬ãæ¬²ãããã ã¨æã£ã¦ãã¾ããæå³ãç¥ããªã人㯠ãã³ãªã¼ã»ãã©ã¼ã ãã£ã¨éãé¦¬ãæ¬²ãã ã§æ¤ç´¢ãã¦ãã ããã
ããã¯æ¹å¤ã§ãç®èã§ãããã¾ãããã¿ããªã馬ã®ä¹ãæ¹ãç¥ã£ã¦ããä¸çã§ã¯ã誰ãä¹ãæ¹ãç¥ããªãèªåè»ãããéã馬ã®ã»ãã確å®ã§åççã§ããã¾ãã¦ãèªåè»ãæ¬å½ã«å®ç¾ã§ãããã©ããããããªã段éã§ã¯ããªã®ã§ãä»è¨èªã§å注éãæ¸ããã¨ã«ããããã°ã©ãã³ã°ä½é¨ãè¯ãã¨æã£ã人ãããããRubyã§ã享åãããã¨æãã®ã¯èªç¶ã ã¨æãã¾ããå®éãSteep ã Sorbet 㯠Ruby ã§ããããããã°ã©ãã³ã°ä½é¨ãæä¾ãããã¨ãç®æãã¦ãã¦ããã§ã«ããç¨åº¦å®ç¾ã§ãã¦ãã¾ãã
ãã ãã¿ããªãæ¬å½ã«ã»ããã®ã¯ãããã°ãæ©æçºè¦ã§ããRubyããIDEã§è£å®ãããã¥ã¡ã³ã表示ãã§ããRubyãã ã¨æã£ã¦ãã¾ã *1 ãåæ³¨éã¯ãããã®å©ç¹ãå®ç¾ããããã®ã²ã¨ã¤ã®ææ®µã«ããã¾ããã
Ruby 3 ã¯å ¬å¼ã§å注éãå ¥ããªãã¨ãã夿ããã¾ãããããã«é¢ãã¦ããåæ³¨éãæ¸ããªãã¨ä¸è¨ã®å©ç¹ãå®ç¾ã§ããªããã¨ã¯æ´å²ã証æãã¦ãããRuby ã¯æ´å²ã«å¦ã°ãªããã¨ãããããªæè¦ãèãããã¨ãããã¾ãããããã»ãã® 10 å¹´åã«ã¯ããè¨èªã«éçåä»ããå¾ããå°å ¥ããã®ã¯ç¡çãåã¯è¨èªã®è¨è¨æ®µéããèæ ®ããªãã¨å ¥ããããªããæ´å²ã証æãã¦ããããªã©ã¨è¨ããã¦ãããã¨ããåç¥ã§ãããããæ¼¸é²çåä»ãã大æåããç¾ä»£ã§ã¯ãè¨ã人ãããªããªã£ãè¨èª¬ã§ã *2 ã
TypeProf ã¯å注éãªãã§åçã®å©ç¹ãå®ç¾ã§ããªããã«ææ¦ãã試ã¿ã§ããTypeProf ã¯å®æãã¦ããæ¢åã®éçåä»ãã®ããã°ã©ãã³ã°ä½é¨ã¨ã¯éãä½é¨ã«ãªãã¨æãããã®ã§ãã¾ãã«ãèªåè»ããç®æãã¦ãã¾ããæ®å¿µãªãããTypeProf ã¯ã¾ã 宿åã®èªåè»ã¨ããã«ã¯ç¨é ããã¾ã ã¨ã³ã¸ã³ãã§ãããã©ããã¨ããæ®µéã§ããæ£ç´ã«è¨ãã¨ãTypeProf ãã©ããªèªåè»ã«ãªãã®ãï¼ä½ã«ããªããªãã®ãï¼ã¯ãèªåã§ãã¾ã ããããã£ã¦ãã¾ãããã§ããæ¬æ ¼çã«ä½ãå§ãã2å¹´åããè¦ãã¨ãäºæ³ããã ãã¶åããã®ã«ãªã£ãã®ã§é©ãã¦ãã¾ãï¼ã²ããç®ã¯èªãã¾ãï¼ã
TypeProf ä½ãç¥ããªã人ã®ããã«åèãªã³ã¯â
ãã¾ã¨ãã«ä½¿ãããã©ããããããªãèªåè»ããããä»ãã使ããéãé¦¬ãæ¬²ãããã¨ããã®ã¯ãå®ç§ã«æ£å½ãªä¸»å¼µã§ãããããã人ã¯ãSteep ã Sorbet ããã²ãã©ã¤ãã¦ããã ãããã§ããã¾ã ããããªã©ã¤ãã©ãªã« RBS ãè¶³ããªãã®ã§ãRBS ãæ¸ã㦠gem_rbs ã« pull request ãéãã¾ãã£ã¦ãã ãããã©ã¤ãã©ãªã® RBS ãå¢ãã㨠Steep ã Sorbet ã§è§£æã§ããç¯å²ãå¢ãã¾ãããTypeProf ã®è§£æé度ã精度ãä¸ããã®ã§ãã¨ã«ãããããããã§ãã
ã¨ãããã¨ã§ãã¨ã ã§ããããããããã¨ã ã¯ãã¡ããã¨èªåè»ãä½ãã¦ããè¨ãããã«ãã³ããã£ããã§ããã©ãããªããæ¸ããããªã£ãããªãããã㯠Ruby ã³ããã¿ã®ç·æãªã©ã§ã¯ãªããã¼ãã®å人çãªæè¦ã§ãã
*1:åæ³¨éãæ¸ããã¨ã®ä»ã®å©ç¹ã«ã¯ãã¤ã³ã¿ã¼ãã§ã¤ã¹ãè¨èªåãããã¨ã§è¨è¨ãæ´çãããå ±åéçºããããããããããã¨ãããã¨æãã¾ããRuby 3 ã§ã¯åã表ç¾ããããã®è¨æ³ RBS ãå ¬å¼ã«å°å ¥ãããã®ã§ãï¼çè«ä¸ã¯ï¼ãã®å©ç¹ã¯ãã®ã¾ã¾äº«åã§ããã¨æãã¾ãã
*2:è¨ã£ã人ã«ç½ªã¯ãªãã§ããè¨èªã«éçåä»ããå¾ããå°å ¥ãã試ã¿ã¯ 1990 å¹´ããããæ¨¡ç´¢ããã¦ãããã¼ãã§ããããã¼ã£ã¨æåäºä¾ããªãã30 å¹´ãã¦ããããå®ç¨åãããã®ãªã®ã§ã