[rakuten:book:10741013:detail]

いよいよ、第2部!

抽象化メカニズム


このパートでは、新しい型を定義して使うためのC++の機能を説明する。
一般にオブジェクト指向プログラミング、ジェネリックプログラミングと呼ばれるテクニックが示される。

新しい、秩序の確立は、他の何にも増して難しく、成功する可能性が低く、危険な事業である。改革者は旧秩序から利益を得ているすべてのものを敵に回し、
新秩序から利益を受けるはずのものらからは、および腰の支持しか集められない。

Niccolo Machiavelli ’The Prince’

マキァヴェッリ全集〈1〉君主論・戦争の技術・カストルッチョ・カストラカーニ伝

マキァヴェッリ全集〈1〉君主論・戦争の技術・カストルッチョ・カストラカーニ伝


Wikipediaより

ニッコロ・マキャヴェッリ(Niccol〓 Machiavelli, 1469年5月3日 - 1527年6月21日)は、イタリア、ルネサンス期の政治思想家である。著書に、『君主論』、『ティトゥス・リウィウスの最初の十巻についての論考』『戦術論』など。理想主義的な思想の強いルネサンス期に、政治を宗教・道徳から切り離して現実主義的な政治理論を創始した。日本語ではマキャヴェリマキャベリ、マキァヴェリ、マキァヴェッリなど様々な表記が見られる。

1469年 フィレンツェに生れる。この頃フィレンツェ共和国は、ロレンツォ・デ・メディチの死(1492年)、メディチ家の追放(1494年)、サヴォナローラの神政を経て、サヴォナローラ失脚・処刑(1498年)があった大変動の時代であった。
マキャヴェッリは1498年、29歳の若さでフィレンツェの第二書記局長になる(1512年まで)。外交使節として各国を訪問する中で、教皇軍総司令官チェーザレ・ボルジアに理想の君主像を見出すが、チェーザレは間もなく失脚する。傭兵に頼らない市民兵構想を打ち出し、実現させるが、スペイン兵の前にはあっけなく敗退した。フィレンツェを追放されていたメディチ家が復帰すると職を失う。
マキャヴェッリ自身は、あまり「マキャベリスト」ではなく公的なキャリアはあまり振るわなかった。その一因にはやはり自分の主張をはっきり公言してしまう彼の性格があったのは間違いない。
その後『君主論』などの著述により、筆名は次第に上がる。生涯、マキャヴェッリメディチ家とは付かず離れずの関係であったようだ。[要出典]1520年におきた反メディチの陰謀「オルティ・オリチェライ事件」の首謀者たちはマキャヴェッリの学問的弟子であった(自身は加担していない)。また、ジュリオ・デ・メディチ(のちのクレメンス7世)は、1520年に『フィレンツェ史』の執筆を依頼している。また彼は自分の文才を歴史・政治以外にも広く発揮しており、劇作家としてもかなりの名声を博していた。
私生活においては陽気なお喋りで、飲む・打つ・買うが大好き、また良き夫、良き父親でもあった。

政治理論

マキャヴェッリメディチ家に政策を提言するために『君主論』[1] を著した。『君主論』はメディチ家の人間(ロレンツォ・デ・メディチ)に献上された本であり、そこには君主たるものがいかにして権力を維持し、政治を安定させるか、という政治手法が書き記されている。
そのなかで彼はチェーザレ・ボルジアを例に取りイタリア半島の統一を実現しうるのはいかなる君主か
を論じている。そこにはマキャヴェッリが見てきたイタリアの現実が反映されている。マキャヴェッリ「私は我が魂よりも、我が祖国を愛する」と語っている。
彼の理論は「フォルトゥーナ」(伊: fortuna, 運命)と「ヴィルトゥ」(virt〓, 技量)という概念を用い、君主にはフォルトゥーナを引き寄せるだけのヴィルトゥが必要であると述べた。『リウィウス論』では古代ローマ史を例にとり偉大な国家を形成するための数々の原則が打ち立てられている。全てにおいて目的と手段の分離を説いていることが著作当時おいて新たな点であった。
彼は元々共和主義者であったが、スペインとフランスがイタリアを舞台にして戦う「イタリア戦争」に衝撃を受けた。そこには、彼が体験した挫折感と、独立を願って止まない情熱が存在していたからこそ、『君主論』が生まれたのだと言える。

生活者の日常の視点というものを、考えたとき、「国家」「日本政府」「アメリカ合衆国」のような巨大な政治単位はあまり、クローズアップされるということは、ないのではないかと思う。
これは、最近あった衆議院選挙のようなときに、例外的に、「日本人」が、「永田町」の採用試験に注目するというイベントだ。

たとえば、ゴミを出していい日はいつなのか?
子育て支援は、どんな充実ぶりなのか?
老人介護の水準は?

残念ながら、行政法学については、ほとんど学生時代に学習することはなかったので、具体的で、正確な話には出来ないが、
地方公共団体」「都市」が「管轄」「担当」するようなことにこそ、「日常」「生活」はあるように思う。

そういう視点で、考えるとき、マキアベリが、あくまで、「都市」「フィレンツェ」という単位で、身を処した政治家であるということが、とても興味を引く。
というより、「都市」という小さな舞台から、時を越えて読みつがれるテキストを生み出したということの意味にいきつくように思う。

われらがOosaka−Cityでも、若い県知事の人が、財政改革を実行する中で、いろいろな政治勢力が登場して、予算と条例の処理の仕方をめぐって、喧々諤々のやりとりがなされることになった。
そして、その県知事が、おこすアクションのひとつひとつに、市民として、左右される、政策実行の余波を感じるということがいくらかあった。
マキアベリは、人間が、公的なことについて、自分という単位を超えて、ものごとを思考するときには、思考する単位について「限界」があるのではないかということを示唆する。

軍事理論

マキャヴェリはその軍事思想を『君主論』また『政略論』や『戦術論』に記している。その特徴として以下のことが挙げられる。
軍事力の重要性を論じている。『君主論』において君主に必要なものとして法律とともに軍備があげられている。また傭兵軍ではなく常備軍の編制を重視し、また騎兵ではなく歩兵の有効性を論じてもいる。
軍事訓練の重要性を論じている。マキャヴェリは軍事訓練を錬度に合わせて段階的に実施することを述べており、第一段階に整列の動作の訓練、第二段階に整列行進の動作の訓練、第三段階に戦闘訓練、第四段階に信号や命令伝達の教育としている。
司令官の軍事的統率能力の重要性を論じている。これは統率論として軍隊の団結に司令官の統率力が直結すると述べられており、血筋や権威ではなく勇敢や善行がこの統率力を強化すると考えている。また演説の能力も求められるとしている。



第10章 クラス 

C++の本を読んで勉強していたら、「クラス」については、当然しっかり書かれるのではありますが。
いままで、その箇所を読んでて、さっぱりワケワカメということはありませんでした。
C++の設計者みずからのクラス説明は、はっきりいって、そうとう、しんどいのではないかと思います。
このギャップは一体どこからくるのかと、苦しみながら、読み通すことになりました。
「わかったつもりになることは危険だ」という教訓だけが残ったとしたら、それもまた悲劇です。

それらの型は、”抽象的”ではない。それらはintやfloatのように現実的だ。 Doug McIIroy

http://www.cs.dartmouth.edu/~doug/

Wikipediaより

Malcolm Douglas McIlroy (born 1932) is a mathematician, engineer, and programmer. As of 2007 he is an Adjunct Professor of Computer Science at Dartmouth College. Dr. McIlroy is best known for having originally developed the Unix pipeline implementation, software componentry and several Unix tools, such as spell, diff, sort, join, graph, speak, and tr.
His seminal work on software componentization[1] makes him a pioneer of component-based software engineering and software product line engineering.
Dr. McIlroy earned his Bachelor's degree in engineering physics from Cornell University in 1954, and a Ph.D. in applied mathematics from MIT in 1959 for his thesis On the Solution of the Differential Equations of Conical Shells. He joined Bell Laboratories in 1958, from 1965-1986 was head of its Computing Techniques Research Department (the birthplace of the Unix operating system), and thereafter was Distinguished Member of Technical Staff. He retired from Bell Labs in 1997, and currently serves as an Adjunct Professor in the Dartmouth College Computer Science Department.
He is a member of the National Academy of Engineering, and has won both the USENIX Lifetime Achievement Award ("The Flame") and its Software Tools award. He has previously served the Association for Computing Machinery as national lecturer, Turing Award chairman, member of the publications planning committee, and associate editor for the Communications of the ACM, the Journal of the ACM, and ACM Transactions on Programming Languages and Systems. He also served on the executive committee of CSNET.
[edit]Quotes

Those types are not "abstract"; they are as real as int and float.

目次
10-1 イントロダクション
10-2 クラス
 10-2-1 メンバ関数
 10-2-2 アクセス制御
 10-2-3 コンストラクタ
 10-2-4 静的メンバ
 10-2-5 クラスオブジェクトのコピー
 10-2-6 定数メンバ関数
 10-2-7 自己参照
 10-2-8 構造体とクラス
 10-2-9 クラス内関数定義
10-3 効率的なユーザ定義型
 10-3-1 メンバ関数
 10-3-2 ヘルパ関数
 10-3-3 演算子の多重定義
 10-3-4 具象クラスの重要性
10-4 オブジェクト
 10-4-1 デストラクタ
 10-4-2 デフォルトコンストラクタ
 10-4-3 構築と解体
 10-4-4 局所変数
 10-4-5 自由記憶領域
 10-4-6 メンバとしてのクラスオブジェクト
 10-4-7 配列
 10-4-8 局所的な静的オブジェクト
 10-4-9 非局所的な静的オブジェクト
 10-4-10 一時オブジェクト
 10-4-11 オブジェクトの配置
 10-4-12 共用体
10-5 アドバイス
10-6 練習問題

10-3 効率的なユーザ定義型より

単純で日常的なことは複雑で高度なことよりも統計的にはるかに重要である。