プログラム言語、いろいろあります。「今年学びたいプログラム言語」「稼げるプログラミング言語」。
でもランキング表見てるだけじゃ、どれがどんな感じなのか分からない。
とりあえずぱっと見の違いだけでも知りたい。ChatGPTに書いてみてもらいましょう。
GhatGPTでHello Worldを書こう
最初のプログラミングといえば、やっぱりHello World。
ドラクエでいえばスライムです。Hello Worldをやっつけるとプログラマーはレベル2に上がります。
ChatGPTに、いろいろなプログラム言語でHello Worldを書いてもらいましょう。
〇〇でHello Worldを書いて
〇〇には、プログラム言語名がはいります。
いろいろなHello World
C
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
経験者にはおなじみ、初心者は困惑、のHello World。
表示するだけでなんでこんなに書かないといかんの?スタジオってなに?
へたに経験者に聞くと、
stdioというのはスタジオでなくStandard I/OのことだよあっI/OはInputとOutputのことね。表示するときにはprintfというAPIを使うんだけどこれはstdio.hというファイルを取り込んで使えるようにしないといけないのねヘッダファイルというのはAPIのインタフェースを定義しているファイルねあっインタフェースというのは。。
と、謎の呪文を唱えだす。ここはこういうものだとしておきましょう。
C++
#include <iostream>
int main() {
std::cout << "Hello, World!";
return 0;
}
Cと似てる。けど微妙に違う。なんかむしろ分かりにくくなってる。
coutってなに?<<ってなに?coutよりHello Worldのほうが大きい、ってこと?
へたに経験者に聞くと。。さらに強力な呪文を唱えます。やめましょう。
Java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
似てる。似てるけど。。なんかプログラム長くなってない?
でもJavaの人は呪文やさしいです。メラくらい。C++の人はメラゾーマ唱えるので注意。
C#
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello, World!");
}
}
Javaと非常に似ています。まぁもともとマイクロソフトがJavaに対抗して作ったものだから。
Java経験者なら「じゃあC#もすぐできるよ大丈夫!」と言われがち。業界あるある。
Python
print("Hello World")
シンプルです。シンプルは美しい。もっとも受け入れやすいコードでないでしょうか。
JavaScript
console.log("Hello, World!");
うーん違う。いや場合によっては違くない。いや違う。うーん。
確かに間違ってないがブラウザだとこれじゃ表示できない。でもNode.jsなら表示できる。というかそもそもロギングじゃん。。。
HTML+JavaScript
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<script>
alert("Hello World");
</script>
</body>
</html>
うん。こっちのほうがしっくりきますね。
PHP
<?php
echo "Hello World!";
?>
うーーーん。いやそうなんだけど、ここにいたるまでの道がはてしなく長い。
Ruby
puts "Hello, World!"
まあこれも、そうはそうなんだけど。Rails使わないと意味ないしなあ。
Go
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
CやJavaとあまり変わらないですね。
Rust
fn main() {
println!("Hello, World!");
}
あまり変わらないですね。この程度じゃRustの本気は、まだ垣間見えない。
いや、printlnのあとのビックリマークなんだ?あたりから、ちょっとは片鱗が見えるか。
Scala
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, World!")
}
}
ぬるいプログラマには禁断の聖地、関数型言語に入っていきます。
でもまあ、まだ分かりますかね。
Haskell
main = putStrLn "Hello, World!"
いやー、シンプルなんですが。main = というのを説明するの難しいですよねえ。純粋関数といって通じる人が、世の中にどれくらいいるのでしょうか。
まとめ
こうみると、言語によって表現の違いこそあれ、基本的な構成はそれほど変わってないですね。
ひとつを覚えたら他の言語も覚えやすいので、いろいろな言語を学んでいきましょう。
コメント