Artigo Clube Delphi Edição 52 - Delphi 8 e C#

Artigo da Revista Clube Delphi Edição 52.

Esse artigo faz parte da revista Clube Delphi edição 52. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

Delphi 8 e C#

Integração entre linguagens no .NET

 

Um dos principais objetivos do .NET Framework é permitir a integração entre as linguagens, baseando-se em um modelo único de desenvolvimento e oferecendo uma biblioteca de classes comum, a mesma utilizada no C#, VB.NET, Delphi 8, etc.

Antes do .NET, cada linguagem definia um conjunto próprio de tipos, classes e APLs (por exemplo a VCL para Delphi, MFC da Microsoft, etc.),  o que poderia aumentar a curva de aprendizado caso um desenvolvedor precisasse utilizar outra ferramenta de desenvolvimento ou linguagem.

Além disso, a integração entre linguagens e componentes ou aplicações nunca foi algo simples. Várias tecnologias surgiram com esse objetivo: o COM (Component Object Model), DDE (Dynamic Data Exchange), OLE (Object and Embedding), ActiveX, etc.

Quem nunca precisou acessar a partir do Delphi uma DLL escrita ou em outra linguagem? As Type Libraries até que facilitavam um pouco esse processo. Outras vezes era preciso declarar sua rotina como “External” e utilizar tipos básicos da API do Windows, como pchar e cardinal. Em todos os casos a integração é praticamente

Rudimentar. Você não podia, por exemplo, estender um objeto COM escrito em VB declarando uma classe descendente em Delphi, somente interfaces.

Com .NET isso muda drasticamente. Todas as linguagens feitas para .NET utilizam os mesmos tipos básicos, através de uma especificação chamada CTS (Common Type System). Por exemplo, os tipos System.String, System.Object, System.IO.File, System.Data.Dataset podem ser utilizados em qualquer linguagem que possua um compilador para .NET. Além disso, a CLS (Common Language Specification) define convenções e regras destinadas a garantir a interoperabilidade entre diferentes linguagens (C#, Delphi, VB, etc.). Dessa forma você pode tirar proveito de todos os recursos oferecidos pela POO entre diferentes linguagens, como herança, tratamento de exceção e polimorfismo, usando somente o código binário (" [...] continue lendo...

Artigos relacionados