For the code examples presented in this resource I am going to be using a sudo language. The concept behind a sudo language is to be able to present programming concepts in a language agnostic form so that the concepts can be translated to your language of choice. \par So it is great that you have chosen lanauge X to use throughout this resource, but how is the sudo lanauge going to help you out? Well, lets look at two examples and I will show their implementation in a few different languages. Hopefully this will help you be able to understand how the language should be tanslates (especially if your language of choice is one that I use). \subsection{Example 1} \begin{lstlisting}[caption={Example 1 - Sudo Code}] name = "Brett" if name == "Brett" print "Name Is Brett" else print "Name Is Not Brett" \end{lstlisting} For this example lets break it down line by line to make sure we know exactly what is going on. \begin{enumerate} \item {Store the value \pigVal{"Brett"} into the variable \pigVar{name}} \item {Check if the variable \pigVar{name} is equal to the value \pigVal{"Brett"}} \begin{enumerate} \setcounter{enumii}{2} \item {Print \pigOut{"Name Is Brett"} to the console} \end{enumerate} \setcounter{enumi}{3} \item {Otherwise} \begin{enumerate} \setcounter{enumii}{4} \item {Print \pigOut{"Name Is Not Brett"} to the console} \end{enumerate} \end{enumerate} As far as programming goes this is a fairly simple process but lets try and translate this example to a few different languages to see how it is done. \begin{lstlisting}[language=php,caption={Example 1 - PHP}] name; } public function setname( $newName ){ $this->name = $newName; } } $p = new Person(); $p->setName('Brett'); if( $p->getName() === 'Brett' ){ echo 'Name Is Brett'; } else{ echo 'Name Is Not Brett'; } \end{lstlisting} \begin{lstlisting}[language=java,caption={Eample 2 - Java}] class Person{ private String name; public String getName(){ return this.name; } public void setName( String newName ){ this.name = newName; } public static void main(String[] args){ Person p = new Person(); p.setName("Brett"); if( p.getName() == "Brett" ){ System.out.println("Name Is Brett"); } else{ System.out.println("Name Is Not Brett"); } } } \end{lstlisting} \begin{lstlisting}[language=javascript,caption={Example 2 - Node.JS}] var Person = function(){} Person.prototype.getName = function(){ return this.name; } Person.prototype.setName = function( newName ){ this.name = newName; } var p = new Person(); p.setName("Brett"); if( p.getName() == "Brett" ){ console.log("Name Is Brett"); } else{ console.log("Name Is Not Brett"); } \end{lstlisting} \begin{lstlisting}[language=python,caption={Example 2 - Python}] class Person: def getname( self ): return self.name def setName( self, newName ): self.name = newName p = Person() p.setName("Brett"); if p.getName() is "Brett": print "Name Is Brett" else: print "Name Is Not Brett" \end{lstlisting} This example does a better job of showing how each language can tackle the concepts in a different manner but the core concepts laid out by the sudo language can still be extrapolated and translated to each individual programming language. As long as the language supports the concepts. As you may notice that I left out the implementation of C in this example. It is because C does not support the use of classes and objects, yes there are ways of completing this example in C using structs but that is something that you should learn on your own. \par So now you have seen a few examples, hopefully enough to give you an idea of how the examples in this resource will be presented.