visit
If software is set of instructions, then to build it we need a way to write those instructions. We humans communicate with each other by using languages and turns out we also use them to communicate instructions to our computers although we call them programming languages.
What is a programming language?
In short, a programming language is just like any other language, a structured system with a set of rules that lets us build sentences we can use to communicate instructions to our computer.Just like we have several languages to communicate with each other, we do have several programming languages from which to choose, among them, we have two big categories we need to know:High-level and Low-level programming languages
Even if I said we have several programming languages, it turns out that the only language the computer can understand is called Machine Code which is a Low-level programming language and it looks like this:
8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB
01000000 B9010000 008D0419 83FA0376 078BD989 C14AEBF1 5BC3
Console.WriteLine("Hello World!");
Console.WriteLine("The current time is " + DateTime.Now);
But if the computers can only understand machine code how can we write instructions in high-level languages? The answers are Compilers:
What is a compiler?
In the software world, a compiler is basically a translator who takes the code you have written in your language of choice and converts it into machine code, that way computers can run your instructions, awesome right?Languages and compilers are the building blocks to create software and we are going to talk more about them in future posts, but now it’s time to understand that nowadays to build software we need more than building blocks. To build them, we need entire ecosystems, this can sound scary and complex, but they actually make our lives and jobs easier.
Languages: A structured system with a set of rules that helps us to communicate instructions to our computer.
Runtimes: In essence, it is a piece of software the lets you run your code in the target machine, it is part of the “Compiling Process” that makes your code understandable by the computer.
Frameworks: An already working and highly flexible software that lets you personalize it by letting you attach to it your own code so you can make software on top of it.
Libraries: Reusable general-purpose pieces of code that you can use repeatedly to speed up development
Tools: A set of other pieces of ready-to-use software that improves the quality of life of the development process
Hey! where my compiler? The “Compiling process” is more complex today, different compilers can be in separate places, they can fall under the tools category and they can also be part of the runtimes. More on this on future posts.That seems a lot, do I need to install all those things?
Fortunately no! Nowadays we have something called SDK or software development kit that is an all-in-one package we can install to have the entire ecosystem into our machines.
.NET Ecosystem
.NET is one of those ecosystems that is easy to use, multiplatform, open source and with it you can build almost every software you can imagine.1️⃣ Download and install the but make sure you download the .NET Core version as it is the newest one.
2️⃣ Create a folder where you want to store you project.3️⃣ Open that folder into your Terminal.
4️⃣ Create a new .NET project by executing in your Terminal the following command.
dotnet new
[Yourfoldername].csproj: Contains various configurations like what language and what framework you want to use.
Program.cs: Contains the code that will be executed when run.
5️⃣ Run the project by executing in your CMD the following commanddotnet run
Congratulations! you have started in the world of Software development.
Also published at