.. but not necessarily the one you were expecting. In a continued embrace of open source Microsoft has placed the code for Windows Calc on GitHub – the UWP version that is.
Windows Calc has been around for a long time and while much of its core is the classic, a lot of the code is about it being a UWP app. It is written in C++ using the superseded C++/CX language extension. Modern WinRT apps use C++/WinRT which is a separate library working with standard C++. So the educational value of the code is a lot less from the point of view of a UWP app than you might have expected.
Of course, it also isn’t the classic Win32 Calc, which has only recently been replaced by the UWP version.
Everything is so black these days.
My guess is that there are no plans to open source the Win32 code. This feels like Microsoft’s standard technique of emphasising the new at the expense of the old in order to get programmers to move in the right direction, i.e. the one that suits Microsoft’s plans. Interestingly this is Microsoft’s flagship technology implemented in old style code.
The blog post says:
"Reviewing the Calculator code is a great way to learn about the latest Microsoft technologies like the Universal Windows Platform, XAML, and Azure Pipelines. Through this project, developers can learn from Microsoft’s full development lifecycle, as well as reuse the code to build their own experiences. It’s also a great example of Fluent app design. To make this even easier, we will be contributing custom controls and API extensions that we use in Calculator and other apps, to projects like the Windows Community Toolkit and the Windows UI Library."
It leaves you wondering where Azure Pipelines fit into a simple calculator. Some people have already found bugs and there is a general sense of amazement that there are bugs to be found in such old code. Of course the UWP part isn’t that new and UWP apps do have a poor reputation.
It has been released under an MIT licence that means it can be used in commercial applications and from this point of view the code that does the calculations might be of interest however there are a number of other open source calculators that you could use as a source.
As with anything Microsoft does, the motivation isn’t 100% clear but in this case, apart from pushing UWP apps, it seems that the team really do want you to improve the product:
"Our goal is to build an even better user experience in partnership with the community. We are encouraging your fresh perspectives and increased participation to help define the future of Calculator."
Let us hope it is all true.