SlideShare a Scribd company logo
1 of 30
Download to read offline
Pythonの10年とこれから
   柴田 淳 @ats
   ウェブコア株式会社




12年8月6日月曜日
短い自己紹介

   「みんなのPython」の著者です

   嫁&息子&わんこLove




12年8月6日月曜日
Pythonの,10年で変わったこと
   変わらなかったことについて話します




12年8月6日月曜日
2003年 日本のPython   超マイナー


12年8月6日月曜日
2003年にPythonの発表をしたとき

   •珍獣扱い

     • 「インデント,ウザくないですか?」という質問があった

     • 意味が分からない


   •外資ヘッドハントの標的

   •秘密兵器的に使っていた

12年8月6日月曜日
2003年世界のPython   超メジャー


12年8月6日月曜日
期待のルーキー

   •標準ライブラリが充実(Battery Included)

   •マルチプラットフォーム

   •Googleが使い始める(2002年,Python 2.2)

   •Python 2.3(2003年7月29日リリース)


12年8月6日月曜日
Zope   Pythonのキラーアプリ


12年8月6日月曜日
Zope

   • サーバ内蔵Webアプリケーションフレームワーク


   • オブジェクト指向,メタプログラミングを使った開発


   • テンプレート言語


   • KVM風のオブジェクトデータベース(ZODB)内蔵


   • プリミティブなO/Rマッパーを使ってDB操作




12年8月6日月曜日
Anaconda   GUIインストーラ


12年8月6日月曜日
Anaconda

   • GUIフレームワークPyGTKベース


   • ファンシーなUIでLinuxのインストールベース拡大に貢献


   • Linuxのデスクトップは最近では普通にPythonを使っている


   • yum

   • PythonないとLinux動かない




12年8月6日月曜日
NumPy(Numeric)   科学計算ライブラリ


12年8月6日月曜日
NumPy(Numeric)

   • Pythonの科学計算用ライブラリ


   • 大規模な多次元配列,行列のデータ型を内蔵


   • 高速な数学ライブラリ


   • SciPy(NumPy + MatPlotLib),BioPython,etc.


   • iPythonは科学技術系紀元




12年8月6日月曜日
Pythonの
                           あんま変わってない
             言語としての10年
12年8月6日月曜日
Changes between Python 2.3 to 2.7

   Python 2.3   Python 2.4   Python 2.5          Python 2.6      Python 2.7
     (2003)       (2004)       (2006)              (2008)          (2010)

      yield文       set型          条件式                with文        Set型のリテラル
                 デコレータ       絶対/相対import          except .. as
                                                            ディクショナリ/
                ジェネレータ式      try/except/finally   8/2進数のリテラル  Set内包表記

                複数行import       例外の              バイトリテラル         Python 3からの
                             新スタイルクラス化                            バックポート
                整数型の統合                           クラスデコレータ

                                                 Python 3からの
                                                  バックポート




12年8月6日月曜日
Changes between Python 3.0 to 3.3

   Python 3.0       Python 3.1        Python 3.2    Python 3.3
     (2008)           (2009)            (2011)        (2012)
     print()関数      with文で複数の         (モラトリアム期)    u”∼”リテラルの復活
                   context managerを
       view        受けられるように                          yield from
    比較の変更            浮動小数点の                         例外の再構成
   整数型の統合            評価方法変更
   “/”演算子の変更
   文字列型の変更
      bytes型
     関数注記
 キーワードのみ引数
     nonlocal文
  クラスデコレータ
    except .. as

12年8月6日月曜日
慎重すぎるPython   デコレータの例


12年8月6日月曜日
デコレータとは

             def foo(self):
                 perform method operation
             foo = classmethod(foo)


             def foo(cls):
                 pass
             foo = synchronized(lock)(foo)
             foo = classmethod(foo)



                     もっと綺麗に書きたい

12年8月6日月曜日
決まるまで4ヶ月かかった(c.f. PEP 318)
    def func(arg1, arg2, ...):   |が好きだよ派
        pass
    func = dec2(dec1(func))      |classmethod
                                 def foo(arg1,arg2):
                                     pass
    decorate文が必要だよ派
      decorate:                  @が好きだよ派
          classmethod
          def foo(arg1,arg2):    def @classmethod foo(arg1,arg2):
              pass                   pass


                                 @classmethod
    記号で囲むべきだよ派                   def foo(arg1,arg2):
                                     pass
      [classmethod]              def foo(arg1,arg2) @classmethod:
      def foo(arg1,arg2):            pass
          pass


                                 def foo @classmethod (arg1,arg2):
      <classmethod>                  pass
      def foo(arg1,arg2):
          pass

                                             前に記号をつけるべきだよ派
12年8月6日月曜日
今時のPythonベースサービス




12年8月6日月曜日
利用者の広がり   PythonはWebだけじゃない


12年8月6日月曜日
10年で最も進んだ
   イノベーション


   チープ革命




12年8月6日月曜日
チープ革命が科学計算の分野にもインパクトを

   • SGI,クレイがコモディティ化したPCサーバに


     • 並列計算が主流に


   • FORTRANやMathematicaなどの代替としてPythonが選ばれる


     • 外部ライブラリとの連携のしやすさ


     • NumPy,SciPy,BioPython,MatPlotLib




12年8月6日月曜日
Pythonがデファクトとして使われている分野




     バイオイン
    フォマティクス         自然言語処理    CG




             気象科学       GIS   金融工学



12年8月6日月曜日
LucasfilmとTwisted

   • 2004年から利用


   • 分散レンダリングに利用


   • 2009年にスポンサーに




12年8月6日月曜日
気象とPython

   • PyAOS
     Python for Atmospheric
     and Oceanic Science

   • 海洋気象物理学のためのラ
    イブラリ

   • 日本の気象庁でも利用

     • 省庁で日本の明日を真剣に考え
       ているのは気象庁だけ
     • 日本の明日を真剣に考えている

       のはPythonだけ



12年8月6日月曜日
シンプルなのは
              いいことだ
12年8月6日月曜日
シンプルさがもたらす恩恵

   • 複数の実装系


     • Jython,IronPython,PyPy


   • Python Inspiredな言語など


     • Boo,CoffeeScript,Go(?)


   • Pythonの世界広がりまくりんぐ




12年8月6日月曜日
そろそろPython 3

   • Python 3.3イケてる(2012年8月末リリース予定)


   • 主要フレームワーク,ライブラリがPython 3に対応



                 みんなのPython
               第三版が出るのです
               (2012年8月末くらい)


12年8月6日月曜日
ありがとうございました




12年8月6日月曜日

More Related Content

What's hot

PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
Kosaku Ono
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
Ransui Iso
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
fuzzysphere
 

What's hot (20)

One - Common Lispでもワンライナーしたい
One - Common LispでもワンライナーしたいOne - Common Lispでもワンライナーしたい
One - Common Lispでもワンライナーしたい
 
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
PyCon2020 Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜
 
謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した謎の言語Forthが謎なので実装した
謎の言語Forthが謎なので実装した
 
Inquisitor -Common Lispに文字コード判定を-
Inquisitor -Common Lispに文字コード判定を-Inquisitor -Common Lispに文字コード判定を-
Inquisitor -Common Lispに文字コード判定を-
 
Rpn and forth 超入門
Rpn and forth 超入門Rpn and forth 超入門
Rpn and forth 超入門
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめ
 
Introduction to cython
Introduction to cythonIntroduction to cython
Introduction to cython
 
研究会20140618:進捗と闇Pythonistaのワンライナーテクニックを少々
研究会20140618:進捗と闇Pythonistaのワンライナーテクニックを少々研究会20140618:進捗と闇Pythonistaのワンライナーテクニックを少々
研究会20140618:進捗と闇Pythonistaのワンライナーテクニックを少々
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
 
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
 
数値計算のための Python + FPGA
数値計算のための Python + FPGA数値計算のための Python + FPGA
数値計算のための Python + FPGA
 
Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ
 
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
 
constexpr idioms
constexpr idiomsconstexpr idioms
constexpr idioms
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
PostgreSQLとpython
PostgreSQLとpythonPostgreSQLとpython
PostgreSQLとpython
 
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
 
Wrapping a C++ library with Cython
Wrapping a C++ library with CythonWrapping a C++ library with Cython
Wrapping a C++ library with Cython
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorial
 

Similar to LLdeade Python Language Update

PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
Yosuke Onoue
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
Naoya Inada
 
Exgettextの話
Exgettextの話Exgettextの話
Exgettextの話
k1complete
 

Similar to LLdeade Python Language Update (20)

Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
 
PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法PythonistaがOCamlを実用する方法
PythonistaがOCamlを実用する方法
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
 
Exgettextの話
Exgettextの話Exgettextの話
Exgettextの話
 
Python3でwebアプリ
Python3でwebアプリPython3でwebアプリ
Python3でwebアプリ
 
Python32 pyhackathon-201011
Python32 pyhackathon-201011Python32 pyhackathon-201011
Python32 pyhackathon-201011
 
静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発
 
CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎CMSI計算科学技術特論A(3) OpenMPの基礎
CMSI計算科学技術特論A(3) OpenMPの基礎
 
Go静的解析ハンズオン
Go静的解析ハンズオンGo静的解析ハンズオン
Go静的解析ハンズオン
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
 
Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用Goにおける静的解析と製品開発への応用
Goにおける静的解析と製品開発への応用
 
Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?Pythonista も ls を読むべきか?
Pythonista も ls を読むべきか?
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 

Recently uploaded

Recently uploaded (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

LLdeade Python Language Update

  • 1. Pythonの10年とこれから 柴田 淳 @ats ウェブコア株式会社 12年8月6日月曜日
  • 2. 短い自己紹介 「みんなのPython」の著者です 嫁&息子&わんこLove 12年8月6日月曜日
  • 3. Pythonの,10年で変わったこと 変わらなかったことについて話します 12年8月6日月曜日
  • 4. 2003年 日本のPython 超マイナー 12年8月6日月曜日
  • 5. 2003年にPythonの発表をしたとき •珍獣扱い • 「インデント,ウザくないですか?」という質問があった • 意味が分からない •外資ヘッドハントの標的 •秘密兵器的に使っていた 12年8月6日月曜日
  • 6. 2003年世界のPython 超メジャー 12年8月6日月曜日
  • 7. 期待のルーキー •標準ライブラリが充実(Battery Included) •マルチプラットフォーム •Googleが使い始める(2002年,Python 2.2) •Python 2.3(2003年7月29日リリース) 12年8月6日月曜日
  • 8. Zope Pythonのキラーアプリ 12年8月6日月曜日
  • 9. Zope • サーバ内蔵Webアプリケーションフレームワーク • オブジェクト指向,メタプログラミングを使った開発 • テンプレート言語 • KVM風のオブジェクトデータベース(ZODB)内蔵 • プリミティブなO/Rマッパーを使ってDB操作 12年8月6日月曜日
  • 10. Anaconda GUIインストーラ 12年8月6日月曜日
  • 11. Anaconda • GUIフレームワークPyGTKベース • ファンシーなUIでLinuxのインストールベース拡大に貢献 • Linuxのデスクトップは最近では普通にPythonを使っている • yum • PythonないとLinux動かない 12年8月6日月曜日
  • 12. NumPy(Numeric) 科学計算ライブラリ 12年8月6日月曜日
  • 13. NumPy(Numeric) • Pythonの科学計算用ライブラリ • 大規模な多次元配列,行列のデータ型を内蔵 • 高速な数学ライブラリ • SciPy(NumPy + MatPlotLib),BioPython,etc. • iPythonは科学技術系紀元 12年8月6日月曜日
  • 14. Pythonの あんま変わってない 言語としての10年 12年8月6日月曜日
  • 15. Changes between Python 2.3 to 2.7 Python 2.3 Python 2.4 Python 2.5 Python 2.6 Python 2.7 (2003) (2004) (2006) (2008) (2010) yield文 set型 条件式 with文 Set型のリテラル デコレータ 絶対/相対import except .. as ディクショナリ/ ジェネレータ式 try/except/finally 8/2進数のリテラル Set内包表記 複数行import 例外の バイトリテラル Python 3からの 新スタイルクラス化 バックポート 整数型の統合 クラスデコレータ Python 3からの バックポート 12年8月6日月曜日
  • 16. Changes between Python 3.0 to 3.3 Python 3.0 Python 3.1 Python 3.2 Python 3.3 (2008) (2009) (2011) (2012) print()関数 with文で複数の (モラトリアム期) u”∼”リテラルの復活 context managerを view 受けられるように yield from 比較の変更 浮動小数点の 例外の再構成 整数型の統合 評価方法変更 “/”演算子の変更 文字列型の変更 bytes型 関数注記 キーワードのみ引数 nonlocal文 クラスデコレータ except .. as 12年8月6日月曜日
  • 17. 慎重すぎるPython デコレータの例 12年8月6日月曜日
  • 18. デコレータとは def foo(self): perform method operation foo = classmethod(foo) def foo(cls): pass foo = synchronized(lock)(foo) foo = classmethod(foo) もっと綺麗に書きたい 12年8月6日月曜日
  • 19. 決まるまで4ヶ月かかった(c.f. PEP 318) def func(arg1, arg2, ...): |が好きだよ派 pass func = dec2(dec1(func)) |classmethod def foo(arg1,arg2): pass decorate文が必要だよ派 decorate: @が好きだよ派 classmethod def foo(arg1,arg2): def @classmethod foo(arg1,arg2): pass pass @classmethod 記号で囲むべきだよ派 def foo(arg1,arg2): pass [classmethod] def foo(arg1,arg2) @classmethod: def foo(arg1,arg2): pass pass def foo @classmethod (arg1,arg2): <classmethod> pass def foo(arg1,arg2): pass 前に記号をつけるべきだよ派 12年8月6日月曜日
  • 21. 利用者の広がり PythonはWebだけじゃない 12年8月6日月曜日
  • 22. 10年で最も進んだ イノベーション チープ革命 12年8月6日月曜日
  • 23. チープ革命が科学計算の分野にもインパクトを • SGI,クレイがコモディティ化したPCサーバに • 並列計算が主流に • FORTRANやMathematicaなどの代替としてPythonが選ばれる • 外部ライブラリとの連携のしやすさ • NumPy,SciPy,BioPython,MatPlotLib 12年8月6日月曜日
  • 24. Pythonがデファクトとして使われている分野 バイオイン フォマティクス 自然言語処理 CG 気象科学 GIS 金融工学 12年8月6日月曜日
  • 25. LucasfilmとTwisted • 2004年から利用 • 分散レンダリングに利用 • 2009年にスポンサーに 12年8月6日月曜日
  • 26. 気象とPython • PyAOS Python for Atmospheric and Oceanic Science • 海洋気象物理学のためのラ イブラリ • 日本の気象庁でも利用 • 省庁で日本の明日を真剣に考え ているのは気象庁だけ • 日本の明日を真剣に考えている のはPythonだけ 12年8月6日月曜日
  • 27. シンプルなのは いいことだ 12年8月6日月曜日
  • 28. シンプルさがもたらす恩恵 • 複数の実装系 • Jython,IronPython,PyPy • Python Inspiredな言語など • Boo,CoffeeScript,Go(?) • Pythonの世界広がりまくりんぐ 12年8月6日月曜日
  • 29. そろそろPython 3 • Python 3.3イケてる(2012年8月末リリース予定) • 主要フレームワーク,ライブラリがPython 3に対応 みんなのPython 第三版が出るのです (2012年8月末くらい) 12年8月6日月曜日