By: Chad Gallati, Melissa Plakyda, Jenny Wilkes References: 318392/a-z_programming_languages_groovy/

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
ECE 750 Topic 8 Meta-programming languages, systems, and applications Load-time structural reflection in Java – Shigeru Chiba, 2000 May 27, 2004 Shimin.
SLIM and the future of FitNesse Gojko Adzic
The road to reliable, autonomous distributed systems
1 GWT Google Web Toolkit Build AJAX apps in the Java language
Chapter 9 Subprograms Sections 1-5 and 9. Copyright © 2007 Addison-Wesley. All rights reserved. 1–2 Introduction Two fundamental abstraction facilities.
1 Owais Mohammad Haq Department of Computer Science Eastern Michigan University April, 2005 Java Script.
Dynamic Object-Oriented Programming with Smalltalk 1. Introduction Prof. O. Nierstrasz Summer Semester 2006.
Ruby The Gem of new programming languages. An interpreted scripting language.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Programming in Scala Chapter 1. Scala: both object-oriented and functional Scala blends –object-oriented and –functional programming in a –statically.
Groovy & Grails Jean Barmash CTO, EnergyScoreCards.com
F# Shiva Srivastava David He Peter Bingel. Overview F# (pronounced "F sharp") is a functional and object oriented programming language for the Microsoft.NET.
8.1 Classes & Inheritance Inheritance Objects are created to model ‘things’ Sometimes, ‘things’ may be different, but still have many attributes.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
+ 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.
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
PHP Professor Waterman. Agenda What is PHP Versions HTML Dynamic Web sites Interactive Web Sites Installing PHP Transfer pages to a Web hosting service.
Java Virtual Machine Java Virtual Machine A Java Virtual Machine (JVM) is a set of computer software programs and data structures that use.
1 Groovy for Java developers and testers How Java developers and testers could use Groovy to increase their efficiency AUGUST 6, 2015.
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
Introduction to the Java Virtual Machine 井民全. JVM (Java Virtual Machine) the environment in which the java programs execute The specification define an.
Advanced Programming Collage of Information Technology University of Palestine, Gaza Prepared by: Mahmoud Rafeek Alfarra Lecture 2: Major Concepts of Programming.
Introduction to 12/13/20111 Prepared by: Vincent Schwarzer, Chih-Hung Hsieh Java Enterprise Application Development.
CSCI-383 Object-Oriented Programming & Design Lecture 13.
Java Programming Presented by Daniel Rosenthal Friday, November 30 th, 2007.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Web Server Programming 3. Server side includes. HTML+ (‘hole’) technologies Uses ‘HTML+”, HTML (or XML) extended with code. Very many different varieties.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
JAVA BASICS Prepared by The Smartpath Information Systems
OOP and Dynamic Method Binding Chapter 9. Object Oriented Programming Skipping most of this chapter Focus on 9.4, Dynamic method binding – Polymorphism.
TAKE – A Derivation Rule Compiler for Java Jens Dietrich, Massey University Jochen Hiller, TopLogic Bastian Schenke, BTU Cottbus.
OOP: Encapsulation,Abstraction & Polymorphism. What is Encapsulation Described as a protective barrier that prevents the code and data being randomly.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
CS 4720 Dynamic Web Applications CS 4720 – Web & Mobile Systems.
JavaScript Syntax, how to use it in a HTML document
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 2.
RUBY by Ryan Chase.
TAKE – A Derivation Rule Compiler for Java Jens Dietrich, Massey University Jochen Hiller, TopLogic Bastian Schenke, BTU Cottbus/REWERSE.
PHP vs. Python. Similarities are interpreted, high level languages with dynamic typing are Open Source are supported by large developer communities are.
Software Development Introduction
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Introduction to JAVA Programming
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
CodeBeamer Bootcamp 2007 Customizing CodeBeamer features through scripting Aron Gombas Architect, Intland.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
PHP Programming Language. PHP is a server-side scripting language designed for web development but also used as a general- purpose programming language.
Applications Active Web Documents Active Web Documents.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Object-Oriented Programming & Design Lecture 14 Martin van Bommel
Python Training in Chennai
Types of Programming Languages
JavaScript an introduction.
Important Concepts from Clojure
Important Concepts from Clojure
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Important Concepts from Clojure
Groovy.
Chap 1. Getting Started Objectives
Presentation transcript:

By: Chad Gallati, Melissa Plakyda, Jenny Wilkes References: /a-z_programming_languages_groovy/ /29.html

 Object oriented programming language  Dynamic and imperative language  Can be used as scripting language for Java platform  Created to fix problem where people had to stop using web applications whenever a change was made  Made Groovy as a scripting language to develop widgets; store them; interpret live over the server

 Created by James Strachan  Why He wanted a dynamically typed scripting language for the Java platform Other options compile to the JVM as just an afterthought Designed to work well with rich libraries of existing Java code  Was originally working on a Swing designer User Interface to define meta-model app

 Timeline:  2003: Began work and wrote blog post detailing his goals  : Several beta versions were released between 2004 and 2007  2007: Groovy 1.5 released as first “final” release  2007: First Prize: JAX innovation award  2008: Acquired by SpringSource  2012: Groovy 2.0 released with static compilation and a static type checker  later this year: Groovy 3.0 to release with support for Meta Object Protocol

 GroovyBeans is Groovy’s version of JavaBeans  Implicitly generates accessor and mutator methods  Offers support for metaprogramming  Each method invocation goes through the metaclass registry  Allows overriding methods  Supports lazy evaluation  Skips assigning variables until the variables are needed

 Uses Abstract Syntax Tree transformations  Ability for developers to modify source code before turning it into bytecode  Types of AST transformations  Singleton transformation  Category and Mixin transformation  Immutable AST macro  Newify transformation

 Traits – structural construct of the language which allow:  Composition of behaviors  Runtime implementation of interfaces  Behavior ordering  Compatibility with static type checking/compilation  Then it can be used like a normal interface using the keyword ‘implements’

 Derived from Java 5  Same basic syntax as Java  Features similar to Python, Ruby and Perl  Compiled to JVM Byte-code  Grails (web development stack) - Advanced integration of Spring and Hibernate open source software