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

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

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

![April4](https://www.microstone.info/ms/wp-content/uploads/2020/05/tiobe.png)

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



### 1. C

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



### 2. C++

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



### 3. C# 

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



### 4. Objective-C

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



### 5. Java

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



### 6. JavaScript

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



### 7. TypeScript

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



### 8. PHP

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



### 9. Python

```py
print("Hello, World!")
```



### 10. Kotlin

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



### 11. Swift

```swift
import Swift
print("Hello, World!")
```



### 12. R

```r
cat("Hello, World!")
```



### 13. Rust

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



### 14. Go Lang

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



### 15. Bash

```bash
echo 'Hello, world!'
```



### 16. Perl

```pl
use strict; 
use warnings; 

print("Hello, World!"); 
```



### 17. PowerShell

```powershell
Write-Host 'Hello, World!'
```



### 18. Ruby

```rb
puts "Hello, World!"
```



### 19. SQL

```sql
SELECT 'Hello, World!';
```



### 20. PL/SQL

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



### 21. Apex

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



### 22. Groovy

```groovy
println "Hello, World!"
```



### 23. Scala

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



### 24. MATLAB

```matlab
disp('Hello, World!');
```



### 25. Lua

```lua
print("Hello, World!")
```



### 26. Haskell

```haskell
putStrLn "Hello, World!"
```



### 27. Julia

```julia
println("Hello, World!")
```



### 28. Dart

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



### 29. Elixir

```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

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



### 33. F# 

```fsharp
printfn "Hello, World!"
```



### 34. COBOL

```
display "Hello, world!".
```



### 35. BASIC

```
PRINT "Hello, World!"
```



### 36. Visual Basic

```vb
Imports System

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



### 37. Pascal

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



### 38. Lisp(CLisp)

```cl
(print "Hello World!")
```



### 39. Fortran

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



### 40. アセンブラ

```nasm
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
```