SlideShare a Scribd company logo
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
ご清聴
ありがとう
ございました

More Related Content

PPTX
ぼくたちのじゅたくかいはつ
PPTX
ぼくたちのじゅたくかいはつ(と品質の話)
PDF
Rubyと電子出版 (TokyuRubyKaigi02)
PDF
コードはナマモノ 腐らせないために今までやってきたこと
PDF
Line Clovaで承認欲求を満たしてみた
PDF
Rubyの仕事で食べていくために僕らは!
PDF
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
PDF
aisatsu suruto tomodachiga popopoponnto hueruyo
ぼくたちのじゅたくかいはつ
ぼくたちのじゅたくかいはつ(と品質の話)
Rubyと電子出版 (TokyuRubyKaigi02)
コードはナマモノ 腐らせないために今までやってきたこと
Line Clovaで承認欲求を満たしてみた
Rubyの仕事で食べていくために僕らは!
もがいているエンジニア集まれ~今度こそ英語をモノにしよう~
aisatsu suruto tomodachiga popopoponnto hueruyo

Viewers also liked (18)

PDF
TomonkenTohoku40th(20150125)
PPT
CA Japan seminar mainframe2.0 2011/10/26
PPTX
レジリエンス・コーチング
PDF
至近距離ガールVR 開発事例
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
PDF
プログラミング生放送20160213
PPTX
GCM#4 アーティストのためのプログラマブルシェーダー講座Part2
PDF
第100回カーネル読書会の作り方
PDF
イトクロ就活総研「大学生のキャリア志向性・学習状況・大学への要望等に関するアンケート」報告書
PPT
How to read linux kernel
PDF
0章 Linuxカーネルを読む前に最低限知っておくべきこと
PDF
機械学習を学ぶための準備 その4 (行列の掛け算について) 試験問題 解答
PDF
ネットワーク超入門
PDF
家庭で使うSlack
PPTX
私はこうやってSlackを社内で流行らせました
ODP
Linuxカーネル超入門
TomonkenTohoku40th(20150125)
CA Japan seminar mainframe2.0 2011/10/26
レジリエンス・コーチング
至近距離ガールVR 開発事例
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
プログラミング生放送20160213
GCM#4 アーティストのためのプログラマブルシェーダー講座Part2
第100回カーネル読書会の作り方
イトクロ就活総研「大学生のキャリア志向性・学習状況・大学への要望等に関するアンケート」報告書
How to read linux kernel
0章 Linuxカーネルを読む前に最低限知っておくべきこと
機械学習を学ぶための準備 その4 (行列の掛け算について) 試験問題 解答
ネットワーク超入門
家庭で使うSlack
私はこうやってSlackを社内で流行らせました
Linuxカーネル超入門
Ad

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

PPTX
勉強会資料①
PDF
Java scriptの進化
PDF
Webの仕組みとプログラミング言語
PDF
Webデベロッパの祭典@東京:Webエンジニアの視点
PDF
JavaScript時代のJava #kansumiB7 #kansumi
PPTX
Python Project (3)
PDF
Web × プログラミング ~jQuery編~(2017/9/21)
PDF
クライアントサイドjavascript簡単紹介
PDF
「Web × プログラミング」 ~jQuery編~ #2
PDF
Introduction to web development 1
PPT
Web2.0 講演スライド 2008/2/26
KEY
いまさらJavaScript
PDF
ネットワークについて
PDF
Web Environments
PDF
ゆるべん Webアプリ開発概要 20130127
 
PDF
Web開発の最新トレンド ~1から知るASP.NET~
PDF
Agile Shibuya github_enterprise
PDF
マイクロソフトWeb開発の今と今後
PDF
⑮jQueryをおぼえよう!その1
PDF
Sinatraでwebアプリケーション開発を学ぶ
勉強会資料①
Java scriptの進化
Webの仕組みとプログラミング言語
Webデベロッパの祭典@東京:Webエンジニアの視点
JavaScript時代のJava #kansumiB7 #kansumi
Python Project (3)
Web × プログラミング ~jQuery編~(2017/9/21)
クライアントサイドjavascript簡単紹介
「Web × プログラミング」 ~jQuery編~ #2
Introduction to web development 1
Web2.0 講演スライド 2008/2/26
いまさらJavaScript
ネットワークについて
Web Environments
ゆるべん Webアプリ開発概要 20130127
 
Web開発の最新トレンド ~1から知るASP.NET~
Agile Shibuya github_enterprise
マイクロソフトWeb開発の今と今後
⑮jQueryをおぼえよう!その1
Sinatraでwebアプリケーション開発を学ぶ
Ad

More from masayoshi takahashi (20)

PDF
osc2019tokyospring
PDF
Ruby25: Rubyの1/4世紀
PDF
Code for 選挙とWikidata
PDF
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
PDF
青空文庫テキストフォーマットについて (aozorahack)
PPTX
Aozorahack20161106
PDF
aozorahack hackathon #1
PDF
TdX#01 RubyKaigiの作り方
PDF
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
PDF
オープンソースとプラットフォームとお金
PDF
Webと電子書籍の話
PDF
Re:VIEW新パーサ現状確認(2015年2月版)
PDF
何となく勉強した気分になれるパーサ入門
PDF
How To Become A Rubyist
PDF
Markdownもはじめよう
PDF
新・ReVIEWパーサについて
PDF
電子出版はどこを 目指すのか・技術書編
PDF
The History of Ruby; 20th Anniversary Ed.
PDF
lldecade2012
PDF
mruby for embedded systems
osc2019tokyospring
Ruby25: Rubyの1/4世紀
Code for 選挙とWikidata
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
青空文庫テキストフォーマットについて (aozorahack)
Aozorahack20161106
aozorahack hackathon #1
TdX#01 RubyKaigiの作り方
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
オープンソースとプラットフォームとお金
Webと電子書籍の話
Re:VIEW新パーサ現状確認(2015年2月版)
何となく勉強した気分になれるパーサ入門
How To Become A Rubyist
Markdownもはじめよう
新・ReVIEWパーサについて
電子出版はどこを 目指すのか・技術書編
The History of Ruby; 20th Anniversary Ed.
lldecade2012
mruby for embedded systems

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