InfoQ

News

Call for Microsoft to Release Spec#

Posted by James Vastbinder on May 28, 2008 11:18 AM

Community
.NET
Topics
Programming ,
Language Design ,
.NET Framework
Tags
Spec#

Last month Greg Young, a Microsoft MVP and fellow InfoQ editor, initiated a grass roots effort asking for Microsoft to release Spec# as a whole or piece-wise in .NET.  In large font and asking for those with similar interests to leave a note, Greg declared his passion:

I want verifiable Software…

Spec# is an extension of the C# language and actually extends the C# type system to include non-null types and checked exceptions.  It also provides method contracts and object invariants. 

Greg posted a video he recorded of the actual altdotnet Spec# session presented by Mike Barnett and Rustan Leino.  If you listen closely you can hear the presenter ask for the community to let their voices be heard, around the 20 minute mark, if they would like Spec# to be folded into Visual Studio proper.

 Scott Hanselman also asked for community response when he released a Hanselminutes audio podcast of an interview he did with Mike Barnett and Rustan Leino.

Which would developers prefer: 

Spec# added to C# as a language extension?

or

Spec# added to .NET for multiple languages?

2 comments

Reply

More resources needed by 超 陆 Posted May 28, 2008 1:13 PM
Re: More resources needed by John DeHope Posted May 29, 2008 9:31 AM
  1. Back to top

    More resources needed

    May 28, 2008 1:13 PM by 超 陆

    I'd like it intergrated into C# so that it has more attention, but considering the complicity of C# itself increasing every year, I think maybe it's better to make it a standalone product, But the most important thing is that microsoft should give it enough resource to evole anyway.

  2. Back to top

    Re: More resources needed

    May 29, 2008 9:31 AM by John DeHope

    I'd like them to normalize how the "?" syntax works. I want everything to be non-nullable by default. That means value types as well as reference types. If I want something, anything, to be nullable, I'll put a "?" on the type.

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.