21
Scripting languages in Java Andrey Duka, System Architect [email protected]

Scripting languages in Java Andrey Duka , System Architect andrey.duka@exigenservices

  • Upload
    ryder

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Scripting languages in Java Andrey Duka , System Architect [email protected]. Java != Java platform. Agile Web Development with Java. Хорошее определение. “A scripting language is a form of programming language that is usually interpreted rather than compiled” - whatis.com. - PowerPoint PPT Presentation

Citation preview

Page 1: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

Scripting languages in Java

Andrey Duka, System [email protected]

Scripting languages in Java

Andrey Duka, System [email protected]

Page 2: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

2

Java != Java platform

Page 3: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

3

Agile Web Development with Java

Page 4: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

4

Хорошее определениеХорошее определение

“A scripting language is a form of programming language that is usually

interpreted rather than compiled”

- whatis.com

Page 5: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

5

Groovy, Ruby, Python, PHP

Page 6: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

6

Немного исторической информации Немного исторической информации

1997 - Jim Hugunin created Jython

2000 - «BeanShell and Dynamic Java» Patrick Niemeyer

2001 - Jan Arne Petersen created JRuby

2004 - JSR 241: Groovy programming language

2005 - Sun releases alpha of Coyote

2006 - JSR 223: Scripting for the JavaTM Platform

2007 - Groovy 1.0

2008 - Grails 1.0

Page 7: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

7

Небольшой список языковНебольшой список языков

BeanShell Frink Groovy Hecl

Jacl JavaScript Jelly

Joy Jruby Judoscript Jython

JavaFX Script ObjectScript Pnuts Scala

Sleep V Yoix

Page 8: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

8

Чудесная цитатаЧудесная цитата

“All configuration files eventually become programming languages…”

- James Gosling

Page 9: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

9

XML примерXML пример

groovy.xml.MarkupBuilder def myXMLDoc = new MarkupBuilder() myXMLDoc.workbook { worksheet(caption:"Employees") { row(fname:"John", lname:"McDoe") row(fname:"Nancy", lname:"Davolio") } worksheet(caption:"Products") { row(name:"Veeblefeetzer", id:"sku34510") row(name:"Prune Unit Zappa", id:"sku3a550") } } println myXMLDocuages

Page 10: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

10

Нельзя не упомянутьНельзя не упомянуть

DSL

Page 11: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

11

Ещё одно определениеЕщё одно определение

“A Domain Specific Language (DSL) is a computer programming language of limited

expressiveness focused on a particular domain.”

- Martin Fowler

Page 12: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

12

DSL пример / красотаDSL пример / красота

write 'readme.txt'.contents()

Page 13: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

13

DSL пример (продолжение)DSL пример (продолжение)

String.metaClass.contents = {this.class.getResourceAsStream(delegate).getText()

}

def write = { file ->println file

}

write 'readme.txt'.contents()

Page 14: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

14

Примеры повседневного использованияПримеры повседневного использования

• BEA Weblogic – wslt• IBM WebSphere – wsadmin• Eclipse – GroovyMonkey• JavaFX - JavaFX Script

Page 15: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

15

Web разработка & GRailsWeb разработка & GRails

“For me, Grails is the natural next step for Java EE developers. If Spring

and Hibernate provided an abstraction over Java EE and simplified

development, then Grails is an abstraction over Spring, Hibernate,

and Java EE that can take you, the developer, to the next level.”

- Christopher M. Judd, Judd Solutions

Page 16: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

16

Сколько строчек кода?Сколько строчек кода?

Вопрос: сколько строчек кода/конфигурционных файлов нужно чтобы сделать on-line менеджер списка задач?

50, 100, 500 ?

Page 17: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

17

ОтветОтвет

38

Page 18: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

18

Очень полезные ссылкиОчень полезные ссылки

PROS vs. CONS

Page 19: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

19

ПомнитеПомните

Page 20: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

20

Очень полезные ссылкиОчень полезные ссылки

• https://scripting.dev.java.net/• JSR 223: Scripting for the JavaTM Platform• JSR 241: The Groovy Programming Language• Bean Scripting Framework• http://grails.org• http://groovy.codehaus.org• http://jruby.codehaus.org

Page 21: Scripting languages in Java  Andrey Duka ,  System Architect andrey.duka@exigenservices

21