Componentes ou Objetos... O que nasceu primeiro?

Da série polêmicas que ensinam, pergunto:

O que veio primeiro: COMPONENTES ou OBJETOS?

(pode colocar a sua opinião empírica - não perca a semana pesquisando como eu)

Acredito que componentes.

Acho até que os primeiros componentes foram aquelas bibliotecas famosas de cálculo numérico em Fortran, que todo mundo usa até hoje.

Se for a definição de componente mais recente:
“Componente é a representação gráfica de um Objeto”, então, logicamente, foram os objetos.

[quote=ViniGodoy]Se for a definição de componente mais recente:
“Componente é a representação gráfica de um Objeto”, então, logicamente, foram os objetos.
[/quote]

De onde vc pegou isso?

Na verdade, acho que era uma definição do VB2 ou 3… não me lembro ao certo. Era a mesma usada no Delphi, e a idéia que existe por trás de “Component” do Java.
Mas creio que não deva ser a que você aplique. O que exatamente você está chamando de componente?

Não existe uma definição consensual de componentes. O unico consenso entre os autores é que componentes se comunicam por uma interface bem definida, fora isso, nem mesmo a reutilização é consenso. Sendo assim, fica dificil estabelecer uma relação com objetos

Verdade. Por isso acabei puxando a definição de componente usada comumente hoje, que é a das interfaces gráficas. Imaginei que talvez fosse isso, pq algumas linguagens não OO também tem componentes, como é o caso do C.

Algumas bibliotecas usam um termo igualmente abrangente, mas que remete a gráficos, o termo Widget.

http://ivarblog.com/2007/03/12/software-is-international/#comment-276

Eu e o Rodolpho da IBM fizemos uma pesquisa na semana passada. Componentes datam de 1967 em Assembly. Ivar Jacobson, pai da UML, do RUP e dos Casos de Uso é também pai dos Componentes…

http://www.thefreedictionary.com/component

Na minha opinião, a idéia de componente ficou mais forte (no mundo da computação é claro) com a OO; reusabilidade tem tudo a ver com componentes, a melhor coisa para fazer alguem entender o valor da reusabilidade é desenvolver um sistema em assembler, portanto isto faz sentido para mim.

flws

É interessante ver que a OO foi simplemente ferramental para uma necessidade que já existia (interfaces como exemplo).

Eu digo que a idéia desenvolver sistemas em várias partes/componentes é mais velha que o próprio conceito de orientação a objetos, até por que isso é baseado em em conceitos que tem milhares de anos mais que a computação.

Eu acharia estranho pensar que os nossos programadores dos tempos dos cartões perfurados não gostariam de diminuir o trabalho deles reaproveitando partes dos sistemas que eles escreviam.

“Eu vou ter que perfurar o cartão do cálculo do seno DE NOVO?”

Como componente é um termo que me parece ter nascido do hardware (vide componentes de uma placa mãe), parece que componente é mais antigo na área de TI. De qualquer forma não tenho certeza nem pesquisei ainda. Estou falando de orelhada :slight_smile:

é, como o emerson falou eu também acho que a idéia de componentes vem da eletronica, e foi adaptada para software.

O raios é criar componentes utilizando objetos! Se fosse simples, qualquer sistema seria feito em módulos/componentes reutilizaveis e acoplaveis entre si. Achon que o problema nesse caso é que em componentes a granulalidade é mais alta, já com objetos não consigo ver um nívels de granulalidade que exclua totalmente o acoplamento (tanto que ós buscamos o baixo acoplamento, e não o acoplamento nenhum) a ponto de considera-lo um componente como na eletrônica.

mas… escrevi essa msg com pouco café no cerébro, não devo estar falando coisa com coisa ainda…heheheh

[]'s

[EDIT] ortografia

Olá

Não creio que o termo componente quando aplicado a uma linguagem antiga como assembly tenha um significado diferente de subrotina (que é como a gente chamava o que hoje se conhece por métodos ou funções). Portanto não acredito nesta história de que o termo componente tal como é aplicado hoje tenha sido criado em 1967 ainda na era do bit lascado. Para mim o Ivar pode até ter usado o termo mas não com o significado de hoje.

Se alguém fizer para uma pesquisa histórica, é capaz de encontrar este termo em alguma das muitas bibliotecas gráficas que existiam antes do Windows. Me lembro do termo componente a partir das linguagens baseadas em ambientes gráficos de desenvolvimento. Antes do Windows não me lembro de já ter ouvido falar em componentes. E até hoje evito usar este termo porque componente para mim ainda tem aquele fedor de botãozinho criado com VB ou Delphi.

[]s
Luca