プログラミング言語を言えば、世の中高級言語が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