Lua By: Michael Coffman Peter Sussman. History Lua means ‘moon’ in Portuguese First appeared in 1993 Created by Roberto Ierusalimschy, Luiz Henrique de.

Slides:



Advertisements
Similar presentations
C++ Language Fundamentals. 2 Contents 1. Introduction to C++ 2. Basic syntax rules 3. Declaring and using variables.
Advertisements

You can do more than what you think ……… If you believe you can.
Fundamental Programming Structures in Java: Control Flow, Arrays and Vectors.
Names and Bindings.
Portability and Safety Mahdi Milani Fard Dec, 2006 Java.
Ryan Piercy Jon Hooker. Invented by Nicklaus Wirth Named After Blaise Pascal Pascal’s Triangle Invented a Digital Computer.
Reasons to study concepts of PL
Ruby The Gem of new programming languages. An interpreted scripting language.
History  We first begin with Java which was released in 1995 by Sun Microsystems  Initially Java was 100% interpreted at runtime and was very slow 
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
Python Jordan Miller and Lauren Winkleman CS 311 Fall 2011.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Lua Matthew Spain | Kerry Zhao. Agenda Overview of Lua Language Details Application Areas Demo Conclusion.
Python Introduction.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
+ Java vs. Javascript Jessi Style. + Java Compiled Can stand on its own Written once, run anywhere Two-stage debugging Java is an Object Oriented Programming.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
1 Chapter 5: Names, Bindings and Scopes Lionel Williams Jr. and Victoria Yan CSci 210, Advanced Software Paradigms September 26, 2010.
CS 355 – Programming Languages
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Introduction to Programming Peggy Batchelor.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
CNIT 133 Interactive Web Pags – JavaScript and AJAX Advanced topic - variable.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Lecture :2 1.  DEFENTION : Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Lua: The Programming Language. Some Things that Need to be Said Because of increasing demand for customizable applications, the trend nowadays is to split.
Netprog: Java Intro1 Crash Course in Java. Netprog: Java Intro2 Why Java? Network Programming in Java is very different than in C/C++ –much more language.
Sharda University P. K. Mishra (Asst.Prof) Department of Computer Science & Technology Subject Name: Programming Using C Sub Code: CSE-106 Programming.
Games Development 2 Lua Scripting CO3301 Week 6. Contents Introducing Lua –Comparison with Python Lua Language Overview Interfacing Lua with C++
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
John Imboden. What is Lua  Embeddable scripting language  Creators: Roberto Lerusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes  Designed.
Chapter 3 - Language Design Principles
Variables reference, coding, visibility. Rules for making names  permitted character set  maximum length, significant length  case sensitivity  special.
JavaScript: An Analysis Michael Owen. Brief History Founded at NetScape by Brendan Eich Mocha, LiveScript, then JavaScript No apparent relation to Java.
Lua for TerraME: A Short Introduction Pedro Ribeiro de Andrade Münster, 2013.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Starting Out With Java 5 Control Structures to Objects By Tony Gaddis Copyright © 2005 Pearson Addison- Wesley. All rights reserved. Chapter 1 Slide #1.
Prepared by Mustafa CAMURLI.  Lua was created in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, members of the Computer.
Java and C# - Some Commonalities Compile into machine-independent, language- independent code which runs in a managed execution environment Garbage Collection.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
CSCE 343 – Programming Language Concepts Welcome!.
Lua for TerraME: A Short Introduction Pedro Ribeiro de Andrade São José dos Campos, 2011.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
Cody Scoggins, Dion de Jong, Victor Reynolds References:  902/is-lua-interesting-from-a- programming-language-design-
The full name of PERL is Practical extraction and report language. It is similar to shell script and lot easier & powerful language. Perl is free to download.
Before You Begin Nahla Abuel-ola /WIT.
Scope History of Ruby. Where can you use Ruby? General Features.
PROGRAMMING LANGUAGES
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Chapter 1 Reasons to study concepts of PLs Programming Domains
1.1 Reasons to study concepts of PLs
Chapter 1 Preliminaries.
CNIT 133 Interactive Web Pags – JavaScript and AJAX
بسم الله الرحمن الرحیم.
Lua for TerraME: A Short Introduction
CS 3304 Comparative Languages Fall 2011
Introduction to Python
Go.
What is Lua? Brandon Burgess Csc 415.
Catharine West Bo Aye Saljin LaRocca references
Reasons To Study Programming Languages
The Lua Chunk Vault, an enhancement to epics base
Dasar-Dasar Pemrograman 2: Java Basics
Presentation transcript:

Lua By: Michael Coffman Peter Sussman

History Lua means ‘moon’ in Portuguese First appeared in 1993 Created by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes at Pontifical Catholic University of Rio de Janeiro in Brazil Developed because Brazil had a strong policy against foreign trade Primary influence: c++

Features Light, multi-paradigm language Highly portable: can be compiled to run on Linux, Windows, Macintosh Very small: complete language occupies less than 1 megabyte Dynamically typed; eight types, boolean, number, string, nil, function, userdata, thread, table Also has automatic garbage collection

Features Only data structure is the table, which can be used to implement arrays, lists, etc. Can run code in pure interpretation or intermediate byte code (such as Java) Can call functions written in C or Lua Arrays do not have to be only one type Variables are global unless otherwise declared

Code Samples

Sample Runs

Readability Pros –Functions are well defined and easy to follow –Similar to C syntax –Very little parentheses or brackets Cons –Most blocks of code end in ‘end’ –No spaces between terminals and nonterminals –Variables don’t have declared types, only their values do

Writability Pros –Few keywords –All blocks of code end with ‘end’ –Syntax similar to C Cons –All blocks of code end with ‘end’ –Limited data types

Reliability Pros –One of the most reliable languages on the market Cons –Easy to get lost in the nested ‘end’ statements leading to programming errors

Cost Pros –Free –Small and portable: Lua can be used from a USB drive from one machine to the next, and across multiple OS’s Cons –Lua is not considered a mainstream language, so training might cost a fair amount

Who Uses Lua Blizzard Entertainment: World of Warcraft scripting Cisco Systems Maxis/EA: SimCity 4 Adobe: Adobe Photoshop Lightroom Many video games use Lua

References