Lingo 
                                      
                                        - scripting
                                        language for Macromedia Director
                                      
                                      
  
                                      - predecessor to Flash/ActionScript & JavaScript
                                      
                                         - Designed for beginners
                                       
                                      
                                         - Dynamic language -- untyped
                                       
                                      
                                         - Auto memory management
                                       
                                      
                                         - Objects
                                       
                                      
                                         - Cross Platform
                                        
                                           
                                          
  
                                          
                                            -- Example of Lingo syntax of Fibonacci sequence
                                           
                                          
                                            on fib n
                                           
                                          
                                              if n <= 2 then return 1
                                           
                                          
                                              return fib(n-2) + fib(n-1)
                                           
                                          
                                            end
                                           
                                          
                                            (Classic sequence attributed to  Fibonacci should be called pingala)
                                           
                                          
                                             
                                           
                                          
                                             
                                           
                                          Lingo influenced by...
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          
  
                                          BASIC 
                                          
                                            - Beginner's All-purpose Symbolic Instruction Code
                                          
                                          
  
                                          
                                            
                                              2030 ARRAY F
                                             
                                            
                                              2040 LET F[0] = 0
                                             
                                            
                                              2050 LET F[1] = 1
                                             
                                            
                                              2060 LET N = 1
                                             
                                            
                                              2080 LET F[N+1] = F[N] + F[N-1]
                                             
                                            
                                              2090 LET N = N + 1
                                             
                                            
                                              2100 PRINT F[N];", ";
                                             
                                            
                                              2120 IF N < 50 THEN GOTO 2080
                                             
                                           
                                          
                                             
                                           
                                          
                                             
                                           
                                          
                                             
                                           
                                          
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                            
                                              SmallTalk  -- classes
                                              and objects
                                            
                                            
                                              
                                              
fib  
  ^ self <= 2    
      ifTrue: [ 1 ]
      ifFalse: [ (self - 2) fib + (self - 1) fib ]
                                            
                                            
                                            
                                               
                                            
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                            
 
                                            
                                              Lisp  --
                                              symbolic -- atoms(symbols) and lists
                                            
                                            
                                              
                                              
(defun fibonacci (n &optional (a 0) (b 1) (acc ())) 
 (if (zerop n) 
    (nreverse acc)      
    (fibonacci (1- n) b (+ a b) (cons a acc))))
                                              
                                            
                                            
                                               
                                            
                                            
 
                                            
  
                                            
  
                                            
  
                                            
  
                                            
  
                                           
                                          
                                             
                                           
                                          
 
                                          HyperTalk
                                          
  
                                          
                                            
                                              on mouseUp
                                             
                                            
                                                  put "100,100" into pos
                                             
                                            
                                                  repeat with x = 1 to the number of card buttons
                                             
                                            
                                                    set the location of card button x to pos
                                             
                                            
                                                    add 15 to item 1 of pos
                                             
                                            
                                                  end repeat
                                             
                                            
                                               end mouseUp
                                             
                                           
                                          
                                             
                                           
                                          
                                             
                                           
                                          
  
                                          
                                            other influences-peers:
                                          
                                          - ChatterBox Interpreter
                                          - ToolBook
                                          - ScriptX
                                          - mTropolis
                                          
                                          
  
                                          
                                            
 
 
 
 
 
  What's happening recently?
                                          
                                          
 
                                          
 
                                          
                                            ActionScript/Flash   -- Retired   https://theblog.adobe.com/adobe-flash-update/   "...stop updating and distributing the Flash Player at the end of
                                            2020..."
 
 
 
  
                                          
                                          
                                            
 
 
  Java
                                          
                                          
                                             - strong typed -
                                            classes
  
                                          
                                           Objective-C
                                           Swift
                                          
                                            
  
                                          
                                          
  
                                          
  
                                          Scratch
                                          
                                             - For beginners - Drag and drop blocks Scratch 1.0  
                                            Squeak -- dialect of Smalltalk Scratch 2.0   ActionScript Scratch
                                            3.0   JavaScript
                                          
                                          
  
                                          
 
                                          
  
                                          
  
                                          JavaScript
                                          
  
                                          
                                            
                                            
                                              JavaScript   ECMA-262 -- June 1997   ECMAScript 3 -- December
                                              1999   ECMAScript 5 -- December 2009   ECMAScript 2015 -- June
                                              2015     http://es6-features.org   ECMAScript 2017 -- June
                                              2017 nodejs
                                             
                                            
  // fibonacci via recursion -| reclusive |-  function fib(n) {  
                                              if (n <= 2) return 1;   return fib(n-2) + fib(n-1); }
  
                                          
                                           // fibonacci iteration function fib_iter(num) {   var a = 1, b = 0,
                                                temp;   while (num >= 0){    temp = a;    a = a +
                                                b;    b = temp;    num--;   }   return b; } Where to learn javascript 
                                          
                                          
 
 
 
 
 
 
 
 
                                          
 
                                         
                                       
                                     
                                   | 
                                 
                              
                             
                           
                         
                        
                       
                     |