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

 


Responder a