Does Microsoft have plans to make executables obsolete?

Matthew Turner 21 Reputation points
2021-05-12T17:57:28.527+00:00

In the last 5 years I noticed Microsoft making a distinct move from batch to PowerShell as the main console provider. With more research from a developer's perspective I found a fascinating pattern of Application-As-A-Library with PowerShell's binary cmdlets. I like how it allows your application to have the flexibility of being called or being used natively without a Process object and all that overhead; and I especially like how it allows for testing the API for both use cases of a console application and a third party dependency for another application. Plus I have seen Microsoft tools like sqlcmd getting uplifted to a cmdlet (Invoke-Sqlcmd in this case).

So that begs the question, does Microsoft plan on deprecating executables? Because with PowerShell's binary cmdlets, all the same functionality can be provided in an executable-like entry point, without the need to ever have any ever again.

Windows API - Win32
Windows API - Win32
A core set of Windows application programming interfaces (APIs) for desktop and server applications. Previously known as Win32 API.
2,501 questions
.NET CLI
.NET CLI
A cross-platform toolchain for developing, building, running, and publishing .NET applications.
326 questions
Windows Server PowerShell
Windows Server PowerShell
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.PowerShell: A family of Microsoft task automation and configuration management frameworks consisting of a command-line shell and associated scripting language.
5,445 questions
0 comments No comments
{count} votes

Accepted answer
  1. Karen Payne MVP 35,366 Reputation points
    2021-05-15T22:53:52.723+00:00

    I don't see a valid reason now or in the new future for executables to go away.

    If we look at the big picture, desktop solution are only part of the ecosystem and with .NET Core there is more attention to the other platforms.

    96911-anyplatform1.png

    In a recent Microsoft Summit I attended the only thing mentioned about executables was single executables made easier, no talk about executables going away.

    Lastly, I'm sure you know PowerShell can work directly with the .NET Framework yet that does not mean anything about replacing exes.
    96807-figure2.png


2 additional answers

Sort by: Most helpful
  1. Sam of Simple Samples 5,521 Reputation points
    2021-05-12T19:33:47.17+00:00

    When you say batch do you mean command-prompt scripts that typically have a bat or cmd extension? I have never heard of an executable version of them.

    I am not familiar with PowerShell binary cmdlets but How to Write a PowerShell Binary Module indicates that the compiled binary is actually some other language, such as C#.

    See What is PowerShell? It says that PowerShell is a scripting language.


  2. Sam of Simple Samples 5,521 Reputation points
    2021-05-13T19:39:02.187+00:00

    First note that DLLs are considered executables. I assume you are asking only about executables with an exe extension. For every DLL that is executed there is one and only one exe file but each exe file uses many DLLS; note that the Windows API is entirely DLLs or at least nearly so. I certainly have not seen any plan or reason to make them obsolete. Doing so would drastically change the way many applications work and there is no reason to eliminate exe files.