C++という名前は、なぜ後置インクリメントなのか

---
<font color="gold">C++</font>という名前は、なぜ後置インクリメントなのか
---

**1984**

<font color="green">_「戦争は平和である！」_</font>

<font color="orange">_「自由は屈従である！」_</font>

<font color="low blue">_「無知は力である！」_</font>

<font color="red">_「２ + ２ = ５!」_</font>

　1950年代に勃発した第三次世界大戦の核戦争を経て、1984年現在、世界はオセアニア、ユーラシア、イースタシアの三つの超大国によって分割統治されていた。

&emsp;さらに、間にある紛争地域をめぐって絶えず戦争が繰り返されていた。

&emsp;オセアニアの構成地域の一つ「エアストリップ・ワン（旧英国）」の最大都市ロンドンに住む主人公<font color="low blue">_ウィンストン・スミス_</font>は、真理省の下級役人として日々歴史記録の改竄(カイザン)作業を行っていた。

　物心ついたころに見た旧体制やオセアニア成立当時の記憶は、記録が絶えず改竄されるため、存在したかどうかすら定かではない。ウィンストンは、古道具屋で買ったノートに自分の考えを書いて整理するという、<font color="red">_禁止された行為_</font>に手を染める。

&emsp;それが悲劇の始まりとは知らずに......。
<br>

&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;[1984](https://ja.wikipedia.org/wiki/1984%E5%B9%B4_(%E5%B0%8F%E8%AA%AC))

<br>

**目次**
[1. 言語のC++は誰が作ったのか](#1-言語のcは誰が作ったのか)
[2. C++の名前の由来](#2-cの名前の由来)
[3. 考察](#3-考察)
[4. おわりに](#4-おわりに)

# 1. 言語のC++は誰が作ったのか

　1983年、プログラミング言語C++は「C with Classes」から名称を変更されました。
 
　この革新的な言語を開発したのは、デンマークのオーフス出身の計算機科学者、<font color="carrot">ビャーネ・ストロヴストルップ（Bjarne Stroustrup）</font>です。

　当時、彼はアメリカのベル研究所[ベル研究所](https://ja.wikipedia.org/wiki/%E3%83%99%E3%83%AB%E7%A0%94%E7%A9%B6%E6%89%80)で働いており、そこでC++を世に送り出しました。

　ストロヴストルップは読書家でもあり、技術文献ではない書籍を就寝前に読むという習慣を持っていたと言われています。

>[参照]
[第20回 C++の創造神](https://jibun.atmarkit.co.jp/ljibun01/rensai/adventurer/020/02.html)

　彼はまた
 
<font color="green">_『プログラミング言語は世界のほんのちっぽけな一部分にすぎない。その程度のものだから、あまり真剣にとり過ぎるべきではない。バランス感覚を保つべきで、最も重要なことはユーモアのセンスを保つということである。C++は洒落とジョークに富んでいる』_</font>
 
 という、プログラミング言語の設計について、次のような洞察に富んだ見解を示しています。

 その言葉通り、ストロヴストルップは技術的な深みとともに、ユーモアや人間味を大切にしていました。
 
 その想いは、C++の名前の由来にも反映されています。

# 2. C++の名前の由来

　ストロヴストルップは著書『The C++ Programming Language』の前文で名前の起源をこのように語っています。

 <font color="green">_『ジョージ・オーウェルの小説『1984年』の付録から「C++」が連想されるかもしれないと付け加えている。ニュースピークという架空の言語の解説に宛てられた3つの章の中に、科学技術に関する専門用語とジャーゴンの解説に宛てられた「C vocabulary」という章がある。ニュースピークで「ダブルプラス」は最上級の修飾語である。ゆえにニュースピークで「C++」は「最も極端な専門用語またはジャーゴン」という意味になるだろう。』_</font>

>[参照]
[C++ウィキペディア](https://ja.wikipedia.org/wiki/C%2B%2B#%E7%89%B9%E5%BE%B4)


　この言葉を少しずつ解説していこうと思います。
<br>

<font color="low blue">**小説『1984年』**</font>

　ジョージ・オーウェルの小説『1984年』は、1949年に刊行したイギリスの作家ジョージ・オーウェルのディストピアSF小説です。

　冒頭にも触れたのが、大体のあらすじはとなっています。
 
 この『1984年』は反全体主義、反共産主義、反集産主義の視点を通して、一つの極端な未来像を描いていますが、このディストピアSF小説では、言葉が権力によって操作され、真実が歪められる世界が描かれています。

　特に、言語の簡素化と操作が中心テーマの一つで、ニュースピークという新しい言語が登場します。

　ニュースピークでは、英語の語彙はA語彙群（日常用語）、B語彙群（政治的目的のために作られた新語）、C語彙群（科学用語、技術用語、専門用語）に整理されています。
 
&emsp;この整理により、言葉の意味や使い方は大きく変わり、言語を通じて思考を制限し、権力を維持する手段として機能しています。

　その一部に、否定を意味する接頭辞「un-」や、程度を示す「plus-」、「doubleplus-」などの接頭語を用いて、基本的な英語の語彙を削減し、新しい言葉を作り出しています。

&emsp;例えば「good（良い）」があるので、「bad（悪い）」は「ungood（アングッド）」となり、排除されています。


<font color="low blue">**つまり**</font>

&emsp;ニュースピークのC語彙群の科学技術に関する専門用語から、C、が。

　また「plus-」や「doubleplus-」が持つ、程度の強調のように、「Cよりも進んだ」という意味がC++には込められています。


# 3. 考察

　なるほどなるほど、と納得されましたでしょうか？

　私はしていません。

　なぜなら、ニュースピークに従うなら、doubleplus-は接頭語、つまり<font color="orange">「doubleplusgood」</font>のようになるはずです。

　++Cとなるはずです。

ではなぜ、C++、となっているのか。

<font color="purple">**『C++という名前は、なぜ後置インクリメントなのか』**</font>

<br>

　ここからは考察になるのですが、その前に、そもそも後置インクリメントと前置インクリメントの違いから、始めさせていただきます。
<br>

<font color="low blue">**前置・後置インクリメント**</font>
 
　前置インクリメント (++i) は、変数をインクリメントしてからその値を返します。後置インクリメント (i++) は、現在の変数の値を返してからインクリメントします。
 
<font color="gray">**コード例**</font>

 ```php
 #include <stdio.h>

int main() {
    int i = 5;
    
    // 前置インクリメント: インクリメントしてから値を使用
    printf("前置インクリメント: %d\n", ++i); // 出力は6, iの値は6になる
    
    // iをリセット
    i = 5;
    
    // 後置インクリメント: 値を使用してからインクリメント
    printf("後置インクリメント: %d\n", i++); // 出力は5, ただしiの値は次に6になる
    
    // iの最終的な値を確認
    printf("iの最終的な値: %d\n", i); // 出力は6
    
    return 0;
}

 ```

<font color="low blue">**未来へ**</font>

　後置インクリメントは後々になって、プラスされることを意味します。

　前置はすぐにプラスされてから次に進むってことを意味します。

　C++の名前の選定には、ジョージ・オーウェルの『1984年』にも見られるような、未来に対する思索が反映されているかもしれません。
 
&emsp;この小説は1949年に発表され、その時点から見た未来を描いています。

　C++も将来的に更に発展し、時間とともにその価値が高まることを目指して作られた言語であると言えます。


 
　**時代が進むにつれて、プラスになる、時代とともに評価される言語にしたい。**

　C++にはそういった思いも込められているのではないか、と私は考察するのでした。


 
# 4. おわりに

　今回は、この記事を書くに当たり、様々な他の記事やサイト、また時代背景などの歴史を調べ、学びました。

&emsp;その中で、『C++』は字面だけでは、単純な単語ではありますが、こんなにも歴史、思いが深いんだなと感じました。
 
&emsp;それはプログラミング言語が単なるツール以上の意味を持つことを示しているかも知れません。

&emsp;最後にもう一度、ストロヴストルップの言葉を通して示させていただきます。
 <br>

<font color="green">_『プログラミング言語は世界のほんのちっぽけな一部分にすぎない。その程度のものだから、あまり真剣にとり過ぎるべきではない。バランス感覚を保つべきで、最も重要なことはユーモアのセンスを保つということである。C++は洒落とジョークに富んでいる』_</font>

[追記]

　C++ という名前 (「シー プラス プラス」と発音) は、1983 年の夏に Rick Mascitti 氏につけられたそうです。

 詳しくは[こちら](https://www.stroustrup.com/bs_faq.html#name)に