Clemson wins! Clemson wins!

I have to give a BIG shout out to my Clemson Tigers and their National Championship victory last night. Go Tigers. It is a good day to be a tiger AND a software developer 🙂 .

I’d also like to promote our C#/.NET programming track at CPCC as an alternative to some of the popular code camps. We offer a 3 class track(Software Development Fundamentals, Beginning OO programming with C#, and .NET framework). These 3 classes are a great(and a lot more inexpensive choice) versus a standard coding boot camp. Check from out here C#/.NET programming track.

Also, you can signup for our newsletter to receive the latest tips for beginner programmers.

Develop cross platform mobile apps – free workshop

There are a set of free 1 day workshops that walk you through developing a cross platform mobile app for iOS, Android, and Windows using .NET/Visual Studio with Xamarin. These workshops are around the globe. During the course of the day you develop your own cloud based app to run on all 3 platforms.

I will be attending the one in Raleigh, NC on October first.

If you are an aspiring developer or new to programming this is an excellent opportunity for a day of hands on learning with a real working example to walk away with.

You have to program to be a programmer!

Daily Development News

The latest in software development….

Visual Studio 2015 RC3 – Visual Studio now includes NodeJS tools and Xamarin built in.

ASP.NET Core 1.0 is released – ASP.NET has been converted from ASP.NET MVC 5 to ASP.NET Core, which is built on top of the newly release open source cross platform version of .NET called .NET Core.

Building multi-player games with Angular – This article walks you through building a multi-player game with javascript and Angular.

Migrate your Angular application to Angular 2 – Here is a nice guide for upgrading your Angular application to Angular 2.

Simple Web API with ASP.NET Web Forms example – Here is a good article showing how to build a simple ASP.NET Web Forms application that uses a Web API service to get and post data.

So you want to be a programmer – part 2

So, you want to be a computer programmer. Previously, we talked about the need to program to be a programmer. But what kind of programming. Let’s assume for this discussion that you want to be an independent programmer/entrepreneur. First, you need to decide waht kind of freelancer you want to be. Do you want to develop websites, web applications, games, mobile apps, etc. This will dictate the language you should learn, the platform you should become familiar with, and the ide/tools you should become proficient with.

If you are going to be a website or web developer then javascript will be the language you want. You will also need to know html and css but these 2 are not “programming languages” per se. They are markup languages. They do not contain programming constructs like branching, looping, logic, and functions/methods. Javascript is the language of choice by far for web development.

If you want to be a game developer then there are several choices, but the tools are more important here probably than the language. I would suggest the Unity game engine. There are several good game engines, but Unity seems to be gaining the most attention. This will lead you to learn C#. This is the most popular scripting language for the Unity game engine. Secondarily, to this you will also need to develop knowledge in 3d graphics and need an eye for graphics. This is not my speciality and due to this I have stayed away for game development and website design in my career. I outsource the design elements of the projects I do.

If you want to develop apps the 2 most popular are Android apps and iOS apps. Android lives in the Java programming world. For this you will want to learn Java and then pick an IDE. Eclipse is a very popular open source IDE that is also easy on the budget(it’s free). There is plenty of online help with the Java/Eclipse world to assist you as well.

For iOS the language was ObjectiveC but is now moving to Swift. Apple’s Xcode is the IDE for this language and is really the only choice. There are 2 downsides to developing iOS apps using these tools. First, there is some cost. You need to buy Xcode, and Apple development box and an Apple mobile device. Secondly, this skill set will pigeonhole you into just Apple products. Another iOS approach now is to use C#/.NET/Visual Studio w/Xamarin. The downside to this is you are developing Apple based software using Microsoft tools. This platform is fairly new for Apple development and it’s use is not widespread yet. The upside to this is the knowledge you gain learning C#/.NET/Visual Studio can be used to develop for the Windows platform. Also you can use the Visual Studio IDE for Android and Web development as well. So, you are not as pigeonholed into Apple if you decide you want to branch out.

Another mobile platform to explore is Windows 10(don’t laugh). The reason I mention this is not due to the huge market of Windows mobile devices, but due to the huge market of Windows desktop, laptop, tablet, and XBOX devices. Windows 10 allows you to develop across all of these platforms plus HoleLens(up and coming) and IOT(internet of things). Also, the Windows platform with C#/.NET is one of the largest installed bases for business applications if you decide in the future to work for a company instead of yourself. This is also a benefit to Java as well. Java is another very popular language for business applications. Incidently, this is also a downside to Swift/Xcode. The Apple platform has a very small user base in business applications. Apple does not play in the backend server market like Windows and Linux.

MY recommendations overall are….If you want to develop games learn the Unity game engine. If you want to be a web developer learn JavaScript/HTML/CSS. Also, learn NodeJS for server side javascript programmer and the Angular framework for client side javascript programming. This will allow you to develop full stack web applications. For mobile applications(against most other recommendations) I would learn C#/.NET or Java and skip ObjectiveC/Swift(this is just too specialized a platform).

Overall, and this will sound very Microsoft centric, if you learn C#/.NET/Visual studio as well as HTML/CC/Javascript you will be able to develop pretty much any application for any platform. This is due to .NET Core now being offered for iOS, Android, and Linux. This will allow you to develop web applications, mobile applications for Apple, Aondroid, and Windows, and games with Unity. It will also set you up to develop business applications for companies.