SlideShare uma empresa Scribd logo
1 de 39
そのプログラム言 で何が出来る?語
LL でゆるふわプログラミングのスス
メ
@mizchi
自己 介紹
• id: mizchi
• 人科 学部 4 年 松居研究室
• この勉 会の主催強
• はてな、 Twitter 、 Facebook とか
o めぼしいサ ビスには居ますー
• 最近古典 SF にハマってる
• 意 がない学生識
プログラミング について歴
• インタ ネットはじめたのがー 8 歳
o エロみてて PC 没収されたのが 13 歳
• プログラミングはじめたのが大学 1 年夏
• 主に Python / Javascript
• ブラウザいじりが趣味 (Firefox/Chrome)
• エディタいじりが好き (Emacs/Vim)
• 研究で Kinect いじってる
• C/C++ レイヤ はわかりません!ー
この勉 会の主旨強
建前
人科のプログラミングぢから高めたい!
本音
自分が ( たぶん ) 院に 学するので進
あと数年 3 年はこのキャンパスにいる
=> プログラミング趣味の人がいないと寂しい
質問
あなたのプログラミングへの
モチベ ションに、ー
明 な目確 標がありますか
?
たとえば………
Windows アプリ がやりたい開発  
Mac の GUI アプリ、 iPhone アプリ がやりたい開発  
Android アプリ がやりたい開発  
3D の派手なグラフィックのゲ ム がやりたいー 開発
ブラウザ向けの がやりたい拡張開発  
etc...
たとえば………
Windows アプリ がやりたい開発  
=> C/Win32API 、 C#/.NetFramework やれ
Mac 、 iPhone アのプリ がやりたい開発  
=> ObjectiveC/Cocoa やれ
Android アプリ がやりたい開発  
=> Java やれ
3D の派手なグラフィックのゲ ム がやりたいー 開発
 => C/C++/OpenGL やれ
ブラウザ向けの がやりたい拡張開発  
=> Javascript やれ
当する人、あなたへの 表は該 発 以上
!
ありがとうございました! 
次の 表をお待ちください  発 (^q^)
今日の 表は………発
とりあえず 味あるよ!とか興
目 あるけど漠然と何やっていいかわからない、とか標
とりあえずプログラミングできたらかっこいいじゃん?
とか
そういう人向けのギ ク入ー 門 座です講
ギ クとはー
コンピュ タやインタ ネット技 にー ー 術
を やし、深い知 を有する者時間 費 識
                         (by wikipedia)
思いつき駆動開発
こういうの欲しいな、と思ったとき、
その で 当にプログラム作っちゃうような、場 適
そんなスキルがあったら嬉しい
それができれば
コンピュ タの中で神になる!ー
手足のように酷使できる言語
を
なにか 1 つ持ちましょう
では、
万能のプログラミング言
語
とは?                 
   ねぇよ、んなもん
同じ 算 源を使う以上、計 資
何かを 牲にして何かを得るわけで……犠
  流行りの言 は語
        お嫌いですか ?
■■■■■■■
人 がある言気 語を使え
ネット上に大量のコ ドサンプルー
ググって解 するという安心感が大事決
俺に くな訊   Google に け訊
大量の公 ライブラリ開
コ ディングのー しさ楽 に直結
• 流行りの言 はどれも似ている語
o 言 はお互いに影 を与えあっている語 響
 どれか えたら他の学 コストは半分以下覚 習
o どうせなら なやつで入 しろ!!!簡単 門
注意 !
もてはやされてる 
≠ 
ノウハウが蓄 されてる積
NodeJS , Scala , Go など、流行る兆しはあるが
繁な仕 更とバ ジョン依存が多くて頻 様変 ー 魔窟
言 本体のソ ス め!な世界 安定稼 で語 ー 読   働 2,3 年は必
要
言 だけじゃなくて「最新フレ ムワ ク」も語 ー ー
Native vs Light Language
プログラム言 は語
( 超大 把には雑 )   二つしかない!
み きしにくい読 書   &  速度が早
い
vs
み きしやすい読 書   &  速度が遅
い
み きしにくい読 書 &  速度が早
い
C /C++ / Java …
 ☓ 速度が早い
コ ディング に最 化せざるを得ない◯ ー 時 適
コンピュ タがー  理解しやすい
 人 を 牲にして間 犠   行速度を求める!実
み きしやすい読 書   &  速度が遅
い
Ruby / Python / Perl / PHP …
         LL (Light Language,   量言軽 語 )
 ☓ み きしやすい読 書  
デ タ 造がゆるふわ◯ ー 構
算速度を 牲にして、最 化しないかわり計 犠 適
「なんかそれっぽいの」を す許
◆ 超大 把な 行速度比雑 実 較
C < C++ < Java <<(LL の壁 )<< Perl, Ruby, Python <  PHP
1  <  1.2  <  2   <                             20                    < 100
※ 装や 境によって なります実 環 異
                 / :::::::::::::::::::::::: ヾヽ 
                . i :::::::://///::::::::::::::::::| 
                 .|::::::/ :://// i.:::::⌒⌒ ノ 
                .|:::::/          |::::| 
                 |::/.   . ヘ   ヘ .|::| 
                . |.-⊥ (=・ ).-.( =・ )-.|⊥     |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄     
                l   .!:;   ⌒ .´ し . `⌒ ::|. l    .|   に仮 100 倍だったとして、何がいけないんでしょうかね 
               ゝ .        ヘ / ィ   _ ノ 
               __,. -‐  ヘ < 二ニ ニ >   / - __─  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄     
          _   - ''"‐     /   ! \  ̄ / ! \     ゙̄ー - 、 
        ハ       /.    |  ̄ ̄ヽ /|           ヽ ハ 
        |         く    ヽ ! .  ̄ ̄  !     .>        /   ! 
          |    |       _ >   .|.      .|    < _       /    ! 
        .∧    !          ヽ |      |      /      i    .  ∧
       /  \  |         ヽ i      i     /       |  / ハ 
      ハ   ヽ |          ヽ !     !    /       |    /ヽ 
     /   \   |       ヽ .    |   .    |   /        |   // \ 
    /      \  |        .  ヽ i     i   /          | / - '     ヽ 
    /,   - -──‐ 」        ミ , ''‐ 二二       ⊃、 |/   / ̄ ̄`ヽ ! 
   ′   ̄ ̄ ̄レ ` ─ー --- _、 /  ′二ニヽ '  \ -- ''──┴  ̄ ̄    ヽ | 
だが……
最近のコンピュ タは速いー
!一般的な、何かを操作するようなプログラムは
ナノ秒 (10-9
) からマイクロ秒 (10-6
) におさまる
人 の反 は大したことない間 応
人 が 化を できる間 変 認識 時間 1/60 秒 ≒ 0.017 秒
( 格ゲ のフレ ム数ー ー )
インタ ネットはさらに いー 遅
Web:   通信の 延遅 0.01 ~ 0.5 秒   ( 光速  30 万 km/s の限
界 )
      ......... プログラム自身の 行速度なんて 差では実 誤
速い言語を すべきタイミング検討   
• アルゴリズムに工夫するべきところはないか?
o お前のプログラムが いのは遅 お前の 装が だから!実 糞
   「デ タ 造とアルゴリズム」を学びましょうー 構
 ほとんどの 算爆 は指数 数的に 加する計 発 関 増
• 一回しか使わないなら丸一日かかってもいい
o 寝て起きて わってるなら、終 寝ろ
o だいたいは 行途中でもっといいやり方思いつく実
通信レイテンシや人 の反 速度を超えたときに考えればよくて間 応
しばらくはそんなプログラム かないから書
            安心してメモリを食い せ!!!!潰
=> 材 所が望ましい適 適
ウェブプログラマの では間 LL は流行っている
行速度は通信の 延で できる実 遅 無視
ゲ ム ではー 開発 C/C++
行速度が速いほどたくさんのエフェクトを 算できる実 計
少ないメモリにデ タを して、どれだけ早く 算すー 圧縮 計
るか、という世界
LL が速度を 牲にして得たもの犠
インタプリタ対話
  的に対話 1 行ずつ 行出来るよっ!実
的型付動
  何を代入したかで型が まるなら型の宣言いらなくね決
?
モダンなオブジェクト指向
  後 だけに洗 されたものがほとんど発 練
ガベ ジコレクションー ( GC )
  メモリ管理は言 が 手にやってくれるよ!語側 勝
インタプリタで高速フィ ドバック学対話 ー
習
mizchi-mba:mzi%[~] ipython -cl
>>> 3+5/10
3  # 期待通りの 果じゃない結
>>> 3+5.0/10
3.5 # 小数の割り算であることを明 したので解記 決
>>> obj = ["hoge","fuga"]  # リスト型のオブジェクトを宣言
>>> obj.length # Java では配列 は長 length だったな と思いつつ 行するとー 実
------------------------------------------------------------
Traceback (most recent call last):
  File "<ipython console>", line 1, in <module>
AttributeError: 'list' object has no attribute 'length'  # エラ 理由 「ー list は length の attribute を持たない」
>>> len(obj) # python で配列 が欲しい 合は長 場 len() を使う、などとググるなどして情 を得る報
2
>>> obj.re # ここまで入力して、 e の次に <tab> を入力して 完しようとすると…補
obj.remove   obj.reverse  # obj が持ってるメソッドの候 が!補
コマンドライン上でガンガン 行実
インタプリタで 行対話 実 => コ ドに反映 のサイクルを回すー
「 うより れろ」習 慣
ところで、 LL の
み きしやすさってなんだ?読 書
趣味
史が くコンピュ タに最 化された歴 長 ー 適 C/C++
 
OS の差 を吸 して安定稼 する異 収 働 Java  ………
という み分けに して棲 対
LL には
「 の考えた最 のプログラミング言 」僕 強 語
がたくさんある                     
色々触って自分が好きなのを べばいい選
人 なのは気 Ruby Perl Python PHP
LL の 介紹
◆Ruby
者開発 :まつもとゆきひろ
特徴
「多 性は善」という考えで、自由な き方が出来る様 書
Perl と 数型言関 語 lisp の影 が い。響 強
点が日本で、日本 の情 が多い。日本 籍も。開発拠 語 報 語書
Ruby on Rails というフレ ムワ クが有名ー ー
公 ライブラリ開 : rubygems
インタプリタ   : irb
◆Python
者開発 : Guido van Rossum (Google)
特徴
「多 性は 」 法が で、 が いても似たようなコ様 悪 記 単純 誰 書
ドになる。 果として かつ、可 性が非常に高い。ー 結 簡潔 読
世界的には Ruby より使用者が多い。日本だとマイナ 。ー
「入 自然言 理」「集合知プログラミング」など、オ門 語処
ライリ 出版社のサンプルコ ドはー ー Python が えてきた増
。
公 ライブラリ開   : PYPI
◆Perl
日本で著名な Perl ハッカー:
小飼弾 ( dankogai ) 川 彦宮 達 ( miyagawa )
特徴
テキスト 理に い。処 強 LL としては 史が古く、歴 CPAN と
いう公 ライブラリが有名。ハッカ 文化が根 い。最近開 ー 強
は Ruby と Python に押され 味。気   mixi/Livedoor/ はてな
等、ちょっと前の IT ベンチャ はみんなー Perl だった。
公 ライブラリ開   : CPAN
◆PHP
著名なプロダクト
WordPress ( ブログエンジン )
PukiWiki ( ウィキ )
特徴
ウェブに特化した言 。語 HTML に埋め むような形式で使込
われる。平易な文法で、少しの 定で にウェブ が設 簡単 開発
始められるため人 がある。最近の気 IT ベンチャ でー
は、 PHP の需要が 倒。圧 GREE 等が有名。
公 ライブラリ開   : PEAR
以上、ご清聴
ありがとうございました!

Mais conteúdo relacionado

Destaque

Mature optimization (Carlos Bueno, Facebook)
Mature optimization (Carlos Bueno, Facebook)Mature optimization (Carlos Bueno, Facebook)
Mature optimization (Carlos Bueno, Facebook)Ontico
 
健康報告:德國飲食
健康報告:德國飲食健康報告:德國飲食
健康報告:德國飲食Tom Sun
 
Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)Uehara Junji
 
The ruby way ii
The ruby way iiThe ruby way ii
The ruby way iiDeng Peng
 
Archiving in eZ Publish: What to do with all your content
Archiving in eZ Publish: What to do with all your contentArchiving in eZ Publish: What to do with all your content
Archiving in eZ Publish: What to do with all your contentPeter Keung
 
Kelompok 2 kisah nabi idris as 2011
Kelompok 2 kisah nabi idris as 2011Kelompok 2 kisah nabi idris as 2011
Kelompok 2 kisah nabi idris as 2011Sekolah Vokasi UGM
 
Li omm presentation
Li omm presentationLi omm presentation
Li omm presentationCALSTART
 
So you-wanna-be-a-successful-student1
So you-wanna-be-a-successful-student1So you-wanna-be-a-successful-student1
So you-wanna-be-a-successful-student1raegreen
 
Завадівка – наш дім
Завадівка – наш дімЗавадівка – наш дім
Завадівка – наш дімkilina
 
Kritika transpersonální psychologie z pozice tantrického buddhismu
Kritika transpersonální psychologie z pozice tantrického buddhismuKritika transpersonální psychologie z pozice tantrického buddhismu
Kritika transpersonální psychologie z pozice tantrického buddhismuDivinorum
 
Ibil aparatua
Ibil aparatuaIbil aparatua
Ibil aparatuaxarpati
 
Find the Funding You Need Through Business Credit Webinar
Find the Funding You Need Through Business Credit WebinarFind the Funding You Need Through Business Credit Webinar
Find the Funding You Need Through Business Credit WebinarLaughlin Associates
 
Reputation Management for Social Business
Reputation Management for Social BusinessReputation Management for Social Business
Reputation Management for Social BusinessDuncan Connor
 
Billboard insurance upload
Billboard insurance uploadBillboard insurance upload
Billboard insurance uploadRidwan Ichsan
 
Finanses internetā: ekspertīze, tendences, nākotnes prognozes
Finanses internetā: ekspertīze, tendences, nākotnes prognozesFinanses internetā: ekspertīze, tendences, nākotnes prognozes
Finanses internetā: ekspertīze, tendences, nākotnes prognozesSwedbank Latvia
 
פרוטוקול 1
פרוטוקול 1פרוטוקול 1
פרוטוקול 1mmshelomi
 

Destaque (20)

Mature optimization (Carlos Bueno, Facebook)
Mature optimization (Carlos Bueno, Facebook)Mature optimization (Carlos Bueno, Facebook)
Mature optimization (Carlos Bueno, Facebook)
 
健康報告:德國飲食
健康報告:德國飲食健康報告:德國飲食
健康報告:德國飲食
 
Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)Easy Going Groovy(Groovyを気軽に使いこなそう)
Easy Going Groovy(Groovyを気軽に使いこなそう)
 
The ruby way ii
The ruby way iiThe ruby way ii
The ruby way ii
 
Archiving in eZ Publish: What to do with all your content
Archiving in eZ Publish: What to do with all your contentArchiving in eZ Publish: What to do with all your content
Archiving in eZ Publish: What to do with all your content
 
Kelompok 2 kisah nabi idris as 2011
Kelompok 2 kisah nabi idris as 2011Kelompok 2 kisah nabi idris as 2011
Kelompok 2 kisah nabi idris as 2011
 
Li omm presentation
Li omm presentationLi omm presentation
Li omm presentation
 
організація вих.роботи в нвк
організація вих.роботи в нвкорганізація вих.роботи в нвк
організація вих.роботи в нвк
 
So you-wanna-be-a-successful-student1
So you-wanna-be-a-successful-student1So you-wanna-be-a-successful-student1
So you-wanna-be-a-successful-student1
 
Завадівка – наш дім
Завадівка – наш дімЗавадівка – наш дім
Завадівка – наш дім
 
Kritika transpersonální psychologie z pozice tantrického buddhismu
Kritika transpersonální psychologie z pozice tantrického buddhismuKritika transpersonální psychologie z pozice tantrického buddhismu
Kritika transpersonální psychologie z pozice tantrického buddhismu
 
Ibil aparatua
Ibil aparatuaIbil aparatua
Ibil aparatua
 
Find the Funding You Need Through Business Credit Webinar
Find the Funding You Need Through Business Credit WebinarFind the Funding You Need Through Business Credit Webinar
Find the Funding You Need Through Business Credit Webinar
 
Reputation Management for Social Business
Reputation Management for Social BusinessReputation Management for Social Business
Reputation Management for Social Business
 
Family tree
Family treeFamily tree
Family tree
 
Alles met mate(n): social media & onderwijs. #ELF15
Alles met mate(n): social media & onderwijs. #ELF15Alles met mate(n): social media & onderwijs. #ELF15
Alles met mate(n): social media & onderwijs. #ELF15
 
Wwii timeline
Wwii timelineWwii timeline
Wwii timeline
 
Billboard insurance upload
Billboard insurance uploadBillboard insurance upload
Billboard insurance upload
 
Finanses internetā: ekspertīze, tendences, nākotnes prognozes
Finanses internetā: ekspertīze, tendences, nākotnes prognozesFinanses internetā: ekspertīze, tendences, nākotnes prognozes
Finanses internetā: ekspertīze, tendences, nākotnes prognozes
 
פרוטוקול 1
פרוטוקול 1פרוטוקול 1
פרוטוקול 1
 

Semelhante a Llでゆるふわプログラミングのすすめ

197x Timer with Your Messages
197x Timer with Your Messages197x Timer with Your Messages
197x Timer with Your MessagesKuniaki Igarashi
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介Hiromu Yakura
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワークTakuya Sato
 
【A-5】(招待LT)灘校パソコン研究部とは
【A-5】(招待LT)灘校パソコン研究部とは【A-5】(招待LT)灘校パソコン研究部とは
【A-5】(招待LT)灘校パソコン研究部とはSatoru Cho
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) kunihikokaneko1
 
見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみた見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみたTone Blue
 
蜘蛛の巣から抜け出すには?
蜘蛛の巣から抜け出すには?蜘蛛の巣から抜け出すには?
蜘蛛の巣から抜け出すには?Hayato Tominaga
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみたkinneko
 
PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpythonSoudai Sone
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた Tone Blue
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介K Moneto
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い sasezaki
 
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよSerf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよMasahito Zembutsu
 
Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解TAKANO Mitsuhiro
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 

Semelhante a Llでゆるふわプログラミングのすすめ (20)

197x Timer with Your Messages
197x Timer with Your Messages197x Timer with Your Messages
197x Timer with Your Messages
 
ゆるかわPhp
ゆるかわPhpゆるかわPhp
ゆるかわPhp
 
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
 
20060520.tcp
20060520.tcp20060520.tcp
20060520.tcp
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワーク
 
【A-5】(招待LT)灘校パソコン研究部とは
【A-5】(招待LT)灘校パソコン研究部とは【A-5】(招待LT)灘校パソコン研究部とは
【A-5】(招待LT)灘校パソコン研究部とは
 
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列) cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
cs-10. Python の基礎(オブジェクト,メソッド,引数,文字列)
 
見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみた見える!「IoT」NefryでJenkinsのXFD作ってみた
見える!「IoT」NefryでJenkinsのXFD作ってみた
 
蜘蛛の巣から抜け出すには?
蜘蛛の巣から抜け出すには?蜘蛛の巣から抜け出すには?
蜘蛛の巣から抜け出すには?
 
ICSをビルドしてみた
ICSをビルドしてみたICSをビルドしてみた
ICSをビルドしてみた
 
PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpython
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた 見える!「IoT」 NefryでJenkinsのXFD作ってみた
見える!「IoT」 NefryでJenkinsのXFD作ってみた
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよSerf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
 
Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解Smalltalk との比較で深まる Citrine の理解
Smalltalk との比較で深まる Citrine の理解
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
20210510 software design
20210510 software design20210510 software design
20210510 software design
 

Último

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Llでゆるふわプログラミングのすすめ

  • 2. 自己 介紹 • id: mizchi • 人科 学部 4 年 松居研究室 • この勉 会の主催強 • はてな、 Twitter 、 Facebook とか o めぼしいサ ビスには居ますー • 最近古典 SF にハマってる • 意 がない学生識
  • 3. プログラミング について歴 • インタ ネットはじめたのがー 8 歳 o エロみてて PC 没収されたのが 13 歳 • プログラミングはじめたのが大学 1 年夏 • 主に Python / Javascript • ブラウザいじりが趣味 (Firefox/Chrome) • エディタいじりが好き (Emacs/Vim) • 研究で Kinect いじってる • C/C++ レイヤ はわかりません!ー
  • 4. この勉 会の主旨強 建前 人科のプログラミングぢから高めたい! 本音 自分が ( たぶん ) 院に 学するので進 あと数年 3 年はこのキャンパスにいる => プログラミング趣味の人がいないと寂しい
  • 7. たとえば……… Windows アプリ がやりたい開発   Mac の GUI アプリ、 iPhone アプリ がやりたい開発   Android アプリ がやりたい開発   3D の派手なグラフィックのゲ ム がやりたいー 開発 ブラウザ向けの がやりたい拡張開発   etc...
  • 8. たとえば……… Windows アプリ がやりたい開発   => C/Win32API 、 C#/.NetFramework やれ Mac 、 iPhone アのプリ がやりたい開発   => ObjectiveC/Cocoa やれ Android アプリ がやりたい開発   => Java やれ 3D の派手なグラフィックのゲ ム がやりたいー 開発  => C/C++/OpenGL やれ ブラウザ向けの がやりたい拡張開発   => Javascript やれ
  • 9. 当する人、あなたへの 表は該 発 以上 ! ありがとうございました!  次の 表をお待ちください  発 (^q^)
  • 10. 今日の 表は………発 とりあえず 味あるよ!とか興 目 あるけど漠然と何やっていいかわからない、とか標 とりあえずプログラミングできたらかっこいいじゃん? とか そういう人向けのギ ク入ー 門 座です講
  • 11. ギ クとはー コンピュ タやインタ ネット技 にー ー 術 を やし、深い知 を有する者時間 費 識                          (by wikipedia)
  • 12. 思いつき駆動開発 こういうの欲しいな、と思ったとき、 その で 当にプログラム作っちゃうような、場 適 そんなスキルがあったら嬉しい それができれば コンピュ タの中で神になる!ー
  • 15.    ねぇよ、んなもん 同じ 算 源を使う以上、計 資 何かを 牲にして何かを得るわけで……犠
  • 16.   流行りの言 は語         お嫌いですか ? ■■■■■■■
  • 17. 人 がある言気 語を使え ネット上に大量のコ ドサンプルー ググって解 するという安心感が大事決 俺に くな訊   Google に け訊 大量の公 ライブラリ開 コ ディングのー しさ楽 に直結 • 流行りの言 はどれも似ている語 o 言 はお互いに影 を与えあっている語 響  どれか えたら他の学 コストは半分以下覚 習 o どうせなら なやつで入 しろ!!!簡単 門
  • 18. 注意 ! もてはやされてる  ≠  ノウハウが蓄 されてる積 NodeJS , Scala , Go など、流行る兆しはあるが 繁な仕 更とバ ジョン依存が多くて頻 様変 ー 魔窟 言 本体のソ ス め!な世界 安定稼 で語 ー 読   働 2,3 年は必 要 言 だけじゃなくて「最新フレ ムワ ク」も語 ー ー
  • 19. Native vs Light Language
  • 20. プログラム言 は語 ( 超大 把には雑 )   二つしかない! み きしにくい読 書   &  速度が早 い vs み きしやすい読 書   &  速度が遅 い
  • 21. み きしにくい読 書 &  速度が早 い C /C++ / Java …  ☓ 速度が早い コ ディング に最 化せざるを得ない◯ ー 時 適 コンピュ タがー  理解しやすい  人 を 牲にして間 犠   行速度を求める!実
  • 22. み きしやすい読 書   &  速度が遅 い Ruby / Python / Perl / PHP …          LL (Light Language,   量言軽 語 )  ☓ み きしやすい読 書   デ タ 造がゆるふわ◯ ー 構 算速度を 牲にして、最 化しないかわり計 犠 適 「なんかそれっぽいの」を す許
  • 23. ◆ 超大 把な 行速度比雑 実 較 C < C++ < Java <<(LL の壁 )<< Perl, Ruby, Python <  PHP 1  <  1.2  <  2   <                             20                    < 100 ※ 装や 境によって なります実 環 異
  • 24.                  / :::::::::::::::::::::::: ヾヽ                  . i :::::::://///::::::::::::::::::|                   .|::::::/ :://// i.:::::⌒⌒ ノ                  .|:::::/          |::::|                   |::/.   . ヘ   ヘ .|::|                  . |.-⊥ (=・ ).-.( =・ )-.|⊥     |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄                      l   .!:;   ⌒ .´ し . `⌒ ::|. l    .|   に仮 100 倍だったとして、何がいけないんでしょうかね                 ゝ .        ヘ / ィ   _ ノ                 __,. -‐  ヘ < 二ニ ニ >   / - __─  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄                _   - ''"‐     /   ! \  ̄ / ! \     ゙̄ー - 、          ハ       /.    |  ̄ ̄ヽ /|           ヽ ハ          |         く    ヽ ! .  ̄ ̄  !     .>        /   !            |    |       _ >   .|.      .|    < _       /    !          .∧    !          ヽ |      |      /      i    .  ∧        /  \  |         ヽ i      i     /       |  / ハ        ハ   ヽ |          ヽ !     !    /       |    /ヽ       /   \   |       ヽ .    |   .    |   /        |   // \      /      \  |        .  ヽ i     i   /          | / - '     ヽ      /,   - -──‐ 」        ミ , ''‐ 二二       ⊃、 |/   / ̄ ̄`ヽ !     ′   ̄ ̄ ̄レ ` ─ー --- _、 /  ′二ニヽ '  \ -- ''──┴  ̄ ̄    ヽ |  だが……
  • 25. 最近のコンピュ タは速いー !一般的な、何かを操作するようなプログラムは ナノ秒 (10-9 ) からマイクロ秒 (10-6 ) におさまる 人 の反 は大したことない間 応 人 が 化を できる間 変 認識 時間 1/60 秒 ≒ 0.017 秒 ( 格ゲ のフレ ム数ー ー ) インタ ネットはさらに いー 遅 Web:   通信の 延遅 0.01 ~ 0.5 秒   ( 光速  30 万 km/s の限 界 )       ......... プログラム自身の 行速度なんて 差では実 誤
  • 26. 速い言語を すべきタイミング検討    • アルゴリズムに工夫するべきところはないか? o お前のプログラムが いのは遅 お前の 装が だから!実 糞    「デ タ 造とアルゴリズム」を学びましょうー 構  ほとんどの 算爆 は指数 数的に 加する計 発 関 増 • 一回しか使わないなら丸一日かかってもいい o 寝て起きて わってるなら、終 寝ろ o だいたいは 行途中でもっといいやり方思いつく実 通信レイテンシや人 の反 速度を超えたときに考えればよくて間 応 しばらくはそんなプログラム かないから書             安心してメモリを食い せ!!!!潰
  • 27. => 材 所が望ましい適 適 ウェブプログラマの では間 LL は流行っている 行速度は通信の 延で できる実 遅 無視 ゲ ム ではー 開発 C/C++ 行速度が速いほどたくさんのエフェクトを 算できる実 計 少ないメモリにデ タを して、どれだけ早く 算すー 圧縮 計 るか、という世界
  • 28. LL が速度を 牲にして得たもの犠 インタプリタ対話   的に対話 1 行ずつ 行出来るよっ!実 的型付動   何を代入したかで型が まるなら型の宣言いらなくね決 ? モダンなオブジェクト指向   後 だけに洗 されたものがほとんど発 練 ガベ ジコレクションー ( GC )   メモリ管理は言 が 手にやってくれるよ!語側 勝
  • 29. インタプリタで高速フィ ドバック学対話 ー 習 mizchi-mba:mzi%[~] ipython -cl >>> 3+5/10 3  # 期待通りの 果じゃない結 >>> 3+5.0/10 3.5 # 小数の割り算であることを明 したので解記 決 >>> obj = ["hoge","fuga"]  # リスト型のオブジェクトを宣言 >>> obj.length # Java では配列 は長 length だったな と思いつつ 行するとー 実 ------------------------------------------------------------ Traceback (most recent call last):   File "<ipython console>", line 1, in <module> AttributeError: 'list' object has no attribute 'length'  # エラ 理由 「ー list は length の attribute を持たない」 >>> len(obj) # python で配列 が欲しい 合は長 場 len() を使う、などとググるなどして情 を得る報 2 >>> obj.re # ここまで入力して、 e の次に <tab> を入力して 完しようとすると…補 obj.remove   obj.reverse  # obj が持ってるメソッドの候 が!補 コマンドライン上でガンガン 行実 インタプリタで 行対話 実 => コ ドに反映 のサイクルを回すー 「 うより れろ」習 慣
  • 30. ところで、 LL の み きしやすさってなんだ?読 書
  • 32. 史が くコンピュ タに最 化された歴 長 ー 適 C/C++   OS の差 を吸 して安定稼 する異 収 働 Java  ……… という み分けに して棲 対 LL には 「 の考えた最 のプログラミング言 」僕 強 語 がたくさんある                     
  • 35. ◆Ruby 者開発 :まつもとゆきひろ 特徴 「多 性は善」という考えで、自由な き方が出来る様 書 Perl と 数型言関 語 lisp の影 が い。響 強 点が日本で、日本 の情 が多い。日本 籍も。開発拠 語 報 語書 Ruby on Rails というフレ ムワ クが有名ー ー 公 ライブラリ開 : rubygems インタプリタ   : irb
  • 36. ◆Python 者開発 : Guido van Rossum (Google) 特徴 「多 性は 」 法が で、 が いても似たようなコ様 悪 記 単純 誰 書 ドになる。 果として かつ、可 性が非常に高い。ー 結 簡潔 読 世界的には Ruby より使用者が多い。日本だとマイナ 。ー 「入 自然言 理」「集合知プログラミング」など、オ門 語処 ライリ 出版社のサンプルコ ドはー ー Python が えてきた増 。 公 ライブラリ開   : PYPI
  • 37. ◆Perl 日本で著名な Perl ハッカー: 小飼弾 ( dankogai ) 川 彦宮 達 ( miyagawa ) 特徴 テキスト 理に い。処 強 LL としては 史が古く、歴 CPAN と いう公 ライブラリが有名。ハッカ 文化が根 い。最近開 ー 強 は Ruby と Python に押され 味。気   mixi/Livedoor/ はてな 等、ちょっと前の IT ベンチャ はみんなー Perl だった。 公 ライブラリ開   : CPAN
  • 38. ◆PHP 著名なプロダクト WordPress ( ブログエンジン ) PukiWiki ( ウィキ ) 特徴 ウェブに特化した言 。語 HTML に埋め むような形式で使込 われる。平易な文法で、少しの 定で にウェブ が設 簡単 開発 始められるため人 がある。最近の気 IT ベンチャ でー は、 PHP の需要が 倒。圧 GREE 等が有名。 公 ライブラリ開   : PEAR