Il codice di Sorbet, un sistema di controllo statico dei tipi per Ruby, è stato reso pubblico.

L'azienda Stripe, specializzata nello sviluppo di piattaforme per pagamenti online, ha aperto i codici sorgente del progetto Sorbet, nell'ambito del quale è stato sviluppato un sistema di controllo statico dei tipi per il linguaggio Ruby. Il codice è scritto in C++ e è distribuito sotto licenza Apache 2.0.

Le informazioni sui tipi nel codice possono essere calcolate dinamicamente, oltre a essere definite sotto forma di semplici annotazioni, che possono essere specificate nel codice tramite il metodo sig (ad esempio, «sig {params(x: Integer).returns(String)}») o posizionate in file separati con estensione rbi. È possibile sia un'analisi statica del codice senza eseguirlo, sia un controllo durante l'esecuzione (attivato aggiungendo nel codice «require ‘sorbet-runtime'»).

È prevista la possibilità di una transizione graduale dei progetti all'uso di Sorbet — nel codice possono coesistere blocchi tipizzati con annotazioni e aree non tipizzate non soggette a controllo. Tra le caratteristiche si segnala anche un'alta performance e la possibilità di scalare per basi di codice che includono milioni di righe di codice.

Il progetto include un nucleo per il controllo statico dei tipi,
strumenti per creare nuovi progetti utilizzando Sorbet, strumenti per una transizione graduale all'applicazione di Sorbet in progetti esistenti, runtime con un linguaggio specifico per la scrittura di annotazioni sui tipi e repository definizioni pronte per vari pacchetti gems su Ruby.

Inizialmente, Sorbet è stato sviluppato per la verifica dei progetti interni dell'azienda Stripe, gran parte dei sistemi di pagamento e analisi dei quali è scritta in Ruby, ed è stato reso open source dopo un anno e mezzo di sviluppo e implementazione. Prima dell'apertura del codice, è stata condotta una beta-testing a cui hanno partecipato oltre 30 aziende. Nella fase attuale di sviluppo, Sorbet supporta l'esecuzione della maggior parte dei progetti standard su Ruby, ma potrebbero verificarsi alcune incompatibilità.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster