| Autor |
Mensagem |
|
|
Hummm generics != generica
Pq blender é com Python,
que também vai acabar com Java (brincadeira!)
|
 |
|
|
ViniGodoy wrote:Não só OO.
O C++ tem o paradigma estruturado (como vc mesmo falou, o C está contido nele);
Tem o paradigma OO e
Tem o paradigma de programação genérica (templates);
Além disso, ele também tem a biblioteca padrão, a STL, que inclui a classe string, classes com listas, algoritmos prontos e até um smart pointer (há planos para terem mais smartpointers no futuro, eles já estão inclusive na TR1).
Eu falei das mixin classes pq em várias implementações ela é feita através de herança múltipla, embora do ponto de vista semântico, não seja mesmo herança. Como venho do C++, sempre associei mixin a herança múltipla, embora conceitualmente você esteja certo, são coisas diferentes. Por lá, usamos programação genérica e o conceito de Policy como alternativa a mixins.
Agora que vi que tem linguagens que já tem um suporte melhor ao conceito de mixin. Bom saber. Sempre pareceu um conceito interessante.
Pois é, tem até generics!
O barato é sobreescrever operadores, li que em Ruby também dá.
OFF-TOPIC ViniGodoy, vc já usou Blender?
|
 |
|
|
rubinelli wrote:Aqui vai um exemplo de mixin, usando o módulo Comparable:
Valeu pelo exemplo
Fui ver o link, a falta de identação torna um pouco mais hard a compreensão do artigo.
Então quando vc importa o módulo tudo que for definido nele fica visível na classe que importa/herda,
e o módulo é como se fosse uma classe abstrata, que pelo que li vc não pode instanciar.
|
 |
|
|
ViniGodoy wrote:Fábio,
Li seu post ali atrás e você aparentemente coloca C e C++ no mesmo balaio.
As duas são linguagens radicalmente diferentes, tanto no que se propõe, quanto na forma de programar, quanto nos paradigmas que implementam e no tipo de aplicações que cobrem.
É que eu participei de maratona de prog, na verdade eu considero que C está todo contido em C++ e por isso coloco o C dentro do balaio do C++,
mas vc está completamente certo, elas são bem diferentes.
uma é OO e a outra não, já diz tudo
|
 |
|
|
Desculpem o webwork quis dizer eclipsework
|
 |
|
|
o problema clássico da herança múltipla
o carro tem um motor
o barco também
o meu veículo anfibio tem qual motor?
Trazer junto a implementação é algo interessante.
|
 |
|
|
Ok, esquece o Hibernate e o WebWork.
será que alguém pode me dizer como funciona o tal de mixins?
Realmente boiei nessa parte do Ruby
Ex.: Tenho um carro e um barco
quero criar um carro-anfíbio, uma solução para enchentes.
É possível? Se sim como seria?
|
 |
|
|
E parece que você precisa pesquisar mais antes de tirar conclusões em público...
Cara, não sei se vc reparou mas estou pesquisando, e como todos, estamos criticando e chegando a conclusões que agradam ou não.
Mixins é para fazer o que? Qual o objetivo?
Entonces não sei como se chama herdar características de mais de uma classe...
Colocar vários tipos em uma lista não é tão simples quanto vc está falando.
Talvez só colocar, mas depois fazer um tratamento é outra coisa, precisa de interfaces, etc.
Não vi ainda o Hibernate escrever formulários e métodos de controle, desculpe a minha falta de pesquisa
|
 |
|
|
[TopLink Info]: 2008.01.02 10:42:31.818--ServerSession(30432385)--TopLink, version: Oracle TopLink Essentials - 2006.8 (Build 06090
[TopLink Info]: 2008.01.02 10:42:51.068--ServerSession(30432385)--file:/E:/Java/Company/bin-company login successful
============ VOU TENTAR GRAVAR ==============
[TopLink Warning]: 2008.01.02 10:42:52.849--UnitOfWork(3098834)--Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.8 (Build 06090): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Invalid argument value: java.io.NotSerializableExceptionError Code: 0
Call:INSERT INTO officials (MANAGER, DEPARTMENT, SALARY, FACTORY, id) VALUES (?, ?, ?, ?, ?)
Ainda tenta colocar este MANAGER ?
posta o trace de novo.
|
 |
|
|
Ruby é a linguagem e Rails é o framework,
o qual parece com um tal de webwork, com ele vc faz a engenharia reversa do banco e escreve o teu CRUD com hibernate e tals
Agora fui olhar mais a fundo a linguagem, pois vi que o framework Rails é bom, mas Java possui equivalentes e se somar tudo Java ganha, com uma curva de aprendizado maior claro.
Características da linguagem Ruby:
Nem fraca nem fortemente tipada -> Prefiro Java
Herança múltipla -> resolveram esse problema, mas não captei direito como
IO mais intuitiva -> realmente o IO padrão do Java é meio estranho
Alterar operadores -> legal, sempre quis alterar o operador == de string no java
Bom possui muitas facilidades das linguagens de tipagem fraca, como declaração super fácil.
Ex: em uma lista vc coloca inteiro, string, objetos, vetores, etc.
E também bagunça mais fácil, no meu ponto de vista.
possui tratamento de erro try catch porém com outra sintaxe,
prefiro try catch que é igual a php, javascript, etc.
porém o deles tem mais um argumento chamado retry
o que pra qualquer um que saiba fazer um loop não é nenhuma grande vantagem!
É o Ruby está aí e mais parece uma grande jogada de marketing do que necessariamente uma revolução.
|
 |
|
|
PHP talvez tenha que se dizer o novo acronimo LAMP
Vi que Rails é como se fosse um super code maker, faz a engenharia reversa do database.
Gera um CRUD das suas tabelas do mysql no modelo MVC
ou seja, gera um POJO o controle e a visão (o formulário para inserir editar e lista a tabela).
O que de fato reduz um bocado de trabalho.
|
 |
|
|
Há, respondendo a sua pergunta,
Instalei o Ubuntu e ele usa por default o utf-8,
então basta vc clicar com o botão direito do mouse sobre o seu projeto > properties e em "text file encoding" troque para o seu tipo.
|
 |
|
|
Aproveitando o post...
Como colocar os comentários automaticamente com o padrão html?
Ex: ´ para á
Quando eu faço algum comentário ele pode dar pau se o ambiente for utf-8 ou vice versa.
Para que isso não aconteça eu sei que posso colocar tudo htmlencoded porém como fazer isso de forma automática?
|
 |
|
|
Gosto do seu modo de pensar, o modelo deveria ser mais que um simples record ou struct como em Pascal e C respectivamente
|
 |
|
|
Para ignorar vc coloca @transient
|
 |
|
|