ilovespecsharp Estava lendo o blog do Greg Young, e me deparei com um post sobre SPEC#, que é uma nova linguagem, que, segundo o paper de Overview, é um superconjunto do C#.

Achei interessantíssimo, até porque traz idéias que já vi em outras linguagens ao .Net. Uma das mais interessantes seria o fato de um método poder informar quais exceções ele lança, algo assim:

char Read()

    throws SocketClosedException;

Outra possibilidade interessante seria poder dizer qual o escopo de mudança de variáveis possível. Então o método informaria as variáveis que vai alterar:

class C {

    int x , y;

    void M() modifies x ; { . . . }

A linguagem se chama Spec# porque o código especifica o que vai fazer. Muito interessante mesmo.

Como a idéia toda é muito legal, me junto ao Greg para solicitar a linguagem e todo o sistema, que ainda está em pesquisa no Microsoft Research:

Eu também quero Spec# !

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.