Kompania Stripe, e specializuar në zhvillimin e platformave për pagesa online, kodet burimore të projektit , në kuadër të së cilës është përgatitur një sistem për kontrollin statik të tipeve për gjuhën Ruby. Kodi është shkruar në gjuhën C++ dhe nën licencën Apache 2.0.
Informacioni mbi tipet nĂ« kod mund tĂ« llogaritet dinamikisht, si dhe tĂ« jetĂ« i pĂ«rcaktuar nĂ« formĂ«n e , tĂ« cilat mund tĂ« tregohen nĂ« kod pĂ«rmes metodĂ«s sig (pĂ«r shembull, «sig {params(x: Integer).returns(String)}») ose tĂ« vendosen nĂ« skedarĂ« tĂ« veçantĂ« me zgjerimin rbi. si njĂ« kontroll paraprak pa ekzekutimin e tij, ashtu si edhe kontroll nĂ« kohĂ« reale ( nĂ«pĂ«rmjet shtimit nĂ« kod «require âsorbet-runtime'»).
Parashikohet mundësia të projekteve në përdorimin e Sorbet - në kod mund të kombinohen blloqe të tipizuara me anotacione dhe pjesë jo të tipizuara që nuk përfshihen në kontroll. Nga veçoritë përmendet gjithashtu performanca shumë e lartë dhe mundësia e shkallëzimit për bazat e kodit që përfshijnë miliona rreshta kodi.
Në strukturën e projektit përfshihet një bërthamë për kontrollin statik të tipeve,
mjete për krijimin e projekteve të reja duke përdorur Sorbet, mjete për kalimin gradual në përdorimin e Sorbet të projekteve ekzistuese, runtime me një gjuhë të specializuar për shkruan anotacione për tipe dhe me definita të gatshme për lloje të ndryshme të paketave gems për Ruby.
Fillimisht, Sorbet u zhvillua për kontrollin e projekteve të brendshme të kompanisë Stripe, një pjesë e madhe e sistemeve të pagesave dhe analizës së të dhënave është shkruar në gjuhën Ruby, dhe u kalua në statusin e hapur pas një viti e gjysmë zhvillimi dhe implementimi. Para hapjes së kodit, u krye një testim beta në të cilin morën pjesë mbi 30 kompani. Në këtë fazë të zhvillimit, Sorbet mbështet ekzekutimin e shumicës së projekteve tipike në Ruby, por mund të paraqiten disa paqëndrueshmëri.
Burimi: opennet.ru
