見出し画像

いろいろなプログラミング言語 - フォン・ノイマンの呪縛

コンピュータの歴史の初期の頃からハードウェアが実行する命令が難解なので、人間にとってアルゴリズムの記述が容易なプログラミング言語というものが使われてきています。プログラミング言語には低水準か高水準であるとか、手続き型か関数型か、インタプリタなのかコンパイラなどの分類がありますが、対象となるハードウェアやソフトウェアの変化に合わせて、いろいろな言語が流行り、そして衰退していきました。現在使われているCPUは大部分がノイマン型と呼ばれている方式で、プログラム・カウンタの指すメモリから命令を取り出して、レジスタとメモリを使って値を操作するというのが基本です。

対象となる処理が単純なうちは良かったのですが、規模が拡大するに伴い言語による適切な支援がないと、いったいコードが何をシているのか理解することが難しくなり、構造化プログラミング、オブジェクト指向プログラミングというパラダイムが主流となり現在に至っています。

思い出したように過去に使ったことがあるプログラミング言語のことを書いていたのですが、そろそろマガジンにまとめておこうと思います。



わたしのプログラミング言語歴

最初はこれかな。この後は、思い出して書いた順です。

6K BASIC

APPLESOFT BASIC と MICROSOFT

機械語の世界へようこそ - ミニアセンブラとSWEET16

6K BASIC - 仕様解説

プログラミング言語 - FORTHとLOGO

Wizardry と UCSD-PASCAL

FORTRAN - はじめてのプログラミング言語

OS-9とBASIC09

GAME言語 - TinyBASICからC言語への橋渡し

TinyPASCAL

TL/1 - Tinyな8ビットコンパイラ

変数の型 - 整数と小数

C言語を覚えた道のり

プログラミング言語 Ada - 机の上で活躍した思い出の言語

Smalltalk - オブジェクト指向を理解する

Quick BASIC - テキスト画面でGUIを作れた構造化BASIC

Visual BASIC - 登場前夜

Visual Basic - ウィンドウズと一体化した構造化BASIC

C++ - それはC言語でありC言語ではない

Java - 紅茶じゃないのプログラムなの

PHP - WEBの動的なコンテンツへの道

C# それはC++とは似ても似つかないもの

python そして django - pySPAの思い出

Go っていう名前のプログラミング言語

Small Basic を使ってみた

LISP - カッコう、カッコ!

Erlang - 分散処理に強い関数型言語

APL - a programming language

prolog - カット、カット!

シェル - それはプログラミング言語なのか

PL/I - 大きいことは良いことだなんてありえない

sed - テキストエディタの操作で記述するコマンド

awk - パターンマッチング事始め

嫌いなプログラミング言語はperlです

BASIC60歳おめでとう

いろいろな言語での書式指定子たち#1 - FORTRAN

いろいろな言語での書式指定子たち#2 - BASIC

JIS BASIC - いったい誰のための規格なのか

いろいろな言語での書式指定子たち#3 - C言語

いろいろな言語での書式指定子たち#4 - Java言語

Goの進化に追いつかない

いろいろな言語での書式指定子たち#5 - python

CSVの歴史

この言語についても書いてほしいというリクエストもお待ちしています。


プログラミング言語

ノイマン型

ヘッダ画像は、以下のサイトで作成しました。
https://memeplex.app/

この記事が気に入ったらサポートをしてみませんか?