Kleber, O Delphi utiliza uma e apenas uma linguagem, o Borland Object Pascal, variação do Object Pascal definida e implementada pela Borland, que é um superconjunto do ANSI Pascal (pra dizer a verdade, acredito que o Object Pascal não está 100% em acordo com a especificação, mas isso fica para outra discussão). O fato de eu usar um subconjunto dessa linguagem não invalida em nada o exemplo que apresentei. O ponto que quis ilustrar foi exatamente esse- a diferença entre as linguagens híbridas, claramente o caso do Object Pascal e C++, que permitem a programação estritamente procedural, daquelas mais alinhadas com o modelo OO, como Java e C#. O Object Pascal não é purista (portanto permite que você programe OO e/ou procedural em qualquer nível) e também não o força a utilizar o modelo OO de programação (aí estamos falando de paradigma e não sintaxe).
Agora, só pra lembrar o que você, equivocadamente, afirmou em sua mensagem anterior: "No meu entendimento de qualquer jeito que se use o Delphi está sendo programado OO, ..." E isso é uma falácia! Meu objetivo não foi simplesmente apontar o erro em sua afirmação- foi, principalmente, mostrar que é incorreto pensar na naturalidade da relação direta entre linguagem (que suporta o modelo) OO e paradigma OO de programação. A aderência ao paradigma não decorre da seleção da linguagem; ao contrário, é uma questão relacionada com o MODELO CONCEITUAL EMPREGADO NA RESOLUÇÃO DO PROBLEMA. O Delphi, através do Object Pascal, suporta sintaticamente o modelo OO (classes, interfaces, herança, polimorfismo, etc) assim como o modelo estruturado (procedimentos e funções, controle de fluxo, etc). A maioria dos desenvolvedores utiliza o paradigma procedural em conjunto com o modelo de objetos da VCL num estilo de programação bem particular que se deve, basicamente, à forma de implementação das interfaces visuais nos aplicativos desenvolvidos com o Delphi. A ligação entre o modelo visual e o modelo de programação se dá através de callbacks (os eventos) que são, no caso, estritamente procedurais e apenas maquiados para parecerem OO. Esses eventos, na maioria das vezes, são onde se codifica a maior parte da lógica do aplicativo (novamente, nada OO nisso). Assim, o que se acaba fazendo é programação estruturada sobre um modelo de eventos, enfeitado pelo uso de objetos. Não lembro de ver, dentre os projetos de exemplo do Delphi, mais do que um punhado de projetos que consideraria como "tentando se aproximar do modelo OO". Mesmo assim, com sucesso apenas parcial... Cordialmente, Demian Lessa Salvador - Brasil Kleber Bonassi wrote: > Realmente, este programa (abaixo) não é OO, e também não é OBJECT PASCAL, é > simplesmente PASCAL (estruturado). > > > >> program foo; >> >> uses >> SysUtils; >> >> {$APPTYPE CONSOLE} >> >> begin >> writeln('Hello World.'); >> readln; >> end. >> >> Desculpe o exagero intencional para demonstrar um fato, mas onde está o >> paradigma OO escondido nesse exemplo? Esse é um programa válido, 100% >> estruturado, sem utilizar qualquer construção OO. >> >> Um exemplo bem mais esclarecedor poderia ser um programa CGI em Delphi >> que executasse um comando passado num parâmetro pelo aplicativo web; ou >> ainda, um CGI que exibisse as variáveis de ambiente, etc. >> >> Cordialmente, >> >> Demian Lessa >> Salvador - Brasil >> >> Kleber Bonassi wrote: >> >>Mas a linguagem também permite que você não use >> >>a orientação totalmente, vai de cada um como usar. >> > >> > No meu entendimento de qualquer jeito que se use o Delphi está sendo >> > programado OO, no entanto toda a parte OO é escondida do programador (é >> > feita por debaixo do pano, a menos que seja programado OO >> > explicitamente). >> > >> > É claro que o Object Pascal (ou agora Delphi) é Orientado à Objeto. >> > >> > []s >> > Kleber -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html