I’ve been curious about building basic Windows apps for some reason recently, and so I’ve been learning C# in my spare time. The Visual C# Step by Step book by John Sharp is really great. I have an older version, but it has a lot of really great content. It covers everything from variable declaration to inheritance to threading and creating web services. It gets into memory as well and explains the stack and heap in a way I understood.

Overall I’m actually really liking the language, and it seems really solid for getting something up and running quickly. The event and delegate system that the .NET framework provides is pretty amazing, and I really like some simple things like the SortedList collection class. It’s basically just a collection object that automatically sorts its contents. For example, if you create a sorted list like the following:

It is automatically sorted alphabetically by key. Iterating through the list and printing the results would look like:

Simple, but I think it’s pretty cool. Anyway, I’ve never really worked in a heavy IDE, but Visual Studio has some really nice tools. I love being able to step into methods with the debugger, the refactoring tools (like right clicking on code and extract it to a method automatically), IntelliSense, etc.

Oh yeah and I’ve been using GitLab lately for most of my projects. I love the private repos, milestones, wiki, and overall design. Really bad ass.