Structure
- Introduction - why and where
- Installation of Ubuntu
- Writing and compiling a simple C♯ program
Why?
- 74.44% Windows
- 12.22% macOS
- 9.51% Other
- 1.58% Linux
According to statcounter GlobalStats
Why?
- 69.4% of webservers use a Unix-based OS
- 30.6% of webservers use Windows
According to W3Techs
Where?
- US Department of Defence
- French Parliament
- Amazon
- Android
Sources: 1
Installing Ubuntu
What's Ubuntu?
- A distribution of Linux
- Others are available, but Ubuntu is great for beginners
- Lots of help available online if you get stuck

Let's Get Started!
- Open Hyper-V to access the VM
Choosing the language

Boot menu

Welcome

Keyboard Layout

Initial Software and Updates

Partitioning

Dual Booting

I'm sure it's fine.....

Location

Credentials

Now we wait!

and wait

Complete!

Logging in

Type your password




The amazing apt

Doing it manually

Done!
- Installation complete!
- What next?
- Let's write some C♯
Let's Compile some C♯!
Package Management
- Most Linux distributions use a package manager
- Everything is a package - from your kernel to the software that you use
- Debian-based distributions use
apt
- GUIs do exist - Synaptic
Mono
- Mono is the .NET runtime on Linux
- Mono isn't available in the default
apt
repositories on Ubuntu - ...so we need to add a new apt repository!
- https://www.mono-project.com/download/stable/
Installation
- We have the
apt
repository - Now we can install
Mono
sudo apt install mono-devel
Usage
- The Linux terminal is similar to the Windows command prompt
- Download a Visual Studio solution now if possible
- Use a text editor to write a quick program otherwise
Usage (cont.)
- We can use
csc
andmsbuild
to compile just like we do on Windows csc MyFile.cs
msbuild
Monodevelop
What's Monodevelop?
- Writing C♯ code in a text editor is old-school
- Like Visual Studio, but on Linux
- Actually the base of Visual Studio for Mac
Installing
- Same prodecure as with Mono
- Challenge: Can you install Monodevelop using what you've learnt?
- https://www.monodevelop.com/download/
Summary
Summary
- We've installed Ubuntu
- We've installed Mono
- We've compiled some C♯
- We've looked at Monodevelop
Where next?
- Web server setup
- Application server setup
- Git hosting
Email hosting- Decentralised Instant Messaging
Thanks for coming!
- Bought to you by Freeside
- Feedback: https://forms.gle/cbWKnurf75Exi8ry8
- Join us: https://freeside.co.uk/
- Discord | Forums | PC Access
- Questions?