SlideShare a Scribd company logo
1 of 48
Download to read offline
Guraプログラミング言語の紹介 
www.gura-lang.org 
Copyright © 2014 ypsitau@nifty.com 
LL Diver on Aug 23, 2014
自己紹介 
名前斉藤 寛 (ゆたか) 
開発経験組込ファームウェア から GUI まで 
使用言語C++, Gura 
職歴電機メーカ・米半導体メーカ・ベンチャ 
現職フリー というか無職 
Gura 開発に専念中 
Copyright (C) 2014 ypsitau 2/49
Agenda 
Guraとはなにか 
基本的な仕様 
イテレータ処理 
拡張モジュール 
Copyright (C) 2014 ypsitau 3/49
Guraとはなにか 
プログラム中で頻繁に出てくる 繰返し処理 
for (i = 0; i < 10; i++) { 
} 
for x in range(10): 
people.each do |person| 
end 
hoge 
冗長な制御構文なしで処理できないか? 
Copyright (C) 2014 ypsitau 4/49
ケーススタディ (1) 
数値列 -3, -2, -1, 0, 1, 2, 3 があります。 
二乗した値を求めてリストにしてください 
あなたの好きな 
言語で考えて … 
Copyright (C) 2014 ypsitau 5/49 
x 
y
Gura ならこう書く (1) 
x = [-3, -2, -1, 0, 1, 2, 3] 
y = x * x 
Copyright (C) 2014 ypsitau 6/49
Gura ならこう書く (1) 
x = [-3, -2, -1, 0, 1, 2, 3] 
y = x * x 
イテレータイテレータ1 リストからイテレータ生成 
イテレータ要素をかけ算するイテレータ生成 
イテレータを評価してリスト生成 
2 
評価3 
Copyright (C) 2014 ypsitau 7/49 
リストリスト 
リスト
ケーススタディ (2) 
テキストファイルを読み込み、行番号つきで 
画面に表示するプログラムをつくってください 
Think it with your 
favorite language … 
1: #include <std 
2: int main() 
3: { 
4: printf(“H 
5: } 
Copyright (C) 2014 ypsitau 8/49
Gura ならこう書く (2) 
printf('%d: %s', 
1.., readlines('hello.c')) 
Copyright (C) 2014 ypsitau 9/49
Gura ならこう書く (2) 
printf('%d: %s', 
1.., readlines('hello.c')) 
イテレータイテレータ 
イテレータ要素ごとに関数 printf を 
実行するイテレータ生成 
イテレータを評価した後、破棄 
1 
Copyright (C) 2014 ypsitau 10/49 
評価 
2
つまり Gura とは 
イテレータから新たなイテレータを生成し、 
イテレータ 
Copyright (C) 2014 ypsitau 11/49 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
評価 
演算・評価できる言語 
Guraにおいて、この操作を「マッピング」と呼ぶ
期待できること 
繰り返し処理を簡潔に書ける 
並列処理が容易になる かも 
Copyright (C) 2014 ypsitau 12/49 
1 
2
並列処理のアイデア 
イテレータ生成の 
負荷は軽い 
イテレータ 
負荷が重いのは 
評価の段階 
Copyright (C) 2014 ypsitau 13/49 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
評価 
最終的に生成したイテレータの要素 
処理系に要素を 
分配して評価評価評価評価
Agenda 
Guraとはなにか 
基本的な仕様 
イテレータ処理 
拡張モジュール 
Copyright (C) 2014 ypsitau 14/49
基本的な仕様 
関数 
制御構文 
オブジェクト指向 
コレクション 
スコープ管理 
Copyright (C) 2014 ypsitau 15/49
基本的な仕様(1) 関数 
関数定義 (1) 
f(a:number, b:number) = { 
a * a + b * b 
呼出し例 
x = f(a => 3, b => 4) 
Copyright (C) 2014 ypsitau 16/49 
} 
x = f(3, 4) 
引数の型を指定できる 
名前つき引数指定
基本的な仕様(1) 関数 
関数定義 (2) 0 個以上の値をとる可変長引数 
f(3) // a=3, b=[] 
f(3, 1) // a=3, b=[1] 
f(3, 1, 4, 1) // a=3, b=[1,4,1] 
Copyright (C) 2014 ypsitau 17/49 
f(a, b*) = { 
// any job 
} 
呼出し例 
b+ なら 1 個以上の指定になる
基本的な仕様(1) 関数 
関数定義 (3) 
my_loop(n) {block} = { 
while (n > 0) { 
Copyright (C) 2014 ypsitau 18/49 
block() 
n -= 1 
} 
} 
呼出し例 
my_loop(3) { 
println('hello') 
} 
ブロック式を関数オブジェクトで受取る 
{block?} ならオプショナルなブロック
基本的な仕様(2) 制御構文 
繰返し処理条件分岐例外処理 
if (…) { 
} elsif (…) { 
} elsif (…) { 
} else { 
} 
try { 
} catch (…) { 
} catch (…) { 
} 
Copyright (C) 2014 ypsitau 19/49 
for (…) { 
} 
repeat (…) { 
} 
while (…) { 
} 
cross (…) { 
}
基本的な仕様(3) オブジェクト指向 
コンストラクタ 
インスタンス生成・メソッド呼出し 
Copyright (C) 2014 ypsitau 20/49 
クラス定義 
Fruit = class { 
__init__(name:string, price:number) = { 
this.name = name 
this.price = price 
} 
Print() = { 
printf('%s %dn', this.name, this.price) 
} 
} 
fruit = Fruit('Orange', 90) 
fruit.Print()
基本的な仕様(3) オブジェクト指向 
Copyright (C) 2014 ypsitau 21/49 
継承 
A = class { 
__init__(x, y) = { 
// any jobs 
} 
} 
B = class(A) { 
__init__(x, y, z) = {|x, y| 
// any jobs 
} 
} 
ベースクラス 
コンストラクタへの引数
基本的な仕様(4) コレクション 
リスト 
a = [3, 1, 4, 1, 5, 9] 
b = ['zero', 'one', 2, 3, 'four', 5] 
辞書 
c = %{ `a => 3, `b => 1, `c => 4 } 
d = %{ 
'いぬ' => 'dog', 'ねこ' => 'cat' 
Copyright (C) 2014 ypsitau 22/49 
}
基本的な仕様(5) スコープ管理 
クロージャ 
create_counter(n:number) = { 
Copyright (C) 2014 ypsitau 23/49 
function { 
n -= 1 
} 
} 
c = create_counter(4) 
c() // returns 3 
c() // returns 2 
c() // returns 1 
関数内はレキシカルスコープ
Agenda 
Guraとはなにか 
基本的な仕様 
イテレータ処理 
拡張モジュール 
Copyright (C) 2014 ypsitau 24/49
イテレータ処理 
イテレータ処理: マッピングと生成 
暗黙的マッピング 
メンバマッピング 
関数 
繰返し制御構文 
イテレータ 
イテレータイテレータ 
イテレータ 
Copyright (C) 2014 ypsitau 25/49 
マッピング 
生成 
イテレータ
Gura における リストとイテレータ 
要素がすべてメモリ上に用意されている 
['apple', 'orange', 'grape'] 
ランダムアクセスが可能 
要素をひとつずつ生成する 
Copyright (C) 2014 ypsitau 26/49 
リスト 
イテレータ 
('apple', 'orange', 'grape') 
評価しないと次の要素は分からない
Gura における リストとイテレータ 
イテレータ 
リスト評価 
Copyright (C) 2014 ypsitau 27/49 
生成
イテレータ処理(1) 暗黙的マッピング 
関数または演算子操作を行うイテレータを生成 
引数戻り値 
Copyright (C) 2014 ypsitau 28/49 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
関数 
or 
演算子 
暗黙的マッピング
イテレータ処理(1) 暗黙的マッピング 
普通の関数 
f(a:number, b:number) = { 
マッピング対応関数アトリビュート :map をつける 
Copyright (C) 2014 ypsitau 29/49 
a * b 
} 
f(a:number, b:number):map = { 
a * b 
}
イテレータ処理(1) 暗黙的マッピング 
数値f(3, 4) 
答: 12 
リストf([2, 3, 4], [3, 4, 5]) 
答: [6, 12, 20] 
イテレータf((2, 3, 4), (3, 4, 5)) 
答: (6, 12, 20) 
数値とf(5, (3, 4, 5)) 
イテレータ 
答: (15, 20, 25) 
Copyright (C) 2014 ypsitau 30/49
イテレータ処理(1) 暗黙的マッピング 
マッピング適用は引数のデータ型によって異なる 
イテレータ 
リスト 
スカラー 
イテレータ 
リスト 
イテレータ・リスト以外 
Copyright (C) 2014 ypsitau 31/49 
データ型 
を大別 
マッピング適用 3 つのルール
イテレータ処理(1) 暗黙的マッピング 
引数にイテレータがあればイテレータを生成 
Copyright (C) 2014 ypsitau 32/49 
イテレータ 
イテレータ 
リスト 
スカラー 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
イテレータ 
ルール 1
イテレータ処理(1) 暗黙的マッピング 
引数にイテレータがなく、 
Copyright (C) 2014 ypsitau 33/49 
リスト 
リストがあればリストを生成 
リスト 
リスト 
スカラー 
リスト 
リスト 
ルール 2
イテレータ処理(1) 暗黙的マッピング 
引数にスカラーのみがあればスカラーを生成 
Copyright (C) 2014 ypsitau 34/49 
スカラー 
スカラー 
スカラー 
ルール 3
イテレータ処理(2) メンバマッピング 
メンバアクセスをするイテレータを生成する機能 
price price price 
Copyright (C) 2014 ypsitau 35/49 
メンバマッピング 
fruits[0] fruits[1] fruits[2] 
name name name 
Print() Print() Print() 
インスタンスのリスト
イテレータ処理(2) メンバマッピング 
メンバアクセスをするイテレータを生成する機能 
price price price 
Copyright (C) 2014 ypsitau 36/49 
メンバマッピング 
fruits[0] fruits[1] fruits[2] 
name name name 
Print() Print() Print() 
イテレータ 
fruits:*name 
fruits:*price 
fruits:*Print() 
インスタンスのリスト
イテレータ処理(2) メンバマッピング 
例題Fruit インスタンスのメンバ price の合計を表示する 
解法1 
繰返し構文を使う 
sum = 0 
for (fruit in fruits) { 
sum += fruit.price 
メンバマッピングを使う 
Copyright (C) 2014 ypsitau 37/49 
} 
println(sum) 
解法2 
println(fruits:*price.sum())
イテレータ処理(3) 関数 
設計ポリシー 
関数イテレータ関数がデータ列を返す場合は 
リストではなくイテレータで返す 
rtn = readlines('hello.c') 
行ごとの文字列を返すイテレータ 
Copyright (C) 2014 ypsitau 38/49 
rtn = range(10) 
0 から 9 までの数値を返すイテレータ
イテレータ処理(3) 関数 
リスト 
リストがほしいときは 
アトリビュート :list を 
つけて呼び出し 
行ごとの文字列を含むリスト 
Copyright (C) 2014 ypsitau 39/49 
関数イテレータ 
rtn = readlines('hello.c'):list 
rtn = range(10):list 
0 から 9 までの数値を含むリスト
イテレータ処理(4) 繰返し制御構文 
繰返し制御構文から 
イテレータイテレータを生成 
x = for (…):iter { 
アトリビュート :iter をつける 
Copyright (C) 2014 ypsitau 40/49 
繰返し制御構文 
生成値 
繰返し処理 
} 
繰返し処理の評価値が 
イテレータの要素値になる 
for 
repeat 
while 
cross
イテレータ処理(4) 制御構文イテレータ 
制御構文イテレータの使用例 
n = 0 
x = for (i in 0..5):iter { 
Copyright (C) 2014 ypsitau 41/49 
n += i 
} 
この時点では何も実行しない 
println(x) 
結果を表示: 0 1 3 6 10 15
イテレータ処理(4) 制御構文イテレータ 
素数を生成するイテレータ 
Copyright (C) 2014 ypsitau 42/49 
prime() = { 
p = [] 
for (n in 2..):xiter { 
if (!(n % p.each() == 0).or()) { 
p.add(n) 
n 
} 
} 
} 
primes = prime() 
素数(2, 3, 5, 7..)を返すイテレータ
Agenda 
Guraとはなにか 
基本的な仕様 
イテレータ処理 
拡張モジュール 
Copyright (C) 2014 ypsitau 43/49
拡張モジュール 
設計ポリシー 
Gura インタープリタ本体は OS 特有の機能や 
ライブラリにできるだけ依存しない 
モジュールを import して機能拡張する 
モジュール 
モジュールモジュール 
Guraインタープリタ 
モジュールモジュールモジュール 
Copyright (C) 2014 ypsitau 44/49
おもなモジュール 
テキスト処理 
CSV XML yaml 
正規表現 
markdown 
アーカイブ・圧縮 
TAR ZIP GZIP BZIP 
Copyright (C) 2014 ypsitau 45/49 
GUI 
wxWidgets Tk SDL 
グラフィック描画 
Cairo OpenGL FreeType 
イメージデータ 
JPEG PNG GIF BMP 
ICO XPM PPM TIFF 
ネットワーク 
cURL サーバ機能
モジュール間連携 
JPEG PNG GIF BMP ICO XPM PPM TIFF 
イメージデータ読み書き 
image 
ディスプレイ出力 
Copyright (C) 2014 ypsitau 46/49 
Gura インタープリタ 
グラフィック描画 
Cairo OpenGL FreeType wxWidgets Tk SDL
こういうアプリができます 
「おうちで証明写真 Gura Shot」 
デジカメ画像から顔を抽出して 
証明写真を作成 
結果を PDF や JPEG で出力 
ファイル読込み画像構成ファイル書き込み 
JPEG image Cairo image JPEG 
ディスプレイ出力 
wxWidgets 
Copyright (C) 2014 ypsitau 47/49
ありがとうございました 
www.gura-lang.org 
Copyright (C) 2014 ypsitau 48/49

More Related Content

What's hot

Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装するShuhei Iitsuka
 
関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザーIchiro Maruta
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 Kenta Oono
 
Very helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference methodVery helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference method智啓 出川
 
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Kota Matsui
 
Practical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architecturesPractical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architecturesKoji Matsuda
 
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力imuyaoti
 
Fork/Join Framework。そしてLambdaへ。
Fork/Join Framework。そしてLambdaへ。Fork/Join Framework。そしてLambdaへ。
Fork/Join Framework。そしてLambdaへ。Yuichi Sakuraba
 
オブジェクト指向入門7
オブジェクト指向入門7オブジェクト指向入門7
オブジェクト指向入門7Kenta Hattori
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめryos36
 
S02 t1 sta_py_tsuji_0702_slides
S02 t1 sta_py_tsuji_0702_slidesS02 t1 sta_py_tsuji_0702_slides
S02 t1 sta_py_tsuji_0702_slidesTakeshi Akutsu
 
言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン Phillip言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン PhillipKazeto Yamamoto
 
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"Ken'ichi Matsui
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoderSho Tatsuno
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
 

What's hot (20)

NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
Coqチュートリアル
CoqチュートリアルCoqチュートリアル
Coqチュートリアル
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装する
 
関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用 2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
2015年9月18日 (GTC Japan 2015) 深層学習フレームワークChainerの導入と化合物活性予測への応用
 
Very helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference methodVery helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference method
 
Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2Recent Advances on Transfer Learning and Related Topics Ver.2
Recent Advances on Transfer Learning and Related Topics Ver.2
 
Practical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architecturesPractical recommendations for gradient-based training of deep architectures
Practical recommendations for gradient-based training of deep architectures
 
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力
 
boost - std - C#
boost - std - C#boost - std - C#
boost - std - C#
 
Fork/Join Framework。そしてLambdaへ。
Fork/Join Framework。そしてLambdaへ。Fork/Join Framework。そしてLambdaへ。
Fork/Join Framework。そしてLambdaへ。
 
オブジェクト指向入門7
オブジェクト指向入門7オブジェクト指向入門7
オブジェクト指向入門7
 
Polyphony IO まとめ
Polyphony IO まとめPolyphony IO まとめ
Polyphony IO まとめ
 
S02 t1 sta_py_tsuji_0702_slides
S02 t1 sta_py_tsuji_0702_slidesS02 t1 sta_py_tsuji_0702_slides
S02 t1 sta_py_tsuji_0702_slides
 
言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン Phillip言語処理のための仮説推論エンジン Phillip
言語処理のための仮説推論エンジン Phillip
 
「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"「深層学習」勉強会LT資料 "Chainer使ってみた"
「深層学習」勉強会LT資料 "Chainer使ってみた"
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
 

Viewers also liked

Introduction to Gura Programming Language
Introduction to Gura Programming LanguageIntroduction to Gura Programming Language
Introduction to Gura Programming LanguageYutaka Saito
 
正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜Ryoma Sin'ya
 
コードレビューの文化を手探りで作っていった話
コードレビューの文化を手探りで作っていった話コードレビューの文化を手探りで作っていった話
コードレビューの文化を手探りで作っていった話yasuhiro kiyota
 
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Muneaki Nishimura
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringYahoo!デベロッパーネットワーク
 

Viewers also liked (9)

Introduction to Gura Programming Language
Introduction to Gura Programming LanguageIntroduction to Gura Programming Language
Introduction to Gura Programming Language
 
正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜正規表現に潜む対称性 〜等式公理による等価性判定〜
正規表現に潜む対称性 〜等式公理による等価性判定〜
 
コードレビューの文化を手探りで作っていった話
コードレビューの文化を手探りで作っていった話コードレビューの文化を手探りで作っていった話
コードレビューの文化を手探りで作っていった話
 
Boost.SIMD
Boost.SIMDBoost.SIMD
Boost.SIMD
 
Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門Webアプリ開発者のためのHTML5セキュリティ入門
Webアプリ開発者のためのHTML5セキュリティ入門
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 

Similar to Gura プログラミング言語の紹介

新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案yohhoy
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイドEtsuji Nakai
 
2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest information2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest informationSony Network Communications Inc.
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017wada, kazumi
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPAkira Takahashi
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 Nobuaki Oshiro
 
Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7Takaaki Suzuki
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装Shinya Akiba
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)Hiro H.
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Springanyakichi
 
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~Fujio Kojima
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101Nobuaki Oshiro
 

Similar to Gura プログラミング言語の紹介 (20)

Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest information2018/06/23 Sony"s deep learning software and the latest information
2018/06/23 Sony"s deep learning software and the latest information
 
Rの高速化
Rの高速化Rの高速化
Rの高速化
 
Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017Ⅰ. Rの基礎 2017
Ⅰ. Rの基礎 2017
 
Replace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JPReplace Output Iterator and Extend Range JP
Replace Output Iterator and Extend Range JP
 
10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920 10分で分かるr言語入門ver2.9 14 0920
10分で分かるr言語入門ver2.9 14 0920
 
Aedlabo program 20150125
Aedlabo program 20150125Aedlabo program 20150125
Aedlabo program 20150125
 
Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7Live Coding で学ぶ C# 7
Live Coding で学ぶ C# 7
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
 
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
 
C#6.0の新機能紹介
C#6.0の新機能紹介C#6.0の新機能紹介
C#6.0の新機能紹介
 
ji-6. 配列
ji-6. 配列ji-6. 配列
ji-6. 配列
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Spring
 
2023_freshman
2023_freshman2023_freshman
2023_freshman
 
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
C#の新機能勉強会 ~ C#7、8の新機能を活用して速く安全なプログラムを書こう~
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
 

Gura プログラミング言語の紹介