いろんなプログラミング言語の「Hello World」を比較してみよう!

helloworldプログラミング

Hello World!
これをみて、「あっ、世界に向かって挨拶してるんだな~」。とは、違う印象を持った人はおそらく、プログラマとして働いているかプログラミングの知識が少しでもある人でしょう。
そう!プログラミングについて学習するときにほとんどの人が最初に出力する文字は「Hello World!」

だったら、いろんなプログラミング言語で「Hello World!」を出力するにはどうするんだい??っていう人間として生まれてきたならば人生で1度は考えるあれを比較してみよう!!

「Hello World」の揃い踏み

まず、最初に今回比較するプログラミング言語での「Hello World!」出力を一気に見てみましょう!
さあ、揃い踏み!!!

// C言語
printf("Hello World!");

※出力結果
Hello World!


// C++
std::cout << "Hello World!" << std::endl;

※出力結果
Hello World!


// C#
System.Console.WriteLine("Hello World!");

※出力結果
Hello World!


// Java
System.out.println("Hello World!");

※出力結果
Hello World!


// JavaScript
console.log("Hello World!");

※出力結果
Hello World!


// PHP
echo "Hello World!";

※出力結果
Hello World!


# Python
print('Hello World!')

※出力結果
Hello World!


# Ruby
puts "Hello World!"

※出力結果
Hello World!


# Perl
print("Hello World!");

※出力結果
Hello World!


// Scala
println("Hello World!")

※出力結果
Hello World!


// Kotlin
println("Hello World!")

※出力結果
Hello World!


// Swift
print("Hello World!");

※出力結果
Hello World!


// Go
fmt.Print("Hello World!")

※出力結果
Hello World!

*** おまけ ***
-- SQL
create table test(column1 VARCHAR(30) NOT NULL);
INSERT INTO test (column1) VALUES ("Hello World!");
SELECT column1 FROM test WHERE column1 = "Hello World!";

※出力結果
column1
-----------
Hello World!

C言語

C言語(シーげんご、英: C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。
英語圏では「C language」または単に「C」と呼ばれることが多い。日本でも文書や文脈によっては同様に「C」と呼ぶことがある。
制御構文などに高水準言語の特徴を持ちながら、ハードウェア寄りの記述も可能な低水準言語の特徴も併せ持つ。
基幹系システムや、動作環境の資源制約が厳しい、あるいは実行速度性能が要求されるソフトウェアの開発に用いられることが多い。
後発のC++やJava、C#など、「C系」と呼ばれる派生言語の始祖でもある。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

C言語と聞くと古いプログラミング言語だと思っているあなた!侮ってはいけませんよ!😠
2022年時点でまだまだ現役ですから。僕が2018年くらいに組込みリアルタイムOS開発のプロジェクトに参画したとき、C言語で開発してましたから。ただ、ポインタとかを理解するのは苦戦しました😢

//文字列出力
printf("Hello World!");

※出力結果
Hello World!


//文字列出力(改行あり)
printf("Hello\nWorld!");

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
char *str = "Hello World!";
printf("%s", str);

※出力結果
Hello World!

C++

C++(シープラスプラス)は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

泣く子も黙るC++! その名前を聴くだけで震え上がるC++!
いろんなプログラマやSEに「難しいプログラミング言語はなんですか?」と聞くと必ずと言っていいほど名前があがります。
オブジェクト指向が、、、。
C言語の上位互換というより、拡張版って感じ?C言語も生き残ってるし上手いこと共存出来てるような気がしますよ。
他の言語の処理速度で満足できなければC++でやるか~ってなる言語(個人の感想)。

//文字列出力
std::cout << "Hello World!" << std::endl;

※出力結果
Hello World!



//文字列出力(改行あり)
std::cout << "Hello\nWorld!" << std::endl;

※出力結果
1. Hello
2. World!



//文字列出力(変数使いましたバージョン)
std::string str = "Hello World!";
std::cout << str << std::endl;

※出力結果
Hello World!

C#

C#(シーシャープ)は、デンマーク人であるアンダース・ヘルスバーグが設計したプログラミング言語である。構文はC系言語(C,C++など)の影響を受けており、その他の要素には以前ヘルスバーグが所属していたボーランド設計のDelphiの影響が見受けられる。

特徴としては、マルチパラダイムプログラミング言語、型付け、命令型、宣言型などといった要素があげられる。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

C#はイコールMicrosoftっていうイメージ。「.NET Framework」で使うイメージ。
C系言語(C,C++など)の中では一番習得しやすいような。。。
ゲームエンジンのUnityもC#のスクリプトで開発できるので「.NET Framework」でなくてもゲーム業界でも使われてるし、ゲーム開発に興味があれば学習するのもアリ。

//文字列出力
System.Console.WriteLine("Hello World!");

※出力結果
Hello World!


//文字列出力(改行あり)
System.Console.WriteLine("Hello\nWorld!");

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
string str = "Hello World!";
System.Console.WriteLine(str);

※出力結果
Hello World!

Java

Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。

プログラミング言語Javaは、C++に類似の構文、クラスベースのオブジェクト指向、マルチスレッド、ガーベジコレクション、コンポーネントベース、分散コンピューティングといった特徴を持ち、平易性重視のプログラム書式による堅牢性と、仮想マシン上での実行によるセキュリティ性およびプラットフォーム非依存性が理念とされている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

とにかく需要が多い言語。日本のIT業界の求人とかではもう何年も求人数がトップクラスでプログラミングスクールとか初心者向けのところではJavaがオススメされている感じ。オブジェクト指向のところで乗り越えられる人とつまずく人で別れてしまいますが、プログラミング未経験の人にとっては比較的早い段階の1つめか2つめくらいの言語として習得しておくとプログラミング能力が効率よく向上できるイメージがありますね。

//文字列出力
System.out.println("Hello World!");

※出力結果
Hello World!


//文字列出力(改行あり)
System.out.println("Hello");
System.out.println("World!");

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
String str = "Hello World!"
System.out.println(str);

※出力結果
Hello World!

JavaScript

JavaScript(ジャバスクリプト)は、プログラミング言語であり、HTMLやCSSと並ぶ World Wide Web(WWW)の中核技術の一つである。

プロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。

利用される場面はWebサイト・Webアプリ・バックエンド・デスクトップアプリ・モバイルアプリなど、ブラウザからサーバ、デスクトップからスマートフォンまで多岐にわたっている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

まずはここからJavaScript!プログラミング初心者が最初に学習する言語としていろんなところでオススメされてます。
WebデザインでHTMLと同時に学習することが多いのと、コードを書いたらすぐにブラウザから結果が確認できるため、作ってる感があって初心者にとっては面白いはずです。
ただ、深いところまで理解しようとするとかなりカオスなのと、人によって書き方のクセがあるのでとっつきやすいけれど知れば知るほど深みにハマっていきます。ちゃんと帰ってこれるところまでにしておくことをオススメします。。。

//文字列出力
console.log("Hello World!");

※出力結果
Hello World!


//文字列出力(改行あり)
console.log("Hello\nWorld!");

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
var str = "Hello World!";
console.log(str);

※出力結果
Hello World!

PHP

PHP(ピー・エイチ・ピー)は、 “The PHP Group” によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語およびその公式の処理系であり、特にサーバーサイドで動的なウェブページを作成するための機能を多く備えていることを特徴とする。 名称の PHP は再帰的頭字語として、 “PHP: Hypertext Preprocessor” を意味するとされており、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Web系といえばコレ!っていうくらいWebに特化しているのがPHP。
HTML → CSS → JavaScript → PHP の順番で習得していった人も多いと思います。
プログラミング言語の中では難易度が低めなので初めてプログラミングに触れる人にはオススメです。
ただ、PHPもオブジェクト指向など深く学習しようとすると他のプログラミング言語と難易度はそう変わらなくなってきますので、とりあえずプログラミングをやってみたいという人はPHPの基本文法だけでも理解できるようになるとその後のPHP以外のプログラミング言語を学習するときに役立つと思います。

//文字列出力
echo "Hello World!";

※出力結果
Hello World!


//文字列出力(改行あり)
echo "Hello<br>World!";

※出力結果
1. Hello
2. World!

echo nl2br("Hello\nWorld!");

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
$str = "Hello World!";
echo($str);

※出力結果
Hello World!

Python

Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。グイド・ヴァン・ロッサムにより創り出され、1991年に最初にリリースされたPythonの設計哲学は、有意なホワイトスペース(オフサイドルール)の顕著な使用によってコードの可読性を重視している。その言語構成とオブジェクト指向のアプローチは、プログラマが小規模なプロジェクトから大規模なプロジェクトまで、明確で論理的なコードを書くのを支援することを目的としている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Pythonの特徴と言えば、とにかくシンプルで習得しやすい!
ライブラリが豊富なので機械学習(AIとかに使われるやつ)といった難しくてなんだかよくわからないようなこともPythonなら少ないコードで簡単に(他の言語に比べて)実装できるのがめちゃくちゃ強力です。
最近では、その習得のしやすさから小学生向けのプログラミングスクールで採用されるようになってきています。
Pythonのコードは書きやすいし、見やすいし最高だあぁぁぁ(個人の感想)!

#文字列出力
print('Hello World!')

※出力結果
Hello World!


#文字列出力(改行あり)
print('Hello\nWorld!')

※出力結果
1. Hello
2. World!


#文字列出力(変数使いましたバージョン)
str = 'Hello World!'
print(str)

※出力結果
Hello World!

Ruby

Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発されたオブジェクト指向スクリプト言語(スクリプト言語とはプログラミング言語の一分類)。

日本で開発されたプログラミング言語としては初めて国際電気標準会議(IEC)で国際規格に認証された事例となった。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Rubyと聞いたらMacでしょ!笑
っていうくらいRubyで開発してる人はMac使ってるイメージがあります。たしか、環境構築もMacのほうがやりやすかった気がする。。。というか、標準で入ってなかった?(勘違いだったらすみません)
あとはやっぱり、Rubyといえばフレームワークの「Ruby on Rails」がめちゃくちゃ便利で強力なイメージ。そして、楽しそうって感じ。
スタートアップで勤務しながら、テレワークでスタバでMac開いてRubyで開発するエンジニアに憧れたな~。ただ、セキュリティの観点からカフェでPC開いて作業するエンジニアはいないと思いますが。いませんよね??
ちなみに、WindowsでRuby使って開発してる逆張りエンジニアはいますかーーー???
いるのだとしたら、あなたは勇者です!!

#文字列出力
puts "Hello World!"

※出力結果
Hello World!


#文字列出力(改行あり)
puts "Hello\nWorld!"

※出力結果
1. Hello
2. World!


#文字列出力(変数使いましたバージョン)
str = "Hello World!"
puts str

※出力結果
Hello World!

Perl

Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語やsed、awk、シェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Perlは現在はあまり使っているプロジェクトを見かけなくなってしまいましたが、かつてはPerlといえばWeb開発という感じでした。
ただ、今となってはPHPやPython、Rubyといった選択肢があるのであえてPerlを使うメリットは。。。いや、こういう状況だからこそPerlを極めてやるんだ!っていう逆張りあまのじゃくエンジニアもいるかもしれません。今はPerlに逆風が吹いていますが時代の風向きが変われば再びPerlの時代が来るかもしれません。その時に今Perlのスキルを磨いている人にスポットライトが当たるのではないでしょうか。
そのような時代が来るのか楽しみですね。

#文字列出力
print("Hello World!");

※出力結果
Hello World!


#文字列出力(改行あり)
print "Hello\nWorld!";

※出力結果
1. Hello
2. World!


#文字列出力(変数使いましたバージョン)
$str = "Hello World!";
print $str;

※出力結果
Hello World!

Scala

Scala(スカラ、SKAH-lah)はオブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語である。名前の「Scala」は英語の「scalable language」に由来するものである。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

ScalaはJavaを習得した人が次に習得するケースが多いです。実際にScalaはJavaの次世代言語と表現されることもあるくらいなので。
Javaを一通り使えるようなったらScalaにも挑戦するとエンジニアとしての市場価値アップにつながると思います
ただ、未だにJavaの根強い人気もあって、結構注目されている割にあまり普及してこない印象です。
もう少し、Scalaを使う機会が増えてもいいのになと個人的に考えたり考えなかったり。逆にライバルの少ない今だからこそScalaが使える貴重な人材になれるかも!?

//文字列出力
println("Hello World!")

※出力結果
Hello World!


//文字列出力(改行あり)
println("Hello\nWorld!")

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
val str = "Hello World!"
println(str)

※出力結果
Hello World!

Kotlin

Kotlin(コトリン)は、ジェットブレインズのアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、静的型付けのオブジェクト指向プログラミング言語である。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Kotlinといったらもう、Androidですね!Androidアプリ開発のための言語だと思っております。
それまでJavaで開発していた人がvKotlinで開発するようになって感動していました。
Javaよりも書きやすいし、KotlinからJavaのコードを呼び出せるからこれまでに作ったモノを再利用できるしでメリットが大きいって言ってました。
Androidのアプリを開発してみたい人にとっては最優先で習得したい言語かもしれません。

//文字列出力
println("Hello World!")

※出力結果
Hello World!


//文字列出力(改行あり)
println("Hello\nWorld!")

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
val str = "Hello World!"
println(str)

※出力結果
Hello World!

Swift

Swift(スウィフト)は、AppleのiOSおよびmacOS、Linux、Windowsで利用出来るプログラミング言語である。Worldwide Developers Conference (WWDC) 2014で発表された。Apple製OS上で動作するアプリケーションの開発に従来から用いられていたObjective-CやObjective-C++、C言語と共存できるように、共通のObjective-Cランタイムライブラリが使用されている。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

SwiftはiOS関連の開発で使われる言語です。元々はObjective-Cという言語を使うのが一般的でしたが、それに代わる言語としてSwiftが華麗に登場しました!
普段、Windows環境で開発している人にはあまり馴染みがないかもしれませんが、Windows環境で開発していてもスマホはiPhoneを使ってることが多いと思います。なので、「このアプリはSwiftで開発されてるのかな?」なんてことを考えたり、アプリの設定でオープンソースの表記のところをチェックしてしまうのがエンジニアの職業病です。

//文字列出力
print("Hello World!");

※出力結果
Hello World!


//文字列出力(改行あり)
print("Hello\nWorld!");

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
let str = "Hello World!"
print(str);

※出力結果
Hello World!

Go

Goはプログラミング言語の1つである。Googleにおいて2009年、ロバート・グリースマ、ロブ・パイク、ケン・トンプソンによって設計された。Goは、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け(英語版)、CSPスタイルの並行性などの特徴を持つ。Goのコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Go言語です。Go!Go!
情報が少なく、すみません。。。これから学習していきます。僕の周りのエンジニアもGo言語に興味はあるけどまだ取り掛かれてない人ばかりで、なんなら僕の所属している会社もGo言語を導入しようかと検討しているものの、まだ導入できてない。。。

//文字列出力
fmt.Print("Hello World!")

※出力結果
Hello World!


//文字列出力(改行あり)
fmt.Print("Hello\nWorld!")

※出力結果
1. Hello
2. World!


//文字列出力(変数使いましたバージョン)
str := "Hello World!"
fmt.Print(str)

※出力結果
Hello World!

おまけ

プログラミング言語とはちょっと違うのですが、プログラミング言語とは切っても切れない重要な言語の「Hello World!」を紹介します。

SQL

SQL(エスキューエル[ˈɛs kjuː ˈɛl]、シークェル[ˈsiːkwəl]、シーケル)は、関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である。プログラミングにおいてデータベースへのアクセスのために、他のプログラミング言語と併用される。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

SQLはデータベースをアレコレ操作する言語なので厳密にはプログラミング言語とは言えないと思いますが、無理矢理Hello World!を出力してみました。実務でこんなことはしません!!笑
ただ、エンジニアとして仕事をする上でデータベースに一切関わらないということは稀なのでSQLの基本的な知識は知っておいた方がいいでしょう(もちろん、Hello World!を出力するなんてのはやらなくて大丈夫です)。

create table test(column1 VARCHAR(30) NOT NULL);
INSERT INTO test (column1) VALUES ("Hello World!");
SELECT column1 FROM test WHERE column1 = "Hello World!";

※出力結果
column1
-----------
Hello World!

まとめ

いろんなプログラミング言語の「Hello World!」を比べてみました。結構似てるところがあったり新しい発見がありました!
新しい言語を学習し始めて「Hello World!」を表示できたときの感動は本当に大きいです。ただ、そこをモチベーションのピークにならないように地道に学習を続けることが重要ですね。
世の中にはまだまだプログラミング言語があるので好奇心を持ち続けて新しい言語の習得に挑戦していきましょう!!!

タイトルとURLをコピーしました