Introduction to C# and the .NET Framework

Introduction to C# and the .NET Framework
C# is a modern, object-oriented, general-purpose programming
language created and developed by Microsoft together with the .NET
platform. A wide variety of software has been developed with C# and on the .NET
platform: office applications, web applications, websites, desktop applications,
mobile applications, games and much more.
C# is a high-level language that is similar to Java and C++, and to some
extent to languages such as Delphi, VB.NET and the C programming language. C# is object-oriented.
It consists of many defined classes that contain methods
and the methods contain the program's working logic - the commands that the computer executes.
At present, C# is one of the most popular programming languages. It
is used by millions of developers all over the world. Since C# is developed by
Microsoft as part of its modern platform for developing and running
applications, the .NET Framework, the language is widespread among
Microsoft-oriented companies, organizations and individual developers.
The platform is supported and fully managed by Microsoft.
Because of this, all other major software corporations
such as IBM, Oracle and SAP base their solutions on the Java platform and use
Java as the main language for developing their own software products.
Unlike C# and the .NET Framework, Java is an open-source language and platform.
The C# language is distributed together with a special environment in which
it runs, called the Common Language Runtime (CLR). This
environment is part of the .NET Framework platform, which includes the CLR, a
set of standard libraries that provide basic functionality, compilers,
debuggers and other development tools. Thanks to the CLR, programs are portable and they can run on various hardware platforms and operating systems. C# programs most often run on MS Windows, but the .NET Framework and CLR also support mobile phones and other portable devices based on Windows Mobile, Windows Phone and Windows. C# can run under Linux, FreeBSD, iOS, Android, macOS X and other operating systems through the freely implemented .NET Framework Mono, which is not officially supported by Microsoft Corporation.
The C# language is not distributed as a separate product - it is part of the Microsoft .NET Framework platform (pronounced "Dot Net Microsoft framework"). The .NET Framework usually consists of an environment for
developing and implementing programs written in the C# language or some other language compatible with .NET (for example, VB.NET, Managed C++, J# or F#).
The platform consists of:
- .NET programming languages (C#, VB.NET and others);
- An environment for executing managed code (CLR), which runs C# programs in a controlled manner;
- A set of development tools, such as the CSC compiler, which turns C#
programs into intermediate code (called MSIL) that the CLR can understand;
- A set of standard libraries, such as ADO.NET, which allow access to a database (for example, MS SQL Server or MySQL) and WCF, which connects applications using standard communication protocols such as HTTP, REST, JSON, SOAP and TCP sockets.
The .NET Framework is part of every modern Windows distribution, and
is available in various versions. The latest version can be downloaded and installed from the Microsoft website.

There are many reasons why I chose C#. It is a modern programming language, widely used by millions of programmers all over the world. At the same time, C# is very simple and easy to learn (unlike C and C++).

C# is an object-oriented programming language. So are all modern
programming languages used for serious software systems (for example, Java and
C++). Object-oriented languages allow you to work with objects from
the real world (for example, a student, a school, a textbook, books, etc.)
Objects have properties (for example a name, color, etc.) and can perform actions (for example,
move, speak, etc.).
If you open a website with job offers for programmers, you will see for yourself that the demand for C# and .NET specialists is enormous, and close to the demand for Java programmers.
For a good programmer, the language is not of significant importance, because they know the approach to software development.
Article author: Aleksey