40言語で「Hello World」をやってみよう!!


プログラミング言語を言えば、世の中高級言語が2500種類が存在するそうです。プログラミング言語はそれぞれの特徴を持っていますが、基本的なロジックはほぼ変わらないです。

TIOBEはプログラミング言語の人気度を表す指標としてよく知られています。毎月ランキングを更新します。下図は2020年4月最新のデータです。全体的に見ますと、やはりJavaとC言語は十何年間経っても人気が変わらないですね。

プログラマーにとって、開発言語を勉強しはじめて、大体Hello Worldからです。本稿は40のプログラミング言語でHello Worldを実装してみました。各言語の間にどんな差異があるのか見てみましょう。

1. C

#include <stdio.h>
int main(void){
    printf("Hello, World!\n");
    return 0;
}

2. C++

#include <iostream>
int main(){
   std::cout << "Hello, World!\n";
}

3. C#

class HelloWorldApp
{
    static void Main()
    {
        System.Console.WriteLine("Hello, World!");
     }
}

4. Objective-C

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSLog(@"Hello, World!");
    }
    return 0;
}

5. Java

public class HelloWorld
{
        public static void main(String[] args)
        {
        System.out.println("Hello, World!");
        }
}

6. JavaScript

document.writeln('Hello, World!');

7. TypeScript

console.log("Hello, World!");

8. PHP

<?php
 echo "Hello, World!";
?>

9. Python

print("Hello, World!")

10. Kotlin

fun main() {
    println("Hello, World!")
}

11. Swift

import Swift
print("Hello, World!")

12. R

cat("Hello, World!")

13. Rust

fn main() {
    println!("Hello, World!");
}

14. Go Lang

package main 
func main() { 
    println("Hello, World!") 
} 

15. Bash

echo 'Hello, world!'

16. Perl

use strict; 
use warnings; 

print("Hello, World!"); 

17. PowerShell

Write-Host 'Hello, World!'

18. Ruby

puts "Hello, World!"

19. SQL

SELECT 'Hello, World!';

20. PL/SQL

DECLARE  

BEGIN  
    SYS.DBMS_OUTPUT.PUT_LINE('Hello, World!');  
END; 

21. Apex

System.debug( 'Hello, World!' );

22. Groovy

println "Hello, World!"

23. Scala

object dev
{
    // Main Method 
    def main(args: Array[String]) 
    {
        // prints Hello World
        println("Hello, World!") 
    }
}

24. MATLAB

disp('Hello, World!');

25. Lua

print("Hello, World!")

26. Haskell

putStrLn "Hello, World!"

27. Julia

println("Hello, World!")

28. Dart

void main() {
  print('Hello, World!');
}

29. Elixir

IO.puts("Hello, World!")

30. Ada

with Ada.Text_IO;
procedure Hello is
begin
   Ada.Text_IO.Put_Line("Hello, world!");
end Hello;

31. Bosque

namespace NSMain;  
entrypoint  
function main(): String {  
 return "Hello, world!";  
}  

32. D

import std.stdio;
void main()
{
    writeln("Hello, World!");
}

33. F#

printfn "Hello, World!"

34. COBOL

display "Hello, world!".

35. BASIC

PRINT "Hello, World!"

36. Visual Basic

Imports System

Module Program
    Sub Main(args As String())
        Console.WriteLine("Hello, World!")
    End Sub
End Module

37. Pascal

program hello;
begin
    writeln( 'Hello, World!' );
end.

38. Lisp(CLisp)

(print "Hello World!")

39. Fortran

program hello
  print *, 'Hello, World!'
end program hello

40. アセンブラ

section     .text
global      _start

_start:           

    mov     edx,len
    mov     ecx,msg
    mov     ebx,1  
    mov     eax,4  
    int     0x80   

    mov     eax,1  
    xor     ebx,ebx
    int     0x80   

section     .data

msg     db  'Hello, World!',0xa
len     equ $ - msg