Web関連技術の最新動向
プログラミング言語(サーバ側)
高橋征義
(株式会社ツインスパーク/日本Rubyの会)
自己紹介
■ 高橋征義
株式会社ツインスパーク勤務
Webアプリケーション開発に従事
日本Rubyの会 代表
『Railsレシピブック』等執筆
はじめに
サーバサイド
の言語の
最新動向
ここ一年の
トピック
特にない
ここ数年
の流れ
各言語で
消化・昇華中
それ以降の
流れ
どうなるか
読み切れない
今日ここで
話したいこと
4部構成
第1部
サーバサイド
プログラミング
の特徴
当たり
前の話
話の前提
第2部
サーバサイド
プログラミング
の変遷
今の流れに
至る経緯
第3部
サーバサイド
言語の位置づけ
•プログラミング言語
•設定ファイル(の記法)
•DSL
第4部
今後の予測
を簡単に
よろしく
お願いします
第1部
サーバサイド
プログラミング
の特徴
•クライアント側のリソースが不明
•低リソースでも実行したい
•サーバ側のリソースは制御可能(比較的
大)
•複雑なことはしない場合が多い
•開発期間は短い場合が多い
•ネットワーク速度がボトルネック
•ユーザのリクエストによって実行
クライアント
側のリソース
わからない
貧弱な環境
でも動かしたい
Webの
強み
回線も貧弱
かもしれない
それでも
何とかしたい
サーバ側の
環境
サービス提供側
で制御可能
高スペックも
要求可能
非対称
実行したい
内容
比較的
シンプル
レスポンス
速度を重視
実行する
タイミング
リクエスト
取得時点
複雑な処理
はしない
必要であれば
バッチで
対応
開発期間
スピード
重視
短納期
Web業界
の一部
システム開発
産業というより
メディア産業
新奇性
を重視
目新しさ
そのような
ニーズに
応える言語
第2部
サーバサイド
言語の変遷
3つの
時代区分
∼2000年頃
Webの
黎明期
CGIの
全盛期
C/Perl/
VB(ASP)
既存言語+
便利な関数
回線も
貧弱
ブラウザ
も貧弱
牧歌的な
時代
2001年∼
2005年頃
Webアプリ
の特性への
理解が進む
Java
(Struts)と
PHPの登場
サーバサイド
の特徴を
踏まえた開発
Webアプリ
ケーション
フレームワーク
詳しくは
佐々木さんの
発表で!
PHP
言語自体が
薄いWeb
アプリケーション
フレームワーク
便利な関数が
てんこもり
HTMLに言語
を埋め込み
手軽さに
軸足を置く
2006年以降
Ruby on
Rails
必要最低限
のことのみ
記述
フレームワーク
の徹底化
書かなくても
良い部分は
一切書かない
汎用言語の
枠内で実現
Java的な
流れとPHP的
な流れの融合
プログラミング
言語の中でだけ
考えるのは不十分
第3部
プログラミング
言語について
掘り下げ
もう一つの
言語
設定
ファイル
プログラミング
言語の
2つの視点
書きたいことが何でも書ける
書きたいことが簡単に書ける
相反しがち
自由度
書きたいことが
何でも書ける
難易度
書きたいことが
簡単に書ける
何でも書ける
言語の極北
アセンブラ
C/C++
ポータビリティ
等の問題
正直、そこまで
何でも書きたい
わけじゃない
書けないことも
ある言語で十分
簡単に書ける
言語の極北
設定
ファイル
プログラマ
ではない人でも
書ける
具体的な
設定ファイル
の形式
CSV
ini
XML
独自記法
決められた事
しか書けない
特にロジックを
書くのが困難
■ プログラミング言語/設定ファイル
設定ファイル プログラミング
言語
自由度・高
難易度・高
自由度・低
難易度・低
中間が
欲しい
DSL
Domain
Specific
Language
ドメイン
特化言語
一種の
簡易言語
ほどほどの
記述力
ほどほどの
書きやすさ
言語内
DSL
独自言語の
ように見える
汎用言語
Ruby on
Railsで駆使
class Person < AR:Base
has_many :groups
belongs_to :company
validates_presence_of :name
end
■ プログラミング言語/設定ファイル/DSL
設定ファイル プログラミング
言語
DSL
自由度・高
難易度・高
自由度・低
難易度・低
他フレーム
ワークにも
多大な影響
詳しくは
佐々木さんの
発表で!
第4部
今後
マルチコア
/分散を
活かせる言語
Erlang
関数型言語
言語側で対応
するべきかは
疑問がある
普通に書いて
いい感じに
動いてくれれば
「賢い処理系」
で十分?
需要の変化
クライアント
サイドの
リッチ化
RIA
JavaScript
RESTful
の強化
きれいなURL
で疎結合
個人的な
予測
クライアント
サイドが主導
それに応える
ようにサーバ
サイドも進化
傾向としては
設定ファイル
化が進みそう
クライアント
サイドの責務
が増える
詳しくは
竹迫さんの
発表で!
まとめ
サーバサイド
プログラミング
言語の流れ
Webの特性を
活かした開発を
促進すべく進化
プログラミング
言語と
設定ファイルの
間を埋めるDSL
ご清聴
ありがとう
ございました
Upcoming SlideShare
Loading in...5
×

Web関連技術の最新動向・プログラミング言語(サーバ側)

1,111

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,111
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Web関連技術の最新動向・プログラミング言語(サーバ側)"

  1. 1. Web関連技術の最新動向 プログラミング言語(サーバ側) 高橋征義 (株式会社ツインスパーク/日本Rubyの会)
  2. 2. 自己紹介
  3. 3. ■ 高橋征義 株式会社ツインスパーク勤務 Webアプリケーション開発に従事 日本Rubyの会 代表 『Railsレシピブック』等執筆
  4. 4. はじめに
  5. 5. サーバサイド の言語の 最新動向
  6. 6. ここ一年の トピック
  7. 7. 特にない
  8. 8. ここ数年 の流れ
  9. 9. 各言語で 消化・昇華中
  10. 10. それ以降の 流れ
  11. 11. どうなるか 読み切れない
  12. 12. 今日ここで 話したいこと
  13. 13. 4部構成
  14. 14. 第1部
  15. 15. サーバサイド プログラミング の特徴
  16. 16. 当たり 前の話
  17. 17. 話の前提
  18. 18. 第2部
  19. 19. サーバサイド プログラミング の変遷
  20. 20. 今の流れに 至る経緯
  21. 21. 第3部
  22. 22. サーバサイド 言語の位置づけ
  23. 23. •プログラミング言語 •設定ファイル(の記法) •DSL
  24. 24. 第4部
  25. 25. 今後の予測 を簡単に
  26. 26. よろしく お願いします
  27. 27. 第1部
  28. 28. サーバサイド プログラミング の特徴
  29. 29. •クライアント側のリソースが不明 •低リソースでも実行したい •サーバ側のリソースは制御可能(比較的 大) •複雑なことはしない場合が多い •開発期間は短い場合が多い •ネットワーク速度がボトルネック •ユーザのリクエストによって実行
  30. 30. クライアント 側のリソース
  31. 31. わからない
  32. 32. 貧弱な環境 でも動かしたい
  33. 33. Webの 強み
  34. 34. 回線も貧弱 かもしれない
  35. 35. それでも 何とかしたい
  36. 36. サーバ側の 環境
  37. 37. サービス提供側 で制御可能
  38. 38. 高スペックも 要求可能
  39. 39. 非対称
  40. 40. 実行したい 内容
  41. 41. 比較的 シンプル
  42. 42. レスポンス 速度を重視
  43. 43. 実行する タイミング
  44. 44. リクエスト 取得時点
  45. 45. 複雑な処理 はしない
  46. 46. 必要であれば バッチで 対応
  47. 47. 開発期間
  48. 48. スピード 重視
  49. 49. 短納期
  50. 50. Web業界 の一部
  51. 51. システム開発 産業というより メディア産業
  52. 52. 新奇性 を重視
  53. 53. 目新しさ
  54. 54. そのような ニーズに 応える言語
  55. 55. 第2部
  56. 56. サーバサイド 言語の変遷
  57. 57. 3つの 時代区分
  58. 58. ∼2000年頃
  59. 59. Webの 黎明期
  60. 60. CGIの 全盛期
  61. 61. C/Perl/ VB(ASP)
  62. 62. 既存言語+ 便利な関数
  63. 63. 回線も 貧弱
  64. 64. ブラウザ も貧弱
  65. 65. 牧歌的な 時代
  66. 66. 2001年∼ 2005年頃
  67. 67. Webアプリ の特性への 理解が進む
  68. 68. Java (Struts)と PHPの登場
  69. 69. サーバサイド の特徴を 踏まえた開発
  70. 70. Webアプリ ケーション フレームワーク
  71. 71. 詳しくは 佐々木さんの 発表で!
  72. 72. PHP
  73. 73. 言語自体が 薄いWeb アプリケーション フレームワーク
  74. 74. 便利な関数が てんこもり
  75. 75. HTMLに言語 を埋め込み
  76. 76. 手軽さに 軸足を置く
  77. 77. 2006年以降
  78. 78. Ruby on Rails
  79. 79. 必要最低限 のことのみ 記述
  80. 80. フレームワーク の徹底化
  81. 81. 書かなくても 良い部分は 一切書かない
  82. 82. 汎用言語の 枠内で実現
  83. 83. Java的な 流れとPHP的 な流れの融合
  84. 84. プログラミング 言語の中でだけ 考えるのは不十分
  85. 85. 第3部
  86. 86. プログラミング 言語について 掘り下げ
  87. 87. もう一つの 言語
  88. 88. 設定 ファイル
  89. 89. プログラミング 言語の 2つの視点
  90. 90. 書きたいことが何でも書ける 書きたいことが簡単に書ける 相反しがち
  91. 91. 自由度
  92. 92. 書きたいことが 何でも書ける
  93. 93. 難易度
  94. 94. 書きたいことが 簡単に書ける
  95. 95. 何でも書ける 言語の極北
  96. 96. アセンブラ
  97. 97. C/C++
  98. 98. ポータビリティ 等の問題
  99. 99. 正直、そこまで 何でも書きたい わけじゃない
  100. 100. 書けないことも ある言語で十分
  101. 101. 簡単に書ける 言語の極北
  102. 102. 設定 ファイル
  103. 103. プログラマ ではない人でも 書ける
  104. 104. 具体的な 設定ファイル の形式
  105. 105. CSV ini XML 独自記法
  106. 106. 決められた事 しか書けない
  107. 107. 特にロジックを 書くのが困難
  108. 108. ■ プログラミング言語/設定ファイル 設定ファイル プログラミング 言語 自由度・高 難易度・高 自由度・低 難易度・低
  109. 109. 中間が 欲しい
  110. 110. DSL
  111. 111. Domain Specific Language
  112. 112. ドメイン 特化言語
  113. 113. 一種の 簡易言語
  114. 114. ほどほどの 記述力
  115. 115. ほどほどの 書きやすさ
  116. 116. 言語内 DSL
  117. 117. 独自言語の ように見える 汎用言語
  118. 118. Ruby on Railsで駆使
  119. 119. class Person < AR:Base has_many :groups belongs_to :company validates_presence_of :name end
  120. 120. ■ プログラミング言語/設定ファイル/DSL 設定ファイル プログラミング 言語 DSL 自由度・高 難易度・高 自由度・低 難易度・低
  121. 121. 他フレーム ワークにも 多大な影響
  122. 122. 詳しくは 佐々木さんの 発表で!
  123. 123. 第4部
  124. 124. 今後
  125. 125. マルチコア /分散を 活かせる言語
  126. 126. Erlang
  127. 127. 関数型言語
  128. 128. 言語側で対応 するべきかは 疑問がある
  129. 129. 普通に書いて いい感じに 動いてくれれば
  130. 130. 「賢い処理系」 で十分?
  131. 131. 需要の変化
  132. 132. クライアント サイドの リッチ化
  133. 133. RIA JavaScript
  134. 134. RESTful の強化
  135. 135. きれいなURL で疎結合
  136. 136. 個人的な 予測
  137. 137. クライアント サイドが主導
  138. 138. それに応える ようにサーバ サイドも進化
  139. 139. 傾向としては 設定ファイル 化が進みそう
  140. 140. クライアント サイドの責務 が増える
  141. 141. 詳しくは 竹迫さんの 発表で!
  142. 142. まとめ
  143. 143. サーバサイド プログラミング 言語の流れ
  144. 144. Webの特性を 活かした開発を 促進すべく進化
  145. 145. プログラミング 言語と 設定ファイルの 間を埋めるDSL
  146. 146. ご清聴 ありがとう ございました

×