My one-hundred-and-tenth podcast is up. This episode was recorded at the ALT.NET Open Spaces Conference in Seattle a few weeks back. I got to sit down with two gentlemen from Microsoft Research, Mike and Rustan, and talk about Spec# after their presentation at the conference.
我的一百十分之一的播客播完了。 几周前在西雅图的ALT.NET开放空间会议上录制了此剧集。 我必须与Microsoft Research的两位先生Mike和Rustan坐下来,在会议上演讲后谈论Spec# 。
What's Spec#? Currently it's a new language that is essentially extensions to C# 2.0. For example:
什么是规格#? 当前,它是一种新语言,实质上是C#2.0的扩展。 例如:
class ArrayList { public virtual void Insert(int index , object value)
requires 0 <= index && index <= Count;
requires !IsReadOnly && !IsFixedSize;
{ . . . }
See all that new stuff BEFORE the first curly brace? That's where you specify preconditions that you want enforced. You can also specify postconditions:
在第一个大括号之前查看所有新内容? 在此可以指定要强制执行的前提条件。 您还可以指定后置条件:
ensures Count == old(Count) + 1;
ensures value == this[index ];
ensures Forall{int i in 0 : index ; old(this[i]) == this[i]};
ensures Forall{int i in index : old(Count); old(this[i]) == this[i + 1]};
There's LOTS more, including a pretty extraordinary static analysis that runs in the background, kind of like the grammar checker in Word. Word has the spelling checker that turns errors red with squiggly underlines, and the grammar checker that turns grammatical errors green with squiggly underlines. Spec# will turn static errors into squiggles while you type.
还有很多内容,包括在后台运行的非常出色的静态分析,有点像Word中的语法检查器。 Word的拼写检查器将错误变为带弯曲的下划线的红色,而语法检查器将语法错误变为带弯曲的下划线的绿色。 在您键入时,Spec#会将静态错误转换成曲线。
They've even added specifications for the Base Class Library (BCL) that have previously only existed in documentation.
他们甚至添加了以前仅存在于文档中的基类库(BCL)规范。
BTW, if you want to see horribly shaky cellphone video of their presentation, you can see it at Greg Young's blog. He's posted recently about Spec# as well. If you don't like videos or podcasts, you can also read the Spec# Research Paper (PDF).
顺便说一句,如果您想观看演示文稿中令人震惊的手机视频,可以在Greg Young的博客上看到。 他最近还发布了有关Spec#的信息。 如果您不喜欢视频或播客,还可以阅读Spec#研究论文(PDF) 。
How can you get involved? We need to convince that folks on the C# team that Spec# is a valuable thing and that we'd like it sooner than later. Go over to Charlie Calvert's blog and email him that you want Spec# and why!
您如何参与其中? 我们需要说服C#团队的人们相信Spec#是一件有价值的事情,并且我们希望它早于后来。 转到Charlie Calvert的博客,并通过电子邮件向他发送您想要Spec#的信息,以及原因!
Download: MP3 Full Show
下载: MP3 Full Show
ACTION: Please vote for us on Podcast Alley! Digg us at Digg Podcasts!
行动:请在Podcast Alley上为我们投票! 在Digg Podcasts挖掘我们!
If you have trouble downloading, or your download is slow, do try the torrent with µtorrent or another BitTorrent Downloader.
如果下载有问题或下载缓慢,请尝试使用µtorrent或其他BitTorrent Downloader下载torrent 。
Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.
还请记住,完整的档案总是在打开的,并且它们都有PDF文字记录,这是一个鲜为人知的功能,在每次演出后的几周内就会显示出来。
Telerik is our sponsor for this show.
Telerik是该节目的赞助商。
Check out their UI Suite of controls for ASP.NET . It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.查看他们的ASP.NET控件UI套件。 这是非常重要的东西。 我对Telerik赞赏的一件事是他们对完整性的承诺。 例如,他们有一个有关其从右到左支持的页面,而一些供应商则是零支持或不打扰测试。 他们还致力于遵守XHTML并发布路线图。 控件供应商非常透明时,这很好。
As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)
就像我在节目之前所说的那样,卡尔富兰克林( Carl Franklin)具有音频专业知识和指导。 名称来自Travis Illig ,但演出的目标很简单。 避免浪费听众的时间。 (并使通勤变得更无聊)
Enjoy. Who knows what'll happen in the next show?
请享用。 谁知道下一场演出会发生什么?
翻译自: https://www.hanselman.com/blog/hanselminutes-podcast-110-microsoft-research-spec