{"id":186,"date":"2008-11-27T22:18:03","date_gmt":"2008-11-28T01:18:03","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=186"},"modified":"2008-11-27T22:18:03","modified_gmt":"2008-11-28T01:18:03","slug":"java-7-vai-ter-a-cara-do-groovy","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=186","title":{"rendered":"Java 7 vai ter a cara do Groovy?"},"content":{"rendered":"<p>Confesso: sou louco por Groovy! Sendo assim, fico muito feliz ao ver que dentre as <a href=\"http:\/\/tech.puredanger.com\/java7\" target=\"_blank\">novas features<\/a> previstas para o Java 7, encontram-se itens<a href=\"https:\/\/devkico.itexto.com.br\/?p=62\" target=\"_blank\">\u00a0que me fizeram adorar Groovy<\/a>. Ao imaginar como ser\u00e1 o c\u00f3digo gerado na nova vers\u00e3o do Java caso estas features passem, percebe-se n\u00edtidamente que ser\u00e1 incrivelmente parecido com Groovy. Basta listar alguns novos recursos:<\/p>\n<p><strong>Closures<\/strong>: previsto para o Java 7 (muito prov\u00e1vel de n\u00e3o ser mais inclu\u00eddo na especifica\u00e7\u00e3o). Tal como podemos hoje fazer em Groovy<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\n\r\ndef minhaClosureDuplica = {x -&gt; x * 2}\r\n\r\n<\/pre>\n<p>, se a <a href=\"http:\/\/www.javac.info\/consensus-closures-jsr.html\">JSR<\/a> passar, poderemos ter o mesmo em Java. E acredite, elas realmente quebram um tronco!<\/p>\n<p><strong>Operadores com BigDecimal:<\/strong>\u00a0eis algo que acho incr\u00edvelmente chato em Java. Em Groovy, operamos com valores do tipo BigDecimal assim como fazemos com tipos primitivos num\u00e9ricos. Agora, ao que tudo indica, <a href=\"http:\/\/underlap.blogspot.com\/2007\/08\/decimal-syntax.html\">o mesmo<\/a> poder\u00e1 ser feito com Java.\u00a0<\/p>\n<p><strong>Switch com strings:<\/strong>\u00a0eis algo que h\u00e1 muito tempo sinto falta em Java. Em groovy, qualquer tipo de objeto pode ser usado como compara\u00e7\u00e3o dentro de um switch. Em Java, por enquanto, apenas tipos inteiros ou enums. Ao que tudo indica, isto ir\u00e1 mudar <a href=\"http:\/\/yost.com\/computers\/java\/string-switch\/index.html\">tamb\u00e9m<\/a>. Nada mais l\u00f3gico, visto que no final das contas, o switch nada mais \u00e9 do que um if encadeado.<\/p>\n<p><strong>Propriedades:<\/strong>\u00a0h\u00e1 <a href=\"http:\/\/matthewbot.wordpress.com\/2007\/09\/09\/java-7\/\" target=\"_blank\">bastante discuss\u00e3o<\/a> a respeito de incluir ou n\u00e3o propriedades a la Groovy no Java 7. Pessoalmente, achava esta inclus\u00e3o uma grande bobagem at\u00e9 come\u00e7ar a programar em Groovy, aonde s\u00f3 crio m\u00e9todos gets e sets se quiser incluir alguma l\u00f3gica de neg\u00f3cio dentro dos mesmos. Acredite: realmente poupa MUITO tempo e linhas de c\u00f3digo (um dos recursos que mais uso no Netbeans consiste no encapsulador de atributos).<\/p>\n<p><strong>Interpola\u00e7\u00e3o de strings:<\/strong>\u00a0assim como em Groovy, vemos este recurso tamb\u00e9m em Ruby, PHP e diversas outras linguagens. Demorou para aparecer em Java tamb\u00e9m!<\/p>\n<p>A inclus\u00e3o de novos recursos na linguagem \u00e9 interessante, no entanto, surge a d\u00favida: ser\u00e1 realmente uma boa id\u00e9ia este jogo de &#8220;eu tamb\u00e9m&#8221; que vemos ocorrer no Java? N\u00e3o estar\u00edamos correndo o risco de poluir a linguagem, tornando ainda mais dif\u00edcil escrever novos compiladores para a mesma?<\/p>\n<p>Meu lado egoista v\u00ea com bons olhos estas novas inclus\u00f5es (tornam Java mais perto de algo no qual adoro trabalhar). J\u00e1 meu lado pragm\u00e1tico teme que no futuro Java vire um balaio de gato.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Confesso: sou louco por Groovy! Sendo assim, fico muito feliz ao ver que dentre as novas features previstas para o Java 7, encontram-se itens\u00a0que me fizeram adorar Groovy. Ao imaginar como ser\u00e1 o c\u00f3digo gerado na nova vers\u00e3o do Java caso estas features passem, percebe-se n\u00edtidamente que ser\u00e1 incrivelmente parecido com Groovy. Basta listar alguns [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,6],"tags":[],"class_list":["post-186","post","type-post","status-publish","format-standard","hentry","category-groovy","category-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java 7 vai ter a cara do Groovy?  - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=186\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java 7 vai ter a cara do Groovy?  - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Confesso: sou louco por Groovy! Sendo assim, fico muito feliz ao ver que dentre as novas features previstas para o Java 7, encontram-se itens\u00a0que me fizeram adorar Groovy. Ao imaginar como ser\u00e1 o c\u00f3digo gerado na nova vers\u00e3o do Java caso estas features passem, percebe-se n\u00edtidamente que ser\u00e1 incrivelmente parecido com Groovy. Basta listar alguns [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=186\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2008-11-28T01:18:03+00:00\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=186\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=186\",\"name\":\"Java 7 vai ter a cara do Groovy? - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"datePublished\":\"2008-11-28T01:18:03+00:00\",\"dateModified\":\"2008-11-28T01:18:03+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=186#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=186\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=186#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java 7 vai ter a cara do Groovy?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java 7 vai ter a cara do Groovy?  - \/dev\/Kico","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkico.itexto.com.br\/?p=186","og_locale":"pt_BR","og_type":"article","og_title":"Java 7 vai ter a cara do Groovy?  - \/dev\/Kico","og_description":"Confesso: sou louco por Groovy! Sendo assim, fico muito feliz ao ver que dentre as novas features previstas para o Java 7, encontram-se itens\u00a0que me fizeram adorar Groovy. Ao imaginar como ser\u00e1 o c\u00f3digo gerado na nova vers\u00e3o do Java caso estas features passem, percebe-se n\u00edtidamente que ser\u00e1 incrivelmente parecido com Groovy. Basta listar alguns [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=186","og_site_name":"\/dev\/Kico","article_published_time":"2008-11-28T01:18:03+00:00","author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=186","url":"https:\/\/devkico.itexto.com.br\/?p=186","name":"Java 7 vai ter a cara do Groovy? - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"datePublished":"2008-11-28T01:18:03+00:00","dateModified":"2008-11-28T01:18:03+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=186#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=186"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=186#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Java 7 vai ter a cara do Groovy?"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/186"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=186"}],"version-history":[{"count":2,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions"}],"predecessor-version":[{"id":188,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions\/188"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}