Slide 1

Slide 1 text

+VMJBͷ͜Ε·Ͱͱ͜Ε͔Β 2014.07.05 @sorami

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

ٕज़ܭࢉͷͨΊͷ৽ݴޠ 2012~ MITϥΠηϯε ׆ൃͳίϛϡχςΟ

Slide 4

Slide 4 text

ٕज़ܭࢉͷͨΊͷ৽ݴޠ 2012~ MITϥΠηϯε ׆ൃͳίϛϡχςΟ ɹϞμϯ ಈత ચ࿅͞ΕͨܕγεςϜ ଟॏσΟεύον

Slide 5

Slide 5 text

ٕज़ܭࢉͷͨΊͷ৽ݴޠ 2012~ MITϥΠηϯε ׆ൃͳίϛϡχςΟ ɹϞμϯ ಈత ચ࿅͞ΕͨܕγεςϜ ଟॏσΟεύον εϐʔυ
 LLVMϕʔεͷJITίϯύΠϥ C΍Fortranʹඖఢ͢ΔϨϕϧ..?

Slide 6

Slide 6 text

Code: julialang.org/

Slide 7

Slide 7 text

Code: julialang.org/ MATLAB΍Python෩ͷจ๏

Slide 8

Slide 8 text

Code: julialang.org/ MATLAB΍Python෩ͷจ๏ Noteworthy Differences from other Languages

Slide 9

Slide 9 text

Code: julialang.org/ MATLAB΍Python෩ͷจ๏ Noteworthy Differences from other Languages AppendixʹࢿྉͷϦετ͕͋Γ·͢

Slide 10

Slide 10 text

Image:

Slide 11

Slide 11 text

ͳͥ৽͍͠ݴޠ? Image:

Slide 12

Slide 12 text

ͳͥ৽͍͠ݴޠ? 2ஈߏ଄ Image:

Slide 13

Slide 13 text

ͳͥ৽͍͠ݴޠ? 2ஈߏ଄ ߴϨϕϧͷϩδοΫ͸ಈతݴޠ e.g. R, Python ଎͕͞ඞཁͳͱ͖͸௿ਫ४ݴޠ e.g. C, Fortran Image:

Slide 14

Slide 14 text

ͳͥ৽͍͠ݴޠ? ศར͞ͱ଎͞ͷτϨʔυΦϑ 2ஈߏ଄ ߴϨϕϧͷϩδοΫ͸ಈతݴޠ e.g. R, Python ଎͕͞ඞཁͳͱ͖͸௿ਫ४ݴޠ e.g. C, Fortran Image:

Slide 15

Slide 15 text

ͳͥ৽͍͠ݴޠ? ศར͞ͱ଎͞ͷτϨʔυΦϑ 2ஈߏ଄ શ෦ͻͱͭͷݴޠͰ΍Γ͍ͨ! ߴϨϕϧͷϩδοΫ͸ಈతݴޠ e.g. R, Python ଎͕͞ඞཁͳͱ͖͸௿ਫ४ݴޠ e.g. C, Fortran Image:

Slide 16

Slide 16 text

طଘͷݴޠΛ ଎͘͢Ε͹͍͍ͷͰ͸ʁ

Slide 17

Slide 17 text

طଘͷݴޠΛ ଎͘͢Ε͹͍͍ͷͰ͸ʁ → ΠϯλϓϦλͰͷ࣮૷Λ
 ɹ Ծఆͯ͠ઃܭ͞Ε͍ͯΔɻ → ߴ଎Խ͕೉͍͠ɻ

Slide 18

Slide 18 text

Graph: github.com/ViralBShah/julia-presentations/raw/master/Fifth-Elephant-2013/Fifth-Elephant-2013.pdf

Slide 19

Slide 19 text

Graph: github.com/ViralBShah/julia-presentations/raw/master/Fifth-Elephant-2013/Fifth-Elephant-2013.pdf

Slide 20

Slide 20 text

Graph: github.com/ViralBShah/julia-presentations/raw/master/Fifth-Elephant-2013/Fifth-Elephant-2013.pdf ͪΌΜͱॻ͔ͳ͍ͱ଎͘ͳΒͳ͍ e.g. ܕ, de-vectorization,…

Slide 21

Slide 21 text

Graph: github.com/ViralBShah/julia-presentations/raw/master/Fifth-Elephant-2013/Fifth-Elephant-2013.pdf ͪΌΜͱॻ͔ͳ͍ͱ଎͘ͳΒͳ͍ e.g. ܕ, de-vectorization,… Fast Numeric Computation in Julia Performance Tips — Julia Language documentation

Slide 22

Slide 22 text

Juliaͷେ෦෼͸JuliaͰ࡞ΒΕ͍ͯΔ

Slide 23

Slide 23 text

Juliaͷେ෦෼͸JuliaͰ࡞ΒΕ͍ͯΔ JuliaϢʔβʔ͕த਎Λཧղ͠΍͍͢

Slide 24

Slide 24 text

JuliaϢʔβʔ͕Juliaͷ։ൃʹؔΘΔϋʔυϧ͕௿͍ Juliaͷେ෦෼͸JuliaͰ࡞ΒΕ͍ͯΔ JuliaϢʔβʔ͕த਎Λཧղ͠΍͍͢

Slide 25

Slide 25 text

JuliaϢʔβʔ͕Juliaͷ։ൃʹؔΘΔϋʔυϧ͕௿͍ Juliaͷେ෦෼͸JuliaͰ࡞ΒΕ͍ͯΔ PythonϢʔβʔ͕Numpyͷ։ൃʹؔΘΔͷ͸೉͍͠ JuliaϢʔβʔ͕த਎Λཧղ͠΍͍͢

Slide 26

Slide 26 text

C github.com/JuliaLang/julia/blob/master/test/perf/micro/perf.c

Slide 27

Slide 27 text

C Julia github.com/JuliaLang/julia/blob/master/test/perf/micro/perf.c julialang.org/

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

೥݄೔ ࠷ॳͷDPNNJU

Slide 30

Slide 30 text

೥݄೔ ࠷ॳͷDPNNJU ೥݄ ެ։

Slide 31

Slide 31 text

೥݄೔ ࠷ॳͷDPNNJU ೥݄ ެ։ ೥݄ WϦϦʔε

Slide 32

Slide 32 text

೥݄೔ ࠷ॳͷDPNNJU ೥݄ ެ։ ೥݄ WϦϦʔε ೥݄ WϦϦʔε

Slide 33

Slide 33 text

೥݄೔ ࠷ॳͷDPNNJU ೥݄ ެ։ ೥݄ WϦϦʔε ೥݄ +VMJB$PO ೥݄ WϦϦʔε

Slide 34

Slide 34 text

Around Julia

Slide 35

Slide 35 text

docs.julialang.org/en/latest/packages/packagelist/

Slide 36

Slide 36 text

࠷దԽ, ౷ܭϞσϧ, ࣌ܥྻ෼ੳ, ՄࢹԽ, Webαʔόʔ,ϚΠΫϩϑϨʔϜϫʔΫ, ϨΠτϨʔγϯά, CUDA, OpenGL, … docs.julialang.org/en/latest/packages/packagelist/

Slide 37

Slide 37 text

࠷దԽ, ౷ܭϞσϧ, ࣌ܥྻ෼ੳ, ՄࢹԽ, Webαʔόʔ,ϚΠΫϩϑϨʔϜϫʔΫ, ϨΠτϨʔγϯά, CUDA, OpenGL, … docs.julialang.org/en/latest/packages/packagelist/ ։ൃ్্ͷ΋ͷ΋ଟ͍

Slide 38

Slide 38 text

࠷దԽ, ౷ܭϞσϧ, ࣌ܥྻ෼ੳ, ՄࢹԽ, Webαʔόʔ,ϚΠΫϩϑϨʔϜϫʔΫ, ϨΠτϨʔγϯά, CUDA, OpenGL, … docs.julialang.org/en/latest/packages/packagelist/ ։ൃ్্ͷ΋ͷ΋ଟ͍ R΍Pythonʹൺ΂Δͱ·ͩ·ͩ

Slide 39

Slide 39 text

juliaopt.org/ ϝʔϦϯάϦετ: groups.google.com/forum/#!forum/julia-opt

Slide 40

Slide 40 text

juliaopt.org/ ϝʔϦϯάϦετ: groups.google.com/forum/#!forum/julia-opt "JuliaOpt: Optimization packages for Julia" Iain Dunning & Joey Huchette @ JuliaCon

Slide 41

Slide 41 text

ϝʔϦϯάϦετ: groups.google.com/forum/#!forum/julia-stats github.com/JuliaStats

Slide 42

Slide 42 text

juliastats.github.io/DataFrames.jl/

Slide 43

Slide 43 text

Gadfly.jl ggplot2 for Julia dcjones.github.io/Gadfly.jl/

Slide 44

Slide 44 text

IJulia Ipython for Julia ! Powerful browser-based graphical notebook Image: julialang.org/ github.com/JuliaLang/IJulia.jl

Slide 45

Slide 45 text

forio.com/julia/

Slide 46

Slide 46 text

Jewel.jl + github.com/one-more-minute/Jewel lighttable.com

Slide 47

Slide 47 text

Juno (ex. Jupiter) github.com/one-more-minute/Jupiter-LT Julia༻؀ڥ LightTable+Jewel

Slide 48

Slide 48 text

World of Julia, 2014-06-30 (created by jiahao) ੺: JuliaͷίϯτϦϏϡʔλʔ ੨: ύοέʔδͷίϯτϦϏϡʔλʔ ྘: JuliaϨϙδτϦΛwatch͍ͯ͠Δਓ ࢵ: JuliaϨϙδτϦʹελʔΛ͚ͭͨਓ github.com/jiahao/ijulia-notebooks/blob/master/2014-06-30-world-of-julia.ipynb

Slide 49

Slide 49 text

Julia in Action

Slide 50

Slide 50 text

www.mit.edu/~mlubin/juliacomputing.pdf

Slide 51

Slide 51 text

Julia&in&Produc-on& A"personal"journey" Avik&&Sengupta& JuliaCon&2014& github.com/JuliaCon/presentations/tree/master/JuliaInProd

Slide 52

Slide 52 text

Julia&in&Produc-on& A"personal"journey" Avik&&Sengupta& JuliaCon&2014& ˏJuliaCon ʮࢥͬͯΔΑΓةͳ͘ͳ͍ʯ (“Not as risky as it sounds”) github.com/JuliaCon/presentations/tree/master/JuliaInProd

Slide 53

Slide 53 text

quora.com/Where-is-Julia-used-in-production

Slide 54

Slide 54 text

quora.com/Where-is-Julia-used-in-production ςΩαεେֶΦʔεςΟϯ ஍ֶ࣭ݚڀάϧʔϓ ৽نϓϩδΣΫτͰͷಋೖΛݕ౼த

Slide 55

Slide 55 text

ex.nicovideo.jp/denou/tournament/

Slide 56

Slide 56 text

ex.nicovideo.jp/denou/tournament/

Slide 57

Slide 57 text

julialang.org/teaching/

Slide 58

Slide 58 text

quora.com/Julia-programming-language/Is-Julia-ready-for-production-use

Slide 59

Slide 59 text

quora.com/Julia-programming-language/Is-Julia-ready-for-production-use ίΞ v0.1͔Βࠓ·Ͱޙํޓ׵͋Γ

Slide 60

Slide 60 text

quora.com/Julia-programming-language/Is-Julia-ready-for-production-use ίΞ v0.1͔Βࠓ·Ͱޙํޓ׵͋Γ ඪ४ϥΠϒϥϦ APIͷมߋ/࡟আલʹ͸ɺॳճར༻࣌ʹܯࠂΛग़ͯ͠ɺ Ͳ͏มߋ͢Ε͹Α͍͔໌֬ʹ఻͑ΔΑ͏ʹͳ͍ͬͯΔ

Slide 61

Slide 61 text

quora.com/Julia-programming-language/Is-Julia-ready-for-production-use ίΞ v0.1͔Βࠓ·Ͱޙํޓ׵͋Γ ඪ४ϥΠϒϥϦ APIͷมߋ/࡟আલʹ͸ɺॳճར༻࣌ʹܯࠂΛग़ͯ͠ɺ Ͳ͏มߋ͢Ε͹Α͍͔໌֬ʹ఻͑ΔΑ͏ʹͳ͍ͬͯΔ ύοέʔδ ݱঢ়Ͱ͸มԽ͕ܹ͍͠ ݴޠ΄ͲอकతͰ͸ͳ͍

Slide 62

Slide 62 text

Future of Julia

Slide 63

Slide 63 text

?

Slide 64

Slide 64 text

cpplover.blogspot.jp/2012/04/pythonjulia.html

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

conference.scipy.org/scipy2013/presentation_detail.php?id=203

Slide 67

Slide 67 text

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/

Slide 68

Slide 68 text

Foreign Function Interface (FFI) ‣ C: ccall() ‣ Python: Pycall.jl ‣ Matlab: Matlab.jl ‣ Java: JavaCall.jl ‣ C++: coming soon

Slide 69

Slide 69 text

Julia’s Role in Data Science John Myles White, 2013೥10݄

Slide 70

Slide 70 text

Julia’s Role in Data Science John Myles White, 2013೥10݄ ՄࢹԽπʔϧͷॆ࣮

Slide 71

Slide 71 text

Julia’s Role in Data Science John Myles White, 2013೥10݄ ՄࢹԽπʔϧͷॆ࣮ PythonͱͷΑΓີ઀ͳ࿈ܞ e.g. ϘτϧωοΫΛCythonͰͳ͘JuliaͰ࣮૷

Slide 72

Slide 72 text

Julia’s Role in Data Science John Myles White, 2013೥10݄ ՄࢹԽπʔϧͷॆ࣮ PythonͱͷΑΓີ઀ͳ࿈ܞ e.g. ϘτϧωοΫΛCythonͰͳ͘JuliaͰ࣮૷ σʔλɾΠϯϑϥͱ
 ϞσϦϯάɾπʔϧͷվળ R͔Βͷ౷ܭػೳͷϙʔτ Scikit-learnͳͲͷPythonϥΠϒϥϦ΁ͷΠϯλʔϑΣΠεͷॆ࣮

Slide 73

Slide 73 text

juliacon.org/

Slide 74

Slide 74 text

2014/06/26~27 @ Chicago ্࢙ॳͷJuliaʹؔ͢Δձٞ juliacon.org/

Slide 75

Slide 75 text

2014/06/26~27 @ Chicago ্࢙ॳͷJuliaʹؔ͢Δձٞ juliacon.org/ ϓϨθϯࢿྉ on GitHub Videos: coming soon

Slide 76

Slide 76 text

R։ൃऀϝʔϦϯάϦετʹͯ r.789695.n4.nabble.com/Julia-td4435583.html

Slide 77

Slide 77 text

R։ൃऀϝʔϦϯάϦετʹͯ r.789695.n4.nabble.com/Julia-td4435583.html

Slide 78

Slide 78 text

‣ ͦΕͳΓʹ࢖͑Δ͕ɺ·ͩ·ͩൃల్্ ‣ ໘ന͍ཁૉɺ׆ൃͳίϛϡχςΟ ‣ ͔ͭ͏ਓ͕ɺͭ͘Δਓ΁

Slide 79

Slide 79 text

Appendix

Slide 80

Slide 80 text

‣ Learn X in Y minutes - where X=julia ‣ Forio Julia Tutorial ‣ Julia Tutorials @ MIT IAP ‣ Julia Tutorial @ DataGotham 2013 IJulia notebook ‣ Tutorial from the Cambridge Area Julia Users Network IJulia notebook
 ‣ Juliaຊ Vol.1 ‣ ϓϩάϥϛϯάݴޠ Julia ୳๚ - Moriturus te saluto 
 ! ν ϡ ʔ τ Ϧ Ξϧ ͳ Ͳ

Slide 81

Slide 81 text

‣ Leah Hanson: Julia Helps ‣ Reddit: The Julia Language Subreddit ‣ Stack Overflow: Newest 'julia-lang' Questions ‣ Quora: Julia (programming language) !

Slide 82

Slide 82 text

‣ “Julia: Fast Performance, Distributed Computing & Multiple Dispatch”
 Stefan Karpinski @ Code Mesh 2013 ‣ “Julia: A fresh approach to technical computing and data science”
 Viral B. Shah @ Fifth Elephant 2013 (slide) ‣ “The Design Impact of Multiple Dispatch” iPython notebook
 Stefan Karpinski @ Strange Loop 2013 ‣ “Julia: A Fast Dynamic Language for Technical Computing” 
 Jeff Bezanson & Stefan Karpinski @ SciPy 2012 ‣ “Julia and Python: a dynamic duo for scientific computing” 
 Jeff Bezanson & Stefan Karpinski @ SciPy 2013 ‣ JuliaCon: Presentation Materials ൃ ද