$30 off During Our Annual Pro Sale. View Details »

Juliaのこれまでとこれから

 Juliaのこれまでとこれから

Sorami Hisamoto

July 05, 2014
Tweet

More Decks by Sorami Hisamoto

Other Decks in Programming

Transcript

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

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

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

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

    C΍Fortranʹඖఢ͢ΔϨϕϧ..?
  6. Code: julialang.org/

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

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

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

  10. Image:

  11. ͳͥ৽͍͠ݴޠ? Image:

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

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

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

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

    C, Fortran Image:
  16. طଘͷݴޠΛ ଎͘͢Ε͹͍͍ͷͰ͸ʁ

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

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

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

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

  21. 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
  22. Juliaͷେ෦෼͸JuliaͰ࡞ΒΕ͍ͯΔ

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

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

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

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

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

  28. None
  29. ೥݄೔ ࠷ॳͷDPNNJU

  30. ೥݄೔ ࠷ॳͷDPNNJU ೥݄ ެ։

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

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

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

  34. Around Julia

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

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

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

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

    ։ൃ్্ͷ΋ͷ΋ଟ͍ R΍Pythonʹൺ΂Δͱ·ͩ·ͩ
  39. juliaopt.org/ ϝʔϦϯάϦετ: groups.google.com/forum/#!forum/julia-opt

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

    & Joey Huchette @ JuliaCon
  41. ϝʔϦϯάϦετ: groups.google.com/forum/#!forum/julia-stats github.com/JuliaStats

  42. juliastats.github.io/DataFrames.jl/

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

  44. IJulia Ipython for Julia ! Powerful browser-based graphical notebook Image:

    julialang.org/ github.com/JuliaLang/IJulia.jl
  45. forio.com/julia/

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

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

  48. 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
  49. Julia in Action

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

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

  52. 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
  53. quora.com/Where-is-Julia-used-in-production

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

  55. ex.nicovideo.jp/denou/tournament/

  56. ex.nicovideo.jp/denou/tournament/

  57. julialang.org/teaching/

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

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

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

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

  62. Future of Julia

  63. ?

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

  65. 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
  66. conference.scipy.org/scipy2013/presentation_detail.php?id=203

  67. 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/
  68. Foreign Function Interface (FFI) ‣ C: ccall() ‣ Python: Pycall.jl

    ‣ Matlab: Matlab.jl ‣ Java: JavaCall.jl ‣ C++: coming soon
  69. Julia’s Role in Data Science John Myles White, 2013೥10݄

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

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

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

    PythonͱͷΑΓີ઀ͳ࿈ܞ e.g. ϘτϧωοΫΛCythonͰͳ͘JuliaͰ࣮૷ σʔλɾΠϯϑϥͱ
 ϞσϦϯάɾπʔϧͷվળ R͔Βͷ౷ܭػೳͷϙʔτ Scikit-learnͳͲͷPythonϥΠϒϥϦ΁ͷΠϯλʔϑΣΠεͷॆ࣮
  73. juliacon.org/

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

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

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

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

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

  79. Appendix

  80. ‣ 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 
 ! ν ϡ ʔ τ Ϧ Ξϧ ͳ Ͳ
  81. ‣ Leah Hanson: Julia Helps ‣ Reddit: The Julia Language

    Subreddit ‣ Stack Overflow: Newest 'julia-lang' Questions ‣ Quora: Julia (programming language) !
  82. ‣ “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 ൃ ද