SlideShare a Scribd company logo
1 of 49
Download to read offline
樣々な言語を學ぼう
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
Vim¦NeoVim使ってる方?✋
Emacs使ってる方?✋
私はどっちも使ってます
メインのプログラミング言語は何ですか?✋
(複數回答在り)
// JavaScript
xs=[11,0,26,37,11,0,52]
xs.reduce((x,a)=>x+a)/xs.length
19.571428571428573
// Python
from statistics import mean
xs=[11,0,26,37,11,0,52]
mean(xs)
19.571428571428573
# Ruby
xs=[11,0,26,37,11,0,52]
xs.sum.to_f/xs.size
19.571428571428573
# Crystal
xs=[11,0,26,37,11,0,52]
xs.reduce{¦x,a¦x+a}.to_f / xs.size
19.571428571428573
# Elixir
xs=[11,0,26,37,11,0,52]
Enum.sum(xs)/length(xs)
19.571428571428573
% Erlang
Xs=[11,0,26,37,11,0,52]
lists:foldr(fun(X,A)->X+A end,0,Xs)/length(Xs).
19.571428571428573
; CommonLisp
(defvar xs '(11 0 26 37 11 0 52))
(/ (float (apply #'+ xs)) (length xs))
19.571428
// Go
package main
import ("fmt")
func main() {
xs:=[]float64{11,0,26,37,11,0,52}
sum:=0.0
for _,x:=range xs {
sum+=x
}
fmt.Println(float64(sum)/len(xs))
}
19.571428571428573
// Rust
fn main() {
let xs=[11,0,26,37,11,0,52];
println!("{}",xs.iter().fold(0,¦a,x¦a+x) as f64/xs.len() as f64);
}
19.571428571428573
// Scala
def xs = List(11,0,26,37,11,0,52)
xs.sum.toDouble/xs.length
19.571428571428573
-- Haskell
xs=[11,0,26,37,11,0,52]
foldr(+)0xs/(fromIntegral.length$xs)
19.571428571428573
-- Haskell
xs=[11,0,26,37,11,0,52]
((/).foldr(+)0)<*>(fromIntegral.length)$xs
19.571428571428573
// Kitten
[11,0,26,37,11,0,52] -> xs; xs dup 0 {(+)} foldr swap length (/)
19i32
樣々な言語を學ぼ
NB. J
xs=.11 0 26 37 11 0 52
(+/%#)xs
19.571428571428573
殘念だったなここで學べるのはJ言語だけだ
J言語を讃える
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
NB. J
xs=.11 0 26 37 11 0 52
(+/%#)xs
19.571428571428573
load plot
vel=.11 0 26 37 11 0 52
plot vel,(2,#vel)$((vel+_1(¦.!.((+/%#)vel))vel+_2(¦.!.((+/%#)vel))vel)%3)
load plot
rotate=:1ad1&*
'x y'=:¦:+.rotate^:(i.360)1j0
plot x;y
load'plot'
fr=:+/"1@(=/)
scores=.85 79 63 91 85 69 77 64 78 93 72 66 48 76 81 79
pd'new'
pd'type bar'
pd'xlabel "40" "50" "60" "70" "80" "90"'
pd 4 5 6 7 8 9 fr<.scores%10
pd'show'
術語
Noun 名詞 = 値
Monadic Verb 動詞 = 値→値 = 函數
Dyadic Verb 動詞 = 値→値→値 = 函數
Adverb 副詞 = 函數→函數
Conjunction 接続詞 = 函數→函數→函數
point-free style
(tacit programming)
SKIコンビネータ
Ix = x
Kxy = x
Sxyz = xz(yz)
SKIコンビネータ
Ix = x
Kxy = x ⇐ 削除
Sxyz = xz(yz) ⇐ 複製
SKIコンビネータ
自己適用
SIIx = (Ix)Ix = xx
SKIコンビネータ
再歸
Y = S(K(SII))(S(S(KS)K)(K(SII)))
Yx = xYx
Monadic: fx
X→A
Dyadic: xfy
X
├→A
Y
Left: x[y x
X
├→X
Y
Right: x]y y
X
├→Y
Y
Monadic fork: (fgh)x (fx)g(hx)
┌X→W
X┤ ├→A
└X→Z
Dyadic fork: x(fgh)y (xfy)g(xhy)
┌──X
│ ├→W
X┤ ┌Y │
Y──┤ ├→A
└──X │
│├→Z
└Y
Monadic hook: (fg)x xf(gx)
┌ X→Z
X┤ ├→A
└──X
Dyadic hook: x(fg)y xf(gy)
X
├→A
Y→Z
Monadic capped fork: ([:fg)x f(gx)
X→Y→A
Dyadic capped fork: x([:fg)y f(xgy)
X
├→Z→A
Y
Monadic noun fork: (nfg)x nf(gx)
N
├→A
X→Z
Dyadic noun fork: x(nfg)y nf(xgy)
N
X ├→A
├→Z
Y
動詞
覺える
quicksort=:(($:@(<#[),(=#[),$:@(>#[))({ ?@#))^:(1<#)
' ' (('¦' E. B) # i.#B) } B=.}.}:1{":(<'FizzBuzz') (<:(0 E. 15 ¦ A) # A) } (<'Buzz') (<:(0 E
. 5 ¦ A) # A) } (<'Fizz') (<:(0 E. 3 ¦ A) # A) } <"0 A=.>:i.100
1│2│Fizz│4│Buzz│Fizz│7│8│Fizz│Buzz│11│Fizz│13│14│FizzBuzz
│16│17│Fizz│19│Buzz│Fizz│22│23│Fizz│Buzz│26│Fizz│28│29│
FizzBuzz│31│32│Fizz│34│Buzz│Fizz│37│38│Fizz│Buzz│41│Fizz│4
3│44│FizzBuzz│46│47│Fizz│49│Buzz│Fizz│52│53│Fizz│Buzz│56
│Fizz│58│59│FizzBuzz│61│62│Fiz...
((+:>.!!^*_),(>.!>:%:^^*_),(+:<.*:*:^*_),(+:<.*:*:^*_),(<.^>:>:^*_),(<.*:*:!-^*_),(+:>.^^*_),(<:!>.!
^*_),(<.^>:>:^*_),(<.-:*:^^*_),(+:<.*:*:^*_),(*:+:>.!^*_),(>:+:>.^^*_)){".((*_){>(+:*:>.^*_)!:(>.!
^*_)''),'.
Hello, world!
jdと云ふ組み込みRDBが在る
ODBCで外部のDBに接續出來る
jhsと云ふ組み込みWeb serverが在る
↓
Web applicationが作れる
簡單にグラフを描ける
アニメーションも出來る
↓
システムをモニタリングできる
フラクタルも描ける
J言語を讃えた

More Related Content

Viewers also liked

Minerals, Extraction of Minerals and Energy Resources
Minerals, Extraction of Minerals and Energy ResourcesMinerals, Extraction of Minerals and Energy Resources
Minerals, Extraction of Minerals and Energy Resourcesminahiltayab
 
New tech trends - How new tech is impacting society around the world
New tech trends - How new tech is impacting society around the world New tech trends - How new tech is impacting society around the world
New tech trends - How new tech is impacting society around the world Minter Dial
 
Snowstorms in New York City
Snowstorms in New York CitySnowstorms in New York City
Snowstorms in New York Cityguimera
 
Ugrc 140 (earth resources)
Ugrc 140 (earth resources)Ugrc 140 (earth resources)
Ugrc 140 (earth resources)Saviour Gidi
 
Will San Francisco Be 100 Percent Renewable by 2020?
Will San Francisco Be 100 Percent Renewable by 2020?Will San Francisco Be 100 Percent Renewable by 2020?
Will San Francisco Be 100 Percent Renewable by 2020?Peter Getty
 
THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...
THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...
THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...Lakshmi Ravi Chandu Kolusu
 
Piezoelectricity : Think Locally, Act Globally
Piezoelectricity : Think Locally, Act GloballyPiezoelectricity : Think Locally, Act Globally
Piezoelectricity : Think Locally, Act GloballyZaahir Salam
 
Crystal structures in material science
Crystal structures in material scienceCrystal structures in material science
Crystal structures in material scienceSachin Hariprasad
 
Bajaj Auto Presentation
Bajaj Auto Presentation Bajaj Auto Presentation
Bajaj Auto Presentation Ayush Parekh
 
Сколько слайдов в самый раз?
Сколько слайдов в самый раз?Сколько слайдов в самый раз?
Сколько слайдов в самый раз?ProstoPreza.ru
 
7 базовых сюжетов сторителлинга для вашей презентации
7 базовых сюжетов сторителлинга для вашей презентации7 базовых сюжетов сторителлинга для вашей презентации
7 базовых сюжетов сторителлинга для вашей презентацииInspired presentation
 
Презентация высокого полета экспресс курс
Презентация высокого полета экспресс курсПрезентация высокого полета экспресс курс
Презентация высокого полета экспресс курсWebinar.ru
 
Почему презентации так трудно делать?
Почему презентации так трудно делать?Почему презентации так трудно делать?
Почему презентации так трудно делать?Alexei Kapterev
 
Как стать супергероем презентаций: дизайн
Как стать супергероем презентаций: дизайнКак стать супергероем презентаций: дизайн
Как стать супергероем презентаций: дизайнAlexey Ivanov
 

Viewers also liked (18)

Minerals, Extraction of Minerals and Energy Resources
Minerals, Extraction of Minerals and Energy ResourcesMinerals, Extraction of Minerals and Energy Resources
Minerals, Extraction of Minerals and Energy Resources
 
New tech trends - How new tech is impacting society around the world
New tech trends - How new tech is impacting society around the world New tech trends - How new tech is impacting society around the world
New tech trends - How new tech is impacting society around the world
 
Snowstorms in New York City
Snowstorms in New York CitySnowstorms in New York City
Snowstorms in New York City
 
Ugrc 140 (earth resources)
Ugrc 140 (earth resources)Ugrc 140 (earth resources)
Ugrc 140 (earth resources)
 
Will San Francisco Be 100 Percent Renewable by 2020?
Will San Francisco Be 100 Percent Renewable by 2020?Will San Francisco Be 100 Percent Renewable by 2020?
Will San Francisco Be 100 Percent Renewable by 2020?
 
THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...
THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...
THE CRYSTAL, LONDON: A SUSTAINABLE INTELLIGENT BUILDING CASESTUDY BY LAKSHMI ...
 
Applications of piezoelectricity
Applications of piezoelectricityApplications of piezoelectricity
Applications of piezoelectricity
 
Piezoelectricity : Think Locally, Act Globally
Piezoelectricity : Think Locally, Act GloballyPiezoelectricity : Think Locally, Act Globally
Piezoelectricity : Think Locally, Act Globally
 
An Introduction to Crystallography
An Introduction to CrystallographyAn Introduction to Crystallography
An Introduction to Crystallography
 
Crystal structures in material science
Crystal structures in material scienceCrystal structures in material science
Crystal structures in material science
 
Bajaj Auto Presentation
Bajaj Auto Presentation Bajaj Auto Presentation
Bajaj Auto Presentation
 
Think
ThinkThink
Think
 
Сколько слайдов в самый раз?
Сколько слайдов в самый раз?Сколько слайдов в самый раз?
Сколько слайдов в самый раз?
 
7 базовых сюжетов сторителлинга для вашей презентации
7 базовых сюжетов сторителлинга для вашей презентации7 базовых сюжетов сторителлинга для вашей презентации
7 базовых сюжетов сторителлинга для вашей презентации
 
Intro To Ultrasonics
Intro To UltrasonicsIntro To Ultrasonics
Intro To Ultrasonics
 
Презентация высокого полета экспресс курс
Презентация высокого полета экспресс курсПрезентация высокого полета экспресс курс
Презентация высокого полета экспресс курс
 
Почему презентации так трудно делать?
Почему презентации так трудно делать?Почему презентации так трудно делать?
Почему презентации так трудно делать?
 
Как стать супергероем презентаций: дизайн
Как стать супергероем презентаций: дизайнКак стать супергероем презентаций: дизайн
Как стать супергероем презентаций: дизайн
 

More from Sachirou Inoue

發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠Sachirou Inoue
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學Sachirou Inoue
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道Sachirou Inoue
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghettiSachirou Inoue
 
Why we update our oss dependencies.
Why we update our oss dependencies.Why we update our oss dependencies.
Why we update our oss dependencies.Sachirou Inoue
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたちSachirou Inoue
 
ElixirでNode.jsを倒す
ElixirでNode.jsを倒すElixirでNode.jsを倒す
ElixirでNode.jsを倒すSachirou Inoue
 
大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?Sachirou Inoue
 
フレームワークを求めるな。ECMAScriptを使へ。
フレームワークを求めるな。ECMAScriptを使へ。フレームワークを求めるな。ECMAScriptを使へ。
フレームワークを求めるな。ECMAScriptを使へ。Sachirou Inoue
 

More from Sachirou Inoue (20)

Elixir on Containers
Elixir on ContainersElixir on Containers
Elixir on Containers
 
發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠
 
faastCrystal
faastCrystalfaastCrystal
faastCrystal
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道
 
FaaStRuby
FaaStRubyFaaStRuby
FaaStRuby
 
DI is for us?
DI is for us?DI is for us?
DI is for us?
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghetti
 
Why we update our oss dependencies.
Why we update our oss dependencies.Why we update our oss dependencies.
Why we update our oss dependencies.
 
Test like a team.
Test like a team.Test like a team.
Test like a team.
 
Phoenix at scale
Phoenix at scalePhoenix at scale
Phoenix at scale
 
Vivaldi #cd3437
Vivaldi #cd3437Vivaldi #cd3437
Vivaldi #cd3437
 
外傷的Elixir
外傷的Elixir外傷的Elixir
外傷的Elixir
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたち
 
竝行
竝行竝行
竝行
 
ActiveHash
ActiveHashActiveHash
ActiveHash
 
boilerplate react
boilerplate reactboilerplate react
boilerplate react
 
ElixirでNode.jsを倒す
ElixirでNode.jsを倒すElixirでNode.jsを倒す
ElixirでNode.jsを倒す
 
大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?
 
フレームワークを求めるな。ECMAScriptを使へ。
フレームワークを求めるな。ECMAScriptを使へ。フレームワークを求めるな。ECMAScriptを使へ。
フレームワークを求めるな。ECMAScriptを使へ。
 

J言語を讃えた