Java SE 7 Metamorphoses

55 respostas
B

[color=darkgreen]Specification Lead: Danny Coward[/color]
http://blogs.sun.com/dannycoward/

:arrow: https://jdk7.dev.java.net/

:arrow: https://jdk.dev.java.net/

:arrow: http://community.java.net/jdk/

:arrow: http://community.java.net/jsr/

:arrow: *(MS) = (Multimedia Session)


[color=darkgreen]JSR 203: More New I/O APIs for the Java™ Platform (“NIO.2”)[/color]
http://jcp.org/en/jsr/detail?id=203

Specification Lead: Alan Bateman
:arrow: http://blogs.sun.com/alanb/entry/what_is_happening_with_jsr

:arrow: http://blogs.sun.com/roller/resources/alanb/bof0895.pdf

:arrow: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4313887

:arrow: http://java.sys-con.com/read/46658_p.htm

:arrow: https://jsr203pub.dev.java.net/


[color=darkgreen]JSR 255: Java™ Management Extensions (JMX™) Specification, version 2.0[/color]
http://jcp.org/en/jsr/detail?id=255

[color=darkgreen]JSR 262: Web Services Connector for Java™ Management Extensions (JMX™) Agents[/color]
http://jcp.org/en/jsr/detail?id=262

Specification Lead: Eamonn McManus
:arrow: http://weblogs.java.net/blog/emcmanus/

:arrow: https://ws-jmx-connector.dev.java.net/

:arrow: http://blogs.sun.com/jmxnetbeans/

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3523/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3523.pdf

:arrow: https://jdk.dev.java.net/nonav/J12005/jmx.pdf

:arrow: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5072268

:arrow: http://bordet.blogspot.com/

:arrow: http://jroller.com/page/ghinkle


[color=darkgreen]JSR 260: Javadoc Tag Technology Update[/color]
http://jcp.org/en/jsr/detail?id=260

Specification Lead: Amy Fowler, Kathy Walrath
:arrow: http://today.java.net/pub/au/48

:arrow: http://weblogs.java.net/blog/walrath/

:arrow: http://www.javac.info/doc?n=JavaDoc.JavaDoc

:arrow: https://javadoctags.dev.java.net/


[color=darkgreen]JSR 274: The BeanShell Scripting Language[/color]
http://jcp.org/en/jsr/detail?id=274

Specification Lead: Pat Niemeyer
:arrow: http://weblogs.java.net/blog/pat/archive/2005/05/jsr274_standard_1.html

:arrow: http://beanshell.ikayzo.org/docs/display/BeanShell/Home

:arrow: http://beanshell.org/JavaOne2005.pdf

:arrow: http://www.artima.com/lejava/articles/beanshellP.html

:arrow: http://news.gmane.org/gmane.comp.java.beanshell.devel


[color=darkgreen]JSR 277: Java™ Module System[/color]
Specification Lead: Stanley Ho
http://jcp.org/en/jsr/detail?id=277

[color=darkgreen]JSR 294: Improved Modularity Support in the Java™ Programming Language[/color]
Specification Lead: Gilad Bracha
http://jcp.org/en/jsr/detail?id=294

:arrow: http://blogs.sun.com/gbracha/entry/developing_modules_for_development

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3885/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3885.pdf

:arrow: http://weblogs.java.net/blog/stanleyh/

:arrow: http://weblogs.java.net/blog/stanleyh/archive/j1-2006-jsr-277-bof.pdf

:arrow: http://docs.safehaus.org/download/attachments/2995/osgi-apachecon-20060628.pdf

:arrow: https://jsr-277-eg.dev.java.net/

:arrow: http://blog.cierniak.org/

:arrow: http://blogs.tedneward.com/2005/08/26/Welcome+To+JSR277.aspx


[color=darkgreen]JSR 121: Application Isolation API Specification[/color]
Specification Lead: Krzysztof Palacz
http://jcp.org/en/jsr/detail?id=121

[color=darkgreen]JSR 284: Resource Consumption Management API[/color]
Specification Lead: Grzegorz Czajkowski
http://jcp.org/en/jsr/detail?id=284

:arrow: http://weblogs.java.net/blog/gczaj/

:arrow: http://www.infoq.com/news/jsr-284-early-draft

:arrow: http://research.sun.com/projects/barcelona/papers/

:arrow: http://www.bitser.net/isolate-interest/

:arrow: http://web.archive.org/web/20050311232413/http://bitser.net/isolate-interest/bib.html

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2005/TS-7179/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2005/coreplatform/TS-7179.pdf

:arrow: http://userfriendly.free.fr/christopher/en/index.php?2006/06/24/18-jsr-121-isolation


[color=darkgreen]JSR 292: Supporting Dynamically Typed Languages on the Java™ Platform[/color]
http://jcp.org/en/jsr/detail?id=292

Specification Lead: Gilad Bracha
:arrow: http://blogs.sun.com/gbracha/entry/invokedynamic

:arrow: http://blogs.sun.com/gbracha/entry/jsr292_and_hotswapping

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3886/index.html *(MS)

:arrow: http://blogs.sun.com/roller/resources/gbracha/JAOO2005.pdf

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3886.pdf

:arrow: http://blogs.sun.com/sundararajan/entry/invokespecialdynamic

:arrow: http://blackdragsview.blogspot.com/

:arrow: http://www.bloglines.com/blog/ThomasEEnebo/

:arrow: http://news.gmane.org/gmane.comp.lang.jython.devel


[color=darkgreen]JSR 220: Java™ Persistence Architecture[/color]
Specification Lead: Linda DeMichiel, Michael Keith
http://jcp.org/en/jsr/detail?id=220

[color=darkgreen]JSR 295: Beans Binding[/color]
Specification Lead: Scott Violet
http://jcp.org/en/jsr/detail?id=295

[color=darkgreen]JSR 296: Swing Application Framework[/color]
Specification Lead: Hans Muller
http://jcp.org/en/jsr/detail?id=296

:arrow: http://weblogs.java.net/blog/hansmuller/archive/2006/06/jsr_296_bows_sw.html

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3399/index.html *(MS)

:arrow: http://weblogs.java.net/blog/hansmuller/archive/ts-3399-final.pdf

:arrow: http://weblogs.java.net/blog/mister__m/
:arrow: http://blog.michaelnascimento.com.br/2006/06/23/aceito-na-jsr-296/

:arrow: http://weblogs.java.net/blog/evanx/

:arrow: http://weblogs.java.net/blog/javaben/

:arrow: http://weblogs.java.net/blog/zixle/archive/2006/05/ease_of_swing_d.html

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-1594/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/desktop/TS-1594.pdf

:arrow: http://forums.java.net/jive/category.jspa?categoryID=45

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3395/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreenterprise/TS-3395.pdf

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-9056/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreenterprise/TS-9056.pdf

:arrow: http://today.java.net/pub/au/79

:arrow: http://www.jpacentral.com/

:arrow: http://blogs.sun.com/klingo/

:arrow: http://blogs.sun.com/marina/


[color=darkgreen]JSR 303: Bean Validation [/color]
http://jcp.org/en/jsr/detail?id=303

Specification Lead: Jason Carreira
:arrow: http://jroller.com/page/jcarreira

:arrow: http://www.infoq.com/news/JSR303-validation-standard

:arrow: http://wiki.opensymphony.com/display/XW/Validation+Framework

:arrow: http://www.hibernate.org/hib_docs/annotations/reference/en/html/validator.html

:arrow: http://jakarta.apache.org/commons/validator/

:arrow: http://forums.opensymphony.com/index.jspa

:arrow: http://raibledesigns.com/page/rd?entry=validation_framework_consolidation

:arrow: http://weblogs.java.net/blog/jhook/

:arrow: http://rifers.org/blogs/gbevin

:arrow: http://jroller.com/page/tfenne

:arrow: http://uri.jteam.nl/


[color=darkgreen]Integrating XML into the Java™ Programming Language[/color]
Mark Reinhold
:arrow: http://blogs.sun.com/mr/entry/integrating_xml_j1_2006

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3441/index.html *(MS)

:arrow: http://blogs.sun.com/mr/resource/integrating-xml-j1-2006.pdf

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3441.pdf

:arrow: http://www.xquerynow.com/cohensxblog/javaonedaytwo.html

:arrow: http://weblogs.java.net/blog/kirillcool/archive/2005/07/native_xml_supp_1.html

:arrow: http://debasishg.blogspot.com/2006/08/xml-integration-in-java-and-scala.html

:arrow: http://forums.java.net/jive/thread.jspa?threadID=995


[color=darkgreen]Closures for Java™[/color]
Gilad Bracha, Neal Gafter, James Gosling, Peter von der Ahé
:arrow: http://blogs.sun.com/roller/resources/ahe/closures.pdf

:arrow: http://gafter.blogspot.com/

:arrow: http://blogs.sun.com/gbracha/

:arrow: http://blogs.sun.com/ahe/entry/full_disclosure

:arrow: http://blogs.sun.com/jrose/

:arrow: http://jroller.com/page/tackline

:arrow: http://weblogs.java.net/blog/forax/

:arrow: http://wiki.java.net/bin/view/JDK/ClosuresSyntaxInJava7

:arrow: http://www.artima.com/forums/flat.jsp?forum=106&thread=173229


[color=darkgreen]Tiered Compilation[/color]

:arrow: http://blogs.sun.com/fatcatair/

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3412/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3412.pdf


[color=darkgreen]Visual Basic for the Java™ Platform[/color]

:arrow: http://blogs.sun.com/tor/

:arrow: http://blogs.sun.com/herbertc/

:arrow: http://developers.sun.com/learning/javaoneonline/sessions/2006/TS-3576/index.html *(MS)

:arrow: http://developers.sun.com/learning/javaoneonline/2006/coreplatform/TS-3576.pdf


[color=darkgreen]Swing-text Rendering Features (support XHTML, CSS 2.x, …), 2D Graphics Features, etc.[/color]

:arrow: http://community.java.net/javadesktop/


[color=darkgreen]Property Support[/color]

:arrow: http://weblogs.java.net/blog/cayhorstmann/archive/2006/06/say_no_to_prope.html


[color=darkgreen]Block Constructs[/color]

:arrow: http://doiop.com/smalltalk-block-to-java-through-transformation *(PDF)


[color=darkgreen]Method References[/color]

:arrow: http://weblogs.java.net/blog/alexwinston/archive/2005/04/strongly_types_1.html


[color=darkgreen]Partial Classes[/color]

:arrow: http://en.wikipedia.org/wiki/Partial_Classes


[color=darkgreen]Language Support for BigDecimal[/color]

:arrow: http://en.wikipedia.org/wiki/Bignum - (bignum arithmetic)


[color=darkgreen]Strings in Switch Statements[/color]

:arrow: http://yost.com/computers/java/string-switch/

:arrow: http://cdsmith.twu.net/professional/java/pontifications/switch.html


[color=darkgreen]Classloading Improvements[/color]

:arrow: http://blogs.sun.com/kkinnear/


[color=darkgreen]Security Features[/color]

:arrow: http://blogs.sun.com/andreas/

:arrow: http://weblogs.java.net/blog/mullan/


[color=darkgreen]“Java™ Kernel”[/color]

:arrow: http://weblogs.java.net/blog/enicholas/archive/2006/09/java_browser_ed.html


55 Respostas

D

Só um comentário sobre futurologia barata sobre a JSR 296: não vai dar certo. Não pelos aspectos técnicos, pois a proposta é totalmente viável, mas o SwingApplications vai cair na mesma categoria do JDBC 3.0: está lá disponível para todo mundo usar, mas sempre que alguém quiser criar uma tabela que mostre um conjunto de dados provenientes do banco de dados, o pessoal vai acabar usando JTable+DefaultTableModel ao invés de usar uma solução do novo framework. Acho que está chegando o momento de haver uma certa quebra na compatibilidade com as versões anteriores.

Sobre as demais JSRs:

  • JSR 203: ainda não precisei de nada que esta JSR vai oferecer (embora use bastante NIO, uso de uma maneira bm limitada), então acho que é meio perfumaria. Agora, qual vai ser o nome disso? The Newest New I/O?
  • JSR 274: uma amostra dos ventos da mudança: BeanShell, JavaScript, Groovy, sem falar que o povo do JRuby agora trabalha para a Sun. E tem gente que insiste em fechar os olhos para as mudanças.
  • JSR 277: gems para Java? :slight_smile:
  • JSR 292: ver JSR 274.
  • JSR 121: isso eu quero muito mesmo. Uma única JVM para todas as minhas aplicações Java :slight_smile:
  • JSR 295 e 303: ver comentário sobre JSR 296. Além disso, basear-se no Commons Validation? M-E-D-O :stuck_out_tongue:
J

Property support

http://weblogs.java.net/blog/cayhorstmann/archive/2006/06/say_no_to_prope.html

Meu! Parece até sonho, isso vai sair mesmo? O fim dos gets e sets no Java. So o Java 7 vier só com isso de alteração já tá valendo.

J

juzepeleteiro:
Property support

http://weblogs.java.net/blog/cayhorstmann/archive/2006/06/say_no_to_prope.html

Meu! Parece até sonho, isso vai sair mesmo? O fim dos gets e sets no Java. So o Java 7 vier só com isso de alteração já tá valendo.

Tomara que: exista compatiblidade reversa, exista meio de usar get sets como opção ( linguagens onde existe property, voce pode usar metodos se quiser)

Taí uma coisa que nunca me chateou…

J

Têm que ter, muitca coisa hoje é baseada no padrão get/set mas se não tiver tá valendo também.

Get/sets é o que mais polue código no Java… é, é, dá para fazer pela IDE mais o código fica grande cheio de coisas sem sentido e dificil de ler. No exemplo do site da para perceber, você bate o olho (no exemplo sem get/set) e já sabe do que se trata. No outro você tem que ler e ainda memorizar se todos tem get/set (read/write) quais tem só get (readonly) ou só o set (writeonly).

P

ta tudo pegando fogo! a sun ta correndo atrás hein?

só nao gostei muito das propriedades… e detestarei se x.y = z for o mesmo que x.setY(z), pois perderemos legibilidade adoidados…

bush, parabens pela compilacao!! algumas coisas, como essa das properties, ninguem comentou que é candidata ao 7, certo?

L

Olá

Uma perguntinha diabólica: quantos de nós ainda estaremos fiéis ao Java quando o JDK7 for lançado?

Eu uso Java desde o 1.0.2 e ainda não estou abandonando o barco. Mas ando meio assustado com o que vem por aí no .NET 3.0 e as outras possibilidades que existem como Ruby (e até mesmo algumas linguagens funcionais para usos específicos).

O Linux e o Unix não estão crescendo como muitos sonharam e o Vista + .NET 3.0 darão uma razoável chacoalhada no mercado pró Microsoft, principalmente agora que ela distribui grátis o Visual Studio 2005 Express.

Se os paradigmas de programação nas grandes empresas mudarem para adoção em massa de Web Services, SOA e sistemas baseados em workflow, quem quiser sobreviver no mercado vai ter que aprender a interoperar com a Microsoft e ainda aprender a usar um monte de aplicativos novos como por exemplo ESBs (pelo menos nos primeiros anos) e repositórios de metadados (nada a ver com Maven).

Será que dá para eu me preocupar se vai ter Get/Setter ou não?

[]s
Luca

F

pra quem ficou boiando com ESB,

Enterprise service bus http://en.wikipedia.org/wiki/Enterprise_Service_Bus

J

Luca:
Olá

Uma perguntinha diabólica: quantos de nós ainda estaremos fiéis ao Java quando o JDK7 for lançado?

Eu uso Java desde o 1.0.2 e ainda não estou abandonando o barco. Mas ando meio assustado com o que vem por aí no .NET 3.0 e as outras possibilidades que existem como Ruby (e até mesmo algumas linguagens funcionais para usos específicos).

O Linux e o Unix não estão crescendo como muitos sonharam e o Vista + .NET 3.0 darão uma razoável chacoalhada no mercado pró Microsoft, principalmente agora que ela distribui grátis o Visual Studio 2005 Express.

Se os paradigmas de programação nas grandes empresas mudarem para adoção em massa de Web Services, SOA e sistemas baseados em workflow, quem quiser sobreviver no mercado vai ter que aprender a interoperar com a Microsoft e ainda aprender a usar um monte de aplicativos novos como por exemplo ESBs (pelo menos nos primeiros anos) e repositórios de metadados (nada a ver com Maven).

Será que dá para eu me preocupar se vai ter Get/Setter ou não?

[]s
Luca

Eu não sei, e para falar a verdade eu nem estou tão preocupado assim, vou estar o usando o melhor (e quando falo melhor falo de prazer/mercado), que pode ser o .NET (que tá bem legal), pode ser Ruby (30% do meu desenvolvimento hoje é Ruby), pode ser Java ou qualquer outra coisa.

O Java comeu muita mosca nos ultimos tempos, mesmo com toda essas mudanças ainda tem muito o que fazer. Closure por exemplo: não basta suportar. A sua API têm que ser closure-based.

Na minha opinião o que prejudica o Java é a tal “compatibilidade”. Eu acho o seguinte, major version não precisa ser compativel uma com a outra. Vai lá e muda o que têm que ser mudado. Ahhh, mas meu projeto precisa dessa compatibilidade. Ora bolas, então usa a outra versão.

Mas, na minha visão, para o Java continuar a ser uma opção coisas como closure e property são fundamentais. Legibilidade do código é muitas vezes mais importante do que funcionalidades.

Mas eu ainda não vi nada parecido com o LinkQ do .NET no Java além daquele negocio de XML na linguagem (vai ver um engenheiro da SUN foi ver o LinkQ e achou que era só para XML hehehe).
O que é uma tremenda pena. Isso quando pronto e a todo vapor vai facilitar a vida a rodo.

Mas Java não é o meu time do coração, é apenas uma das muitas ferramentas de trabalho que eu tenho.

Eu quero é mais que eles matem uns aos outros (no bom sentido) que quem leva vantagem nisso somos nós.

C

Eu sinceramente acho uma ideia louca essa de quebrar a compatibilidade com outras versões… imagina só… voce lanca um software… ae vem uma UJVM MUITO melhor… ae vc nao pode atualizar sem que voce mecha em TODOS OS CLIENTES… isso é loucura… é por isso que tem muita gente (bancos… ) usando JEE 1.3 ainda… devido essa falta de compatibilidade entre os AS’s… e isso é prejudicial… po… não me vejo hoje usando JDK 1.4 , porem tem bilhares de empresas que usao… e podem escrever frameworks (um exemplo é hibernate 3 que mantem compatibilidade até com jdk 1.3 ) e eu vou poder usar…

Quanto ao .net… se voce SEMPRE for ficar em Windows… tanto no server quanto no client…não acho interessante usar Java… fica no windows de vez… mas o que atrai no java é a liberdade de mesclar as coisas… o poder do java no lado servidor é incomparavel…

O que eu quero dizer é: Compatibilidade é importante SIM.
Outra coisa que tmb não me encomodou nunca foi Getters e Setters , minha IDE gera eles mesmo…

O que tenho medo é que java se torne algo tão inchado… que nego comece a escrever codigo alienigena… quem nunca ficou horas debugando um codigo em C++ para descobrir que o maldito programador fez sobrecarga nos operadores ? po… mó chato ler codigo de uma linguagem cheia de frescurada… fica horripilante…

Eu ainda não vejo motivos para ir ao .Net , todos os ditos recursos maravilhosos de producao extrema são totalmente fora da realidade de aplicativos funcionais, aquele RAD dele mistura todo codigo de CSS com HTML e gera um codigo todo amarrado , rapido? EXTREMAMENTE , mas vai manter um sistema web inteiro daquela forma… em tempos de tableless e de organização de sites… isso é totalmente fora da realidade…

E sem esses “arrasta e solta , clica e Run” não vejo vantagens em ir para .net… Webservice ? fico RIDICULO com java ee 5 , @WebService pronto… nada de axis , nada de .jws… ejb entao ficou estupido… nada de XML , o JBoss SEAM entao deixa tudo maravilhoso… integra tudo e torna o desenvolvimento Web simples…

A unica coisa que me deixa empolgado com com .net eh o WPF , mas isso tmb existe um pessoal na sun integrando o JDK com ele… no final “tanto faz”

A minha realidade ( leia bem A MINHA REALIDADE ) é sair da plataforma windows… para clientes de pequeno porte-medio porte op Windows Server é um convite a desgraça total… nego usa o servidor como estacao ( sim , clientes com 15 maquinas ) e isso torna TUDO um caos… fora o windows mesmo… que simplesmente PARA do nada ( e nao estou falando de hardware podre… compramos só DELL ) … e Mono não é nem de longe uma alternativa viavel…

L

Olá

Em tempo: minha intenção não foi sabotar a excelente compilação do Bush e sair do tópico com uma discussão .NET x Java. Fui o primeiro a dar 5 estrelas para o post dele.

Apenas quiz chamar a atenção de que enquanto o Java lida com os detalhes da linguagem no JDK, os caras do JEE podem colocar tudo a perder se não reagirem a tempo. Vejamos o que chamo de reagir:

  1. O JEE é complexo demais. Há uma série de esforços para melhorá-lo. Nem vou discutir se estes esforços são a solução ideal. Mas acho que a Sun deveria tentar integrar mais o que há de bom por aí ao invés de ficar sempre com sua própria solução. Exemplos: Hibernate, Seam, XFire+Centix, glassfish, etc. Citei o glassfish que tem o código aberto porque não basta abrir código, é preciso juntar esforços, ou seja somar glassfish + geronimo + etc.

  2. Ainda hoje persiste a dificuldade de usar Java com dispositivos periféricos como até mesmo uma impressora enquanto o resto do mundo está integrando soluções de identificação biométrica, leitores de chip ou criptografia via hardware. Não é que isto seja fundamental, mas se na Sun só há gente que saiba generics e closures e ninguém que manje de devices drivers, então deve tentar prestigiar algum projeto externo destes que pululam por aí com um desenvolvedor só.

O barco está passando. Ninguém pode negar que fazer Web Services com .NET é muito mais fácil do que com Java/JEE. E há mais coisas no reino da Dinamarca. No ano que vem até o Word e o Excel estarão integrados ao Workflow Foundation e o paradigma dos workflows voltarão à discussão. Este WPF (Avalon) que o Chun citou também promete e o LinQ também. E o Indigo (agora com outro nome) pode fazer o que o JMS prometeu pela arquitetura baseada em mensagens.

Vou repetir o que disse há uns 3 anos atrás: o que salva o Java é a força de empresas como Oracle, IBM, BEA, Web Methods e outras. Se dependesse só da Sun, o barco nem estaria passando pois já teria afundado há algum tempo.

[]s
Luca

M

Luca:
O Linux e o Unix não estão crescendo como muitos sonharam e o Vista + .NET 3.0 darão uma razoável chacoalhada no mercado pró Microsoft, principalmente agora que ela distribui grátis o Visual Studio 2005 Express.

Luca


Não sei se o Vista ou o .Net 3.0 vão mexer tanto no mercado assim. Até hoje não vi uma justificativa real no Vista que o faça ser tão importante. E antes do .NET 3.0 ser realmente importante, muita gente tem que largar o VB 6.

Talvez para Web o .Net 3.0 possa ser importante, mas qual a grande vantagem do 3.0 sobre o 2.0?

C

marcelomartins:
Luca:
O Linux e o Unix não estão crescendo como muitos sonharam e o Vista + .NET 3.0 darão uma razoável chacoalhada no mercado pró Microsoft, principalmente agora que ela distribui grátis o Visual Studio 2005 Express.

Luca


Não sei se o Vista ou o .Net 3.0 vão mexer tanto no mercado assim. Até hoje não vi uma justificativa real no Vista que o faça ser tão importante. E antes do .NET 3.0 ser realmente importante, muita gente tem que largar o VB 6.

Talvez para Web o .Net 3.0 possa ser importante, mas qual a grande vantagem do 3.0 sobre o 2.0?

No site da Microsoft diz que o .Net 3.0 é o 2.0 com suporte ao INDIGO (WCF) e ao AVALON(WPF)

The Microsoft .NET Framework 3.0 (formerly known as WinFX), is the new managed code programming model for Windows. It combines the power of the .NET Framework 2.0 with new technologies for building applications that have visually compelling user experiences, seamless communication across technology boundaries, and the ability to support a wide range of business processes. These new technologies are Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Windows CardSpace (formerly code named “Infocard”). Microsoft plans to ship .NET Framework 3.0 as part of the Windows Vista operating system. In addition, Microsoft is making these technologies available on Windows XP and Windows Server 2003. The following Community Technology Preview of .NET Framework 3.0 enables you to continue experimenting with early builds of these technologies, get acquainted with the development experience, and provide feedback to Microsoft. For more information on these technologies

L

Olá

Bush, mais uma vez desculpe pelo Off Topic :oops:

E mais o Windows Workflow Foundation integrado a tudo. Isto pode mudar o modo dos chefes enxergarem o desenvolvimento de sistemas. O conceito de Workflow já está aí há muito tempo, inclusive com um monte em Java. Eu vi uma demo simples do JBoss jBpm e fiquei impressionado com o potencial disto quando usado junto com os conceitos de serviços e eventos.

[]s
Luca

M

Realmente, gerenciamento de processos vai ser a próxima (ou atual) onda do mercado. Vamos ver como a MS vai integrar isso nos seus produtos.

Quem fizer o melhor trabalho vai ter uma boa vantagem nos proximos anos.

K

marcelomartins:
Realmente, gerenciamento de processos vai ser a próxima (ou atual) onda do mercado. Vamos ver como a MS vai integrar isso nos seus produtos.

Quem fizer o melhor trabalho vai ter uma boa vantagem nos proximos anos.

Mas na minha ótica, mecanismos de BPM tem muito mais haver com Middleware e produtos do que com a plaforma de desenvolvimento - linguagem.

M

Kenobi:
marcelomartins:
Realmente, gerenciamento de processos vai ser a próxima (ou atual) onda do mercado. Vamos ver como a MS vai integrar isso nos seus produtos.

Quem fizer o melhor trabalho vai ter uma boa vantagem nos proximos anos.

Mas na minha ótica, mecanismos de BPM tem muito mais haver com Middleware e produtos do que com a plaforma de desenvolvimento - linguagem.


Pois é, mas isso tem a ver com a maneira como o setor de marketing da microsoft vai trabalhar :slight_smile:

T

Daniel Quirino Oliveira:
- JSR 274: uma amostra dos ventos da mudança: BeanShell, JavaScript, Groovy, sem falar que o povo do JRuby agora trabalha para a Sun. E tem gente que insiste em fechar os olhos para as mudanças.

O futuro são linguagens rodando na JVM para determinados fins específicos. Logo logo o JRuby, o Jython e outros forks terão mais usuários que os originais, e as linguagens sem plataforma perderão cada vez mais espaço.

Eu vejo em 10 anos que o mercado estará dividido em plataformas, a JVM e o .Net, com várias linguagens rodando em cada. O Ruby, o Python, etc, vão comer poeira. O dia que o Ruby rodar 100% a uma velocidade melhor na JVM não existirá motivo para usar o original, e ele estará morto.

Não sei se a Microsoft “viu isso”, ou se mirou numa coisa e acertou outra. Mas me lembro do marketing na época do que o .Net foi lançado e parecia mais uma questão “escolha sua linguagem”, e as principais eram C# e VB.Net, sendo o VB.Net só um skin do C# só que mais feio. Era de dar risada.

Vendo doutra forma, a proposta de linguagens dinâmicas em Java é interessante, pois usar Java para o core da aplicação e uma linguagem cuja produtividade seja maior para coisas externas é o que já fazemos de uma forma ou de outra.

Definitivamente existem coisas melhores que Ruby por aí, mas a Sun vai onde o hype está.

CPAN para Java? Outra coisa “nova”.

T

Luca:
Uma perguntinha diabólica: quantos de nós ainda estaremos fiéis ao Java quando o JDK7 for lançado?

Eu uso Java desde o 1.0.2 e ainda não estou abandonando o barco. Mas ando meio assustado com o que vem por aí no .NET 3.0 e as outras possibilidades que existem como Ruby (e até mesmo algumas linguagens funcionais para usos específicos).

É necessário avaliar todos os fatores. Por exemplo, você vê alguém reclamando de “complexidade” no .Net? No entanto a Microsoft entulha o C# de features, deixando-o cada vez mais bloated e complexo.

Quero ver o que eles farão com as APIs. Como todos aqueles features novos ela ficará muito inconsistente. Será como em Perl, várias formas de se fazer a mesma coisa.

Sinceramente, isso é sinal de que eles não estão indo bem com esse negócio de .Net. Se eles estivessem confortavelmente dando uma surra no Java eles fariam que nem fizeram com o IE, ou seja, nada.

Quanto ao Ruby, Python e outras, elas serão assimiladas (pelos forks para a JVM e para o .Net) e os projetos originais ficarão comendo poeira. Esses projetos serão relegados ao gueto das linguagens de programação por questões óbvias.

Não vejo como isso será diferente de nenhum release do Windows. De dois em dois anos ouvimos que o mundo como conhecemos irá acabar porque a Microsoft lançará a sua nova linha de produtos.

Prefiro esperar para ver.

R

Paulo Silveira:
só nao gostei muito das propriedades… e detestarei se x.y = z for o mesmo que x.setY(z), pois perderemos legibilidade adoidados…

Eu gostei, pessoalmente não acho que há perda de legibilidade, apenas o setter é mais “verboso”. É bem claro que no teu caso tanto faz a forma, o que estamos fazendo é atrinuir um valor à y, a diferença é que hoje em dia você sabe se algum código está sendo executado ou não, mas não acho que seja tão importante assim. Talvez você fale daquela coisa de mensagens entre objetos, mas não acho que isso “mate” o conceito…

Eu acho que os programadores Java já fizeram tantos getters/setters que acabam achando properties algo meio bizarro, quando o que eu acho bizarro é digitar código à tôa (IMHO)…

T

renato3110:
Paulo Silveira:
só nao gostei muito das propriedades… e detestarei se x.y = z for o mesmo que x.setY(z), pois perderemos legibilidade adoidados…

Eu gostei, pessoalmente não acho que há perda de legibilidade, apenas o setter é mais “verboso”. É bem claro que no teu caso tanto faz a forma, o que estamos fazendo é atrinuir um valor à y, a diferença é que hoje em dia você sabe se algum código está sendo executado ou não, mas não acho que seja tão importante assim. Talvez você fale daquela coisa de mensagens entre objetos, mas não acho que isso “mate” o conceito…

Eu acho que os programadores Java já fizeram tantos getters/setters que acabam achando properties algo meio bizarro, quando o que eu acho bizarro é digitar código à tôa (IMHO)…

E qual a diferença entre “x.y = z” e y como atributo público? Em Java não é obrigatório fazer todos os campos como privados, portanto não seria mais fácil fazê-lo público para assim evitar os “terríveis setters”? O resultado não seria o mesmo?

Não entendi a sua crítica.

R

Luca:
Olá
Em tempo: minha intenção não foi sabotar a excelente compilação do Bush e sair do tópico com uma discussão .NET x Java. Fui o primeiro a dar 5 estrelas para o post dele.

Apenas quiz chamar a atenção de que enquanto o Java lida com os detalhes da linguagem no JDK, os caras do JEE podem colocar tudo a perder se não reagirem a tempo. Vejamos o que chamo de reagir…

Um lance que tem é que o .NET é feito por uma empresa, enquanto que o Java é feito por um consórcio. Ou seja, em Java, como no software livre, parece não existir muito uma “visão comercial”, no sentido positivo de não atrofiar os músculos, de ouvir o que os usuários pensam e querem, o programador do dia-a-dia, não apenas o carinha lá que é doutorado em num sei o quê… Eu acho que a Microsoft ouve mais os seus usuários…

R

Thiagosc:
E qual a diferença entre “x.y = z” e y como atributo público? Em Java não é obrigatório fazer todos os campos como privados, portanto não seria mais fácil fazê-lo público para assim evitar os “terríveis setters”? O resultado não seria o mesmo?

Não entendi a sua crítica.

Entendi o que você quer dizer. Mas se você precisar colocar uma lógica associada à atribuição do campo? Você tem que usar um getter/setter. E todos os frameworks que se baseiam em getters/setters? Além disso, se você tiver alguns campos apenas com lógica de validação, vai ficar meio inconsistente você pegar um objeto, e quando setar uma propriedade você ver que algumas é com set, outras com atribuição de campo…Além disso, como fazer um campo exposto ser read/write-only?

O properties não significa a eliminação de getters/setters, mas sim a transparência dos mesmos. Se você tem um campo simples, ok, não há getters/setters. Mas se você tem que fazer alguma validação, é só adicionar o getter/setter, quando você fizer z = x.y ou x.y = z eles serão automaticamente acionados. Mas a maioria dos campos não têm validação né…

Por falar nisso, a página sobre properties que o Bush mostrou tem uma implementação da idéia com o Mustang, e parece que o cara é brasileiro! Ou algo do tipo…

T

renato3110:
Entendi o que você quer dizer. Mas se você precisar colocar uma lógica associada à atribuição do campo? Você tem que usar um getter/setter. E todos os frameworks que se baseiam em getters/setters? Além disso, se você tiver alguns campos apenas com lógica de validação, vai ficar meio inconsistente você pegar um objeto, e quando setar uma propriedade você ver que algumas é com set, outras com atribuição de campo…Além disso, como fazer um campo exposto ser read/write-only?

O properties não significa a eliminação de getters/setters, mas sim a transparência dos mesmos. Se você tem um campo simples, ok, não há getters/setters. Mas se você tem que fazer alguma validação, é só adicionar o getter/setter, quando você fizer z = x.y ou x.y = z eles serão automaticamente acionados. Mas a maioria dos campos não têm validação né…

Mas aí eu acho ruim. Um método deve ser chamado como um método, uma operação de atribuição como uma operação de atribuição. Você na verdade estaria chamando um método escondido do desenvolvedor, apenas para economizar algumas tecladas.

Aí é uma questão de filosofia, explícito é melhor que implícito e o código que está escrito é o que é feito sem mais nem menos.

R

Realmente é uma questão de filosofia, eu já pensei nesse lance de ah, mas aí eu vou tá chamando código implicitamente sem perceber, como se fosse um medo…mas no final das contas esse medo pra mim é medo de nada…

Não há problema em um método rodar por trás, quem entender o conceito de properties vai saber que potencialmente, em toda a atribuição de campo, há um get/set rodando… Olha o link, o primeiro exemplo dele já começa mostrando uma economia de 80%! de código com properties…

O lance do framework Swing também vi, mas eles não podiam embutir isso no Swing, ou seja, um novo Swing? Essa história de framework vai ficar que nem aquele lance de mais uma opção pra se fazer as coisas…

É engraçado como nas JSRs, eles próprios metem o pau nas features atuais do Java: “hoje em dia, é simplesmente ridículo programar em Swing… Javadoc é uma tecnologia de 10 anos de idade, totalmente ultrapassada… assim como os arquivos JAR, que datam da época do ENIAC…” :smiley: Mais ou menos assim ehehhehe, enquanto nós só aqui com medo de criticar eheheheh :smiley:

C

Se você der uma olhada no JSTL, JSF e outras frameworks web verá que as propriedades já são tratadas assim e sem problema algum.

J

chicocx:
Thiagosc:

Mas aí eu acho ruim. Um método deve ser chamado como um método, uma operação de atribuição como uma operação de atribuição. Você na verdade estaria chamando um método escondido do desenvolvedor, apenas para economizar algumas tecladas.

Se você der uma olhada no JSTL, JSF e outras frameworks web verá que as propriedades já são tratadas assim e sem problema algum.

Pior, se você ver qualquer outra coisa que não seja o Java já é assim.

** Licensa poêtica, eu quis dizer “a maioria das outras coisas”

T

JSTL é uma linguagem à parte do Java, e foi criada para evitar o uso de Java no JSP.

Faz sentido evitar Java dentro do Java? Acho que não.

T

renato3110:
Realmente é uma questão de filosofia, eu já pensei nesse lance de ah, mas aí eu vou tá chamando código implicitamente sem perceber, como se fosse um medo…mas no final das contas esse medo pra mim é medo de nada…

Não há problema em um método rodar por trás, quem entender o conceito de properties vai saber que potencialmente, em toda a atribuição de campo, há um get/set rodando… Olha o link, o primeiro exemplo dele já começa mostrando uma economia de 80%! de código com properties…

Eu acho essa questão de setters exagerada. Se a sua aplicação tem 80% do código com getters e setters é sinal que ela não é mais do que um monte de Javabeans.

Em quantas aplicações você já trabalhou que eram 80% do código assim? Eu nunca, talvez algum Hello World da vida.

renato3110:

É engraçado como nas JSRs, eles próprios metem o pau nas features atuais do Java: “hoje em dia, é simplesmente ridículo programar em Swing… Javadoc é uma tecnologia de 10 anos de idade, totalmente ultrapassada… assim como os arquivos JAR, que datam da época do ENIAC…” :smiley: Mais ou menos assim ehehhehe, enquanto nós só aqui com medo de criticar eheheheh :D

E como isso afeta o que realmente é? Quer dizer que se fulano esculhamba com o JARs é sinal de que devemos entrar na onda?

Eu sou contra a “mudança pela mudança”, sou a favor da “mudança pela melhoria das ferramentas com que trabalhamos”.

R

renato3110:

Um lance que tem é que o .NET é feito por uma empresa, enquanto que o Java é feito por um consórcio. Ou seja, em Java, como no software livre, parece não existir muito uma “visão comercial”, no sentido positivo de não atrofiar os músculos, de ouvir o que os usuários pensam e querem, o programador do dia-a-dia, não apenas o carinha lá que é doutorado em num sei o quê… Eu acho que a Microsoft ouve mais os seus usuários…

Eu acho justamente o contrário :stuck_out_tongue:
O JCP ouve bem os usuários, principalmente pelo fato de que os usuários podem fazer parte do JCP se eles tiverem boas idéias.

C

renato3110:

Um lance que tem é que o .NET é feito por uma empresa, enquanto que o Java é feito por um consórcio. Ou seja, em Java, como no software livre, parece não existir muito uma “visão comercial”, no sentido positivo de não atrofiar os músculos, de ouvir o que os usuários pensam e querem, o programador do dia-a-dia, não apenas o carinha lá que é doutorado em num sei o quê… Eu acho que a Microsoft ouve mais os seus usuários…

Acho que isso não é um ponto a favor… a JCP garante o investimento constante das EMPRESAS em Java… pois ninguem investe 50 bilhoes de dolares sendo que amanha alguem muda de ideia e troca tudo (alguem lembra de .net 1.1 pra 2.0 ? )

Acho que metade das funcionalidades do C# em sua versao 2.0 são bizarras , e as que vem no 3.0 são totalmente doidas… complexas e deixam o codigo terrivelmente complexo e poluido…

B

Tudo que eu coloquei foi comentado como candidato ao Java SE 7.
Na compilação tem-se os proponentes e participantes das referências (com suas implementações de referência, drafts, propostas, arquivos, apresentações multimídias, blogs, grupos e listas de discussões, artigos, etc).
*Exceção: Property support, Partial Classes são candidatos ao Java SE 7, mas os artigos foram feitos “ad hoc”.

No mais, este ano ainda vai ter uma renca de JSRs propostas.

[ ]´s

J

Exemplifique, eu até acho que meia duzia de coisas meio estranhas para mim, mas em grande maioria eu acredito que são coisas úteis que facilitam e deixam o código mais limpo, por exemplo:

  1. Partial Class
    Aqui a microsoft fala: Nos damos suporte a IDEs! Partial classes são utilizadas aonde a IDE gera metada da classe e o usuário gera a outra metade. Exemplo no Netbeans e em outras IDEs aonde tem métodos inlegiveis e que você não pode nem tocar. Ou em outros casos onde “metade” da sua classe vai para um XML com as configurações das telas e eventos. Você têm na sua metade só o que é “inteligente”. E nada de impede de vizualiar a outra metade burra. Isso acontece hoje com a maioria das IDEs Java mas no modo cambalacho.

  2. Linq
    Isso é fantástico. Imagine você poder criar a sua própria DSL integrada ao seu código e com todas as funcionalidades de uma IDE (autocomplete, verificação de erros e etc). No java a unica coisa feita nesse sentido foi justo com XML, aonde na minha visão, é menos proveitosso.
    Imagine a JBoss criando uma DSL Linq para o HQL e você usando HQL sem precisar ser string. Com autocomplete, validação e etc.

Eu poderia escrever outras coisas aqui, mas não meu intuito começar uma guerra Tecnologia x Tecnologia, só gostaria de pedir exemplos quando fala-se esse tipo de coisa. Só para ter certeza que não é simplemente “eu gosto do Java, e não é feito da mesma maneira que no Java”.

J

microfilo:
Eu acho justamente o contrário :stuck_out_tongue:
O JCP ouve bem os usuários, principalmente pelo fato de que os usuários podem fazer parte do JCP se eles tiverem boas idéias.

O problema é que o JCP é muuuuito lento e acadêmico. Demora muito para especificar uma coisa e como tem muita gente dando pitaco nem sempre sai coisa boa.

Normalmente as coisas boas saem quando eles chupam a idea de um framework já existente no mercado (vide EJB3) e mesmo assim ainda conseguem estragar um pouquinho.

O que falta no JCP é um esquema menos democrático. Aonde um, no máximo dois, são responsaveis pelas decisões. O papel dos outros é simplemente opinar.

T

juzepeleteiro:
1) Partial Class
Aqui a microsoft fala: Nos damos suporte a IDEs! Partial classes são utilizadas aonde a IDE gera metada da classe e o usuário gera a outra metade. Exemplo no Netbeans e em outras IDEs aonde tem métodos inlegiveis e que você não pode nem tocar. Ou em outros casos onde “metade” da sua classe vai para um XML com as configurações das telas e eventos. Você têm na sua metade só o que é “inteligente”. E nada de impede de vizualiar a outra metade burra. Isso acontece hoje com a maioria das IDEs Java mas no modo cambalacho.

Algumas perguntas:

  • Essa feature deveria ser algum gancho interno para aplicações como IDEs fazerem uso? O que li na internet foi justamente a possibilidade do desenvolvedor usá-lo, o que é extremamente não-inteligente.

  • E o que impede o Swing de guardar dados num arquivo separado, como o Delphi fazia?

Realmente não vejo utilidade nisso, todas as “vantagens” possíveis podem ser feitas sem essa feature (um arquivo separado para dados do IDE) e só resta a complexidade. Se o problema é referenciar o dito arquivo com algum Annotation, então crie-se uma convenção para o nome e a localização do mesmo para se evitar problemas.

Mais uma vez pergunto, onde estão os desenvolvedores reclamando da complexidade do C#? Ou ninguém está usando, ou a quantidade de desenvolvedores Java no mundo os excede em muito e não podemos ouvi-los, ouvimos apenas a “complexidade do Java”.

juzepeleteiro:
2) Linq
Isso é fantástico. Imagine você poder criar a sua própria DSL integrada ao seu código e com todas as funcionalidades de uma IDE (autocomplete, verificação de erros e etc). No java a unica coisa feita nesse sentido foi justo com XML, aonde na minha visão, é menos proveitosso.
Imagine a JBoss criando uma DSL Linq para o HQL e você usando HQL sem precisar ser string. Com autocomplete, validação e etc.

Complexidade 10 x 0 usuários.

Tenho a impressão que quem acredita que DSLs são a salvação da lavoura nunca ouviu falar de Lisp e de macros. Preferiria muito mais ter uma implementação de Common Lisp rodando na JVM e eu mesmo criar quaisquer abstrações que desejasse.

O problema é que nem Java e nem C# são Lisp.

O

[size=9]juzepeleteiro wrote:[/size]

Eu também sou desta opnião vou pra onde o mercado(maior remuneração e maior possibilidade de trabalho) me levar, nos dias atuais eu acho que não podemos ficar teclando numa tecla só diante de várias tecnologias e tendências.

[size=9]chun wrote:[/size]

Compatibilidade entre versões é essencial, desde que para manter esta compatibilidade não seja necessário retardar a evolução e facilidades da linguagem. Para mim e tudo uma questão de evolução/mercado, a empresa tem todo direito de não migrar para versões mais recentes mas esta correndo um sério risco em sair do mercado e quando chegar o SOA, o que vai acontecer?! Sei que da o maior trabalho para migrar de uma técnologia pra outra, mas tem que pensar que tem outras empresas que estão ai, correndo atrás…:roll:

Sou a favor das inovações e mudanças desde que elas sejam para o bem estar coletivo…
Pois o Mundo é redondo, não é?!
:wink:

L

Já usou google? Já ouviu falar da famosa implementação de LISP que roda na JVM chamada Armed Bear Common Lisp? (http://armedbear.org/abcl.html).

As macros do lisp tem seus problemas, mas no geral provem uma enorme vantagem para os desenvolvedores. Leia o livro do Paul Grahan sobre lisp para ver como elas são usadas no mundo real. Por sinal, qual a SUA experiência com linguagens que não Java?

R

Thiagosc:
renato3110:

É engraçado como nas JSRs, eles próprios metem o pau nas features atuais do Java: “hoje em dia, é simplesmente ridículo programar em Swing… Javadoc é uma tecnologia de 10 anos de idade, totalmente ultrapassada… assim como os arquivos JAR, que datam da época do ENIAC…” :smiley: Mais ou menos assim ehehhehe, enquanto nós só aqui com medo de criticar eheheheh :D

E como isso afeta o que realmente é? Quer dizer que se fulano esculhamba com o JARs é sinal de que devemos entrar na onda?

Eu sou contra a “mudança pela mudança”, sou a favor da “mudança pela melhoria das ferramentas com que trabalhamos”.

Ué, mas o que é, e o que não é, é relativo. Eu tô faalndo justamente disso, de entrar na onda. Se você chegasse aqui há um tempo atrás e saísse falando que arquivos JAR são ridículos, ia ver quanta gente ia te apedrejar…Aí eu acho engraçado ler a própria JSR praticamente dizendo isso…Outro exemplo é se eu falar aqui que desenhar telas pelo código é coisa de doido… quase ninguém vai concordar… é engraçado …

microfilo:
renato3110:

Um lance que tem é que o .NET é feito por uma empresa, enquanto que o Java é feito por um consórcio. Ou seja, em Java, como no software livre, parece não existir muito uma “visão comercial”, no sentido positivo de não atrofiar os músculos, de ouvir o que os usuários pensam e querem, o programador do dia-a-dia, não apenas o carinha lá que é doutorado em num sei o quê… Eu acho que a Microsoft ouve mais os seus usuários…

Eu acho justamente o contrário :stuck_out_tongue:
O JCP ouve bem os usuários, principalmente pelo fato de que os usuários podem fazer parte do JCP se eles tiverem boas idéias.

É meio paradoxo isso… mas sei lá, quantos programadores do dia-a-dia sabem que o JCP existe?

Ué, então por que ele não faz? :smiley:

T

louds:
Já usou google? Já ouviu falar da famosa implementação de LISP que roda na JVM chamada Armed Bear Common Lisp? (http://armedbear.org/abcl.html).

As macros do lisp tem seus problemas, mas no geral provem uma enorme vantagem para os desenvolvedores. Leia o livro do Paul Grahan sobre lisp para ver como elas são usadas no mundo real. Por sinal, qual a SUA experiência com linguagens que não Java?

Ok, você conhece Lisp e como as macros funcionam em Lisp? “Tem seus problemas” é um tanto quanto genérico. Macros acabam com a repetição de código, todos esses getters/setters entre outras coisas seriam facilmente removíveis.

Apenas acontece, como eu disse, que nem Java e nem C# são Lisp. Isso significa que entulhar essas linguagens de features duvidosas apenas as farão mais complexas do que o necessário.

Sobre a implementação, sim, e existem várias linguagens para a JVM. Nunca testei nenhuma da JVM, uso o sbcl, mas existe um enorme diferença entre um projeto versão 0.0.9 e um pronto para produção. Portanto o Google somente não ajuda.

Isso sem mencioar o fato de que o último release é de outubro de 2005. Alguém se arrisca a usá-lo em produção? Eu prefiro manter meu emprego.

L

Thiagosc:

Ok, você conhece Lisp e como as macros funcionam em Lisp? “Tem seus problemas” é um tanto quanto genérico. Macros acabam com a repetição de código, todos esses getters/setters entre outras coisas seriam facilmente removíveis.

Cara, eu conheço pouco do sistema de macros do lisp, conheço melhor o mecanismo de macros higiênicas do scheme e um pouco das macros do Dylan (essas mais teóricamente que na prática).

Agora queria saber de você o que você vê de bom, de preferência com exemplos, das macros do lisp e por que isso não seria aplicavel ao Java. Foi isso que eu entendi do que você falou, que macros seriam ruim em Java, me perdoe se entendi errado.

Existem pesquisas em adicionar suporte à macros higiênicas no Java, aos moldes do Dylan, que é usando quotations e syntax case, basicamente. Dylan é uma linguagem muito mais próxima de Java que scheme ou lisp, então dá para fazer um paralelo razoável, já que não é uma tonelada de parênteses a todo lado.

Pessoalment eu preferiria um mecanismo de macros que todas essa modificações que estão propondo, pois properties e lambas podem ser emulados via macros com um pouco de esforço.

R

Estou estudando para o SCJP 5.0

Mas pelo que dizem de bom do C# estou começando a ter vontade de instalar o Visual Studio aqui.

C

Exemplifique, eu até acho que meia duzia de coisas meio estranhas para mim, mas em grande maioria eu acredito que são coisas úteis que facilitam e deixam o código mais limpo, por exemplo:

  1. Partial Class
    Aqui a microsoft fala: Nos damos suporte a IDEs! Partial classes são utilizadas aonde a IDE gera metada da classe e o usuário gera a outra metade. Exemplo no Netbeans e em outras IDEs aonde tem métodos inlegiveis e que você não pode nem tocar. Ou em outros casos onde “metade” da sua classe vai para um XML com as configurações das telas e eventos. Você têm na sua metade só o que é “inteligente”. E nada de impede de vizualiar a outra metade burra. Isso acontece hoje com a maioria das IDEs Java mas no modo cambalacho.

  2. Linq
    Isso é fantástico. Imagine você poder criar a sua própria DSL integrada ao seu código e com todas as funcionalidades de uma IDE (autocomplete, verificação de erros e etc). No java a unica coisa feita nesse sentido foi justo com XML, aonde na minha visão, é menos proveitosso.
    Imagine a JBoss criando uma DSL Linq para o HQL e você usando HQL sem precisar ser string. Com autocomplete, validação e etc.

Eu poderia escrever outras coisas aqui, mas não meu intuito começar uma guerra Tecnologia x Tecnologia, só gostaria de pedir exemplos quando fala-se esse tipo de coisa. Só para ter certeza que não é simplemente “eu gosto do Java, e não é feito da mesma maneira que no Java”.

Em http://www.codepost.org/view/126 voce pode encontrar alguns exemplos de como C# 3.0 vai tornarse gordo e cheio de coisas praticamente INDEBUGAVEIS…

Back to Vb 6 ? dah licenca neh…

R
Em http://www.codepost.org/view/126 voce pode encontrar alguns exemplos de como C# 3.0 vai tornarse gordo e cheio de coisas praticamente INDEBUGAVEIS....

Arghh, esse abaixo é terrível:

// C# 2.0 behavior
int i = 10;
string s = "Hello codepost visitors!";

// New C# 3.0 var type
var i = 5;
var s = "Hello again!";

Me lembra os "var $qualquer" do PHP.

C
rafaelsouzaf:
Em http://www.codepost.org/view/126 voce pode encontrar alguns exemplos de como C# 3.0 vai tornarse gordo e cheio de coisas praticamente INDEBUGAVEIS....

Arghh, esse abaixo é terrível:

// C# 2.0 behavior
int i = 10;
string s = "Hello codepost visitors!";

// New C# 3.0 var type
var i = 5;
var s = "Hello again!";

Me lembra os "var $qualquer" do PHP.

Exato... agora imagine um CRM inteiro feito usando isso... e pior...

var o = new { Name = "Niek", Gender = "Male", Active = true };

hahaha... imagina que legal lá na frente do programa receber um objeto desse tipo... é mais ou menos assim:

Voce recebe uma banana com casca de laranja e que tem dentro uma melancia :P

E acredite... isso vai ser ensinado como MARAVILHA em todos os cursinhos e TODO MUNDO vai usar isso... tornando C# o monstro que C++ é hoje... cheio de coisas...

Eu ouvi um papo que a Microsoft percebeu que o C# não é tão maravilhoso e esta pensando em tornar o Python linguagem oficial do .net... alguem sabe se eh verdade ?

L

Olá

Apesar de gostar menos de código C# do que de java, até que gostei de alguma coisa e escrevi um novo tópico em Método toMD5 (feature do C# 3.0)

[]s
Luca

C

Luca:
Olá

Apesar de gostar menos de código C# do que de java, até que gostei de alguma coisa e escrevi um novo tópico em Método toMD5 (feature do C# 3.0)

[]s
Luca

Acho isso pouco util… e abre uma bela porta para encherem de metodo estaticos levando a programar orientado AO objeto e nao A objetos…

Se usado da forma correta… ajuda… pouco… mas ajuda…

mas se programado da forma que TODO MUNDO vai usar… vai transformar a classe string numa SUPERUPERPOWER… vai fazer até pipoca…

B
  • 5 referências e vários links.

Colaborações, sugestões e melhorias são bem vindas.

B

bom sei la minha humilde opinião…

Não se compara uma plataforma que vive a base de dinherio com outras a bases de financiamento de algumas empresas…vamo expor 2 cenarios básicos…

Voce tem uma oficina de carros (MICROSOFT) em que voce PAGA pelo serviço tudo ótimo tem seu carro lavado,polido,consertado e pronto pra uso se num sabe como foi feito mas se sabe que funciona…beleza se pagou eles tem como sempre investir em profissional ,tecnologia ,etc…

Agora se tem outra oficina(OPEN SOURCE) ela arruma teu carro de graça por mero prazer em arrumar…por achar que cobrar seria desnecessario por algo que ja tava pronto ou foi feito e num precisa tem pensamento capitalista em cima disso…eles nao lavam não dão polimento (AINDA) voce sabe como foi feito se tiver essa necessidade…
beleza se num pagou nada…dificil investir tanto dinheiro pra que ela evolua… mais rapidamente .

há uma grande diferença entre os dois cenarios uma linguagem que tem financiamento alto e outra que não tem que deviamos agradecer e muito por ser gratuita…ai vai da empresa…quanto a processo workflow realmente minha empresa implementava e implementava num ambienta java…robusto tal masss caro…muito caro…workflow nem sempre atende a tudo…falo por experiencia de 5,6 anos com esse tipo de conceito por tem varios conceitos de assinaturas ,alterações que se forem seguidos a risca torna um sistema totalmente inviavel e não customizavel…

V

Sem querer voltar na discussão, mas quem falou que a Sun trabalha “de graça”, e arruma “pelo mero prazer de arrumar”? Sua descrição está totalmente errada:

OPEN SOURCE: Ela dá teu carro e arruma ele de graça, e fornece materiais básicos de uso. Porém, se você quiser ser um motorista autorizado, terá que pagar caro por isso. A parte mais avançada da mecânica do carro também só vem descritas em manuais autorizados, escritos por mecânicos especializados da companhia. A grande vantagem é que você pode abrir o capô, e dizer se o carro presta ou não antes de compra-lo. E eles também ganham mares de dinheiro dando consultoria sobre frotas de veículos, dizendo à empresas como usar os veículos da maneira mais eficiente possível.

M

hhehe
Vira e mexe aparece alguém no forum ‘pregando’ que open source é trabalhar de graça. Nunca sei se a pessoa realmente não entende o modelo de negócios ou se quer só polemizar.

V

Aliás, bonéazul… e vc ainda ressuscitou para isso um tópico de 2006???

B

Sem querer voltar na discussão, mas quem falou que a Sun trabalha “de graça”, e arruma “pelo mero prazer de arrumar”? Sua descrição está totalmente errada:

OPEN SOURCE: Ela dá teu carro e arruma ele de graça, e fornece materiais básicos de uso. Porém, se você quiser ser um motorista autorizado, terá que pagar caro por isso. A parte mais avançada da mecânica do carro também só vem descritas em manuais autorizados, escritos por mecânicos especializados da companhia. A grande vantagem é que você pode abrir o capô, e dizer se o carro presta ou não antes de compra-lo. E eles também ganham mares de dinheiro dando consultoria sobre frotas de veículos, dizendo à empresas como usar os veículos da maneira mais eficiente possível.

“mares de dinheiro” num lembro de ter visto nenhuma pesquisa a respeito de quanto a sun ganhava com o suporte deles mas acredito que num deve ser nem 10% do que a microsoft ganha em cima dos dela…

a questao num era se trabalhava de graça ou não a red hat faz muito isso com o jboss ,a sun logico que faz com suas certificações blabla…a questão é q a infra da microsoft é maior pq o capital é maior e ponto final num tem que discutir e so fiz essa analogia pelas modificacoes que o java 7 tava correndo atras que tinha uma galera falando que tava atrasado comendo capim e mais blabla…so num correu atras antes pq num é barato ficar a toda hora dando suporte em tudo e mantendo compatibilidade…etcetc…

é como compara o que uma cidade pequena arrecada e uma metropolo arrecada sao dois mundos diferentes…

Quanto a ideia do motorista ser autorizado ou não ai vai de estudar a nao ser que eu queira algo que ninguem da comunidade nunca fez eu vo partir pra uma autorizada…

é o exemplo do carro se nenhum mecanico do mundo souber o problema do seu carro se corre pra onde ??? concessionaria…agora se for apenas trocar a pastilha pra que ir na concessionaria se voce mesmo pode fazer… fazendo analogia as consultorias…quanto ao topico…nem tinha visto que era 2006 a abertura …

e pelo que eu saiba num tem uma regra ou lei que proiba de postar em topico antigo seja o ano que for …ai vai de quem mantem o forum de inutilizar topicos antigos…

e num quero polemizar nada deixando bem claro no começo do texto MINHA HUMILDE OPINIAO…

mas sempre tem gente que sabe muito ou sempre é dono da razao e que outras pessoas nunca sabem nada…ou que sempre tenta fazer flames…

M

A MS não ganha dinheiro só com licenças. Aliás, se você consultar, vai ver depoimentos do Ballmer e do Bill Gates dizendo que licenças é menos de 15% do faturamento da empresa e a MS está investindo pra diminuir mais ainda esse percentual. (por ‘coincidência’ a mesma estratégia da maioria das empresas de software livre).

Você deve ter notado também que o preço dos Windows e do Office vem caindo gradualmente ano após ano, por que será?

Dá pra ver em qual categoria você se enquadra. :lol:

Seu Windows não está funcionando pontuação e acento ou é miguxês mesmo?

B

marcosalex:
A MS não ganha dinheiro só com licenças. Aliás, se você consultar, vai ver depoimentos do Ballmer e do Bill Gates dizendo que licenças é menos de 15% do faturamento da empresa e a MS está investindo pra diminuir mais ainda esse percentual. (por ‘coincidência’ a mesma estratégia da maioria das empresas de software livre).

Você deve ter notado também que o preço dos Windows e do Office vem caindo gradualmente ano após ano, por que será?

Dá pra ver em qual categoria você se enquadra. :lol:

Seu Windows não está funcionando pontuação e acento ou é miguxês mesmo?

Preguiça de pontuar mesmo …alem do que note japones é um pouco chato o layout do teclado…e tambem num sabia que era forum de lingua portuguesa,achei que era ligado a tecnologia …senhor pasquale…

“Você deve ter notado também que o preço dos Windows e do Office vem caindo gradualmente ano após ano, por que será?”

é parece que voce num leu nada mesmo …ou nao sabe interpretar texto …to achando a segunda opção…e vem falar que eu nao acentuo palavras…kkkk…rele tudo depois se refaz a pergunta…ou faz um cursinho de interpretação de texto…serve também…eu falando sobre suporte com o outro colega e voce num le ,responde e vem falando de licença de software ainda por cima levando pro lado pessoal …isso é um forum colega… num gosta das opiniões que aparecem sinto muito… vai ver outro topico ae da uma passeada tem bastante assunto ajuda alguem ai com conhecimento e ve se num cobra nada por isso…alias to parando por aki porque num vai dar certo…e quanto a piadinha do windows pro seu governo que é o da terra dos que leem e num entendem…ta achando o que??? Que sou do movimento pró MS???Como voce sabe que tenho windows??Só porque falei que o financiamento dos caras é maior que os de quem vive de doações e fazem bem feito ???É como falar pra voce…

Ow vc é burro ou num sabe interpretar texto mesmo???

D

S

juzepeleteiro:
Property support

http://weblogs.java.net/blog/cayhorstmann/archive/2006/06/say_no_to_prope.html

Meu! Parece até sonho, isso vai sair mesmo? O fim dos gets e sets no Java. So o Java 7 vier só com isso de alteração já tá valendo.

Interessante a proposta substituição dos famosos getters & setters, porém, conforme citado acho que não poderiam ser substituidos, porque pense nisso:

Como seria feita uma validação de valores dentro de um setter, caso eu tenha, por exemplo, que tratar uma String ou um int…

Implementações são sempre bem vindas, porém, sou contra a descontinuação de uma coisa do tipo.

Abraços.

Criado 10 de setembro de 2006
Ultima resposta 11 de set. de 2006
Respostas 55
Participantes 22