Nobukazu Hanada
あるところでは、「サンタさん」というあだ名で呼ばれる事が在ります。 花田 (はなだ) 恒一(のぶかず)と申します。 恒一(こういち)とは読みません。 Lispが好きです。
By Nobkz
# CHAPTER 2
花田 恒一(はなだ のぶかず)
VPLとは?
VPLについて紹介する。
VPLにおける誤解と、難しさ、可能性
私の仕事について
# CHAPTER 2
# PRESENTING CODE
VPL(Visual Programing Language)とは、プログラムを視覚的に表現し、視覚的なオブジェクトを直接操作することによって、プログラミングができる言語のことを言う。
VPL(Visual Programing Language)とは、プログラムを視覚的に表現し、視覚的なオブジェクトを直接操作することによって、プログラミングができる言語のことを言う。
VPL(Visual Programing Language)とは、プログラムを視覚的に表現し、視覚的なオブジェクトを直接操作することによって、プログラミングができる言語のことを言う。
VPLには沢山の言語が存在しているが、いくつか種類に分けられる
Scratchに代表されるVPLであり、一つのブロックが一つの手続きに対応している。
まず、みんなが思い浮かぶのがこれ。
MaxやQuartz Composerなどのデータの流れを記述していく言語。テキストにおける関数型言語との相性が非常に良い。
プログラミング自体を高度にビジュアライズしており、
テキスト言語にモデル化できない言語
# PRESENTING CODE
前に進む(10);
右に曲がる(90);
色を変える(255,0,0);
前に進む
10
右に曲がる
90
色を変える
255
0
0
手続き言語のVPLは、手続き言語のテキスト言語を一対一対応したものが多い。
# PRESENTING CODE
function main(){
func1(10);
func2(20);
func3(3);
}
function main2(){
func1(10);
func2(20);
func3(3);
}
function main3(){
func1(10);
func2(20);
func3(3);
}
テキストは縦に
func1
10
func2
90
func3
3
function
main
func1
10
func2
90
func3
3
function
main2
func1
10
func2
90
func3
3
function
main3
VPLは平面(立体的)に伸びていく
# PRESENTING CODE
main = mapM_ putStrLn (map show [1..10])
1
10
Range
show
map
putStrLn
mapM
main
データフローは関数型言語を非常に相性が良く、
関数型言語における構造の把握に難しさを緩和してくれる。
線の色で、データ型を表現できる。
# PRESENTING CODE
# PRESENTING CODE
# PRESENTING CODE
# CHAPTER 2
文字で書いた方が整理しやすい!
# PRESENTING CODE
テキストも酷い例沢山ある
# PRESENTING CODE
確かに一部のビジュアル言語(scratchなど)では、関数にするなど、構造化機能がない言語もありますが、ビジュアル言語全体に構造化機能がないわけではありません。
# PRESENTING CODE
テキスト言語の場合
ビジュアル言語の場合
コードエディタ
実行環境
コードエディタ+実行環境
# PRESENTING CODE
言語仕様を記述するのが大変。
ドキュメントを作るのが大変
# PRESENTING CODE
ビジュアル言語の課題点として、バージョン管理をどうするか?という課題があります。
# PRESENTING CODE
テキスト言語との合流
テキスト資産の活用
プログラミングの表現力や、周辺技術、など
Live Coding、 Auto Refactoring、さらなる計算モデルの開発
# PRESENTING CODE
新しいUIにたいする良い、プログラミング体験
ファイルベースOSではなくオブジェクトベースでのプログラミング環境
# PRESENTING CODE
By Nobukazu Hanada
あるところでは、「サンタさん」というあだ名で呼ばれる事が在ります。 花田 (はなだ) 恒一(のぶかず)と申します。 恒一(こういち)とは読みません。 Lispが好きです。