This happened recently, all of the MS stores are carrying the MakerBot 3D printers, and filament. I was surprised that I didn’t see the 3D scanner out too, but that is a side note.
If you have been following MS tech discussions since Jun’13 then you would hear that a lot of MS staff are 3D printer fans. One of the things that was recently released was their own Print console for the 3D printers.
But that isn’t the most important feature. The important feature is the new push for driver development using .NET, with samples in C#.
So are we going to start seeing a lot of 3D printer, CNC machine, Stereo Litho, and other microcontroller centric drivers written in C#? Maybe, and I hope so.
This may finally bring the peripheral support device realm of development down to us common engineers, rather than leaving this in the hands of people with very specialized skillsets.
However, there is a downside to all of this niftiness, that is it could slow the adoption of more OpenSource standard OS platforms for those same devices. Seriously, I would love a unified approach to driver development between Linux and Windows drivers. In reality that won’t happen. It is just day dreaming. However, a solid platform architecture can still spam the broadest part of the gap.
[Driver Interface, OS facing (Specific to the platform)]
[Common code between all target platforms]
[Hardware Interface, Peripheral Facing (Specific to the platform)]
This model is common, and makes your code available for mocking and unit testing (A different article). Most important, if you keep your two interface layers as thin as possible, then you can reduce the amount of coding needed for supporting other OSs.
What is even more fun about this, is the model works for C++, C (To a lesser degree) and you can use this with C# with some effort. Remember, .NET really wants to run in user space, don’t risk machine stability by changing that.