CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
『モンティ・パイソン登場』
「空飛ぶモンティ・パイソン」"Monty Python's Flying Circus" は、イギリス国営テレビ BBC (British Broadcasting Corporation) で放送された画期的に独創的で且つ過激なコメディ番組です。
英国公共放送BBC制作で "Monty Python's Flying Circus" は1969年放送開始しました。番組は本国イギリスで受け入られて西ドイツでは特番も組まれるなど人気はヨーロッパ全域へと広まり好評を博しました。後年には米国(1975年)や日本(1976年)でも「モンティ・パイソン」"Monty Python" の特番や編集版がテレビ放送されて世界中で番組を視聴されるに至りました。
世界中の自由を愛する人々を魅了したこの番組コンテンツの主体は「スケッチ」"Sketch" と呼ばれる日常を模した風景を、毒や奇抜さで味付けし見慣れた街並みや風景を非日常と化すコントがシュールで秀逸でした。
有名なスケッチとしては、「馬鹿歩き省」"Ministry of Silly Walk"、「キラーラビット」"Killer Rabbit"、「死んだオウム」"Dead Parrot"、「スペイン宗教裁判」"Spanish Inquisition"、そして、「スパムの多い大衆食堂」"Spam" といったスケッチ・タイトルにごく一部を眺めるだけで無遠慮にタブーにズケズケと不敵な笑みを浮かべながら踏み込んでいく繊細さと大胆さが伝わります。中でも「スパム」"Spam" というスケッチが「スパムメール」(Spam mail) の語源であったのは筆者も最近知りました。その基になったニュアンスは「スパム」スケッチを観て頂ければすぐにお判りになると思います。是非、御覧ください。
番組を構成する主要メンバーは「パイソンズ」(Pythons)と呼称され五人の英国人と一人の米国人(番組開始時には英国籍を取得済み)の六人です。
Pythons の面子はグレアム・チャップマン (Graham Chapman)、ジョン・クリーズ (John Cleese)、エリック・アイドル (Eric Idle)、テリー・ジョーンズ (Terry Jones)、マイケル・ペイリン (Michael Palin)、そして、当時アニメーターであったテリー・ギリアム (Terry Gilliam) です。加えてスケッチに色彩を加えるキャロル・クリーヴランド (Carol Cleveland) やニール・イネス (Neil Innes) らも Pythons の連中と言えるでしょう。
2012年に開催されたロンドンオリンピックの閉会式 (London Olympic 2012 Closing Ceremony) にはパイソンズ "Pythons" の一人が登場したのをご存知でしょうか。「開会式」"Opening Ceremony" で「Mr. ビーン」 (Mr. Bean) でご存知の「ローワン・アトキンソン」"Rowan Atkinson" が登場したのにシンクロして(対を成して)閉会式に人間大砲から飛び出して唄を合唱したのは エリック・アイドル (Eric Idle) その人だったのです。気づかれた方も多いと思いますが、パイソンズと所縁の深いローワン・アトキンソンを最初と最後のサンドイッチ形式でブッキングしたBBC(英国国営放送)は憎い演出をしてくれました。このエピソードは一端にしか過ぎないのですが「モンティ・パイソン」(Monty Python) が奏でた痛烈な風刺と皮肉に満ちた偏屈な愛情の電波が世界中の隅々までに届いて居てそれは今でも愛されている証でありましょう。
『グイド・ヴァンロッサムとモンティ・パイソン』
「空飛ぶモンティ・パイソン」"Monty Python's Flying Circus" が大好きだった世界中のファンの一人にオランダ人の「グイド・ヴァンロッサム」(Guido van Rossum, GVR) がいます。彼が開発したプログラミング言語「パイソン」"Python" の名前の由来は、このテレビ番組から拝借したというのが本人の弁です。
プログラミング言語 Python コミュニティには爬虫類のニシキヘビをデザインしたアイコンをモチーフにしている事や現在市販されている Python の関連書籍には「ニシキヘビ(科)」(Pythonidae) の挿絵が載っているものが多いので思い違いを為されている方々も多いのかとも思われますが、グイド (GVR) が名付けたプログラミング言語は「モンティ・パイソン」(Monty Python) からの影響であったのです。
プログラミング言語の最初のリリースとなる "Python" (Python 0.9.0) がUSENETに公開されたのは1991年の事でした。"Java"(1992年 前身 "Oak" 誕生、1994年 "Java" 発表)や "Ruby"(1993年誕生、1995年発表)よりも、ちょっとだけ早く誕生したお兄さん的存在の Python ですが、弟分達が各分野で着実にプログラミング言語の主流として認知されるのに負けず劣らず Python も確実に表現能力の幅を広げることと多様な機能を備えたライブラリを従者とすることで確固とした人気と実力を兼ね備えてすくすくと成長しています。
LL(Lightweight Language, 軽量プログラミング言語)というキャッチフレーズでスクリプト言語が注目を集めた際には Perl や Ruby と並んで Python が人気を集めていましたし、最近のプログラミング言語のトレンド情報を眺めてみると Java や C言語 といった二強のトップ下に位置しており世界中で利用されています。"Monty Python" 同様に "Python" は、その名の由来に負けず劣らず著名になりました。
『論理的思考を育む子供向けプログラミング教室』
このプログラミング言語「パイソン」"Python" の最たる特徴として挙げられるのが、言語習得の容易さでありプログラミング初学者が選ぶのに向いているという噂をお聴き及びかもしれません。
前提として「プログラミング」には適性があります。筆者がそうであるように衝動的に思いつきで感覚的に行動を形成するような人、論理的な思考回路を経由し結果を論述できること自体が訓練不足で苦手である人の場合はプログラミング行為そのものが不向きであるかもしれません。ですから「プログラミング」"programming" は人によって向き不向きが確実に存在するのです。ですが、その前置きを除外すれば Python は驚くほどに学びやすい言語であるというのが有識者の論評です。つまりは、比較的に簡単に学ぶことができるのです。
教育用途のプログラミング言語といえば、「アラン・ケイ」(Alan Kay) が創造した「スクイーク」"Squeak" が真っ先に想い出されますが、Squeakをもっと直感的に操作できるようにとビジュアル・プログラミング言語環境として派生した「スクイーク・イートイズ」"Squeak Etoys" も登場し現在ではオープンソースとして普及が為されています。またSqueakをベースにした視覚的にプログラミングできる言語といえば、ミッチェル レズニック (Mitchel Resnick) による「スクラッチ」"Scratch" も有名でこちらも幾つかの派生言語を産み出しています。
昨今では北欧だけでなく欧米や日本などその他の国々に於いても、年少の子供達がプログラミングを学ぶことで論理的思考を育む重要さが理解されてきました。そういった風潮も追い風となり各国にてテレビの教育番組が放送されるのと同時に子供向けのプログラミング教室が各所で開催されています。これらで使用されているのが前述の「スクイーク イートイズ」"Squeak Etoys" や「スクラッチ」"Scratch" といったツールで論理的思考を体感するというものです。まさにアラン・ケイが望んでいた光景なのでしょう。
Squeak Etoys や Scratch などのビジュアルでプログラミングできる言語は、初学者が概念的に馴染み難いオブジェクト指向を画で表現してくれることが影響して直感的にコードが書けるのは素晴らしいと思います。ですから決して子供用の「おもちゃ」ではなく列記としたプログラミング言語です。
「パイソン」"Python" もそれら教育専用に開発された言語に負けず劣らず可読性が高く非常に馴染み易い文法(シンタックス)であることで学習効率が良いことが評価されています。しかも、汎用用途としての高水準言語 "high-level programming language" として利用可能であり、現行の第一線で使えるプログラミング言語であることを兼ね備えているのは驚きでもあります。
『亀の輪廻と因果律』
後輩の直人と Pythonについて会話した際に、タートル・グラフィックス (Turtle Graphics) の Python 版を教えて貰いました。タートル・グラフィックスは、LOGOという教育目的用途でのプログラミング言語の特徴として創造されました。LOGOは、LISPという由緒正しいご先祖様を持ち、それを基礎として教育向けとして適するように開発された「言葉」"logos" です。
タートル・グラフィックスでは「カーソル」"Cursor" を「亀」"Turtle" に准えて、その亀(カーソル)を動かすことで図形を描く操作を対話的にプログラミングするという代物です。プログラムしたフィードバックが視覚的に得られるというのは理解を即すには有効だからです。何故、「亀」に准えているのかというと当初 LOGO では有線式の亀ロボットを操縦するというプログラミングを行っていたのです。その歴史的経緯からリモコン操作の亀ロボットが画面の中での仮想空間での亀カーソルになったということです。
実は「カーソルになった亀」が画面を這い回るというのは朧げながら確か何処かで見覚えのある光景であったのですが、 Python で使えるのは知りませんでした。曖昧な記憶を辿り( Java か C言語かは失念しましたが)以前に確かにどこかで使ったことがある筈と想い馳せてみましたが、大昔すぎて詳細は思い出せませんでした。ですが、たぶんどこかでお逢いましたね、と「亀」に変身した彼(カーソル)に呟くことは出来ました。再会を果たせたのは後輩(直人)のお陰です。
そして教育目的で進化を果たした Squeak Etoys や Scratch は、先程の亀であるタートル・グラフィックスを実装したLOGOプログラミング言語の影響が根底に流れているのが本質なのです。そこには「アラン・ケイ」(Alan Kay) という逸材を介した「因果」"Karma" が確実に存在するのです。
『パイソン西暦三千年バージョン』
Pythonを学習しようと思った時に悩むことがあるかもしれません。それは「バージョン」"version" です。
現行のPythonでは、"Python 2" と "Python 3" という二つが並行してリリースされています。Python 3 では、それまでリリースを重ねる際に重要視してきた後方互換性を覆(くつがえ)してまで仕様変更に踏み切りました。そのためバージョンが異なるとコード基本的な記述の部分で(一部ですが)互換性が問題になります。
そのために最初にどのバージョンを勉強すべきかが悩み所になる可能性がありますが、現時点(2016年7月現在)でこれを鑑みると Python 3 をお薦めできると思います。使用上の制約や既存の柵(しがらみ、遺産、レガシー・コード)が無いという前提で将来を見据えて使われるのであるのでしたら Python 3 に収束されるという決定が既に公表されているのが理由です。
Python 3については創造主であるグイド・ヴァンロッサム (Guido van Rossum) が自らの投稿で2000年に言及したもので西暦三千年という未来の Python があるべき姿と称し "Python 3000" (Py3k) という名称でお披露目されました。彼のこのアイディアが2006年に "PEP 3000" (Python Enhancement Proposal) として提示されて後の2008年に "Python 3" として結実したのです。
グイド (GVR) がこの "Python 3000" についての展望をカンファレンスである PyCon (March 14, 2008) で行った講演スライドが公開されていますが、未来を見据えて盛り沢山の構想が記載されていてとても興味深いです。このスライドには "Don't fear Py3k!"(Python 3000 を恐れるな!)というフレーズに続き「新機能を楽しんでね」というメッセージが記載されています。
このスライド中にグイド (GVR) が後方互換性を排除して未来に向かって開発に進んだ動機(モチベーション)として幾つかの理由の中で筆頭に挙げているのが、Rubyのパパである「まつもとゆきひろ」 (Matz) が発した言葉 "Open source needs to move or die" - Matz (creator of Ruby) に反応したのが切掛けになっているそうです。
まつもとさん (Matz) の言葉を「前に進め」という提言としてグイド (GVR) が咀嚼し行動に移したのだと理解できます。不思議と当人達が意図せず知らず知らずに関わり合い影響している様子が面白いです。
このことは結果として Matz に GVR が背中を後押しされた様相を呈しているのですが、何だか先輩が後輩に詰め寄られている訳ではないのですし、外野の吹聴に聞き耳を立てて殊更に小心者という訳でもないのでしょうが、彼(GVR)が率直に反応して行動に移したのだと考えると、彼の誠実さ、影響され易さ、素直さが、ぜんぶ同居している若い活力を感じることが出来て、なんだか愛くるしい様なそんな不思議な感触を持ちました。筆者はご本人にお逢いしたことが無いですし、何より年長の先輩なので失礼を承知で言いますが、グイドさんを写真で見る限りはちょっとむさ苦しい「ただのおじさん」なのです。でも、きっと「愛嬌のあるおじさん」なのではと勝手な好感を頂いた次第です。
『量子もつれと島国シンクロニシティ』
ところで1969年から日本テレビで「ゲバゲバ90分」という番組が放送されていました。筆者は小学生にもなっていなかったので番組の内容をよく理解出来ないのでしたが、テーマソングであったマーチのリズムは今でも耳にこびり付いています。
これは「巨泉×前武ゲバゲバ90分!」が正式な番組タイトルですが、その番組名の通り大橋巨泉と前田武彦という放送作家の二人を中心にハナ肇、藤村俊二、萩本欽一、坂上二郎、小松方正、常田富士男、熊倉一雄を筆頭に錚々(そうそう)たる面子が出演するアヴァンギャルドでナンセンスなショートコントと生放送で構成された番組で一世を風靡したのです。
そして「空飛ぶモンティ・パイソン」"Monty Python's Flying Circus" が英国での放送開始が1969年で「巨泉×前武ゲバゲバ90分!」と同時期に放送されていたのが驚きです。英国と日本という海を越えた島国同士の「シンクロニシティ」"synchronicity" (意味のある偶然の一致)とも呼べるもので、完全に別個でしかも遠隔地で情報同期など一切無いにも拘らず息を合わせたタイミングで英国BBCと日本テレビで各々の番組がそれぞれに放送が開始されたことを後になって知りました。
脳内の離れた部位で「意識」の信号を瞬時に受信する「量子もつれ」"quantum entanglement" (空間的に離れているにも関わらず強い相関を示す現象)の様に、地理的に離れた島国で「叡智の信号」"Signal of wisdom" を受信したと云うべき人知を超えたものが相関する何らかの由縁があったのではと勘繰ります。
テレビ番組とプログラミング言語の違いはあるのでしょうが、英国発の「空飛ぶモンティ・パイソン」"Monty Python's Flying Circus" と 日本発の「巨泉×前武ゲバゲバ90分!」もその当時の英国と日本の最先端であり、同時に世相や庶民の感情を反映したものだったのですが、技術の先端を走り続ける創造主である Matz と GVR によってオランダ発の Python と日本発の Ruby が呼応しシンクロナイズド(同調)している様子と酷似しているのもより良い未来を見据えた上で時代の空気を感じ取っているのが少なからず関与しているに違いないと勝手に思いを馳せました。
『パイソニア哲学としての禅』
パイソンでの世界観として "Zen of Python"「パイソンの禅」が哲学として度々登場しますが、前述の Python 3000 のアイディアを構想した際にも GVR 御大自ら「禅」"Zen" を引き合いにしてシンプルさを目指すのだと語っています。
もしPythonを既にインストールされているのであれば、対話モードで起動した Python プロンプトに下記の如く "import this" と打ち込んでみて下さい。
$ python >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those! >>>
「パイソニア」"Pythoneer" (パイソンの開拓者。もしくは、モンティ・パイソンの熱狂的ファン)である 「ティム・ピータース」(Tim Peters) がコンパクトに記述したプログラミングにおける指針というべき "The Zen of Python" (PEP 20) という戒律(訓戒)が出てきます。プログラムを書いている時に迷いが生じたら表示させて何度でも読み直すと良いと思います。
『禅の起源と八方睨みの龍と明智風呂』
ここで改めて「禅」"Zen" を良く調べてみますと諸派が存在しています。これをバージョン管理システムに擬えるならば、リポジトリ "repository" として「日本の禅」と一纏めにしても、実際には多数のブランチ "branch" やトランク "trunk" が複数存在します。下記に主たるブランチを紹介します。
1. 「臨済義玄」を宗祖とする「臨済宗」"Rinzai school"
2. 「洞山良价」と「曹山本寂」を宗祖で名称が二人の「洞」と「曹」に由来する「曹洞宗」"Sōtō school"
3. 「臨済宗」を嗣法(しほう)とし「臨済正宗」を名乗る「隠元隆琦」を宗祖として独立し、その名称を「臨済義玄」の師匠である「黄檗希運」を由来とした「黄檗宗」"Ōbaku school"
上記の臨済宗、曹洞宗、黄檗宗が「日本の三禅宗」を形勢し、これらに日本達磨宗、普化宗を筆頭に「二十五宗派四十七流」という多岐にわたるブランチやトランクが「日本の禅」としてあるのです。
遡れば日本での禅宗の起源となるオリジンのリポジトリとして中国の唐時代での禅宗の中核であった「五家七宗」(ごけしちしゅう)が源になっています。更に起源(ソース)に迫ろうとすると南宗第六祖の「慧能(えのう)」(Huineng) を経由して根源となる禅宗の開祖とされているのは、「達磨大師(菩提達磨)」(Bodhidharma) に収束される様子です。発端となったソースコードは伝説の人でした。
「禅」と云えば一昨日(2016年7月20日)に臨済宗の禅寺に行ってきました。京都花園にある「妙心寺」です。
妙心寺にまで赴いて拝観したかったのは「八方睨みの龍」である「雲龍図」が目的でした。「狩野探幽」(Kanō Tan"yū) の代表作の一つである直径十二メートルに及ぶ大きな雲龍図が妙心寺の「法堂(はっとう)」の天井に描かれているのです。
探幽の雲龍図は龍の右目を円の中心とした構図で描かれているのですが、その天井を見上げながら法堂を壁沿いに一周して眺めるとまるで首を持ち上げた巨龍がこちらに睨み返すのです。全方位に隙なく睨みを利かせて厄災から守護してくれる様は、まさに八方睨みの龍であることを目視で確認しました。
妙心寺では「雲龍図」の他にも「国宝の梵鐘」や「浴室(明智風呂)」の重要文化財を拝観できます。浴室は明智光秀の墓提を弔うために創建されたもので蒸し風呂(サウナ)です。開浴(入浴)それ自体が供養であり同時に禅では入浴という日常生活の行為そのものが修行でもあるそうです。
訪れた当日に大橋巨泉さんの訃報を知りましたので、先日亡くなられた永六輔さんと二人のご冥福を明智風呂にてお祈りさせて頂きました。
拝観させて頂く時にはご案内して下さる方が同行されて流暢な説明を丁寧にして頂けましたのでとても参考になりました。拝観を終えて、臨済宗妙心寺派の禅風は質素な生活と厳しい修行の毎日であることは、法堂の質素な佇まいを眺めた上に浴室に於ける供養も修行であることを感じ取る事が出来て、妙に得心に至った次第です。
煩悩に包まれた筆者では禅の道を極めるのは無理ですが、目指せ「パイソニスタ」"Pythonista" (パイソンの達人)と目標を掲げて日々精進したいと考えるに至りました。
『スパムと恩師と満面の笑み』
冒頭に紹介したスケッチである「スパム」"Spam" を見るとスパムが大好きだった筆者の上司(鈴木誠治さん)を想い出します。ハワイで良く見かける「スパムむすび」(Spam musubi) が好物だったのです。
当時の所属部署で直属の上長としてやってきた誠治さんは明るく社交的でしたが、部下となった筆者は意味なく反抗的な上に理由のない自信が故に生意気でしかも懐かないという有様でしたが、何故か目を掛けて貰いました。それからというもの、度重なる組織変更があって誠治さんが異動する際に筆者も連れていかれて上司と部下という関係が続きまして長い間ご一緒して沢山お世話になりました。
社内で企画された「スーパーエンジニア」"Super Engineer" という勲章を一等最初に授かったのも上司(鈴木誠治)の推挙と師匠(井澤信悦)の導きがあったからに他ありません。御蔭様で「スーパーエンジニアの独り言」とタイトルしたこのコラムも書かせて貰っています。
それに、皆さんと同じように筆者も一緒に時間を過ごしてきたバイトや職場で仕事や遊びで一緒に苦楽を共にした仲間達が筆者の良いところも悪いところも併せて育ててくれたのが現在の血肉となっているは紛うことなき事です。捻くれ者の筆者ですが上司や後輩、仲間達には恵まれているのだと今更ながら気づき感謝しています。
その誠治さんは三年前(2013年)に患っていた病気で先立たれてしまいました。快活でいつも元気だった誠治さんが数年前に急に手術を受けて入院したので、そのお見舞いにいった時にあれほど食事を注意して摂生してくださいと皆で叱っていたのに、退院後にすぐに元の生活に戻ったために完治できずに再発に至ったのです。こうやって書いていると、包み隠さず喜怒哀楽を露わにする満面の笑みを湛えた誠治さんの顔がくっきりと脳裏に浮かび想い出されます。ご安霊をお祈りしています。
『ハッカー文化と風刺と羅針盤』
「モンティ・パイソン」(Monty Python) は、「スパム」"Spam" の引用例やグイド・ヴァンロッサム(Guido van Rossum, GVR) が影響を受けたことに象徴される様に「ハッカー文化」"Hacker Culture" に根ざしているのです。おおらかさと博愛精神とたまに宗教を持ち出す気質がハッカー文化の特徴ともいえます。
ハッカーだけがモンティ・パイソンを必要としているのではなくて、パイソンズが醸し出す英気を養いバイタリティが満ちて溢れ出して来るほどのちょっとおバカな風刺コメディは、不満が滞留し視界を遮る空気を浄化し不条理に折れ曲がって先が見通せなくなった道程で遠回りしてでも確実に前に進むための「時代の羅針盤」"Compass of the Times" と成り得ましょう。我々には痛烈な風刺とシニカルな笑いとほんの僅かなユーモアが健全な反骨精神を取り戻すために不可欠であり、機智に富んだ市井の人々の中で決して絶える事なく草の根っ子として脈々と受け継がれていくであろうと信じています。
ところで皆さんも「スパム」スケッチに限らず、もし未視聴であればですが「空飛ぶモンティ・パイソン」"Monty Python's Flying Circus" を是非一度ご覧されればとお奨めさせて頂きます。何より面白いですよ。
次回もお楽しみに。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes