SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
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な機能も追加
して欲しい」
仕上げ 仕上げ 仕上げ 仕上げ 仕上げ フレームワー
クで想定して
いないものは
一からプログ
ラミング

Más contenido relacionado

Más de Hiroshi Oyamada

2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01Hiroshi Oyamada
 
育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピング育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピングHiroshi Oyamada
 
日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】Hiroshi Oyamada
 
2014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol32014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol3Hiroshi Oyamada
 
20140319 titanium meetupvol17
20140319 titanium meetupvol1720140319 titanium meetupvol17
20140319 titanium meetupvol17Hiroshi Oyamada
 
2014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol162014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol16Hiroshi Oyamada
 
20130910 titanium meetupvol11
20130910 titanium meetupvol1120130910 titanium meetupvol11
20130910 titanium meetupvol11Hiroshi Oyamada
 
勉強会主催者のための勉強会
勉強会主催者のための勉強会勉強会主催者のための勉強会
勉強会主催者のための勉強会Hiroshi Oyamada
 
20130613 titanium meetupvol9
20130613 titanium meetupvol920130613 titanium meetupvol9
20130613 titanium meetupvol9Hiroshi Oyamada
 
2013 06-11-craft beerfanlt
2013 06-11-craft beerfanlt2013 06-11-craft beerfanlt
2013 06-11-craft beerfanltHiroshi Oyamada
 
2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedo2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedoHiroshi Oyamada
 
20130412 titanium meetupvol7
20130412 titanium meetupvol720130412 titanium meetupvol7
20130412 titanium meetupvol7Hiroshi Oyamada
 
2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titanium2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titaniumHiroshi Oyamada
 
20130126 titanium新年会
20130126 titanium新年会20130126 titanium新年会
20130126 titanium新年会Hiroshi Oyamada
 
20130125 titanium meetupvol5
20130125 titanium meetupvol520130125 titanium meetupvol5
20130125 titanium meetupvol5Hiroshi Oyamada
 
2012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol42012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol4Hiroshi Oyamada
 

Más de Hiroshi Oyamada (20)

2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピング育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピング
 
日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】
 
2014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol32014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol3
 
20140319 titanium meetupvol17
20140319 titanium meetupvol1720140319 titanium meetupvol17
20140319 titanium meetupvol17
 
2014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol162014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol16
 
TitaniumMeetUpVol13
TitaniumMeetUpVol13TitaniumMeetUpVol13
TitaniumMeetUpVol13
 
20130910 titanium meetupvol11
20130910 titanium meetupvol1120130910 titanium meetupvol11
20130910 titanium meetupvol11
 
勉強会主催者のための勉強会
勉強会主催者のための勉強会勉強会主催者のための勉強会
勉強会主催者のための勉強会
 
20130613 titanium meetupvol9
20130613 titanium meetupvol920130613 titanium meetupvol9
20130613 titanium meetupvol9
 
2013 06-11-craft beerfanlt
2013 06-11-craft beerfanlt2013 06-11-craft beerfanlt
2013 06-11-craft beerfanlt
 
2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedo2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedo
 
20130412 titanium meetupvol7
20130412 titanium meetupvol720130412 titanium meetupvol7
20130412 titanium meetupvol7
 
2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titanium2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titanium
 
20130126 titanium新年会
20130126 titanium新年会20130126 titanium新年会
20130126 titanium新年会
 
20130125 titanium meetupvol5
20130125 titanium meetupvol520130125 titanium meetupvol5
20130125 titanium meetupvol5
 
2012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol42012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol4
 

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

  • 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な機能も追加 して欲しい」 仕上げ 仕上げ 仕上げ 仕上げ 仕上げ フレームワー クで想定して いないものは 一からプログ ラミング