シェルスクリプト プログラミングスタイル

43
シシシシシシシシ シシシシシシシシシシシ USP シシシシシ シシシ

Upload: heidi-sosa

Post on 03-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

シェルスクリプト プログラミングスタイル. USP 友の会会員 鳥海秀一. 自己紹介. 名前:鳥海秀一 年齢:45歳 職業:プログラマ 所属: USP友の会会員 データベース友の会会員 日本ファシリテーション協会会員 その他. スクリプト言語 としての. シェルの特徴. しょぼい. ・多次元配列 ・連想配列(ハッシュ) ・オブジェクト指向. 何がよいの?. 良い点その1. 2つの プログラミング スタイルを サポート. 1つ目. 手続き型の スタイル. 2つ目. 関数型の スタイル. 誰が言ってるの?. 僕です (^^;. 元ネタ. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: シェルスクリプト プログラミングスタイル

シェルスクリプトプログラミングスタイル

USP 友の会会員 鳥海秀一

Page 2: シェルスクリプト プログラミングスタイル

自己紹介• 名前:鳥海秀一• 年齢:45歳• 職業:プログラマ• 所属:USP友の会会員データベース友の会会員日本ファシリテーション協会会員その他

Page 3: シェルスクリプト プログラミングスタイル

スクリプト言語としての

Page 4: シェルスクリプト プログラミングスタイル

シェルの特徴

Page 5: シェルスクリプト プログラミングスタイル

しょぼい

Page 6: シェルスクリプト プログラミングスタイル

多次元配列・連想配列(ハッ・シュ)オブジェクト指向・

Page 7: シェルスクリプト プログラミングスタイル

何がよいの?

Page 8: シェルスクリプト プログラミングスタイル

良い点その1

Page 9: シェルスクリプト プログラミングスタイル

2つのプログラミングスタイルをサポート

Page 10: シェルスクリプト プログラミングスタイル

1つ目

Page 11: シェルスクリプト プログラミングスタイル

手続き型のスタイル

Page 12: シェルスクリプト プログラミングスタイル

2つ目

Page 13: シェルスクリプト プログラミングスタイル

関数型のスタイル

Page 14: シェルスクリプト プログラミングスタイル

誰が言ってるの?

Page 15: シェルスクリプト プログラミングスタイル

僕です (^^;

Page 16: シェルスクリプト プログラミングスタイル

元ネタ

Page 17: シェルスクリプト プログラミングスタイル

計算機プログラムの

構造と解釈

(略称 SICP )

Page 18: シェルスクリプト プログラミングスタイル

Structure and Interpretation of

Computer Programs

Page 19: シェルスクリプト プログラミングスタイル

MITの教科書

Page 20: シェルスクリプト プログラミングスタイル

• オブジェクト準拠の方法

• ストリーム処理の方法

プログラムの組織化方法

=> 手続き型スタイル

=> 関数型スタイル

Page 21: シェルスクリプト プログラミングスタイル

2つのスタイルはまるで違います

Page 22: シェルスクリプト プログラミングスタイル

手続き型スタイル• 計算モデルチューリングマシン

• 言語手続き型プログラミング言語

• 主な操作対象変数

Page 23: シェルスクリプト プログラミングスタイル

関数型スタイル• 計算モデルラムダ計算

• 言語関数型プログラミング言語

• 主な操作対象ストリーム

Page 24: シェルスクリプト プログラミングスタイル

具体例で説明します

Page 25: シェルスクリプト プログラミングスタイル

問題

80 個の“ =” で画面に罫線を引け

Page 26: シェルスクリプト プログラミングスタイル

手続き型スタイル

for ((i=0; i<80; ++i)) do

printf =

done; echo

Page 27: シェルスクリプト プログラミングスタイル

関数型スタイル

yes '' | head -80 | tr \\n = | paste - <(echo)

あるいは

printf '%80s\n' | tr ' ' =

Page 28: シェルスクリプト プログラミングスタイル

2つのスタイルをサポートしている言語

・ Lisp・ Perl・ Ruby・ Python

・ JavaScript ・ Ocaml・ Scala・ Clojure

Page 29: シェルスクリプト プログラミングスタイル

良い点その2

Page 30: シェルスクリプト プログラミングスタイル

しょぼい

Page 31: シェルスクリプト プログラミングスタイル

ドナルド クヌース・曰く

Page 32: シェルスクリプト プログラミングスタイル

能力を限界まで圧迫するような

Page 33: シェルスクリプト プログラミングスタイル

「おもちゃ」のプログラムを書くことは

Page 34: シェルスクリプト プログラミングスタイル

非常に有益です

Page 35: シェルスクリプト プログラミングスタイル

道具立てが少ないほど

Page 36: シェルスクリプト プログラミングスタイル

楽しみは多い

Page 37: シェルスクリプト プログラミングスタイル

具体例で説明します

Page 38: シェルスクリプト プログラミングスタイル

時間がないのでやめておきます

Page 39: シェルスクリプト プログラミングスタイル

続きはUSP友の会学習会で

\(^ o ^)/

Page 40: シェルスクリプト プログラミングスタイル

ところで…

Page 41: シェルスクリプト プログラミングスタイル

問題

80 個の“ =” で画面に罫線を引け

Page 42: シェルスクリプト プログラミングスタイル

状況によりますが…一般的にはこう書きます

echo "==========…="

80 個

Page 43: シェルスクリプト プログラミングスタイル

ご清聴ありがとうごさいました