public class GettingStarted

{

public void SelectingALanguage()

{

There are dozens of modern programming languages to choose from, and they all have their advantages and disadvantages. I’m going to share my preferences, feel free to disagree. However, at least to get started, this site will focus on one language.

}

void ObjectOrientedProgramming()

{

The most popular form of modern programming is Object-Oriented Programming (OOP). OOP models everything in code as objects, which can have features (fields, properties) and abilities (methods, functions). For example, a Person class can be created to store a user, with properties such as FirstName, LastName, and PhoneNumber. Another class could be a RegisterUser class, with methods likeCreateNewPerson. For reasons of readability and maintainability, classes are often separated into data objectsdata structures, like Person, with few or no methods, and functional classes, like RegisterUser.

 

There are many websites with information about programming languages. I like this one, with it’s descriptive links and tree graph.

}

void FunctionalProgramming()

{

There is another model, known as Functional Programming (FP), that is gaining recognition and use. However, it does not currently have the deep history and proven usability for many different applications that OOP does. FP is especially useful for math-intensive programming, as opposed to User Interface (UI)-focused projects. In addition, the two models can be used together in large projects. This site will begin with OOP, but FP is mentioned for completeness.

}

void SelectC#()

{

There are many OOP languages, and no one language is the “best.” They vary widely in syntax, functionality, support

My go-to OOP language, that I find easy to read, powerful, and useful across any type of application, is C#, which runs on the .Net platform. C# and .Net code can currently run on any major operating system (Windows, Mac, iOS, Android, Linux), and will soon be able to be used in the browser, in place of or alongside javascript.

A few features of C#, besides being cross-platform compatible:

  • Static Typing: Every variable, field, parameter, and property in C# is a defined class type. This allows the IDE and compiler to know even before running code if there is an unsafe action, such as sending a text string where a number is expected.
  • Encapsulation: There are clear boundaries in C#, such as the curly braces {} that show the start and end of each namespace, class, and function, parentheses () around all parameters and arguments sent to each function, and the semicolon ; that declares the end of a line of code. Some languages prefer to use only line breaks, spaces, and indents to identify these boundaries, but I find the use of these character boundaries easier to read.
  • Support: C# is the first-class language of Microsoft, and has been in development and support for nearly 20 years. It is constantly being improved and updated, and I have no doubt that it will still be a first-class language 20 years from now.

This site will walk you through using C#. However, if you find anything confusing, or want more detail, check out Microsoft’s site Get Started with .NET and C#.

}

}

Leave a Reply

Your email address will not be published. Required fields are marked *