Lingo Comparison
From Processing
Lingo is the language written for Adobe's Director software. Director was the dominant environment for designers and artists making CD-ROM projects, but has declining in popularity during the web era due to the success of Flash. It is still one of the most commonly used environments and it has excellent libraries of code for extending its functionality.
Lingo is integrated into a visual environment with a theater metaphor using terms like "stage" and "cast" to describe different elements of the software. The Lingo language is characterized by its verbose English-like syntax. It has been modified in recent years to support object oriented structures and 3D graphics.
| Color | |
|---|---|
| Processing | Lingo |
| background(0); | the stageColor = 255 |
| background(255); | the stageColor = 0 |
| background(255, 204, 0); | (the stage).bgcolor = rgb(255,204,0) |
| stroke(255); stroke(0); | (the stage).image.draw(x1,y1,x2,y2, 0) (the stage).image.draw(x1,y1,x2,y2, 255) |
| stroke(255, 204, 0); | (the stage).image.draw(x1,y1,x2,y2, rgb(255,204,0)) |
| fill(0, 102, 153); | (the stage).image.fill(left, top, right, bottom, rgb(0,102,153)) |
| Shape | |
| Processing | Lingo |
| point(30, 20); | (the stage).image.setPixel(30,20,rgb(0,120,153)) |
| line(0, 20, 80, 20); | (the stage).image.draw(0, 20, 80, 20, [#shapeType:#line]) |
| rect(10, 20, 30, 30); | (the stage).image.fill(10,20,30,30, [#shapeType:#rect]) (the stage).image.draw(10,20,30,30, [#shapeType:#rect]) |
| Image | |
| Processing | Lingo |
| set(30, 20, 255); | (the stage).image.setPixel(30,20,rgb(0,120,153)) |
| a = get((60, 10); | a = (the stage).image.getPixel(60,10) |
| pixels[y*width+x] | N/A |
| Data | |
| Processing | Lingo |
| int x = 70; // Initialize x = 30; // Change value | x = 70 -- Initialize x = 30 -- Change value |
| float x = 70.0; x = 30.0; | x = 70.0 -- Initialize x = 30.0 -- Change value |
| int[] a = {5, 10, 11}; a[0] = 12; // Reassign | a = [5,10,11] a[1] = 12 -- Reassign |
| Control | |
| Processing | Lingo |
| void draw() { // Statements } | repeat while TRUE -- Statements end repeat |
| for (int a=45; a<=55; a++) { // Statements } | repeat with a = 45 to 55 -- Statements end repeat |
| if (c==1) { // Statements } | if c = 1 then -- Statements end if |
| if (c!=1) { // Statements } | if not(c = 1) then -- Statements end if |
| if (c < 1) { // Statements } | if c < 1 then -- Statements end if |
| if (c >= 1) { // Statements } | if c >= 1 then -- Statements end if |
| if ((c >= 1) && (c < 20)) { // Statements } | if c >= 1 and c < 20 then -- Statements end if |
| if (c >= 20) { // Statements 1 } else if (c == 0) { // Statements 2 } else { // Statements 3 } | if c >= 20 then -- Statements 1 else if c = 0 then -- Statements 2 else -- Statements 3 end if |
| Structure | |
| Processing | Lingo |
| // Comment | -- Comment |
| void doIt(int x) { // Statements } doIt(x); | on doIt x -- Statements end doIt x |
| int square(int x) { return x*x; } square(X); | on square x return x*x end put square(x) |
| Input | |
| Processing | Lingo |
| mouseX mouseY mousePressed | the mouseH the mouseV mouseDown() |
| void mousePressed() { // Statements } | on mouseDown -- Statements end if |
| (key=='a') (key=='b') ... | (the key = "a") (the key = "b") ... |
| void keyPressed() { // Statements } | on keyDown -- Statements end |
| hour() minute() second() | currentTime = the long time hour = value(chars(currentTime,1,2)) minute = value(chars(currentTime,4,5)) hour =value(chars(currentTime,7,8)) |
This translation was create by Victor Vina and Josh Nimoy.