Objetos ou Arquivos
No Unix, os arquivos são utilizados como a metáfora comum para uma ampla variedade de propósitos. Nesse mundo, dispositivos, processos, recursos do sistema são mostrados como arquivos. Apesar das limitações, esse é um conveniente meio de realizar diversas tarefas administrativas. Operações com direcionamento são utilizados de forma sistemática para arquivos ou dispositivos (ex: ls > ls.txt ou ls > /dev/lpt1 ). No windows, todos recursos são objetos, inclusive os arquivos. Isso também proporciona uma forma conveniente para manipular tais conceitos. Mas, não vemos no Windows a mesma facilidade de manipulação para fins administrativos que temos no Unix.
Um cenário semelhante acontece com as plataformas de desenvolvimento. De um lado, temos o Java/Eclipse, onde cada classe é representado por arquivos do SO e do outro lado, Smalltalk/Squeak as classes são objetos armazenados em memória e de alguma maneira persistido no computador (a tal imagem da área de trabalho). No caso dessas duas plataformas, fico com o Java, porque ela não me bloqueia a alteração das classes. Basta um bloco de notas para fazer alterações. Assim, é possível delegar para outros programas funções como backup, transmissão de informação, versionamento.... O que é mais fácil, compartilhar uma classe em Java ou em Smalltalk!? E, dentro do ambiente Eclipse, temos quase a sensação que a classe não é um mero arquivo, mas de fato um modelo de objeto, com propriedades e funções, com várias formas de se apresentar.
Não quero aqui desprezar a idéia da representação de objetos, mas reforçar a idéia de que a interoperabilidade é peça fundamental na arquitetura de um sistema. Vale mais um monte de arquivos, que se possa manipular da forma do que objetos que sejam de difícieis de mexer.
No Unix, os arquivos são utilizados como a metáfora comum para uma ampla variedade de propósitos. Nesse mundo, dispositivos, processos, recursos do sistema são mostrados como arquivos. Apesar das limitações, esse é um conveniente meio de realizar diversas tarefas administrativas. Operações com direcionamento são utilizados de forma sistemática para arquivos ou dispositivos (ex: ls > ls.txt ou ls > /dev/lpt1 ). No windows, todos recursos são objetos, inclusive os arquivos. Isso também proporciona uma forma conveniente para manipular tais conceitos. Mas, não vemos no Windows a mesma facilidade de manipulação para fins administrativos que temos no Unix.
Um cenário semelhante acontece com as plataformas de desenvolvimento. De um lado, temos o Java/Eclipse, onde cada classe é representado por arquivos do SO e do outro lado, Smalltalk/Squeak as classes são objetos armazenados em memória e de alguma maneira persistido no computador (a tal imagem da área de trabalho). No caso dessas duas plataformas, fico com o Java, porque ela não me bloqueia a alteração das classes. Basta um bloco de notas para fazer alterações. Assim, é possível delegar para outros programas funções como backup, transmissão de informação, versionamento.... O que é mais fácil, compartilhar uma classe em Java ou em Smalltalk!? E, dentro do ambiente Eclipse, temos quase a sensação que a classe não é um mero arquivo, mas de fato um modelo de objeto, com propriedades e funções, com várias formas de se apresentar.
Não quero aqui desprezar a idéia da representação de objetos, mas reforçar a idéia de que a interoperabilidade é peça fundamental na arquitetura de um sistema. Vale mais um monte de arquivos, que se possa manipular da forma do que objetos que sejam de difícieis de mexer.
Comentários