SlideShare a Scribd company logo
樣々な言語を學ぼう
.。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
 
Applications of piezoelectricity
Applications of piezoelectricityApplications of piezoelectricity
Applications of piezoelectricity
Sakti Prasanna Muduli
 
Piezoelectricity : Think Locally, Act Globally
Piezoelectricity : Think Locally, Act GloballyPiezoelectricity : Think Locally, Act Globally
Piezoelectricity : Think Locally, Act Globally
Zaahir Salam
 
An Introduction to Crystallography
An Introduction to CrystallographyAn Introduction to Crystallography
Crystal structures in material science
Crystal structures in material scienceCrystal structures in material science
Crystal structures in material science
Sachin Hariprasad
 
Bajaj Auto Presentation
Bajaj Auto Presentation Bajaj Auto Presentation
Bajaj Auto Presentation
Ayush Parekh
 
Think
ThinkThink
Сколько слайдов в самый раз?
Сколько слайдов в самый раз?Сколько слайдов в самый раз?
Сколько слайдов в самый раз?
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

Elixir on Containers
Elixir on ContainersElixir on Containers
Elixir on Containers
Sachirou Inoue
 
發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠
Sachirou Inoue
 
faastCrystal
faastCrystalfaastCrystal
faastCrystal
Sachirou Inoue
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學
Sachirou Inoue
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道
Sachirou Inoue
 
FaaStRuby
FaaStRubyFaaStRuby
FaaStRuby
Sachirou Inoue
 
DI is for us?
DI is for us?DI is for us?
DI is for us?
Sachirou Inoue
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghetti
Sachirou 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
 
Test like a team.
Test like a team.Test like a team.
Test like a team.
Sachirou Inoue
 
Phoenix at scale
Phoenix at scalePhoenix at scale
Phoenix at scale
Sachirou Inoue
 
Vivaldi #cd3437
Vivaldi #cd3437Vivaldi #cd3437
Vivaldi #cd3437
Sachirou Inoue
 
外傷的Elixir
外傷的Elixir外傷的Elixir
外傷的Elixir
Sachirou Inoue
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたち
Sachirou Inoue
 
竝行
竝行竝行
ActiveHash
ActiveHashActiveHash
ActiveHash
Sachirou Inoue
 
boilerplate react
boilerplate reactboilerplate react
boilerplate react
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を使へ。
 

Recently uploaded

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
Yuuitirou528 default
 

Recently uploaded (7)

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
 

J言語を讃えた