Professional Documents
Culture Documents
Visual Programming
PL Visual Programming
Roadmap
Terminology
> A Quick Tour
> A Taxonomy of Taxonomies
> EToys (demo and evaluation)
>
O. Nierstrasz
11.2
PL Visual Programming
Roadmap
Terminology
> A Quick Tour
> A Taxonomy of Taxonomies
> EToys (demo and evaluation)
>
O. Nierstrasz
11.3
PL Visual Programming
Sources
>
>
>
>
>
>
http://dx.doi.org/10.1109/MS.1987.229792
ftp://ftp.cs.orst.edu/pub/burnett/VPLclassification.JVLC.Sept94.pdf
Wikipedia (!)
http://en.wikipedia.org/wiki/Visual_programming_language
www.iam.unibe.ch/~scg/cgi-bin/scgbib.cgi?query=visprog
O. Nierstrasz
11.4
PL Visual Programming
O. Nierstrasz
11.5
PL Visual Programming
Roadmap
Terminology
> A Quick Tour
> A Taxonomy of Taxonomies
> EToys (demo and evaluation)
>
O. Nierstrasz
11.6
PL Visual Programming
O. Nierstrasz
11.7
PL Visual Programming
Programming by Example
Pygmalion was an early system
to let programmers interactively
demonstrate how to compute a
function. Pygmalion would then
infer the actual algorithm.
David Canfield Smith, Pygmalion: a creative programming environment,
Ph.D. thesis, Stanford University, Stanford, CA, USA, 1975.
11.8
PL Visual Programming
Randall B. Smith, Experiences with the alternate reality kit: an example of the
tension between literalism and magic, 1987. http://dx.doi.org/10.1145/30851.30861
O. Nierstrasz
11.9
PL Visual Programming
ThingLab is a graphical
constraint satisfaction
system implemented in
Smalltalk.
O. Nierstrasz
11.10
PL Visual Programming
O. Nierstrasz
Dan Ingalls, Fabrik: A Visual Programming Environment, Proceedings OOPSLA '88, ACM
SIGPLAN Notices, vol. 23, November 1988, pp. 176-190. http://dx.doi.org/10.1145/62084.62100
11.11
PL Visual Programming
www.cs.cmu.edu/~acme/docs/language_overview.html
11.12
PL Visual Programming
11.13
PL Visual Programming
www.mactech.com/articles/mactech/Vol.10/10.11/PrographCPXTutorial/
O. Nierstrasz
11.14
PL Visual Programming
O. Nierstrasz
http://pipes.yahoo.com/pipes/
11.15
PL Visual Programming
Program
simulations by
composing
tiles
O. Nierstrasz
11.16
PL Visual Programming
OSX
Automator is
a built-in tool
for scripting
common
actions as
workflows.
O. Nierstrasz
http://www.apple.com/macosx/features/automator/
11.17
PL Visual Programming
generate both
persistence layer and
UI automatically from
domain objects.
www.nakedobjects.org
O. Nierstrasz
11.18
PL Visual Programming
http://subtextual.org/
O. Nierstrasz
11.19
PL Visual Programming
http://tfs.cs.tu-berlin.de/agg/
O. Nierstrasz
11.20
PL Visual Programming
Roadmap
Terminology
> A Quick Tour
> A Taxonomy of Taxonomies
> EToys (demo and evaluation)
>
O. Nierstrasz
11.21
PL Visual Programming
O. Nierstrasz
11.22
PL Visual Programming
O. Nierstrasz
11.23
PL Visual Programming
O. Nierstrasz
11.24
PL Visual Programming
11.25
PL Visual Programming
Roadmap
Terminology
> A Quick Tour
> A Taxonomy of Taxonomies
> EToys (demo and evaluation)
>
O. Nierstrasz
11.26
PL Visual Programming
EToys references
>
>
>
O. Nierstrasz
11.27
PL Visual Programming
EToys in a nutshell
>
>
Tile-based programming
>
>
The only thing you type are names: Scripts, Objects and Variables
The rest is composed via drag and drop of tiles.
O. Nierstrasz
11.28
PL Visual Programming
Squeaklands
version of Squeak
supports a plugin
to run Squeak
projects directly
in your browser.
O. Nierstrasz
11.29
PL Visual Programming
Squeak Projects
Squeak projects
can be used to
save the state of
a set of objects,
(i.e, not just
source code).
A project
O. Nierstrasz
11.30
PL Visual Programming
O. Nierstrasz
11.31
PL Visual Programming
O. Nierstrasz
11.32
PL Visual Programming
Morphic handles
O. Nierstrasz
www.squeakland.org/pdf/etoys_projects/
11.33
PL Visual Programming
Commands can be
dragged out to form tiles,
which can be composed
to script new commands
www.squeakland.org/pdf/etoys_projects/
O. Nierstrasz
11.34
PL Visual Programming
O. Nierstrasz
11.35
PL Visual Programming
O. Nierstrasz
11.36
PL Visual Programming
O. Nierstrasz
11.37
PL Visual Programming
O. Nierstrasz
11.38
PL Visual Programming
Step 6: publish!
O. Nierstrasz
11.39
PL Visual Programming
1.
2.
3.
4.
5.
6.
O. Nierstrasz
11.40
PL Visual Programming
Visible Factory:
Store the prototype
of an object in
some place which
makes sense to
the end user.
www.iam.unibe.ch/~scg/Teaching/CP/PetriNets/
O. Nierstrasz
11.41
PL Visual Programming
O. Nierstrasz
11.42
PL Visual Programming
11.43
PL Visual Programming
O. Nierstrasz
11.44
PL Visual Programming
EToys critique
The Bad
The Good
> Hard to extend with Smalltalk
> Unified GUI and model
> Limited event set
> Tile composition
> No matrices
> Rich toolkit (holders,
> Projects are stuck in Squeak 3.0
connectors )
> No arithmetic expressions
> Prototype-based
> No debugger
(encourages exploration)
> Command menu structure is strange
> Variables typed by example
(e.g., misc)
> Generates Smalltalk behind
> Scripts cant return a value
the scenes
> Highly expressive (e.g., not
The Ugly
limited to animation)
> Etoys code pervades Squeak
O. Nierstrasz
www.emergent.de/pub/smalltalk/squeak/projects/EtoysLecture.pr
11.45
PL Visual Programming
Scratch
More
professional
appearance
than Etoys, but
less expressive.
(Communicatio
n by
broadcasting;
no connectors.)
O. Nierstrasz
11.46
PL Visual Programming
O. Nierstrasz
11.47
PL Visual Programming
O. Nierstrasz
11.48
PL Visual Programming
License
http://creativecommons.org/licenses/by-sa/3.0/
1.49