﻿1
00:00:00,040 --> 00:00:00,880
こんにちは。

2
00:00:01,040 --> 00:00:04,720
この講義では Pharo の背景になっている
ビジョンをお見せしたいと思います。

3
00:00:04,880 --> 00:00:07,760
なぜ人々が Pharo に参加するのでしょう？

4
00:00:07,920 --> 00:00:11,480
そのことを知ることが

5
00:00:11,720 --> 00:00:14,720
Pharo の行き先やなぜ人々がそれを使うのかを
理解する助けになるでしょう。

6
00:00:14,920 --> 00:00:17,240
基本的には

7
00:00:17,400 --> 00:00:19,760
人々がそれぞれ未来を再発明することを
可能にするための

8
00:00:19,920 --> 00:00:23,000
ツールや基盤を創ることです。

9
00:00:23,160 --> 00:00:25,360
ウェブの新しい使い方や

10
00:00:25,520 --> 00:00:29,520
新しいツールや
計算の新しい形態などです。

11
00:00:29,680 --> 00:00:33,880
そのためにはエンジンというものが
とても重要です。

12
00:00:34,040 --> 00:00:37,440
基盤であり、コンパイラであり、サービスである

13
00:00:37,600 --> 00:00:38,960
といったようなものです。

14
00:00:39,360 --> 00:00:43,760
その両輪のもう片方として
エコシステムを創るという考えもあります。

15
00:00:44,000 --> 00:00:46,400
イノベーションにより新しいものを作り

16
00:00:46,560 --> 00:00:49,560
競争的な先端を提供して

17
00:00:49,720 --> 00:00:51,960
ビジネスが花開くために。

18
00:00:52,120 --> 00:00:55,720
ではこのエコシステムは
このように捉えられているでしょう？

19
00:00:55,960 --> 00:01:00,320
1つは教師を通してです。
世界中で 30 の大学で

20
00:01:00,480 --> 00:01:02,920
Pharo が教えられています。

21
00:01:03,640 --> 00:01:05,600
研究グループを通しては

22
00:01:05,760 --> 00:01:07,960
世界中で 15 ぐらいの研究グループが

23
00:01:08,120 --> 00:01:11,160
ソフトウェア工学などで

24
00:01:11,680 --> 00:01:12,960
(Pharoを)研究しています。

25
00:01:13,120 --> 00:01:14,480
そして企業を通して。

26
00:01:14,640 --> 00:01:16,400
Pharo は基本的に

27
00:01:16,560 --> 00:01:19,240
アカデミックな言語ではなく

28
00:01:19,400 --> 00:01:23,200
プログラミングでお金を稼ぎ生活していく

29
00:01:23,360 --> 00:01:26,640
人たちによって使われています。

30
00:01:27,760 --> 00:01:31,120
ウェブサイト上でいくつかの
サクセスストーリーを見ることができます。

31
00:01:31,280 --> 00:01:33,360
これがそのアドレスです。

32
00:01:33,520 --> 00:01:36,360
人々が Pharo で何をやっているのかを
実際に見ることができます。

33
00:01:36,520 --> 00:01:39,480
私も 人々が Pharo で何をやっているのか
を知って驚くことがよくあります。

34
00:01:39,640 --> 00:01:42,800
口先だけで「クールだよ」と
言っているのではなく

35
00:01:42,960 --> 00:01:45,120
人々が実際に Pharo を使って仕事をしています。

36
00:01:46,000 --> 00:01:49,840
開発チームにとって

37
00:01:50,000 --> 00:01:51,840
Pharo は乗り物だということを
理解してください。

38
00:01:52,000 --> 00:01:56,320
F1 カーの周りにいる黒い服の人たちが我々です。

39
00:01:56,480 --> 00:01:57,960
我々は毎日 Pharo を改良しています。

40
00:01:58,120 --> 00:02:01,120
Pharo は完成品ではありません。

41
00:02:01,280 --> 00:02:05,480
常に改良に改良を重ねられているのです。

42
00:02:06,720 --> 00:02:09,440
プログラミング言語としては非常に若い部類です。

43
00:02:09,600 --> 00:02:11,600
2008年に開発が始まりました。

44
00:02:11,760 --> 00:02:15,880
Pharo がより高度になっていくにつれて
未来はよりエキサイティングに見えてきます。

45
00:02:16,040 --> 00:02:18,160
それについてもう少し言ってみます。

46
00:02:18,320 --> 00:02:21,800
Pharo でウェブ開発をする会社について

47
00:02:21,960 --> 00:02:24,760
大部分はその理由は優秀なウェブスタックにあります。

48
00:02:24,920 --> 00:02:28,200
このコースでは Seaside を使いますが

49
00:02:28,360 --> 00:02:31,480
REST を使うこともできます。

50
00:02:31,640 --> 00:02:36,200
実際に使われている HTTP サーバーが
いくつかあります。

51
00:02:36,360 --> 00:02:40,720
Pharo の HTTP サーバーを作ったのは企業です。

52
00:02:40,880 --> 00:02:42,400
Teapot という小さなサーバーもあります。

53
00:02:42,560 --> 00:02:46,440
ウェブソケット や 個人認証もあります。

54
00:02:46,760 --> 00:02:50,960
データのメタ記述や

55
00:02:51,120 --> 00:02:55,480
データベースへのコネクションもあります。

56
00:02:55,640 --> 00:02:58,600
各種プロトコルも。
毎日いくつか作られています。

57
00:02:58,760 --> 00:03:03,720
色々な人たちがこれらの機能をカバーする
パッケージを作っています。

58
00:03:04,840 --> 00:03:06,200
Pharo はオープンです。

59
00:03:06,360 --> 00:03:11,600
つまり、あなたも貢献して
成果を挙げることができます。

60
00:03:11,760 --> 00:03:15,120
そして少なくとも
Pharo にアクセスして読むことができます。

61
00:03:15,360 --> 00:03:18,200
大事なことは

62
00:03:18,360 --> 00:03:22,280
具体的な言葉になりにくいことですが

63
00:03:22,440 --> 00:03:26,840
Pharo は可能性を与えるシステムだ
ということです。

64
00:03:27,000 --> 00:03:30,800
ここであるアメリカ人からの
引用をお見せします。

65
00:03:30,960 --> 00:03:34,240
彼は Pharo の非常に基本的な部分を変えました。

66
00:03:34,400 --> 00:03:35,560
ディレイ（Delay）です。

67
00:03:35,720 --> 00:03:39,480
それはシステムの並行処理を調整する機能です。

68
00:03:39,640 --> 00:03:43,720
彼は、ディレイを独立してテストすることが
できない、ということを見つけました。

69
00:03:43,880 --> 00:03:47,680
彼は Pharo への修正を提案して

70
00:03:47,840 --> 00:03:50,960
これらの機能が独立してテストできる
ようにしました。

71
00:03:51,120 --> 00:03:55,280
彼のこの修正は Pharo に取り入れられました。

72
00:03:55,440 --> 00:03:59,360
興味深いのは
（引用を読んでください）

73
00:03:59,520 --> 00:04:03,720
彼は本当に驚いたと言っています。

74
00:04:03,880 --> 00:04:06,800
彼は単純にそうすることを考えた。
そして、それを実行した。


75
00:04:06,960 --> 00:04:11,120
同様に、このスライドでは

76
00:04:11,280 --> 00:04:15,720
どこまで潜っていってもオブジェクトだと。

77
00:04:15,880 --> 00:04:20,800
Seaside の作者は
ruby や python や scheme や objective-C

78
00:04:21,040 --> 00:04:23,120
を知っていましたが、Pharo の祖先で
Seaside を開発しました。

79
00:04:23,280 --> 00:04:26,920
私は彼になぜ Pharo を使ったか訊いたところ
彼は「それが可能だったから。

80
00:04:27,080 --> 00:04:30,400
（通常は）プログラマの手が届かない
スタックを操作できて

81
00:04:30,560 --> 00:04:33,920
他の言語ではできないような
抽象をすることが可能だったから」と答えました。

82
00:04:34,080 --> 00:04:37,920
この、パワーを与えるという点は
本当にとても興味深いところです。

83
00:04:39,840 --> 00:04:42,960
Pharo の中期的なビジョンについて
お話したいと思います。

84
00:04:43,120 --> 00:04:46,000
5 年で Pharo はどうなっているでしょう？

85
00:04:46,160 --> 00:04:49,280
コアな部分がブートストラップされているでしょう。

86
00:04:49,440 --> 00:04:53,040
つまり、Pharo を Pharo 自身から
再構築できるようになるということです。

87
00:04:53,200 --> 00:04:55,440
今のところそれはまだ可能ではありません。

88
00:04:55,600 --> 00:04:59,200
OS や C とのより良い統合がされているでしょう。

89
00:04:59,360 --> 00:05:03,200
C のアプリケーションから Pharo
アプリケーションを立ち上げることが考えられます。

90
00:05:03,360 --> 00:05:07,680
Pharo はよりモジュール化されて
検証された形で配布されるでしょう。

91
00:05:07,840 --> 00:05:12,240
例えば誰かが XML パーサーを書いたら

92
00:05:12,400 --> 00:05:15,360
それが全てのテストを合格しているか
知りたいでしょう。

93
00:05:15,520 --> 00:05:18,200
Pharo のどのバージョンで機能するのか。

94
00:05:18,360 --> 00:05:20,880
デグレ防止のルールが守られているか

95
00:05:21,040 --> 00:05:24,440
世界中で作られたものを

96
00:05:24,600 --> 00:05:26,680
ソフトウェア工学で検証して

97
00:05:26,840 --> 00:05:31,320
Pharo を使う人たちが品質レベルを
確認できるように。

98
00:05:32,640 --> 00:05:37,640
今のものよりも強力なツールを作るために
労力が払われています。

99
00:05:38,480 --> 00:05:40,360
システムをコーヒーマシンにも

100
00:05:40,520 --> 00:05:42,920
クラウドにも適用できるように

101
00:05:43,080 --> 00:05:44,840
したいという考え方です。

102
00:05:45,000 --> 00:05:48,960
Pharo 開発チームはそんなことに
取り組んでいます。

103
00:05:49,120 --> 00:05:51,280
間もなく皆さんに届けられるでしょう。

104
00:05:52,240 --> 00:05:56,560
Pharo は実生活にインパクトを与え

105
00:05:56,720 --> 00:05:58,520
企業を巻き込んでいくために

106
00:05:58,680 --> 00:06:02,040
産業向けのコンソーシアムをつくりました。

107
00:06:02,560 --> 00:06:05,200
Pharo を推進して

108
00:06:05,360 --> 00:06:09,400
安定して開発を維持して

109
00:06:09,840 --> 00:06:13,200
世の中から認知されサポートを提供します。

110
00:06:13,440 --> 00:06:17,080
Pharo コンソーシアムのメンバーの
いくつかがこれらです。

111
00:06:17,240 --> 00:06:21,720
小さな企業も大きな会社もあります。
Lam Research and Thalesなど。

112
00:06:22,160 --> 00:06:25,960
そして多くの大学や
研究グループがあります。
