Web Dev Academy Backend languages · Ruby, Java, Go & C# Tool 40 / 64
Backend languages

Ruby, Java, Go & C#

Four heavyweight backend languages, side by side. Each has its own philosophy — elegant, enterprise, concurrent, or all-Microsoft — and its own idiomatic style.

Demo 01

One task, four languages

The same little program — greet the world and sum some numbers — written idiomatically in each. Switch tabs, read the real code, then press Run to see the simulated output (these compile on a server, not in your browser).

# hello.rb — run with: ruby hello.rb
nums = [1, 2, 3, 4, 5]
puts "Hello from Ruby!"
nums.each { |n| puts "  n = #{n}" }
puts "sum = #{nums.sum}"
// output appears here

Demo 02

Go goroutines: 1,000 tasks at once

Go's superpower is cheap concurrency. A goroutine is a lightweight thread — you can launch thousands. Press Launch and watch 1,000 tasks light up (cyan = running) and finish (green). The grid is a simulation of Go's scheduler.

var wg sync.WaitGroup
for i := 0; i < 1000; i++ {
    wg.Add(1)
    go func(id int) {       // ← launch a goroutine
        defer wg.Done()
        process(id)
    }(i)
}
wg.Wait()                       // block until all 1000 finish
0
running now
0
completed
~2 KB
stack per goroutine (vs ~1 MB per OS thread)
Demo 03

Each language, in one line

Why pick one over another? A quick orientation.

Ruby
Developer happiness & elegance — powers Rails.
Java
Rock-solid, JVM, enterprise & Android backends.
Go
Fast, simple, built for concurrency & the cloud.
C#
Microsoft's flagship — .NET, games (Unity), web.
i
The code in every tab is real, idiomatic Ruby, Java, Go and C#. But these are compiled / server-side languages that can't run in a browser — so the program output and the 1,000-goroutine concurrency grid are an interactive simulation written in vanilla JavaScript. The shared CSS shell provides the page styling.

↑ All 64 tools