ALT.NET is my modus operandi!
22 May 2017I write software with C# in a Text Editor on Mac OS.
The software I build is small, modular and self-contained.
All SCM is via the commandline, using the tools the way they were designed.
Continuous Integration builds run on Windows Server and Ubuntu.
My Deployment targets (Windows Server, Ubuntu, Docker Containers, App Service) are defined and managed with code.
ALMOST everything I use is Open Source (to varying degrees).
How the times have changed
It’s been 10 years since the ALT.NET phrase was coined.
In 2007 .NET as a whole was a very different beast. .NET 3.5 shipped with Visual Studio 2008 in November 2007, followed by ASP.NET MVC CTP in December of the same year. Though most of us where still drudging through VB.NET and C# .NET 1.1 or .NET 2.0 code bases in Visual Studio 2005, which needed a number of of service packs installed before it was useful. Web Forms and Windows Forms were the bane of my existence, both exceptionally difficult to test. Windows Vista or Windows XP were the operating Systems of choice.
At that time, the ALT.NET discussion was centered around technology choice; e.g. You are an ALT.NET practitioner if you used Resharper (or CodeRush), or NHibernate, or a RDBMS that wasn’t SQL Server.
Though for me it was always more about choice.
- What choices did I have to build the best software?
- What choices did I have in terms of Development Environment’s?
- What choices did I have in terms of Architectural Patterns?
- How could I build better software?
To me that was the ALT.NET Mindset. I really wanted to have choice.
Moving forward to 2017: The .NET Community has matured. Microsoft as an organisation has quite drastically changed. The .NET Core SDK and Runtimes have moved to the point where I no longer need Windows & Visual Studio to build fast, robust applications with C#.
Granted you could always write C# in a text editor, and push it through csc.exe or MSBuild. But it always felt clunky.
Oh, how the times of changed, and you know what? It feels great!
Hands Down
Microsoft’s decision to make .NET Core cross-platform has been the single largest change, and the single largest productivity gain that I have had from the .NET Eco-System in 15 years.
Not only does it enable me to work the way that I want to work, use the tools that I want to use, but it has allowed me to build fast scalable systems with less code at a much lower cost.
As far as my version of ALT.NET is concerned.
I’m there. I have choices, and that’s a win in my book.