1 00:00:07,880 --> 00:00:11,480 こんにちは 2 00:00:11,640 --> 00:00:14,200 Live Object Programming in Pharo へようこそ。 3 00:00:14,360 --> 00:00:18,240 この第 1 回目の講義では この Mooc の目的を示します。 4 00:00:18,760 --> 00:00:20,520 目的は何でしょう? 5 00:00:20,680 --> 00:00:23,920 もちろん Pharo でのプログラミングを学ぶでしょう。 6 00:00:24,080 --> 00:00:27,640 構文を全て理解することは重要です。 7 00:00:27,800 --> 00:00:29,640 全ての構文とモデル 8 00:00:29,800 --> 00:00:31,880 そして Pharo の環境です。 9 00:00:32,040 --> 00:00:33,760 Pharo は単なる言語ではありません。 10 00:00:33,920 --> 00:00:37,680 Pharo は沢山のツールを備えた プログラミング環境です。 11 00:00:37,840 --> 00:00:40,520 最も重要なツールのうちいくつかを お見せすることになります。 12 00:00:40,680 --> 00:00:43,960 この Mooc は単に Pharo を教える というだけに限定されてはいません。 13 00:00:44,120 --> 00:00:45,680 オブジェクト指向の基礎となるメカニズムを 14 00:00:45,840 --> 00:00:48,640 深く理解することになります。 15 00:00:48,800 --> 00:00:50,240 とても面白いですよ。 16 00:00:50,400 --> 00:00:53,480 Pharo 自体のいくつかの側面も 示すでしょう。 17 00:00:53,640 --> 00:00:55,600 また、時々 18 00:00:55,760 --> 00:00:58,640 デザインのコツをお見せするでしょう。 19 00:00:58,800 --> 00:01:02,400 ここでのコツというのは、これからあなたが プログラマーとして生きていく上で 20 00:01:02,560 --> 00:01:04,040 アプリケーションをデザインする時の 21 00:01:04,200 --> 00:01:07,000 最もエレガントで最も拡張性のある 方法です。 22 00:01:07,160 --> 00:01:10,080 この Mooc ではいくつか本物の例題を することになります。 23 00:01:10,240 --> 00:01:13,600 そして最終的には、自分でつくった ウェブアプリケーションをデプロイします。 24 00:01:13,760 --> 00:01:16,520 最初から最後まで自分で開発したものです。 25 00:01:17,400 --> 00:01:21,120 この Mooc は 7 週で構成されています。 26 00:01:22,000 --> 00:01:26,160 最初に Pharo の文法的な側面から始めます。 27 00:01:26,320 --> 00:01:28,880 そうすることで、すぐに演習問題に 取りかかれるようになります。 28 00:01:29,040 --> 00:01:34,680 そして同時にオブジェクト設計への繋がりも 織り交ぜていきます。 29 00:01:34,840 --> 00:01:39,120 そうすることで理解が早まるからです。 30 00:01:39,280 --> 00:01:43,280 そして、Pharo の中核的な機能に関連した 側面を見ていきます。 31 00:01:43,440 --> 00:01:45,440 例えば、ファイルシステム等です。 32 00:01:45,600 --> 00:01:48,520 一連のコースは 必ずしも 1 本線ではありません。 33 00:01:48,680 --> 00:01:52,000 最後のほうの講義では いくつか概念を振り返って 34 00:01:52,160 --> 00:01:54,440 最初のほうの講義で議論した概念を 35 00:01:54,600 --> 00:01:57,240 本当に理解しているか確認することになります。 36 00:01:57,400 --> 00:02:00,120 演習やミニプロジェクトが沢山あります。 37 00:02:00,280 --> 00:02:02,840 最初の2週間が終わる時点で 38 00:02:03,000 --> 00:02:06,280 全構文やモデルを一通り見ることになり 39 00:02:06,440 --> 00:02:09,880 ミニプロジェクトに取り組むための 準備ができているでしょう。 40 00:02:10,840 --> 00:02:12,440 講師陣について簡単に紹介します。 41 00:02:12,600 --> 00:02:15,400 講師は 3 人います。 3 人はお互い同僚で 42 00:02:15,560 --> 00:02:18,080 みなオブジェクト指向プログラミングの 達人です。 43 00:02:18,240 --> 00:02:21,200 私は Traits に関連する仕事をしましたが 44 00:02:21,360 --> 00:02:23,960 その仕事は Perl や PHP や Scala に 影響を与えました。 45 00:02:24,120 --> 00:02:26,560 講師陣はオブジェクト指向設計の達人です。 46 00:02:26,720 --> 00:02:29,600 Pharo のコア開発グループに入っていて 47 00:02:29,760 --> 00:02:33,600 何冊か書籍を執筆して、オープンソースとして ウェブ上で公開しています。 48 00:02:33,760 --> 00:02:35,560 それらの書籍はお薦めです。 49 00:02:35,840 --> 00:02:36,960 では、なぜ Pharo なのでしょう? 50 00:02:37,120 --> 00:02:41,520 我々がそれを開発しているということや 素晴らしい言語だと思っていることを横に置いても 51 00:02:41,760 --> 00:02:45,480 Pharo は教育的な観点からも興味深いのです。 52 00:02:45,640 --> 00:02:48,640 オブジェクトの世界に没入して 53 00:02:48,800 --> 00:02:52,480 オブジェクトと対話し操作します。 54 00:02:52,640 --> 00:02:53,880 例えば 55 00:02:54,040 --> 00:02:56,960 Pharo の構文要素として ループというものは存在しません。 56 00:02:57,120 --> 00:03:00,080 ループはコレクションオブジェクトへ 送られるメッセージです。 57 00:03:00,240 --> 00:03:03,600 条件分岐もブーリアンオブジェクトに 送られるメッセージです。 58 00:03:03,760 --> 00:03:08,640 つまり、常に生きたオブジェクトと対話して 59 00:03:08,920 --> 00:03:12,160 プログラムがあなたの指先で変換されていくのです。 60 00:03:12,320 --> 00:03:15,080 Pharo は完全にそれ自身によって書かれているので 61 00:03:15,240 --> 00:03:18,480 あなたには色々なものを発見する 幅広い可能性があります。 62 00:03:18,640 --> 00:03:23,160 Pharo の構文を一旦理解してしまえば 63 00:03:23,320 --> 00:03:25,320 Pharo の世界の全てが あなたの前に開かれるのです。 64 00:03:25,480 --> 00:03:28,040 なぜなら、Pharo は完全に Pharo 自身で記述されているからです。 65 00:03:28,720 --> 00:03:32,720 今あなたを招待しているこの航海を まとめると 66 00:03:32,960 --> 00:03:34,840 Pharo は純粋でエレガントです。 67 00:03:35,000 --> 00:03:38,520 とても少ない数の概念により成っています。 68 00:03:38,680 --> 00:03:43,200 オブジェクトとの対話によるプログラミングは 楽しく 69 00:03:43,360 --> 00:03:45,880 とても生産性が高いです。 70 00:03:46,040 --> 00:03:49,440 Pharo は多くの大学で使われていますが 71 00:03:49,720 --> 00:03:52,920 それは、Pharo の教育的特性と 72 00:03:53,160 --> 00:03:54,520 Pharo から学ぶ有益な側面によっています。 73 00:03:54,680 --> 00:03:57,280 見過ごされがちなポイントとして 74 00:03:57,440 --> 00:04:00,720 Pharo は権限を与えるシステムだ ということです。 75 00:04:00,880 --> 00:04:03,640 Pharo はブラックボックスではありません。 76 00:04:03,800 --> 00:04:08,400 Pharo がどう実装されているのか 見ることができ 77 00:04:08,560 --> 00:04:10,520 それを変更することができます。 78 00:04:10,680 --> 00:04:14,800 私はよく Pharo を水槽に例えます。 79 00:04:14,960 --> 00:04:18,120 水槽に飛び込んで魚と泳ぐことができるのです。 80 00:04:18,280 --> 00:04:20,240 これはとても特別なことです。 81 00:04:20,400 --> 00:04:25,080 これから、これらの側面を説明する ビデオをいくつかお見せしていきます。 82 00:04:25,240 --> 00:04:27,680 システム全体にアクセスすることができるでしょう。