Scripting Languages Intro Jan Stelovsky, ICS 215.

Slides:



Advertisements
Similar presentations
compilers and interpreters
Advertisements

In Review JAVA C++ GUIs - Windows Webopedia.com.
Introduction to JavaScript
CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.
Object Oriented Programming in Java George Mason University Fall 2011
got ? Research Project – April 1998 Hang Xia, Mark Wang, Richard S. Chang Updated: R Norman, August 1999.
1 Programming Languages b Each type of CPU has its own specific machine language b But, writing programs in machine languages is cumbersome (too detailed)
SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these,
Scripting Languages. Originally, a script was a file containing a sequence of commands that needed to be executed Control structures were added to make.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 1, Lab.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 2: Operating-System Structures.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
PHP Scripting Language. Introduction “PHP” is an acronym for “PHP: Hypertext Preprocessor.” It is an interpreted, server-side scripting language. Originally.
COP4020 Programming Languages
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Types of software. Sonam Dema..
C++ Crash Course Class 1 What is programming?. What’s this course about? Goal: Be able to design, write and run simple programs in C++ on a UNIX machine.
PYTHON: LESSON 1 Catherine and Annie. WHAT IS PYTHON ANYWAY?  Python is a programming language.  But what’s a programming language?  It’s a language.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
CS 355 – Programming Languages
High-level Languages.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
CS2303 C14 Systems Programming Concepts Bob Kinicki.
Java Virtual Machine Java Virtual Machine A Java Virtual Machine (JVM) is a set of computer software programs and data structures that use.
BIT 1003 – Presentation 7. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
CS1Q Computer Systems Lecture 14 Simon Gay. Lecture 14CS1Q Computer Systems - Simon Gay2 Where we are Global computing: the Internet Networks and distributed.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Programming History. Who was the first programmer?
An overview of scripting languages Alexander Kanavin Teachers: Barbara Miraftabi, Jan Voracek.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
1 3. Computing System Fundamentals 3.1 Language Translators.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate.
JavaScript Defined JavaScript Basics Definitions JavaScript is an object-oriented programming language designed for the world wide web. JavaScript code.
 Programming - the process of creating computer programs.
Language Implementation Methods David Woolbright.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
 Before you continue you should have a basic understanding of the following:  HTML  CSS  JavaScript.
ITP 109 Week 2 Trina Gregory Introduction to Java.
The Big Picture. My Story  Wrote great programs  Didn’t understand how they worked.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
Computer System Structures
COMP 2100 From Python to Java
The language focusses on ease of use
Lecture 1b- Introduction
JAVA, JAVA Applets, and JavaScript
CMIT100 Chapter 14 - Programming.
Why study programming languages?
NOCTI Study Guide #2.
PROGRAMMING LANGUAGES
PHP / MySQL Introduction
Web App vs Mobile App.
Chapter 2: Operating-System Structures
Assembler, Compiler, Interpreter
Introduction to Computers and Python
Introduction to Algorithm Design
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Assembler, Compiler, Interpreter
and Program Development
ICT Programming Lesson 1:
ENIAC – the first computer
What is Programming Language
Programming language translators
Introduction to Computer Science
Presentation transcript:

Scripting Languages Intro Jan Stelovsky, ICS 215

Wikipedia A scripting language, script language or extension language is a programming language that allows control of one or more software applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the end-user. Scripts are often interpreted from source code or bytecode, whereas the applications they control are traditionally compiled to native machine code. Scripting languages are nearly always embedded in the applications they control.

Comment from stackoverflow:stackoverflow – You will notice the use of "usually", "often", "traditionally" and "nearly always" - these all tell you that there is no set of distinct attributes that make a specific language a "scripting language".

Scripting vs. “Programming” Languages Scripting languages are Programming languages (PL) interpreted vs. compiled – slow vs. fast but: Java – a PL is hybrid – compiled to bytecode bytecode is common to all hardware platforms bytecode is then interpreted – JIT even compiles to “native” code dynamically but: LISP – a PL - is interpreted but: scripting languages became hybrid/compiled – all JavaScript scripts are nowadays compiled

Hybrid Processing program script bytecode native Windows Intel native Mac Intel/Motorola native Linux Intel

Scripting vs. “Programming” Languages cont. scripting languages often operate other programs, or the operating system (OS), e.g. Windows, or other applications, e.g. the browser – batch “shells” on Unix – Applescript operating other applications but often programs in PL can execute or at least create scripts for scripting languages but does JavaScript “operate another program” – the browser?

Other Aspects verbose vs. terse – PL are typically terse, vs. Applescript but – but most languages adopted C syntax: C, C++, Java, JavaScript, even Ruby

Other Uses of Scripting Languages CoffeeScript is a better JavaScript – classes: inheritance consistency alleviates JavaScript quirks – == and === – is variable defined? – what’s variable’s type needs to be translated to JavaScript

PL Charts How did PLs develop – typical chart typical chart – mostly C as “grandfather” Java = C++-- – consider trends (innovation, density) book publishers, e.g. O’ReillyO’Reilly –

Traditional PL Chart (top)

Traditional PL Chart (bottom)

O’Reilly PLs & Books

O’Reilly PLs

Most Recent O’Reilly PL Books 8 out of 13 newer PLs (=60%) Note: JavaScript ~= ECMA Script ~= ActionScript

215, ICS and PLs Popularity ICS out of 11 most popular PLs (mpPLs) 24% of mpPLs ICS 7 out of 11 mpPLs 55% of mpPLs

Conclusion The differences between Scripting Languages and Programming Languages are getting more and more blurred languages are becoming compiled or at least hybrid languages often operate OS or other applications – e.g. access to file system our distinction is mainly historical – Java (Pascal) and C++ are taught in intro courses – we need to expose students to other languages ICS exposes you to most of the trending PLs – already in undergraduate curricullum – in particular in ICS 215 (and ICS 315)

Our Definition now – JavaScript – Ruby – PHP – Python – Perl in future – other new programming languages as they become important