Linuxtrent: Re: Dubbio di forma (programmando in C)

  • From: Matteo Ianeselli <ianezz@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 2 May 2001 16:37:02 +0200

Il gatto di Daniele Nicolodi, camminando sulla tastiera, ha scritto:


 > Non ho capito ... ho forse ho capito e non ci credo:
 > ti sei scritto un wrapper tra pascal e python ??

Probabilmente non ha fatto altro che:

- scrivere le routine di accesso ad DB che gli servivano con Delphi

- creare il lato C della `colla' per esporre all'esterno le sue
  routine Delphi OPPURE fare un serverino che accetta comandi da una
  connessione via socket.

- creare il lato Python della `colla' in modo da avere le routine
  Delphi come funzioni Python, OPPURE realizzare la parte client in Python 

- usare infine Python per invocare il codice Delphi.

E` una cosa abbastanza comune, che permette di avere i vantaggi dei
linguaggi compilati (rapidita` di esecuzione) e anche quelli dei
linguaggi interpretati (facilita` di modifica/customizzazione).

Non e` un concetto nuovo: vedi Emacs, Microsoft Word 6, The Gimp,
etc. etc. etc.

 > Non saprei nemmeno da che parte cominciare ...

Guardi la documentazione su come agganciare codice nativo ad un
interprete... bene o male tutti gli interpreti permettono di
agganciare routine scritte in C (e talvolta anche altri linguaggi) per
estendere il linguaggio. 

Questo e` sicuramente vero per Perl, Python, alcune implementazioni di
Scheme (i.e. Guile), Tcl/Tk, VisualBasic. Anche Java, se e` per
questo, via JNI (ma le dimensioni di una JVM non sono proprio
trascurabili).

Che uno lo chiami "estendere un interprete" o "incorporare un
interprete in un'applicazione" dipende solo dalla quantita` di codice
scritta nei due linguaggi, IMHO.
-- 
UNIX diapers by Pannolini USPTO 2039887  http://www.uspto.gov
Matteo Ianeselli      ianezz AT sodalia.it  (+39) 0461 316452
Visita il LinuxTrent:            http://linuxtrent.grinta.net
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts: