[vmchecker-dev] Limbajul

Alexandru Moşoi brtzsnr at gmail.com
Sun Jul 13 11:29:20 EEST 2008


2008/7/13 Razvan Deaconescu <razvan at anaconda.cs.pub.ro>:
> On Sun, 2008-07-06 at 15:17 +0300, Alexandru Mosoi wrote:
> <snip>
>> 2) desi python e mai portabil, nu cred ca ne intereseaza
>> portabilitatea. vom rula sub linux.
>>
>> 3) este proiect relativ micut. limbajele dinamice nu se preteaza la
>> proiecte extrem de mari (asa zic unii mai destepti ca mine). in rest
>> pentru aplicatii mici-medii este extrem de fezabil. in python (si alte
>> limbaje dinamice) viteza de dezvoltare este mult mai mare decat in C.
>
> Incep sa am dubii in ceea ce priveste alegerea Python ca limbaj de
> dezvoltare _pentru_ checker. Spun asta pentru ca nu programul facut in C
> de Adriana pana acum face o buna parte din ceea ce ar trebui sa faca
> programul de comunicare cu masina virtuala.
>
> Pe masina virtuala se ruleaza un script care face testarea efectiva. Mai
> trebuie adaugat in program un timeout de N secunde cat se asteapta
> terminarea testarii, dupa care trebuie sa fie verificate rezultatele
> obtinute (lucru care se poate face tot printr-un script).
>
> Astfel, nu vad pe moment necesitatea folosirii Python. Checker-ul este
> (in virtutea abordarii 'keep it simple') o simpla lista de apeluri din
> biblioteca VIX a VMware. Nu se lucreaza cu structuri de date hoate,
> functii complicate, fisiere multiple, lucrul cu I/O, multithreading etc.
> si chiar cred ca ar fi, momentan, mai mare bataia de cap cu folosirea
> Python bindings.

nu vad unde ne complicam cu python bindings. trecerea apelurilor vix
din C in Python e o chestie de cateva minute. nu inteleg, de unde
teama asta brusca?
== in Python ==
    jobHandle = vix.VixHost_Connect(
            vix.VIX_API_VERSION,
            config.vix_serviceprovider,
            None,
            0,
            None,
            None,
            0,
            vix.VIX_INVALID_HANDLE,
            None,
            None)

== in C ==
    jobHandle = VixHost_Connect(
            VIX_API_VERSION,
            VIX_SERVICEPROVIDER_VMWARE_SERVER,
            "", // *hostName,
            0, // hostPort,
            "", // *userName,
            "", // *password,
            0, // options,
            VIX_INVALID_HANDLE, // propertyListHandle,
            NULL, // *callbackProc,
            ""); // *clientData);

Si oricum nu prea ai dreptate. Un exemplu: checkerul trebuie
configurat (la ce masina sa se conecteze, user parola, etc), iar
pentru asta tre' sa scrii o librarie in C sau sa recompilezi checkerul
la fiecare instalare.


> Evident, asta e situatia acum. S-ar putea sa se schimbe pe masura ce
> proiectul evolueaza. Dar, pana atunci, sugestia mea este sa "stick to
> C". Daca se va dovedi viabila solutia dezvoltarii sub Python vom migra
> atunci.
python, perl si C sunt 3 solutii la fel de viabile. nothing more.
nothing to change. din experienta mea dupa ce scrii ceva in C care
putrezeste un timp nu mai vrea nimeni sa se atinga de ea.

:-S jesus. dupa o saptamana dupa ce am codat cateva chestii te
hotarasti sa fii impotriva Python-ului (dupa ce initial ai fost pro).
(bad management?)

-- 
Alexandru Moşoi
http://alexandru.mosoi.googlepages.com

Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html


More information about the vmchecker-dev mailing list