Foi anunciado que a Ruby 3 será lançada suportando tipagem estática e dinâmica, por meio da linguagem e biblioteca RBS. Em um post no blog Square Corner, Soutaro Matsumoto, mantenedor e desenvolvedor da linguagem Ruby anunciou e deu exemplos da nova funcionalidade da Ruby 3, que ainda não tem data de lançamento especificada. A biblioteca RBS também está sendo adaptada para interpretar type checkers estáticos como Sorbet e Steep.
Soutaro também comenta sobre algumas das dificuldades dos desenvolvedores de linguagens, especificamente a comparação entre tipagem estática, melhor para projetos maiores, porém menos flexível; e dinâmica, que aceleram o desenvolvimento, mas dependem do tamanho da equipe e do código base para não se tornarem muito difíceis. Por isso, o Ruby 3 terá tanto a tipagem estática que foi prometida em 2016, quanto a biblioteca dinâmica do RBS.
No post também é citado algumas das vantagens dos arquivos RBS, que incluem:
• Detecção de bugs que a linguagem estática pode deixar passar;
• Permissão para variáveis de classe Nil;
• Melhor integração para IDEs;
• Duck typing mais segura, os usuários da API entendem mais fácil o procedimento.
Para mais informações (em inglês):
https://developer.squareup.com/blog/the-state-of-ruby-3-typing/
Soutaro também comenta sobre algumas das dificuldades dos desenvolvedores de linguagens, especificamente a comparação entre tipagem estática, melhor para projetos maiores, porém menos flexível; e dinâmica, que aceleram o desenvolvimento, mas dependem do tamanho da equipe e do código base para não se tornarem muito difíceis. Por isso, o Ruby 3 terá tanto a tipagem estática que foi prometida em 2016, quanto a biblioteca dinâmica do RBS.
No post também é citado algumas das vantagens dos arquivos RBS, que incluem:
• Detecção de bugs que a linguagem estática pode deixar passar;
• Permissão para variáveis de classe Nil;
• Melhor integração para IDEs;
• Duck typing mais segura, os usuários da API entendem mais fácil o procedimento.
Para mais informações (em inglês):
https://developer.squareup.com/blog/the-state-of-ruby-3-typing/