slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
April 4, 2006 – Sofia, Bulgaria PowerPoint Presentation
Download Presentation
April 4, 2006 – Sofia, Bulgaria

Loading in 2 Seconds...

play fullscreen
1 / 26

April 4, 2006 – Sofia, Bulgaria - PowerPoint PPT Presentation


  • 306 Views
  • Uploaded on

Pavel Boytchev. April 4, 2006 – Sofia, Bulgaria. About this presentation. The History of Logo The Evolution of Elica Squeak and Elica Demonstrations. The History of Logo. The History of Logo. First Logo appeared 40 years ago Oversimplified version of LISP

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'April 4, 2006 – Sofia, Bulgaria' - Rita


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Pavel Boytchev

April 4, 2006 – Sofia, Bulgaria

about this presentation
About this presentation
  • The History of Logo
  • The Evolution of Elica
  • Squeak and Elica
  • Demonstrations
the history of logo4
The History of Logo
  • First Logo appeared 40 years ago
  • Oversimplified version of LISP
  • Main target audience – students, teachers
  • Used for:
    • Introduction to programming
    • Drawing using Turtle Graphics
    • Exploration and construction
    • Fun
family of logo dialects
Family of Logo Dialects
  • The most diverse programming language

*Logo

ComseD Logo

Logo

3-D Logo

Acornsoft Logo

ACSLogo

AJLogo

Amiga Logo

Apple Logo

Apple Logo II

Apple Sprite Logo

ARLOGO

Atari Logo

aUCBLogo

BBN Logo

BBN PDP-10 Logo

Berkeley Logo

COCO Logo

Comenius Logo

Commodore Logo

Cricket Logo for YoYo

DFP Logo

DL Logo

Dolittle

DR Logo

Drape

E-Slate Logo

Edinburgh Logo

Elica

ExperLogo

FMSLogo

Fujitsu FM-8 Logo

Galapago

General Turtle 2500

Geomland

Ghost

GLogo

Graphic Logo

family of logo dialects 2
Family of Logo Dialects - 2

Harward (PC) Logo

Helios

Hiragana Logo

HoneyLogo

HyperLogo

IBM Logo

Imagine

JavaLogo

JFLogo

jLogo

Krell Logo

KTurtle

Ladybug

LCSI Logo

LEGO Logo

LGS

LGSW

Lhogho

Liogo

LLOGO

Logo

Logo.Net

Logo fuer den PC

Logo in Scheme

Logo Graphico

Logo Learner

Logo nyelv

Logo PLUS

Logo Turtle Graphics

Logo++

Logo-in-Scheme

Logo3D

Logob1

Logob2

LogoChip Logo

LogoS

Logotron

LogoWriter

LSL Logo

LSRHS Logo

LXLogo

Mach Turtle Logo

MacLogo

MacStarLogo

MegaLogo

Microworlds

Microworlds Ex

Microworlds Ex Robotics

Microworlds JR

Microworlds Pro

Mini Logo

family of logo dialects 3
Family of Logo Dialects - 3

MIT Logo

MIT PDP-11 Logo

MonoLOGO

MSWLogo

MSX Logo

Multi-Logo

Music Logo

NetLogo

Object Logo

Open Logo

OpenStarLogo

Palm Logo

Pascal Logo

PLOGO

PC Logo

PCW Logo

PGS

PIC Logo

P_Logo

Papy Logo

PowerLOGO

PowerMath Logo

ProLOGO

Pure Golo

PyLogo

Quick Logo

QLogo

Rabbit Logo

rLogo

RLS

RM Nimbus Logo

Scheme Logo

Screen Turtle 2

SeeLogo

SharpLOGO

#Logo

Sinclair Logo

SmartLOGO

Sprite Logo

StarLogo

StarLogo for YoYo

StarLogoT

StarLogo TNG

SuperLogo

Terrapin Logo

Terrapin Graphics

TGS

TI Logo

TinyLogo

TKTSLogo

TLC Logo

TopLogo++

Tortue

Trend Logo

Turtle

TurtleTracks

TurtleTracks.net

UCBLogo

Visual Logo

VLogo

VRMath

Waterloo Logo

Web Turtle

Win-Logo

WinLogo

XLogo

XLogo

xLogo

Yellow Brick Logo

YoYo

ZLogo

logo family
Logo Family
  • About 160 dialects
  • Incompatible with each other
  • Designed to experiment with various ideas and techniques
    • music and graphics
    • parallel processes
    • object-oriented programming
  • 10 dialects developed in Bulgaria
elica devolution
Elica Devolution

Logo

system

functions

lib

lib

system

procedures

system

operators

lib

lib

lib

lib

lib

lib

reserved

words

OOP

syntax

lib

lib

lib

complex

data

lib

lib

lib

elica evolution
Elica Evolution

Turtle

library

No need of

OOP syntax

complex data

library support

Win

library

Graphix

library

Androids

library

Elica11 primitives

Logo

library

Geomland

library

CarTurtle

library

programming entities
Programming Entities

Sets

Programs

Procedures

Arrays

Variables

Functions

Classes

Libraries

Instances

Operators

elica features
Elica Features
  • Language and IDE
  • Small core extended by libraries
  • Flexibility to the extreme
    • Composing names and code at run-time
    • Dynamic modification of objects
    • Experimenting with different programming styles
  • 3D graphics, animation, modeling
  • Natural OOP
  • Microworlds
similar or different
Similar or Different
  • Developed independently
  • Goal was to fight limitation of nearby programming languages
  • Some surprising similarities in technical details, programming ideas and solutions
  • Not brothers, but definitely not strangers
squeak oop elica noop
Squeak OOP & Elica NOOP

Object subclass: #Point

instanceVariableNames: 'x y'

classVariableNames: ''

poolDictionaries: ''

category: 'Elica-Sample‘

Point >> x: xNumber y: yNumber

x := xNumber.

y := yNumber.

Point >> distance

^ (x squared + y squared) sqrt

a := Point new x: 10 y: 30.

b := Point new x: -30 y: 30.

a distance printString.

b distance printString.

to point :x :yto distanceoutput sqrt :x*:x+:y*:y

end

end

make "a point 10 30

make "b point -30 30

print a.distance

print b.distance

squeak and elica17
Squeak and Elica
  • Syntax similarities
    • List of items: (1 2 3) and [1 2 3]
    • Blocks of program code: [ stat1 stat2 …]
    • Several ways to express the same idea
    • More natural statements (get rid of extra symbols)
  • Common language features
    • Typeless variables
    • Using code as data: a := [:x | x + 1]
    • Heterogeneous collections
    • OOP (pure in Squeak, NOOP in Elica)
      • No capsulation
      • No access limitation and private fields
squeak and elica18
Squeak and Elica
  • Internals
    • Byte-code, GC, VM
    • Most (or all) sources are available
    • Small core, enriched by user-definable libraries
  • Implementation
    • Execute a piece of code
    • Relatively slow
squeak and elica19
Squeak and Elica
  • Usage
    • Free to download and use
    • Used for exploration
    • Language is a medium to express thoughts
    • Suitable for children, students, teachers, non-professionals and professional researchers
    • Brings modern technology to beginners (OOP, multimedia, etc.)
    • Both are rather poetic environments
exploring other languages
Exploring Other Languages
  • Because of flexibility Elica users can express their thoughts in various ways
  • Using Elica to get a taste of
    • Logo
    • Lisp
    • Forth
    • Prolog
    • Squeak
    • Functional machines
    • Boxer
    • Assembler
    • Custom languages
elica flavors
Elica Flavors
  • seeElicaSqueak-1.eli (function-variable)
  • seeElicaSqueak-2.eli (copyFrom: to: at:)
  • see ElicaForth.eli (postfix notation)
  • see ElicaProlog.eli (knowledgebase, NL)
  • see ElicaLisp-1.eli (simple CAR-CDR)
  • see ElicaLisp-2.eli (functional programming)
  • see NorthPole.eli (custom language)
error inspector
Error Inspector
  • Custom error reporting
  • Error handlers generate XML on-the-fly
  • Shows precise error position, error history
  • Explains the error

see ElicaError.eli

elica help examples
Elica Help & Examples
  • Elica Museum
    • Five flying turtles
    • Towers of Hanoi
    • Urbanizing Turtleland
  • Showing all examples
  • Other examples
    • Hoolahoop (demos 2, 7 and 8)
    • Pair of eyes (demo 2)
    • Ghost stories (demo 13)
    • Androids