← ppnm

Exercise "Hello, World!"

Tasks

  1. Install Csharp-mono on your system. On many systems the "csharp-mono" environment is prepackaged by the system developers and can be easily install by the system's package manager:

    • Debian based systems:

    sudo apt install mono-mcs
    (there are also "mono-devel" and "mono-complete" packages, but it seems that "mono-mcs" is enough for us).

    • Termux:

    apt install mono

    • MacOS,

    brew install mono
    If that fails, you might need to install mono from the mono-poject,
    [https://www.mono-project.com/download/stable/#download-mac],
    
  2. Create a directory for the exercise inside your repository, let's say "~/repos/ppnm/exercises/hello",

    mkdir -p ~/repos/ppnm/exercises/hello
  3. Go to your directory (remember to use the completion feature of your shell !):

    cd ~/repos/ppnm/exercises/hello
  4. Create a Makefile with the following content (mind the tabulators!) (and you can omit the comments).
    Out.txt : hello.exe              # Out.txt depends on hello.exe
    	mono hello.exe > Out.txt # run hello.exe, send output to Out.txt
    hello.exe : hello.cs             # hello.exe depends on hello.cs
    	mcs -target:exe -out:hello.exe hello.cs # compile hello.cs, save bytecode in hello.exe
    clean:                           # a phoney target, no dependencies
    	rm -f Out.txt hello.exe  # remove secondary files
    
  5. Create a file hello.cs with the following content,
    class hello{
    static int Main(){
    	System.Console.WriteLine("Hello, World!");
    	return 0;
    	}
    }
    
  6. Run "make" and debug ;)

Hints