Visual C++ Strategy and Direction Damien Watkins Program Manager Visual C++

Slides:



Advertisements
Similar presentations
Ofir Aspis 1/2010 VS 2010 Targets High Level - IDE New Features VS 2010 As Editor and Platform Demo Editor features Extending.
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
FIRST LOOK AT “ORCAS” Scott Guthrie General Manager.NET Developer Platform.
Introduction to.NET Technology Marcello Benati Software Engineer.NET Architect.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
US Strategy Days /16/2017 7:46 PM Richard Moore Server & Tools Business Group Lead Microsoft Ireland ©2006 Microsoft.
Building a Complete Web Application Using ASP.NET 3.5 & Visual Studio 2008 (Part 1 of 2) Jeff King Program Manager Microsoft Corporation
Unlock Your Data Rich connectivity Robust data integration Enterprise-class manageability Deliver Relevant Information Intuitive design environment.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Visual Studio 2005 C# IDE Enhancements Luca Bolognese C# Program Manager Microsoft Corporation.
Business Intelligence components Introduction. Microsoft® SQL Server™ 2005 is a complete business intelligence (BI) platform that provides the features,
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
SQL Server 2008 for Hosting Key Questions to Address How can SQL Server save your costs? How can SQL Server help you increase customer base? How can.
Configuring PHP on IIS7 Making your application rock on IIS7 Taking advantage of the Windows platform Q&A at Open Space.
“Our role is more important than ever before” “We are required to innovate and deliver much faster” “I need a cross-platform mobile development strategy”
Aptech Borivali(West) Hefin Dsouza. Agenda  What is.NET and What is Visual Studio? .NET Framework 3.5 Overview.  Visual Studio 2008 Enhancements. 
.NET Framework Introduction Nouman Qureshi
Developing for the Microsoft Office System Jay Schmelzer Group Program Manager – Visual Studio.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
.NET: Blackboard Collaborations with Microsoft Presented By Jan Poston Day Director, Standards and Interoperability Ramsey Chambers Manager, Business Development.
Ihr Logo Data Explorer - A data profiling tool. Your Logo Agenda  Introduction  Existing System  Limitations of Existing System  Proposed Solution.
CON 307 Developing Manageable WCF Services Chris Peiris | Avanade Rory Primrose | Avanade
GAIN A COMPETITIVE ADVANTAGE BY SELLING ATLAS
©2013 Lavastorm Analytics. All rights reserved.1 Lavastorm Analytics Engine 5.0 New Feature Overview.
Presented by Team D Compare Windows 2000, XP, and.NET By John Leonard, Brian North, Jeffrey Reynolds, Todd Saylor.
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Future Directions: Building Customizable Applications using.NET Eric Schnepp TLN205 Lead Program Manager Microsoft Corporation.
Preparing your Fabric & Apps for Windows Server 2003 End of Support Jeff Woolsey Principal Program Manager.
Todd Kitta  Covenant Technology Partners  Professional Windows Workflow Foundation.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Visual Studio 2008 and.NET 3.5 provide seamless support for all of the protocols and techniques popular in Web 2.0-style applications. Visual Studio.
DEV-05: Ratcheting up your OpenEdge™ Development Productivity Sunil S Belgaonkar Principal Software Engineer.
Seamless Mobility: Michael Wehrs Director of Technology & Standards Mobile Device Division, Microsoft Corp. Wireless Software Innovations Spurring User.
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Terminal Services Technical Overview Olav Tvedt TVEDT.info Microsoft Speaker Community
T8. Open Source Tools That are Changing the Content Technology Landscape Gilbane San Francisco 2010.
Connect with life Vedant Kulshreshtha Technology Solutions Professional – SharePoint | Microsoft India
Michael van Dijken Marketing Communications Communications Sector Microsoft Corporation.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
MicroAge Cloud Servers The cloud platform for the modern business Small and midsize businesses (SMBs) want the power and flexibility to run their business.
Steve Teixeira Group Program Manager Microsoft Corporation.
Vladimir Milev New Venture Software Sharing Code between WPF and Universal Apps.
TLA404 - MFC Updates for Visual Studio 2008 and Beyond Ale Contenti VC++ Libraries Dev Lead.
Applicatieplatform congres 12 & 13 maart. Microsoft Application Platform A Lifecycle View Sam Guckenheimer Group Product Planner Visual Studio Team System.
Paul Andrew Technical Product Manager Microsoft Session Code: OFS212.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
GrapeCity Build Experiences with Enterprise-level Tools and Solutions
Building Azure Web Apps
Introduction ITEC 420.
How to be a SharePoint Developer
Visual Studio 2010 and .NET Framework 4 Training Workshop
DotnetConf 9/10/2018 7:49 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Modern application lifecycle with DevOps
Developing Drivers in Visual Studio
Did your feature got in, out or planned?
Marian Luparu Program Manager Microsoft Session Code: DEV308
DotnetConf 11/14/2018 3:27 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Building Modern Windows Applications with Visual C
Tech Ed North America /1/ :36 AM Required Slide
Visual Studio 2010 and .NET Framework 4 Training Workshop
Delivering great hardware solutions for Windows
Visual Studio 2010 和 .NET Framework 4 培训研讨会
Overview of System Development for Windows CE.NET
Mark Quirk Head of Technology Developer & Platform Group
.Net for Test and Measurement
Presentation transcript:

Visual C++ Strategy and Direction Damien Watkins Program Manager Visual C++

Agenda History – Where have we been? (And what have we done along the way) Today – Where are we now? Tomorrow – Where are we aiming for? (And how will we get there)

Visual C++ over the years C/C – Programmers Workbench V2, MFC 1.0, First C++ version Visual C++ 1 – Windows IDE, MFC 2.0 (Adds App Framework), Resource editor – VC and bit versions – VC bit targeted at NT 3.1 and Win32S with 16-bit cross compiler Visual C++ 2 – MFC 3.0, Templates, C++ Exceptions, First version targeted at Window NT – VC2.2 added Win95 – First 32-bit native compiler and IDE Visual C – MFC 4.0, (skipped v3 to catch up with MFC version), Namespaces, RTTI – Targeted at Windows 95 and Window NT VC 4.2 was a major update with lots of internet support Visual C Enterprise Edition –SQL debugging and SQL projects This is anecdotal information supplied from the memories of the VC++ team and is not guaranteed to be 100% correct

Visual C++ over the years Visual C –MFC 4.2, ATL 2.0, supported building ActiveX controls (ATL 1.0 and 1.1 were web releases) Visual C –MFC 4.2, ATL 3 Visual C (2002) –.NET 1.0, Managed Extensions for C++, LTCG, Only version that C# and C++ was same team Visual C (2003) –MFC 7.1,.NET 1.1, ATL Server Visual C (2005) –MFC 8.0, C++/CLI, Open MP, First 64-bit targeting version (ia64 and x64 ) –.NET 2.0 Visual C (2008) –.NET 3.5 This is anecdotal information supplied from the memories of the VC++ team and is not guaranteed to be 100% correct

Trends Language conformance Libraries : – Native: MFC, ATL – Managed:.NET OS Targeting Hardware: 16 – 32 – 64 bit Concurrency: OpenMP

What we heard Recently we spent several months evaluating our product strategy. – Central to this analysis were in-depth conversations/survey with many of our customers and partners, both internal and external. – Covered a wide range of segments from small development shops all the way up to global ISVs. – Our goal was to ensure that the direction of the product aligns closely with customer needs and market realities. What we discovered from our customers can be summarized in three key points

What we heard 1.It is clear that you mostly develop native code applications. You feel that the Visual C++ toolset has not evolved sufficiently in the past several years to meet your needs. You would like to see renewed emphasis on native code tools – especially in light of new native APIs introduced in Vista. As an aside, Microsoft itself is in a similar situation as the majority of our own applications rely on native code. 2.While you are firmly rooted in native code, you do see significant value in some of the managed innovations. This is particularly true around WPF, WCF and workflow. You develop in native code, but want to extend your applications to take advantage of this managed functionality. The largest use of C++/CLI is within this interoperability scenario – i.e. the bridging between native and managed code. 3.Finally, you have told us that you prefer to write managed code using C#. As stated above, you are using C++/CLI to bridge between native and managed code, but once you are squarely in the managed world Visual C# is the tool of choice.

Customer Connection Basics – “The code assistant features are not sufficient in VC++” – “Give us API help as rich as that available for C#” – “Improve coloring, hinting and cross referencing as in Visual Assist” Debugging – “Debugging is a huge issue. We would like to see enhancements to the local and remote debugging experience” – “Crash dump debugging is an area that WinDBG does much better than devenv. We want this functionality integrated” – “The debugger has reliability issues. We find it gets into a frozen state easily and also there are inaccuracies in the expression evaluator”

Customer Connection Code Insight – “I want to be able to treat our sources as a database and make queries on it. I want to do rich investigation without building” – “We frequently work on code written long ago and by other people. It would be nice to have tools to help us understand this code” – “Please spend more time on lint-type tools” – “Our biggest challenge is to refactor a legacy system with new technology. Tools should help us do this.” Parallelism – “A big challenge for us is utilizing all cores in a multi-core system in an efficient, responsive and thread-safe manner” – “Multi-threaded debugging can be a lot better. Also, help me track down dead locks!”

IssueFocus Areas 1. Manage size & complexity of code base Predictable release cycles Improve developer cycle time (edit/build/debug); help us catch programming problems earlier; provide better debugging support Reduce costs Help us understand and navigate large scale systems; provide better “code insight”; help us improve forecasting Improve scalability Your tools need to scale better to meet the needs of our system – both core IDE and debugger 2. Control & improve quality Improve quality Help us update our code to use “modern design techniques”; help us locate potentially vulnerable code; provide better profiling/performance tuning tools Manage outsourcing/remote dev Help us validate the quality of “unknown” code – whether this is code from 20 years ago or code we’re getting from outsourced work 3. Fast ramp to new technologies New technologies provide competitive advantage – help us understand and use these innovations; help us bridge our existing code The most frequently cited business issues heard during our conversations with customers. Customer Connection

Our Mission (in a nutshell) Enable developer success on Microsoft platforms by providing world-class native tools while bridging to next-generation technologies. – Visual C++ is the only language within Visual Studio that focuses on native code – Visual C++ will help developers extend their native applications to managed code – As new technologies appear Visual C++ will help native code developers take advantage of these innovations

Roadmap Build encapsulations around native platform APIs to enable faster development – Renewed investment in native libraries, particularly MFC – Support for platform innovations in areas such as concurrency Modernize Visual C++ for greater agility and productivity – Help customers write more robust, more secure and higher quality code – Help customers scale to XXL codebases – Enable faster time to market Provide interoperability technologies allowing the mixing of native and managed code – Make it easier for developers to use/reuse existing code in.NET – Reduce the adoption barriers for moving to next generation technologies

Roadmap: Orcas Build encapsulations around native platform APIs to enable faster development – MFC support for Vista “Look and feel” – UAC support in IDE and projects – Vista SDK with thousands of new native APIs Modernize Visual C++ for greater agility and productivity – Compiler throughput: Metadata-based incremental managed builds and concurrently module compilation –.NET Framework multi-targeting – Welcome back, class designer! (Class Viewer) Provide interoperability technologies allowing the mixing of native and managed code – STL/CLR – Marshaling library These are covered in the following talks The strategy has been developed in tandem with Orcas – so Orcas does not completely embrace the new direction

Post-Orcas wish list Build encapsulations around native platform APIs to enable faster development – Significant MFC investments and extensions to expose Windows functionality – ManyCore/MultiCore Support, 64 Bit Development Modernize Visual C++ for greater agility and productivity – IDE works fast and is accurate on large codebases – Code analysis/understanding support – Improved Build times – Better Debugging accuracy/functionality Native/managed Interoperability – Seamless high performance interoperability between native and managed code – Improved mixed mode debugging

What do you want? (This slide left intentionally blank for your input.)

Conclusions Visual C++ has always focused on native code development and interoperability between MS platforms MFC and other native libraries will be significantly enhanced going forward Developer productivity on large C++ codebases will be a focus

Questions Resources – Channel 9 Videos: Steve Teixeira and Bill Dunlap: Visual C++ Today and Tomorrow Sarita Bafna: VC++ "Orcas" - Marshaling Library and MFC support for Common Controls Sarita Bafna: VC++ "Orcas" - Marshaling Library and MFC support for Common Controls Nikola Dudar: STLCLR - STL Development in the Managed World Ale Contenti: VC++ Safe Libraries and More – VC Blog: Marshaling Library in Orcas Resource Editor Updates for Orcas Visual C++ Orcas Feature Specifications online – MSDN article: “ “An Inside Look At The Next Generation Of Visual C++”. – Feature Specifications Feature Specifications for Visual Studio 2008 and.NET Framework 3.5 – New Vista APIs: Windows Vista