1 / 16

I would start with Better Languages from Microsoft (Research)

I would start with Better Languages from Microsoft (Research). Thomas Ball Microsoft Research. LINQ: Language Integrated Query .NET technology that bridges the gap between programming languages and data 101 LINQ examples http:// msdn.microsoft.com/en-us/aa336746.aspx

oneida
Download Presentation

I would start with Better Languages from Microsoft (Research)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I would start withBetter Languages from Microsoft (Research) Thomas Ball Microsoft Research

  2. LINQ: Language Integrated Query • .NET technology that bridges the gap between programming languages and data • 101 LINQ examples • http://msdn.microsoft.com/en-us/aa336746.aspx • Based on ideas from Comega experimental language from MSR

  3. <book> <title/> <author/> <year/> <price/> </book> Relational Objects XML The LINQ Project .NET Language Integrated Query C# 3.0 Visual Basic 9.0 Others LINQ toObjects LINQ toDataSets LINQ toSQL LINQ toEntities LINQ toXML

  4. F# Declarative let f x = x * x Concurrent async { … } type Foo() = … OO on .NET

  5. April 2008 Microsoft Research refresh release F# Roadmap • Improvements to the F# research release Just Released September 2008 CTP • Broadly improved VS 2008 integration • Simplifications in language and libraries 2009 Supported Release • Full product-quality release • Fully stable and supported language • Aligned with future VS releases

  6. F# Resources • On the Web: • http://fsharp.net • Books:

  7. Contract Library in .NET 4.0 announcing Code Contracts for .NET Coming soon: Tools for contracts at

  8. How Do You Know What It Does? string s = o.GetDescription(i); … s.Length … stringGetDescription(int x); /// <param name=“x”> /// should be greater than zero /// </param> /// <returns> /// non-null string /// </returns> stringGetDescription(int x);

  9. Let’s Fix It For Once And All! Design-by-Contract meets .NET! stringGetDescription(int x) { Contract.Requires( 0 < x ); Contract.Ensures(Contract.Result<string>() != null ); … }

  10. What Can I Do With Contracts? classRational {public Rational(int n, int d) {Contract.Requires( 0 < d );this.N = n;this.D = d; }} Static Checking Runtime Checking Test Generation (Pex) Documentation

  11. What Contracts Can I Write? • Requires • What must be true at method entry • Ensures • What must be true at method exit • Invariants • What must be true at all method exits • Assertions • What must be true at a particular point • Assumptions • What should be true at a particular point

  12. Better Languages • Greater developer productivity • More reliable code • More precise downstream analysis

  13. What People Want • End-to-end integrated solution • Languages • Libraries, frameworks, middleware • Tools (testing, debugging, performance, etc.) • Planning/management • Tracking (features, schedule, bugs) • Group coordination • Deployment, monitoring, update, etc.

  14. Visual Studio Team System 2008 • Microsoft Visual Studio Team System 2008 is an integrated Application Life-cycle Management (ALM) solution comprising tools, processes, and guidance to help everyone on the team improve their skills and work more effectively together. Visual Studio Team System enables members of your team to: • Collaborate and communicate more effectively with other team members and business stakeholders. • Ensure software quality using advanced quality tools at every step of the application life cycle. • Gain visibility into project activity and priorities to make informed decisions based on real-time data. • In addition, over 200 Visual Studio Industry Partners offer products to support a broad range of software processes, tools, and platforms.

More Related