C# Glossary

This is a glossary of terms that are used in general programming, particularly with C# programming. For a list of terms that are used in game development, see the XNA/game development glossary.

Compile- The process of taking source code, typically written in a way that mimics spoken languages (like how the C# programming language mimics the English language) and turns it into a binary or machine readable format that the computer can then execute.

Compiler- A specialized program that can compile code from a language like C# into binary, which can then be executed. See also Compile.

Derived Class- A class that has another class as its parent. Derived classes inherit all of the variables and methods that a parent class has, and can add in additional features. Derived classes are typically thought of as specialized versions of the base or parent class. So you may have a FileReader class, and then a TextFileReader class that knows the specifics of reading in text files.

Integrated Development Environment- Essentially, a program that you use to write code and make software. Visual C# Express is an Integrated development environment, as is Visual Studio. This is often abbreviated to IDE. Integrated development environments usually have the ability to directly type in code, run a compiler on your code with the push of a button, and launch your program. Typically, integrated development environments will also include features for debugging code, organizing your project, refactoring code, version control, and other features that make creating software easier and faster. It is possible to write software without an integrated development environment, using simple text editing programs and using a command prompt to run the compiler, though for most people, this is much slower.

Inheritance- A feature of object oriented programming, where a derived class can reuse members of the base class that it was derived from.

Instance Variable- A type of variable that belongs to an instance of a class, or an object. When a class defines a set of instance variables, each instance of the class that exists will have it's own variable, unrelated to other instances of the same class. So for example, if you have a Point class with an instance variable called x and another one called y, each Point that exists will have their own value for the x and y variables. The counterpart to an instance variable is a static variable, or a class variable, where the data belongs to the class as a whole, and all instances of the class will refer back to the exact same variable.

Method- A chunk of code that is separated and given its own name, and is usually designed to do a single, specific task or operation. Methods can "return" a resulting value, and parameters can be passed to the method to work on.

Parameter- A specific type of variable that is passed into a method. Parameters are local variables, though they are defined in the method header, and code that calls the method can set the value of these variables when the method is called. Parameters are the primary way for code to indicate what work a particular method should work on.

Variable- A container of bucket where data or information can be stored. In C#, variables must have a certain type (they are "strongly typed") and data being placed in the variable must match that type. In some cases, C# can convert from a different to the variable's type automatically, other times, you must explicitly indicate that you want to convert it from one type to another, while other times, there is no way to convert from one type to the variable's type, and the variable simply cannot contain the type of data.