The problem isn’t really just about closed source software, either. The same could be said about any technology, closed source or open. If you teach your students only one technology, they will go into the world knowing only that one technology. Where’s the versatility there? Who exactly would that benefit?

Over the last month and a half I’ve been working on an application using C#, .NET, and Windows.Forms in Visual Studio 2008. I started by learning C# (unfortunately from some outdated materials). At first it seemed like they took the worst instead of the best things from Java and C++, but overall I’ve gotten to like the language. Here are some of my thoughts on it, some more elaborated than others.

When you’re used to the world of Windows or OS X, Linux can seem a little unforgiving. Not only does command-line access hand over the complete keys to the manor to any unwitting user with access to the administrator’s account, there’s rarely a safety net should things go wrong. Despite advances in most Linux desktops (where the ubiquitous Trashcan safely buffers deleted files), you get no such protection from most system-specific configuration, installation and maintenance tools. And while it’s rare for anything to go wrong without your direct input, some accidents do happen, especially if you enjoy tinkering with the latest distro release each month. But this being Linux, there’s plenty you can do to dig yourself out of a hole, which is why it’s always a good idea to have a repair-worthy distribution close to hand when performing configuration and installation tasks.

It's no secret that those of us who have learned to appreciate Linux and in effect all things that are related to FOSS have gained some wisdom that can be applied to our daily lives. I'm not an inspirational writer but I would like to share to non-believers some of the wonderful life lessons that I've discovered from using Linux.