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 development Windows API - Win32
Windows for business Windows Server User experience PowerShell
Developer technologies .NET .NET CLI
0 comments No comments
{count} votes

Accepted answer
  1. Karen Payne MVP 35,586 Reputation points Volunteer Moderator
    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,546 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,546 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.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.