history of computer - Keyboard

Computer History

Tracing the history of the computer

There are 

 articles and 

 photos on this site

This site is powered by

history of computer - MySQL  and  history of computer - PHP 
Google
 

Photo Gallery

 

Free Downloads

 

Feedback

 

Site Map

Home/Log in

Register

Log out

Edit Profile

Create Article

List My Articles

List All Articles

List Articles by Category

Search for an Article

At-a-glance Article List Click here for help on the use of static pages for articles

Partner Sites

Site by JDT

FREE Accounting Software




LOGO

The Logo programming language is an imperative programming language. It is an adaptation by Wally Feurzeig and Seymour Papert of the Lisp programming language that is easier to read; it has been called Lisp without the parentheses. Today, it is known mainly for its "turtle graphics", but it also has significant facilities for handling lists, files, and I/O. Logo can be used to teach most computer science concepts, as UC Berkeley Professor Brian Harvey does in his "Computer Science Logo Style" trilogy. It can also be used to prepare "microworlds" for students to investigate.

free open source software

History of Logo

Logo was created in 1966 at BBN, a Cambridge research firm, by Wally Feurzeig and Seymour Papert. Its intellectual roots are in artificial intelligence, mathematical logic and developmental psychology. The first four years of Logo research, development and teaching work was done at BBN. The first implementation was written in LISP on a PDP-1. Its name was "ghost". The goal was basic problem solving; the turtle gave immediate (non-written) feedback so bugs could be spotted. Lots of other effects have been proposed as causes. Power was not a significant factor in the design. However, ease of use for non-typists who had to use a Teletype, was a big consideration, plus informative error comments.

Earnings Tracker

Earnings Tracker - FREE Accounting / Bookkeeping Software Tool for Contractors and Freelancers

www.dixondevelopment.co.uk

The turtle was a rather late innovation. Logo is not too much different now from the basic concepts before the first turtle. The first turtle was a radio controlled (wireless) floor roamer named "Irving". Irving had touch sensors and could do forward, back, right, left (rotations), and ding (Irving had a bell). The earliest school users were at Muzzy Jr High, Lexington MA.

Implementations of Logo

There are over 130 implementations of Logo, each of which has its own strengths. A popular cross-platform implementation is UCBLogo. MSWLogo, its freeware Windows derivative, is commonly used in schools in the United Kingdom. Comenius Logo is available in Dutch, German, Czech etc. SOLI Logo was a French version widely used in primary schools in the 1980s. In 1984, ExperLogo for the Macintosh added turtles in 3D and on the surface of spheres. It was also compiled instead of interpreted and hence was very fast. Lego/Logo was a system for controlling the turtle or Lego motors and sensors, and was often used in the classroom in the mid 90's. ARLOGO is an Arabic Port of UCBLOGO, considered the first open-source programming language in Arabic.

A modern derivative of Logo is a variation that allows thousands of "turtles", each moving independently. There are two popular implementations: MIT StarLogo and NetLogo. These derivatives allow for the exploration of emergent phenomena and come with many experiments in social studies, biology, physics, and many other sciences. Although the focus is on the interactions of a large number of independent agents, these variations still capture the original flavor of Logo.

Computer Articles and Tutorials
...PHP, MySQL, Perl...

www.dixondevelopment.co.uk

There is no single agreed-upon Logo language definition or standard, only a loose tradition. As a result, there are substantial differences between the many dialects of Logo that have evolved. The code examples shown below would work in many Logo dialects, but not all.

Logo programming

The idea is that a turtle with a pen strapped to it can be instructed to do simple things like move forward 100 spaces or turn around. From these building blocks you can build more complex shapes like squares, triangles, circles--using these to draw houses or sail boats.

The turtle moves with commands that are relative to its own position, "LEFT 90" meant rotate left by 90 degrees. A student could understand (and predict and reason about) the turtle's motion by imagining what they would do if they were the turtle. Papert called this "body syntonic" reasoning.

The idea of turtle graphics is also useful for example in Lindenmayer system for generating fractals.

Turtle programming

The following is an example of Turtle code. While seemingly very simple, turtles can be given groups of instructions, essentially creating libraries of more complex commands. In practice short forms are used. For example, "LEFT 90" is written "LT 90". Key words are usually written in upper case for beginners, but more advanced texts use lower case.

FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90

The language

Logo is an interpreted language. It is not case dependent, but retains the case used for formatting. It is written in lines. It is a compromise between a sequential programming language with block structures, and a functional programming language. There is no 'standard' LOGO, but UCBLogo is highly regarded. It is a teaching language but its list handling facilities make it remarkably useful for producing useful scripts.

Links

History of Programming Languages

Programming Timeline

Source: http://en.wikipedia.org/wiki/Logo_programming_language


Earnings Tracker FREE Accounting / Bookkeeping Software Tool




Click here to search for articles containing the keyword Acorn

Acorn Atom



Click here to search for articles containing the keyword Macintosh

Macintosh 128k




Click here to search for articles containing the keyword Apple

Apple II




Click here to search for articles containing the keyword Apricot

Apricot Portable


 

[About]

[Contact Us]

[Copyright]

[Disclaimers]

[Privacy Policy]

[GNU License]