This post is written by Austin Coding Academy graduate and former instructor, Luke Stenis.
Luke Stenis graduated from Austin Coding Academy’s Full Stack Web Development program in 2016. Upon graduating, Luke landed a role as an Implementation Engineer with Austin-based content production company, Invodo. During his time at Invodo, Luke also worked as an instructor at ACA, teaching the 10-week “Intro to Web Development” course.
Luke currently works in Salt Lake City, Utah, as a Digital Analytics Implementation Engineer with PluralSight.
Curious about what the C# programming language can do? Here is a short introduction to C# and five amazing apps you can build with this technology stack.
Language in the Key of C#
C# (pronounced See-Sharp) is a popular and modern programming language created by Microsoft in 2000 alongside their .NET framework. They wanted a more flexible language to build a variety of secure and robust modern applications for Windows, web servers, tablets, and phones. It is now arguably one of the most valuable programming languages in the world to know, and even had a mascot named Andy, who has now since retired in the green pastures of Mascot Hills, Florida.
C# is an object-oriented programming language that is commonly used with Microsoft’s .NET framework. Many of the advantages and features of C# are tied closely to .NET, which is why we teach them together in our C# courses.
C# applications and programs run on top of the .NET framework, so that whatever you create can take advantage of the services and programming interfaces that the framework provides.
These programming interfaces include the ability to save information in a database, read information from an XML file, as well as cryptography, configuration, network communications and all the basic core features that nearly every application or program needs.
Why You Should Learn C#
C# is a useful and flexible language with very expressive syntax that is easy and simple to learn. It shares many similarities with other object-oriented languages, and if you are also familiar with C, C++, or Java, you should pick it up very quickly.
The vast majority of third party apps in the Windows app store are written in C#, and is widely considered the future of Windows application distribution. In short, C# has a very bright future within the Windows universe.
Being productive in C# can also land you a job. The U.S. Bureau of Labor Statistics (BLS) is predicting that between 2014 – 2024, employment of software developers is projected to grow 17 percent from 2014 to 2024, much faster than the average for all occupations. The median annual wage for software developers was $101,790 in 2017.
C# jobs are abundant and pay well, and if you are fluent in C# and the .NET framework, you can create some awesome technology.
What You Can Create with C#
You can use C# to build just about anything: business applications, games, web apps, and mobile/tablet apps. Here are five awesome applications you can build with C# code.
1. Video Games
C# is extremely popular in many sectors of the gaming industry. You can use C# to quickly develop games for Windows, Android, iOS, and Mac OS X. One of the most popular game-developing platforms is Unity, and C# is one of the most common and easiest programming languages you can use in the Unity environment. A few games built in Unity using C# are: Bastion, Shadowrun Returns, Rust, Wasteland 2, and Hearthstone.
If you are interested in developing video games, learning C# and becoming a C# Unity Developer is a popular and successful path for many video game developers.
2. Anti-Hacking Software
In a world now rich in cyber attacks, major hacks, and an urgent need to keep sensitive information safe, it comes as no surprise that companies, government, and financial institutions are scrambling to bulk with their cybersecurity.
Enter software developer stage left. These entities are bulking up their development teams with engineers strong in C# .NET technology to build and improve security software that keeps the likes of Wikileaks, Anonymous, and any potential ransomware from maliciously hacking into their and – sometimes – your data.
3. Windows Apps (i.e.: Microsoft Office, Skype, Photoshop)
It should come as no surprise that Microsoft’s C# and .NET framework is used primarily to create Windows client applications. Today, Windows Forms and Windows Presentation Foundation (WPF) are two major technologies used to develop client applications. (link ‘used to… applications”: https://msdn.microsoft.com/en-us/library/bb655895(v=vs.90).aspx)
Examples of Windows Applications:
- Microsoft Office (Word, PowerPoint, Excel and so on)
- Internet Explorer
- Skype
- Visual Studio 2012
- Photoshop
- SQL Server 2012
- Paintbrush
It’s worth noting that you won’t be developing for just Windows computers. You can write applications using the C# codebase to run on both Windows and Mac.
4. Mobile Apps
C# is regarded in many development circles as the best language for mobile app development. You can build native mobile apps for multiple platforms – Android, iOS, and Windows devices – on a shared C# codebase. Yes, this means you are also creating an app that works and looks awesome on an iPhone, thanks to Xamarin, a framework that uses native API calls and native platform controls. (Link for “Xamarin”: https://www.xamarin.com/)
A few examples of mobile apps written in C#:
- Slack
- Insightly
- Tableau
- The World Bank
- Cinemark
- NBCUniversal
- FoxSports
- Aviva
- Taxfyle
5. Windows Store Apps
Windows store apps were introduced by Windows 8, which coincides with the rise of C#’s popularity. Coincidence? I’ll let you be the judge. Windows store apps are different than mobile app development, and are built primarily using C# and XAML. XAML is used to build app screens and C# is used to run in the backend.
These apps have features like Touch, messages, tile and swipe, and work on all Windows devices – PCs, tablet, phones, and more.
Where to Learn C# and the .NET Framework
C# and the .NET framework are a very mature and powerful technologies that enable you to create applications compatible across any device or operating system.
Whether you are looking to change careers or coding languages, learning how to code C# opens up endless possibilities for your job prospects, app ideas and project scope. With the demand for C# developers on the rise over the next decade, there is no better time to start.
We teach this very technology at Austin Coding Academy. If you are interested in learning how to code C#, check out ACA’s C# curriculum, or fill out an application to reserve your spot in the next class.