PDA

View Full Version : due linguaggi in uno stesso programma ?


Albitexm
17-10-2008, 22:36
Ho scaricato ed installato una versione di Blender ottimizzata per il quad/core.
Al lancio mi veniva visualizzata l'errore di ricerca di una DLL di Python. Ho poi letto nel Readme che per far "girare" il programma era neccessario avere installato Python ed il Net Framework. Ho quindi installato Python ed ora gira tutto ok. Ora ho pensato che il codice di questa versione di Blender è scritta
in parte in C++ e in parte in Python.
E' quindi possibile scrivere dei moduli di un programma con linguaggi diversi ?
Come si può spiegare a livello di concetto ?
Premessa: io sono un principiante , per cui molte delle mie domande potranno sembrare insensate o scontate. Ma per farmi un'idea chiara di questo mondo per me sono importanti le vostre risposte. Anche se a un programmatore esperto possono sembrare scontate.

DanieleC88
17-10-2008, 22:41
Certo che puoi farlo. Metti per esempio che hai un gestore di archivi compressi: magari per questioni prestazionali vuoi fare l'algoritmo di compressione in C. La GUI invece non ha richieste particolari in velocità, quindi la puoi fare ad esempio in Python. Python ti offre la possibilità di interfacciarti a moduli esterni, ed ecco fatto un miscuglio di linguaggi. :D

Albitexm
19-10-2008, 00:43
Certo che puoi farlo. Metti per esempio che hai un gestore di archivi compressi: magari per questioni prestazionali vuoi fare l'algoritmo di compressione in C. La GUI invece non ha richieste particolari in velocità, quindi la puoi fare ad esempio in Python. Python ti offre la possibilità di interfacciarti a moduli esterni, ed ecco fatto un miscuglio di linguaggi. :D

Ma quindi ho un'altro dubbio correlato a questo discorso : poniamo che io
abbia un eseguibile (già compilato), che ricevendo dati dalla tastiera , mi restitusce una variabile. Io posso scrivere un codice , che "manda" gli input
a questo eseguibile e legge poi la variabile restituita ?
Esempio : supponiamo che io ho un programmino che somma input A e input B
immessi dalla tastiera e mi restituisce il risultato. E' possibile scrivere un codice che "manda" automaticamente A e B e poi memorizza il risultato generato? Un programma può fornire e leggere variabili ad/di un'altro programma ? (senza modificare questo).

DanieleC88
19-10-2008, 01:31
Sì, è possibile anche quello che dici tu: in Unix vengono spesso utilizzate "catene" di comandi in pipe. :)

Albitexm
19-10-2008, 22:29
Sì, è possibile anche quello che dici tu: in Unix vengono spesso utilizzate "catene" di comandi in pipe. :)

Grazie