<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
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!!! <span class="moz-smiley-s4"><span> :-P     </span></span>
A questão é profissional também. Inegavelmente JAVA tem muito mais
oportunidades e chances no mercado de trabalho.<br>
<br>
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.<br>
<br>
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.<br>
<br>
Sds,<br>
<br>
<pre class="moz-signature" cols="72">-- 
Leonardo Pinto
leonardoprc#gmail dot com</pre>
<br>
Marcio Carneiro escreveu:
<blockquote
 cite="mid:e4fd21940904061102p23478d31h9e9232ba0bfab1a9@mail.gmail.com"
 type="cite"><br>
  <br>
  <div class="gmail_quote">2009/4/6 Leonardo Pinto (Gmail) <span
 dir="ltr"><<a moz-do-not-send="true"
 href="mailto:leonardoprc@gmail.com">leonardoprc@gmail.com</a>></span><br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Heitor
Moraes escreveu:
    <div class="im"><br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Venho usando Linux no trabalho e OSX no meu Mac a alguns anos.<br>
O computador desde 2006 é um modelo MacBookPro2,2.<br>
 <br>
    </blockquote>
    <br>
    </div>
Você é um felizardo!!! No trabalho por enquanto estamos com Rwindows,
mas breve estaremos reescrevendo o produto em JAVA, e passaremos a </blockquote>
  <div><br>
JAVA<br>
  <br>
Esta é uma linguagem de computador que foi feita para aquecer a
torradeira antes de você chegar na cozinha.<br>
  <br>
Você já ouviram falar em Engenharia de Requisitos?<br>
  <br>
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.<br>
  <br>
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.<br>
  <br>
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.<br>
Com o se os dados não fôssem objetos, são linhas e colunas numa tabela.<br>
  <br>
Mas se você realmente quer tentar a OO, sugiro a primeira parada em <a
 moz-do-not-send="true" href="http://eiffel.com/">http://eiffel.com/</a>,
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:"<br>
  <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">
    <p>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
    <a moz-do-not-send="true" target="_blank"
 href="http://eiffel.com/products/studio/index.html">EiffelStudio</a>.</p>
    <p>DbC is a metaphor on how elements of a software system
collaborate with each other, on the basis of mutual <i>obligations</i>
and <i>
benefits</i>. The metaphor comes from business life, where a "client"
and a "supplier" agree on a "contract" which documents that:</p>
    <ul>
      <li>The supplier must provide a certain product (obligation) and
is entitled to expect that the client has paid its fee (benefit). </li>
      <li>The client must pay the fee (obligation) and is entitled to
get the product (benefit). </li>
      <li>Both parties must satisfy certain obligations, such as laws
and regulations, applying to all contracts. </li>
    </ul>
    <p>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. <a moz-do-not-send="true"
 href="https://www2.eiffel.com/download/">https://www2.eiffel.com/download/</a>)".</p>
  </blockquote>
  <div>Em JAVA, você faz a tal da refatoração.... depois do êrro
acontecer.<br>
  <br>
A segunda parada em <a moz-do-not-send="true"
 href="http://www.cduce.org/ocaml/">http://www.cduce.org/ocaml/</a>,
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.<br>
  <br>
OCAMLDUCE implementa XML como objetos da linguagem, o que permite a
você usar o poder do XML como extensão da OCAML.<br>
  <br>
Não esqueça de tentar um banco de dados XML nativo, sedna, em <a
 moz-do-not-send="true" href="http://modis.ispras.ru/sedna/">http://modis.ispras.ru/sedna/</a>.<br>
  <br>
E em <a moz-do-not-send="true" href="http://www.tcl.tk/software/tcltk/">http://www.tcl.tk/software/tcltk/</a>,
que é a linguagem de
escrita do OpenACS, o que por si só já diz tudo: o melhor em serviço de
hipertexto.<br>
  <br>
Você também pode conhecer ruby, que é muito interessante mas não
compila. <br>
  <br>
Veja em <a moz-do-not-send="true"
 href="http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B">http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B</a><br>
  <br>
  <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">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 <a
 moz-do-not-send="true"
 href="http://en.wikipedia.org/wiki/Standard_library"
 title="Standard library">standard library</a> is considerably large
for a standard library.<sup id="cite_ref-1" class="reference"><a
 moz-do-not-send="true"
 href="http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B#cite_note-1"
 title=""><span>[</span>2<span>]</span></a></sup></blockquote>
  <div><br>
Em <a moz-do-not-send="true"
 href="http://www.jvoegele.com/software/langcomp.html">http://www.jvoegele.com/software/langcomp.html</a>
você tem uma comparação mais abrangente. Nesta tabela você,
provavelmente, fará a sua escolha. Logo após a tabela:<br>
  <blockquote
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"
 class="gmail_quote">
    <p>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.
    </p>
    <p>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.
    </p>
  </blockquote>
O debate estático x dinâmico está lá.<br>
  <br>
O Design By Contract é o que as linguagens deveriam fazer antes para
não ter de refatorar, se é que estou usando a palavra certa.<br>
  <br>
AS COMPARAÇÕES<br>
  <br>
Dê uma olhada nesta comparação: <a moz-do-not-send="true"
 href="http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=java&box=1">http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=java&box=1</a>,
e depois, nesta: <a moz-do-not-send="true"
 href="http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=yarv&box=1">http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=yarv&box=1</a>,
ou <a moz-do-not-send="true"
 href="http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=gpp&box=1">http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=ocaml&lang2=gpp&box=1</a>,
e finalmente, em: <a moz-do-not-send="true"
 href="http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=fpascal&lang2=java&box=1">http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=fpascal&lang2=java&box=1</a>.<br>
Comparando SmartEiffel com OCAML: <a moz-do-not-send="true"
 href="http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=ocamlb&lang2=se&box=1">http://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=ocamlb&lang2=se&box=1</a>.<br>
  <br>
Não fique envorgonhado de usar BASIC:<br>
  <a moz-do-not-send="true"
 href="http://www.scriptbasic.org/wiki/index.php?title=ScriptBasic:UsersGuide">http://www.scriptbasic.org/wiki/index.php?title=ScriptBasic:UsersGuide</a>.<br>
  <br>
  </div>
  <sup id="cite_ref-1" class="reference"><br>
  </sup></div>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">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:-)</blockquote>
  <div><br>
Abandonei o KDE como ambiente preferencial pelo GNOME pelo que fizeram
com o KDE4: não se pode confiar nêles.<br>
 <br>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div class="im"><br>
    <br>
    <br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Acho o OSX é um ótimo sistema para Desktop.<br>
É lindo, rápido e fácil.<br>
 <br>
    </blockquote>
    </div>
  </blockquote>
  <div><br>
É, creio que depois de tentar o OpenBSD também vou partir para o MAC.<br>
Talvez os dois, desde que um é aberto e o outro não, fico com os dois
melhores dos dois paradigmas... certo?<br>
 <br>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div class="im"><br>
    </div>
Ó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".
    <div class="im"><br>
    <br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Mas seguro ele não é.<br>
Aquele cadeado que vive aberto nas preferências não me parece o
bastante.<br>
 <br>
    </blockquote>
    <br>
    </div>
Depende!!! Tenho um usuário que nomeei convidado (hehehe). Nele deixo </blockquote>
  <div><br>
Clever...<br>
 <br>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">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.</blockquote>
  <div><br>
E ainda tem a virtualização, com o QEMU ou outro. Basta criar uma
virtual com qualquer Linux, no MAC, e entrar na internet....<br>
 <br>
  </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div class="im"><br>
    <br>
    <br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
De fato, parece um SO inocente da malícia e estupidez humanas.<br>
      <br>
      <a moz-do-not-send="true"
 href="http://blogs.zdnet.com/security/?p=2941" target="_blank">http://blogs.zdnet.com/security/?p=2941</a><br>
 <br>
    </blockquote>
    <br>
    </div>
É... Isso parece preocupante... Mas acredito que a Apple está tomando
suas devidas providências e precauções... <br>
  </blockquote>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div class="im"><br>
    <br>
    <br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
PS: Meu Adium é muito mais bonito que meu GAIM.<br>
 <br>
    </blockquote>
    <br>
    </div>
Hummmm, ele é muito lindo. Gracioso, só falta aceitar a vídeo
conferência...</blockquote>
  <div><br>
Que tal <a moz-do-not-send="true" href="http://ekiga.net">ekiga.net</a>?<br>
Você pode falar comigo em <a class="moz-txt-link-abbreviated" href="mailto:SIP:ViaBsb@IPTEL.org">SIP:ViaBsb@IPTEL.org</a> ou em <a class="moz-txt-link-abbreviated" href="mailto:ViaBsb@Ekiga.net">ViaBsb@Ekiga.net</a>.<br>
  <br>
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.<br>
  <br>
Creio que até tem tudo isto por aí, mas não conversam muito bem.<br>
Posso estar enganado, afinal, tem muita coisa aí fora e, certamente,
não vi tudo de tudo.<br>
  <br>
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.<br>
  </div>
  </div>
</blockquote>
<br>
</body>
</html>