210 likes | 406 Views
Scripting languages in Java Andrey Duka , System Architect andrey.duka@exigenservices.com. 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.
E N D
Scripting languages in Java Andrey Duka, System Architectandrey.duka@exigenservices.com
Хорошее определение “A scripting language is a form of programming language that is usually interpreted rather than compiled” - whatis.com
Немного исторической информации 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
Небольшой список языков BeanShellFrinkGroovyHecl JaclJavaScript Jelly JoyJrubyJudoscriptJython JavaFX Script ObjectScriptPnutsScalaSleep VYoix
Чудесная цитата “All configuration files eventually become programming languages…” - James Gosling
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
Ещё одно определение “A Domain Specific Language (DSL) is a computer programming language of limited expressiveness focused on a particular domain.” - Martin Fowler
DSL пример / красота write 'readme.txt'.contents()
DSL пример (продолжение) String.metaClass.contents = { this.class.getResourceAsStream(delegate).getText() } def write = { file -> println file } write 'readme.txt'.contents()
Примеры повседневного использования • BEA Weblogic – wslt • IBM WebSphere – wsadmin • Eclipse – GroovyMonkey • JavaFX - JavaFX Script
Web разработка & 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
Сколько строчек кода? Вопрос: сколько строчек кода/конфигурционных файлов нужно чтобы сделать on-line менеджер списка задач?50, 100, 500 ?
Ответ 38
Очень полезные ссылки PROS vs. CONS
Очень полезные ссылки • 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