Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Scripting languages in Java Andrey Duka, System Architect [email protected] Java != Java platform 2 Agile Web Development with Java 3 Хорошее определение “A scripting language is a form of programming language that is usually interpreted rather than compiled” - whatis.com 4 Groovy, Ruby, Python, PHP 5 Немного исторической информации 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 6 Небольшой список языков BeanShell Frink Groovy Hecl Jacl JavaScript Jelly Joy Jruby Judoscript Jython JavaFX Script ObjectScript Pnuts Scala Sleep V 7 Yoix Чудесная цитата “All configuration files eventually become programming languages…” - James Gosling 8 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 9 Нельзя не упомянуть DSL 10 Ещё одно определение “A Domain Specific Language (DSL) is a computer programming language of limited expressiveness focused on a particular domain.” - Martin Fowler 11 DSL пример / красота write 'readme.txt'.contents() 12 DSL пример (продолжение) String.metaClass.contents = { this.class.getResourceAsStream(delegate).getText() } def write = { file -> println file } write 'readme.txt'.contents() 13 Примеры повседневного использования • • • • BEA Weblogic – wslt IBM WebSphere – wsadmin Eclipse – GroovyMonkey JavaFX - JavaFX Script 14 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 15 Сколько строчек кода? Вопрос: сколько строчек кода/конфигурционных файлов нужно чтобы сделать on-line менеджер списка задач? 50, 100, 500 ? 16 Ответ 38 17 Очень полезные ссылки PROS vs. CONS 18 Помните 19 Очень полезные ссылки • • • • • • • 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 20 21