Fico muito grato por me apresentar um novo mundo. Realmente pretendo descobrir o novo, mas definitivamente por enquanto mudar de planeta não chega a tanto!!! :-P     A questão é profissional também. Inegavelmente JAVA tem muito mais oportunidades e chances no mercado de trabalho.

Assim: Se vc me pergunta se quero tentar uma suposta vida "melhor" em Marte, a natureza humana acomodada lhe responde que não!!! Sei muito bem que o JAVA é muito lento em sua performance, porém tem curva de aprendizagem ínfima, além do vasto material didático. Esse framework EiffelStudio e a Ocamlduce parece ser muito promissor, mas garantido mesmo, incontestavelmente é o JAVA.

Até citei ObjectiveC, não a conheço, mas essa também deve ter suas peculiaridades. E sua maior aplicabilidade e investimento hoje está sendo principalmente no Mac.

Sds,

-- 
Leonardo Pinto
leonardoprc#gmail dot com

Marcio Carneiro escreveu:


2009/4/6 Leonardo Pinto (Gmail) <leonardoprc@gmail.com>
Heitor Moraes escreveu:

Venho usando Linux no trabalho e OSX no meu Mac a alguns anos.
O computador desde 2006 é um modelo MacBookPro2,2.
 

Você é um felizardo!!! No trabalho por enquanto estamos com Rwindows, mas breve estaremos reescrevendo o produto em JAVA, e passaremos a

JAVA

Esta é uma linguagem de computador que foi feita para aquecer a torradeira antes de você chegar na cozinha.

Você já ouviram falar em Engenharia de Requisitos?

Imaginem uma reunião de levantamento de requisitos para criar a linguagem: o que uma torradeira e uma máquina de coca-cola têm em comum para codificar o acesso? De qualquer maneira, terei de pôr o pão, e retirar quando estiver pronto, mas a torradeira vai enviar-me uma carta avisando que o pão está pronto, e terei de ir buscar a lata de coca na máquina, que também vai me avisar: e acabou o JAVA.

Se você quer usar o paradigma da orientação a objetos, sugiro esperar que venha um SO orientado a objetos, ou você vai desperdiçar tôda aquela teoria bonita em um SO que não sabe o quer fazer com aquilo, e vai ter de continuar codificando o acesso ao SO SEM a OO. Mas não conheço SO em teoria, e certamente não serei o mais capacitado para emitir parecer sôbre SO, uso o conhecimento que adquiri no dia-a-dia.

Nem vou abordar o uso de Bancos de Dados Relacionais com JAVA (em OO?) enquanto as linguagens de programação OaO instanciam os dados em objetos - você pode tentar OCAMLDUCE, que pode criar os dados em arquivos XML, e em JAVA você interrompe o ciclo produtivo de OO para fazer o estudo relacional e gerar o banco, relacionar JAVA com o banco relacional e usar dados relacionais na sua linguagem OO.
Com o se os dados não fôssem objetos, são linhas e colunas numa tabela.

Mas se você realmente quer tentar a OO, sugiro a primeira parada em http://eiffel.com/, e reproduzo aqui um texto que você vai ler lá depois e que separa o jôio do trigo em têrmos de programação OO:"

Eiffel Software is the pioneer of Design by Contract (DbC) and the Component Revolution. The notion of DbC is central in the systematic approach to software quality, as embodied in the Eiffel method and IDE EiffelStudio.

DbC is a metaphor on how elements of a software system collaborate with each other, on the basis of mutual obligations and benefits. The metaphor comes from business life, where a "client" and a "supplier" agree on a "contract" which documents that:

  • The supplier must provide a certain product (obligation) and is entitled to expect that the client has paid its fee (benefit).
  • The client must pay the fee (obligation) and is entitled to get the product (benefit).
  • Both parties must satisfy certain obligations, such as laws and regulations, applying to all contracts.

To programmers and the projects they work on, this guarantees that bugs will be prevented by a well defined mechanism based on checks and balances. For managers, DbC ensures that programming is done correctly. For customers, it offers a label of quality, seriousness, and a job well done. https://www2.eiffel.com/download/)".

Em JAVA, você faz a tal da refatoração.... depois do êrro acontecer.

A segunda parada em http://www.cduce.org/ocaml/, esta com uma vantagem definitiva, a que você pode escrever código procedimental, oo e funcional que a linguagem implementa, além de ter um compilador que quase se compara ao C em desempenho, o que DEFINITIVAMENTE joga JAVA no lixo.

OCAMLDUCE implementa XML como objetos da linguagem, o que permite a você usar o poder do XML como extensão da OCAML.

Não esqueça de tentar um banco de dados XML nativo, sedna, em http://modis.ispras.ru/sedna/.

E em http://www.tcl.tk/software/tcltk/, que é a linguagem de escrita do OpenACS, o que por si só já diz tudo: o melhor em serviço de hipertexto.

Você também pode conhecer ruby, que é muito interessante mas não compila.

Veja em http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B

C++ is a powerful but complex language, with a bias for performance-oriented applications and libraries. The Java language was designed to be simpler (and therefore easier to learn), but does not always provide full access to the features and performance of the platform that the software runs on. Conversely, the C++ standard libraries are simple, bordering on basic, while theJava standard library is considerably large for a standard library.[2]

Em http://www.jvoegele.com/software/langcomp.html você tem uma comparação mais abrangente. Nesta tabela você, provavelmente, fará a sua escolha. Logo após a tabela:

Eiffel, Smalltalk, and Ruby are all pure Object-Oriented languages, supporting all six qualities listed above. Java claims to be a pure Object-Oriented language, but by its inclusion of "basic" types that are not objects, it fails to meet our fourth quality. It fails also to meet quality five by implementing basic arithmetic as built-in operators, rather than messages to objects.

C++ is considered to be a multi-paradigm language, of which one paradigm it supports is Object-Orientation. Thus, C++ is not (nor does it contend to be) a pure Object-Oriented language.

O debate estático x dinâmico está lá.

O Design By Contract é o que as linguagens deveriam fazer antes para não ter de refatorar, se é que estou usando a palavra certa.

AS COMPARAÇÕES

Dê uma olhada nesta comparação: http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=java&box=1, e depois, nesta: http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=yarv&box=1, ou http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=gpp&box=1, e finalmente, em: http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=fpascal&lang2=java&box=1.
Comparando SmartEiffel com OCAML: http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=ocamlb&lang2=se&box=1.

Não fique envorgonhado de usar BASIC:
http://www.scriptbasic.org/wiki/index.php?title=ScriptBasic:UsersGuide.


usar Linux. Aliás, estou com projeto para implantar Linux e virtualizar as máquinas de programação e suporte, porém o Linux (leia-se KDE) vem demonstrando baixa performance para a realidade do park de máquinas da empresa. Estou por experimentar o gOS (by Ubuntu/Debian)... Por enquanto até onde posso afirmar o meu acesso ao Mac é um tanto "restrito"... ueueue O:-)

Abandonei o KDE como ambiente preferencial pelo GNOME pelo que fizeram com o KDE4: não se pode confiar nêles.
 



Acho o OSX é um ótimo sistema para Desktop.
É lindo, rápido e fácil.
 

É, creio que depois de tentar o OpenBSD também vou partir para o MAC.
Talvez os dois, desde que um é aberto e o outro não, fico com os dois melhores dos dois paradigmas... certo?
 

Ótimo??? Ele é tudo de bom... Nunca ví coisa igual. É muuuuuito rápido. É nítido que é a metodologia de programação adotada no Mac é bem especial e que faz a diferença. Diferente do que estamos habituados. As vezes parece magia, como se consegue fazer muito mais com tanta "simplicidade".


Mas seguro ele não é.
Aquele cadeado que vive aberto nas preferências não me parece o bastante.
 

Depende!!! Tenho um usuário que nomeei convidado (hehehe). Nele deixo

Clever...
 
rodando o aMule, o BitTorrent, etc... E não vejo esses cadeados abrirem-se assim... Já até fiz um teste de fogo com "rm -rf /*" que não fez estrago... Tem que rever os privilégios. Até o Linux mau configurado fará o mesmo.

E ainda tem a virtualização, com o QEMU ou outro. Basta criar uma virtual com qualquer Linux, no MAC, e entrar na internet....
 



De fato, parece um SO inocente da malícia e estupidez humanas.

http://blogs.zdnet.com/security/?p=2941
 

É... Isso parece preocupante... Mas acredito que a Apple está tomando suas devidas providências e precauções...



PS: Meu Adium é muito mais bonito que meu GAIM.
 

Hummmm, ele é muito lindo. Gracioso, só falta aceitar a vídeo conferência...

Que tal ekiga.net?
Você pode falar comigo em SIP:ViaBsb@IPTEL.org ou em ViaBsb@Ekiga.net.

Meu grande problema têm sido a escolha de uma Plataforma de Modelagem, com ferramentas que modelem o sistema em OO que gerem OO, uma Plataforma de Dados, com ferramentas em OO que gerem dados em OO e uma linguagem de programação em OO, que gere o código em OO.

Creio que até tem tudo isto por aí, mas não conversam muito bem.
Posso estar enganado, afinal, tem muita coisa aí fora e, certamente, não vi tudo de tudo.

Mas minha visão de paraíso é uma Plataforma de Modelagem de Sistema que use linguagem OO para criar dados instanciados em objetos, provavelmente em XML, tudo incluído ou conversando um com o outro.