狠狠撸

狠狠撸Share a Scribd company logo
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
プログラミングについて深く知る
株式会社パソナテック?キャリアサポート部?
小山田?浩
プログラムの
世界観を知る
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
まずは歴史をふりかえる
? プログラミング言語と料理の両方の歴史を振り
返ると一定の系統が存在するようにみえる
料理
小麦文化
お米文化
プログラミング言語
C言語 Visual Basic
Haskell
※プログラミング言語の系統は別資料参照
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
系統から読み取れそうなこと
料理
小麦文化 お米文化
プログラミング言語
haskell
それぞれの文化(流儀)の違いを超えるのは大変!
C言語
Visual Basic
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
料理を厳密に考えると?
?調理方法
焼く/煮る/蒸す/茹でる
?食材
魚/肉/米/乾物/野菜
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
プログラミングの世界にあてはめると?
制御式、演算子、変数、配列、ハッシュ
ライブラリ
調理方法
食材
フレームワーク調理手順
プログラミングの基礎
(制御式)
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
制御式
? 料理の世界で様々な調理方法があるようにプロ
グラミングの世界でも調理方法に相当する制御
式は何種類か存在
? 代表的な制御式
条件分岐(if、caseなど)
繰り返し(for、whileなど)
? 最新の言語は少ない労力で同じ事が実現可能
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
Rubyのコードの例(1から5まで順番に表示)
for i in [1,2,3,4,5] do
puts i
end
[1,2,3,4,5].each do ?i?
puts i
end
(1..5).each {?i? puts i}
C言語に馴染みがある人に
比較的わかりやすい書き方
Rubyの流儀にならった書
き方
Rubyの流儀にならった書
き方(単寿な処理ならこう
いうコードになりがち)
ライブラリ
(書斎)
Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved.
ライブラリのイメージ
ネットワーク関連
文字列処理
DB接続
画像処理
その他
Java
ネットワーク関連
文字列処理
DB接続
画像処理
その他
.NET
ネッ
文字列処理
DB
その他
Perl
ネット
文字列処理
DB
その他
Ruby
CPAN
CPAN
CPAN
CPAN
CPAN
Perl
-> CPAN
Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved.
拡張ライブラリの存在
gem
gem
gem
gem
gem
Ruby
-> gem
ネッ
文字列処理
DB
その他
ネット
文字列処理
DB
その他
フレームワーク
(決められたレールに乗る)
Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved.
調理手順を考えると?
? 下準備
野菜:下ゆで、適当な大き
さに切る
肉:下味をつけておく
炊き込みご飯:出汁を取
る、コメを研ぐ
? 下準備をしておけば、あとは
いっきに調理が可能で効率が
良い
下準備がしっかり事前に出来れば、毎回
こういう料理を作るのも比較的ラクチン
Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved.
下準備が完璧でも出来ない事もある
下準備
和食のフルコースの調理イメージ
「洋風なデザート
が食べたい」
仕上げ 仕上げ 仕上げ 仕上げ 仕上げ
洋風な料理は
一から調理
Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved.
フレームワークにあてはめると?
下準備
何かのフレームワーク
「xxな機能も追加
して欲しい」
仕上げ 仕上げ 仕上げ 仕上げ 仕上げ フレームワー
クで想定して
いないものは
一からプログ
ラミング

More Related Content

プログラミングについて深く知る

  • 1. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. プログラミングについて深く知る 株式会社パソナテック?キャリアサポート部? 小山田?浩
  • 3. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. まずは歴史をふりかえる ? プログラミング言語と料理の両方の歴史を振り 返ると一定の系統が存在するようにみえる 料理 小麦文化 お米文化 プログラミング言語 C言語 Visual Basic Haskell ※プログラミング言語の系統は別資料参照
  • 4. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. 系統から読み取れそうなこと 料理 小麦文化 お米文化 プログラミング言語 haskell それぞれの文化(流儀)の違いを超えるのは大変! C言語 Visual Basic
  • 5. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. 料理を厳密に考えると? ?調理方法 焼く/煮る/蒸す/茹でる ?食材 魚/肉/米/乾物/野菜
  • 6. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. プログラミングの世界にあてはめると? 制御式、演算子、変数、配列、ハッシュ ライブラリ 調理方法 食材 フレームワーク調理手順
  • 8. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. 制御式 ? 料理の世界で様々な調理方法があるようにプロ グラミングの世界でも調理方法に相当する制御 式は何種類か存在 ? 代表的な制御式 条件分岐(if、caseなど) 繰り返し(for、whileなど) ? 最新の言語は少ない労力で同じ事が実現可能
  • 9. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. Rubyのコードの例(1から5まで順番に表示) for i in [1,2,3,4,5] do puts i end [1,2,3,4,5].each do ?i? puts i end (1..5).each {?i? puts i} C言語に馴染みがある人に 比較的わかりやすい書き方 Rubyの流儀にならった書 き方 Rubyの流儀にならった書 き方(単寿な処理ならこう いうコードになりがち)
  • 11. Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved. ライブラリのイメージ ネットワーク関連 文字列処理 DB接続 画像処理 その他 Java ネットワーク関連 文字列処理 DB接続 画像処理 その他 .NET ネッ 文字列処理 DB その他 Perl ネット 文字列処理 DB その他 Ruby
  • 12. CPAN CPAN CPAN CPAN CPAN Perl -> CPAN Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved. 拡張ライブラリの存在 gem gem gem gem gem Ruby -> gem ネッ 文字列処理 DB その他 ネット 文字列処理 DB その他
  • 14. Copyright (C) 2007 Pasona Tech Inc. All Rights Reserved. 調理手順を考えると? ? 下準備 野菜:下ゆで、適当な大き さに切る 肉:下味をつけておく 炊き込みご飯:出汁を取 る、コメを研ぐ ? 下準備をしておけば、あとは いっきに調理が可能で効率が 良い
  • 16. Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved. 下準備が完璧でも出来ない事もある 下準備 和食のフルコースの調理イメージ 「洋風なデザート が食べたい」 仕上げ 仕上げ 仕上げ 仕上げ 仕上げ 洋風な料理は 一から調理
  • 17. Copyright (C) 2008 Pasona Tech Inc. All Rights Reserved. フレームワークにあてはめると? 下準備 何かのフレームワーク 「xxな機能も追加 して欲しい」 仕上げ 仕上げ 仕上げ 仕上げ 仕上げ フレームワー クで想定して いないものは 一からプログ ラミング