Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Development
    • Development

    Microsoft Plans to Open C#, Visual Basic Compilers

    Written by

    Darryl K. Taft
    Published November 18, 2009
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      LOS ANGELES — While competitors are coming up with new, “modern” programming languages, Microsoft continues to evolve its tried and true languages such as Visual Basic and C#, with new features — including future plans to open up the respective compilers to developers and to add support for asynchronous programming and immutability.

      In a session at the Microsoft Professional Developers Conference (PDC) 2009 here, Luca Bolognese, group program manager for the languages team at Microsoft, said the software giant is working on three primary things regarding the future of Visual Basic and C#. One is delivering compiler-as-a-service capability, another is support for asynchronous programming and a third is immutability. Both support for asynchronous programming and immutability already exist in Microsoft’s F# language. In object-oriented and functional programming, an immutable object is an object whose state cannot be modified after it is created.

      While Google is developing new programming languages such as its Go general purpose language and Noop Java-like language, Microsoft is adding functionality to Visual Basic and C# to continue to modernize those foundational technologies.

      Although Bolognese said there is no guarantee that Microsoft ultimately will pursue any of these directions in product form, “The first thing or area we are exploring is the opening up of the compiler,” he said. “Right now the C# and Visual Basic compilers are ‘black boxes’ — you push in a file on one side and on the other side comes out IL [Intermediate Language].”

      However, the plan with “opening up” the compilers would be to enable developers to work with the internal data structure of the compiler. This would enable some level of aspect-oriented development. And another benefit would be to enable developers to build refactorings, Bolognese said.

      “Because we are exposing the compiler this way, we are rewriting them in C# and VB.NET so we can make them available to you as managed APIs.”

      Bolognese demonstrated some of the coding techniques recommended to make code asynchronous. “This is called inversion of control, which is needed to help make code asynchronous,” he said. “We look at the asynchronous code you have to write today and we decided we had to do something about it. It looks very simple, but there are dragons in there.”

      Meanwhile, Microsoft is working on adding immutability to C# and Visual Basic, but the company has not settled on a particular method or way to deliver it. “I have seen four or five different proposals about how to get this into C# or VB, but we haven’t found the silver bullet,” he said. “But we like to think of it as a compiler feature.

      Bolognese said he could talk so definitively about the future direction for both languages “because of a strategy we call co-evolution. It means that in the future you won’t see any big feature inserted in one language and not in the other.”

      Already, today C# and Visual Basic are declarative, dynamic and concurrent languages.

      “The field of programming languages was frozen with Java and C# for the longest time, and it’s good to see more dynamic languages come in,” Bolognese said.

      Thus the move to more dynamic languages merges with the move to more declarative and concurrent systems. “In my view declarative code is a prerequisite for concurrency. You can write parallel code in an imperative fashion and it might run for awhile. But you’re much better off writing your code in a declarative fashion so that parallelism is done for you.”

      Moreover, Bolognese said Microsoft has introduced a new feature called “Dynamic” to tell the compiler what happens at that point in time.

      Darryl K. Taft
      Darryl K. Taft
      Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×