De broncode van Sorbet, een statische typecontrole-systeem voor Ruby, is vrijgegeven

Het bedrijf Stripe, dat zich bezighoudt met de ontwikkeling van platforms voor online betalingen, heeft geopend de broncodes van het project Sorbet, waarmee een systeem voor statische typechecking voor de programmeertaal Ruby is voorbereid. De code is geschreven in C++ en wordt verspreid onder de Apache 2.0-licentie.

Informatie over types in de code kan dynamisch worden berekend, maar ook worden vastgelegd in de vorm van eenvoudige annotaties, die in de code kunnen worden aangegeven met de methode sig (bijvoorbeeld "sig {params(x: Integer).returns(String)}") of in aparte bestanden met de extensie rbi kan worden geplaatst. Het is mogelijk om zowel voorafgaand statische code-analyse uit te voeren zonder de uitvoering ervan, alsook om verificatie tijdens uitvoering te doen (wordt ingeschakeld door het toevoegen van "require 'sorbet-runtime'" aan de code).

Er is een mogelijkheid voor een geleidelijke overgang van projecten naar het gebruik van Sorbet — de code kan zowel getypeerde blokken met annotaties bevatten als ongeconfigureerde delen die niet aan controle zijn onderworpen. Het systeem biedt tevens een zeer hoge prestaties en de mogelijkheid om op te schalen voor codebases met miljoenen regels code.

Het project omvat een kern voor statische typechecking,
hulpmiddelen voor het maken van nieuwe projecten met Sorbet, hulpmiddelen voor de gefaseerde overgang van bestaande projecten naar het gebruik van Sorbet, runtime met een domein-specifieke taal voor het schrijven van type-annotaties en repository met kant-en-klare type-definities voor verschillende gems-pakketten op Ruby.

Sorbet werd oorspronkelijk ontwikkeld voor de controle van interne projecten van het bedrijf Stripe, waarvan het merendeel van de betalings- en analysesystemen in Ruby is geschreven, en werd na anderhalf jaar ontwikkeling en implementatie open-source gemaakt. Voor de openstelling van de code werd een bĆØtatest uitgevoerd, waaraan meer dan 30 bedrijven deelnamen. In de huidige ontwikkelingsfase ondersteunt Sorbet de uitvoering van de meeste typeprojecten op Ruby, maar er kunnen enkele incompatibiliteiten optreden.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster