Lesson Weekend

Welcome to the world of C# web development. C# is a strongly-typed, compiled language developed by Microsoft. In this lesson, we'll take a quick look at the language and its history.

What is C#?


C# (pronounced see sharp) was developed by Microsoft in the late 1990's. It's part of a family of languages that evolved from the C/C++ languages, originating back in the 1960's.

Unlike JavaScript, C# is both compiled and strongly-typed.

In a compiled language, the code you write is not the same as the code that your machine runs. Instead, the human-readable code you write is transformed, or compiled, into code that computers can read much more efficiently, which makes your code faster.

C# is also a strongly-typed language. This means every piece of data and every variable must be of a particular type. There are many types of data and C# has rules about the ways the programmer can use these types of data. Strongly-typed programs are more secure, stable, and less error-prone. We'll cover this in more detail in a future lesson.

The C# language also has a framework specially designed to work with it called .NET (pronounced dot net). NET can be used to quickly create software and web apps. We'll learn how to use .NET later in this course.

History


C# was originally called "Cool", which stands for C-like Object-Oriented Language. Microsoft ultimately decided to go with the more professional-sounding "C#" before it was announced as part of Microsoft's .NET initiative in 2000.

Since then, it's become one of the most popular programming languages in the world. In the 2018 iteration of Stack Overflow's popular Developer Survey, 35.3% of surveyed developers reported using C# regularly. 60.4% reported "loving" the language, beating out other well-known technologies like PHP, Java, and HTML by large margins. We think you'll love it too!

.NET Framework


Microsoft created the .NET framework around the same time C# was developed. A framework like .NET provides built-in code and functionality, which makes writing code easier and more efficient. .NET even includes a special environment for running C# applications.

In this course, we'll use a new version of .NET called .NET 5, which joins together the functionality of .NET Standard and .NET Core. .NET Core is an open-source, light-weight version of the full .NET Framework, but is now deprecated. We will use some tools throughout this course that were built for .NET Core, such as Entity Framework Core and ASP.NET Core; however, we can utilize these tools while using the .NET 5 Framework.

.NET has historically been a Windows-oriented tool but the framework now supports development on Mac, Windows, and Linux. This means we can build applications on Macs in class and then run them on Windows machines without making changes to our code.

Who Uses C# and .NET?


Due to its longstanding reliability, C# can be found in almost every industry. Many private and public companies use C# for internal software, including financial services companies, medical facilities and educational institutions. It's also commonly used to create applications that run on Windows such as the Windows Installer, Skype, Silverlight (Netflix's video streaming player), and more. It's also a popular choice in video-game development and is used in Unity, Unreal Engine, Anvil, and other platforms.

Pre-Work


The next few lessons walk through installing necessary technologies for this course on your machine. (All necessary technologies are already installed on Epicodus computers.)

The remainder of the pre-work homework will review general programming concepts we learned in Intro, such as variables, loops, objects, and branching. We'll discuss how to implement these same concepts in C#.

Lesson 1 of 5
Last updated October 12, 2021