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

Post on 03-Jan-2016

28 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

USP 友の会会員 鳥海秀一

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

スクリプト言語としての

シェルの特徴

しょぼい

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

何がよいの?

良い点その1

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

1つ目

手続き型のスタイル

2つ目

関数型のスタイル

誰が言ってるの?

僕です (^^;

元ネタ

計算機プログラムの

構造と解釈

(略称 SICP )

Structure and Interpretation of

Computer Programs

MITの教科書

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

• ストリーム処理の方法

プログラムの組織化方法

=> 手続き型スタイル

=> 関数型スタイル

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

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

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

• 主な操作対象変数

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

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

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

具体例で説明します

問題

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

手続き型スタイル

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

printf =

done; echo

関数型スタイル

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

あるいは

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

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

・ Lisp・ Perl・ Ruby・ Python

・ JavaScript ・ Ocaml・ Scala・ Clojure

良い点その2

しょぼい

ドナルド クヌース・曰く

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

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

非常に有益です

道具立てが少ないほど

楽しみは多い

具体例で説明します

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

続きはUSP友の会学習会で

\(^ o ^)/

ところで…

問題

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

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

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

80 個

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

top related