Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing Julia

Introducing Julia

... and couple other languages.

Julia is a fast dynamic language for technical computing. http://julialang.org/

Original presentation at Computational Linguistics Lab, Nara Institute of Science and Technology.

Sorami Hisamoto

November 15, 2013
Tweet

More Decks by Sorami Hisamoto

Other Decks in Programming

Transcript

  1. Babel guide 5 Languages in 13 Weeks ! Sorami Hisamoto

    Computational Linguistics Lab. Nara Institute of Science & Technology November 15, 2013 Bruegel - The tower of Babel @ sorami
  2. T O U R D E B A B E

    L Image: www.ashinari.com/2013/09/11-381896.php Steven Yegge
  3. T O U R D E B A B E

    L Image: www.ashinari.com/2013/09/11-381896.php Python
 Ruby
 Java
 Perl
 C++
 Lisp
 C Steven Yegge
  4. T O U R D E B A B E

    L Image: www.ashinari.com/2013/09/11-381896.php Original Essay ⽇日本語訳 Python
 Ruby
 Java
 Perl
 C++
 Lisp
 C Steven Yegge
  5. “The original brilliant guys and gals here only allowed two

    languages in Amazon's hallowed source repository: C and Lisp” 初期にいたすばらしい⼈人たちは、Amazonの神聖なるソースリポジトリに 2種類の⾔言語しか⼊入れることを許さなかった。CとLispだ。 “C++ is the dumbest language on earth” C++は地上でもっともバカな⾔言語だ。 Image source
  6. “The original brilliant guys and gals here only allowed two

    languages in Amazon's hallowed source repository: C and Lisp” 初期にいたすばらしい⼈人たちは、Amazonの神聖なるソースリポジトリに 2種類の⾔言語しか⼊入れることを許さなかった。CとLispだ。 “C++ is the dumbest language on earth” C++は地上でもっともバカな⾔言語だ。 Image source “Java is simultaneously the best and the worst thing that has happened to computing in the past 10 years.” Javaは過去10年においてコンピューティングの世界に起きた最良かつ最悪のことだ。
  7. “The original brilliant guys and gals here only allowed two

    languages in Amazon's hallowed source repository: C and Lisp” 初期にいたすばらしい⼈人たちは、Amazonの神聖なるソースリポジトリに 2種類の⾔言語しか⼊入れることを許さなかった。CとLispだ。 “C++ is the dumbest language on earth” C++は地上でもっともバカな⾔言語だ。 “Java is simultaneously the best and the worst thing that has happened to computing in the past 10 years.” Javaは過去10年においてコンピューティングの世界に起きた最良かつ最悪のことだ。 “.. Sperm Whale that exploded in the streets of Taiwan over the summer. Whale guts everywhere, covering cars, motorcycles, pedestrians. That's Perl. It's charming, really.” Perlは夏の台湾の通りの上で破裂したマッコウクジラだ。はらわたがそこら中に飛び 散って、⾞車や⾃自転⾞車や歩⾏行者を覆っている。それがPerlだ。本当にチャーミングだ 。 Image source
  8. # 5

  9. New language for Technical Computing 2012~. Started in MIT. Active

    community. High-level & Dynamic Sophisticated type system. Multiple dispatch.
  10. New language for Technical Computing 2012~. Started in MIT. Active

    community. High-level & Dynamic Sophisticated type system. Multiple dispatch. High Performance
 JIT Compiler. Comparable to C and Fortran.
  11. Why new language? Two-tier Architectures High-level logic in dynamic language

    e.g. Python Heavy lifting in low-level language e.g. C, Fortran
  12. Why new language? Compromise between convenience & performance. Two-tier Architectures

    High-level logic in dynamic language e.g. Python Heavy lifting in low-level language e.g. C, Fortran
  13. Why new language? Compromise between convenience & performance. Two-tier Architectures

    We want to do everything in one productive language! High-level logic in dynamic language e.g. Python Heavy lifting in low-level language e.g. C, Fortran
  14. Speed up existing languages? Language design under assumption it would

    be implemented as an interpreter. Sabotages ability to generate efficient code.
  15. M U LT I P L E D I S

    PAT C H code: docs.julialang.org/en/latest/manual/methods/
  16. M U LT I P L E D I S

    PAT C H code: docs.julialang.org/en/latest/manual/methods/ "The Design Impact of Multiple Dispatch" Stefan Karpinski @ Strange Loop
  17. H O M O I C O N I C

    I T Y C O D E A S D ATA
  18. H O M O I C O N I C

    I T Y C O D E A S D ATA Macros!
  19. MCMC, Optimisations, Linear Models, Text Analysis, Time Series, OpenGL, DataFrames,

    Arduino, CUDA, Visualisation, etc… docs.julialang.org/en/latest/packages/packagelist/
  20. ?

  21. cpplover.blogspot.jp/2012/04/pythonjulia.html “I believe Julia and Python is a match made

    in heaven” - Dag Sverre Seljebotn (Cython core developer) Julia, Python and Cython - julia-dev | Google Groups
  22. W H Y P Y T H O N I

    S T H E L A S T L A N G U A G E Y O U ' L L H AV E T O L E A R N Jake Vanderplas jakevdp.github.io/blog/2012/09/20/why-python-is-the-last/
  23. julialang.org New language for Technical Computing 2012~. Started in MIT.

    Active community. High-level & Dynamic Sophisticated type system. Multiple dispatch. High Performance
 JIT Compiler. Comparable to C and Fortran.
  24. ‣ Julia: A Fast Dynamic Language for Technical Computing Academic

    paper ‣ An introductory presentation ‣ Learn X in Y minutes - where X=julia ‣ Videos from the Julia tutorial at MIT ‣ Julia tutorial @ DataGotham2013 ‣ Forio Julia tutorial ‣ Project Euler with Julia ‣ Linear Models with Julia ‣ “Julia: A Fast Dynamic Language for Technical Computing” @ SciPy 2012 ‣ “Julia and Python: a dynamic duo for scientific computing” @ SciPy 2013 G E T T I N G S TA R T E D …