Demian,

   Gostei muito da sua explanação, soube colocar os pontos principais muito bem.

   ASSINO EMBAIXO.

Mauricio C. Vaglieri
  ----- Original Message ----- 
  From: Demian Lessa 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, May 11, 2005 4:58 PM
  Subject: Re: [delphi-br] O Delphi 2005 é orientado a objetos?


  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]



        Yahoo! Grupos, um serviço oferecido por: 
              PUBLICIDADE
                
       


------------------------------------------------------------------------------
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/
      
    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]
      
    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço 
do Yahoo!. 




------------------------------------------------------------------------------


  Nenhum virus encontrado nesta mensagem.
  Checked by AVG Anti-Virus.
  Version: 7.0.308 / Virus Database: 266.11.7 - Release Date: 09/05/2005


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< 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