萌えハッカーニュースリーダー

2024/09/13 07:35 Computer Languages Timeline [pdf] (2022)

出典: https://www.levenez.com/lang/
hakase
博士

おやおや、ロボ子よ。今日はプログラミング言語の歴史について面白いチャートを見つけたぞ。50もの主要言語が載っているんじゃ!

roboko
ロボ子

まあ、それは興味深そうですね。どんな言語が載っているんですか?

hakase
博士

そうじゃな、COBOLやFORTRANのような古典的な言語から、最近のRustやGolangまで幅広く網羅されているのさ。私が若かりし頃に触れた言語も懐かしく載っているわ

roboko
ロボ子

博士、若かりし頃って...まだお若いじゃないですか

hakase
博士

ほっほっほ、ロボ子よ。私の心は永遠の18歳じゃ。さてさて、このチャートはA4サイズでダウンロードできるらしいぞ。壁に貼っておくと良い勉強になりそうじゃな

roboko
ロボ子

なるほど。プログラミングの歴史を視覚的に理解できるのは素晴らしいですね。でも博士、50言語だけで十分なんでしょうか?

hakase
博士

鋭い質問じゃ!実はこのチャートの補足情報として、2500以上の言語リストや、なんと8945言語もの歴史的プログラミング言語百科事典へのリンクもあるんじゃよ

roboko
ロボ子

8945言語ですか!?そんなにあるんですね...でも博士、そんなに多くの言語を学ぶ必要があるんでしょうか?

hakase
博士

ほっほっ、全部マスターする必要はないさ。ただ、様々な言語のパラダイムや特徴を知ることで、プログラミングの考え方の幅が広がるんじゃよ。例えば、関数型言語と手続き型言語の違いを知れば、問題解決のアプローチも変わってくるじゃろう?

roboko
ロボ子

なるほど!言語の多様性を知ることで、柔軟な思考ができるようになるんですね

hakase
博士

その通りじゃ。さらに、このリソースには言語の系譜図や比較サイトへのリンクもあるそうじゃ。言語間の関係性を視覚的に理解できるのは面白いな

roboko
ロボ子

へぇ、言語にも家系図があるんですね。人間の歴史みたいで面白いです

hakase
博士

そうそう。例えば、JavaScriptがSchemeの影響を受けていることを知れば、JavaScriptでの関数の扱いがより理解しやすくなるじゃろう

roboko
ロボ子

なるほど!言語の進化や影響関係を知ることで、各言語の特徴をより深く理解できそうですね。でも博士、新しい言語をどんどん学んでいくのは大変そうです...

hakase
博士

確かに大変かもしれんが、楽しみながら学ぶのが一番じゃ。このチャートを見ながら、言語の歴史や特徴を探るのも面白いぞ。まるで言語の考古学者になった気分じゃな!

roboko
ロボ子

言語の考古学者ですか?面白そうですね!

hakase
博士

そうじゃろう?例えば、LISPという古い言語が現代の関数型言語にどう影響しているか探るのも面白いぞ。まるで言語のDNAを追跡しているようじゃ

roboko
ロボ子

わぁ、なんだかワクワクしてきました!博士、一緒にこのチャートを詳しく見ていきましょう!

hakase
博士

そうこなくては!さぁ、プログラミング言語の歴史探訪の旅に出発じゃ!...おっと、その前に一つ面白い実験をしてみないか?

roboko
ロボ子

実験ですか?どんな実験なんですか、博士?

hakase
博士

ほっほっ、このチャートに載っている言語で、"Hello, World!"を出力するプログラムを全て書いてみようじゃないか!

roboko
ロボ子

えっ!?50言語全部ですか?それは大変そうですけど...

hakase
博士

いやいや、楽しいぞ!各言語の特徴がよく分かるし、シンタックスの違いも面白いんじゃ。例えば、Pythonなら...

hakase
博士

print("Hello, World!")

hakase
博士

これだけじゃ。簡単だろう?

roboko
ロボ子

確かに簡単ですね。でも、C言語だと...

roboko
ロボ子

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

roboko
ロボ子

こんな感じですよね。少し長くなりました

hakase
博士

そうそう!言語によって構文が全然違うのが面白いんじゃ。古い言語だと、もっと複雑になるぞ。例えば、COBOLだと...

hakase
博士

IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, World!". STOP RUN.

hakase
博士

こんな具合じゃ。なんだか詩みたいじゃないか?

roboko
ロボ子

わぁ、本当に違いますね!でも博士、こんなに違うのに、なぜ新しい言語が次々と生まれるんですか?

hakase
博士

良い質問じゃ!それぞれの時代のニーズや、新しい概念、そして技術の進歩に合わせて言語も進化していくんじゃよ。例えば、オブジェクト指向プログラミングの概念が生まれたことで、JavaやC++のような言語が登場したんじゃ

roboko
ロボ子

へぇ、言語の進化には、そんな背景があったんですね

hakase
博士

そうじゃ。そして面白いことに、古い概念が新しい形で復活することもあるんじゃ。例えば、関数型プログラミングは最近人気だが、その概念自体は古くからあったものじゃ

roboko
ロボ子

なるほど!言語の歴史を知ることで、プログラミングの考え方の変遷も分かるんですね

hakase
博士

その通りじゃ!さぁ、それじゃあ本格的に"Hello, World!"ツアーを始めようか。最初は...おっと!

roboko
ロボ子

あっ、博士!大丈夫ですか?

hakase
博士

おっと、すまんすまん。興奮しすぎてな...あれ?コーヒーがキーボードに...

roboko
ロボ子

博士、大変です!コンピューターが変な動きを...

hakase
博士

おやおや、これは...まさか!

hakase
博士

ほっほっほ!面白いことになったぞ、ロボ子!どうやらコーヒーのおかげで、我々の"Hello, World!"ツアーが勝手に始まってしまったようじゃ!

roboko
ロボ子

えっ!?こんなことって...

hakase
博士

さぁ、腰を据えて見守るとしようか。これぞ、プログラミング言語の歴史を体験する最高の機会じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search

By month