1) Python ani Java nejsou interpretovane, bezi na virtualnim stroji a jde nastavit aby se kompilovaly (ano JIT), to je jako rict ze procesor interpretuje C/C++, nevim jak Ruby.
2) Nejak jsem po precteni clanku "SWIG - Uvod" nepostrehl k cemu ten swig vlastne slouzi. To dokaze zkompilovat Javu do binarky? Nebo se C udela knihovna ktera se pozdeji vola?
Pokud se preklada do bytecodu, pak samozrejme meni. Je to pak kompilovany jazyk, bezici na virtualni masine. U pythonu mam ale pocit, ze mate obe moznosti. Napr. knihovny se kompiluji do nejakeho *.pyc bytecodu, ale muzete spoustet - interpretovat - i skripty bez kompilace. Ani JIT nesouvisi s tim, jestli se jedna o kompilovany resp. interpretovany jazyk. Napr. Smalltalk zadny JIT nema, a presto se jedna o kompilovany jazyk. Je jedno jestli se zdrojak prelozi na instrukce procesoru, nebo instrukce VM (bytecode). Pokud se preklada, je to kompilovany jazyk, pokud se interpretuje rovnou z vnitrni formy, pak je interpretovany. To byste pak mohli tvrdit, ze napr. .net je interpretovany... ale co? kdyz to neni jazyk? ;)
Dobře, když tak toužíte po akademické správnosti. Python se zkompiluje do bajtkódu, který se posléze interpretuje. Rozhodně žádná kompilace do nativního kódu.
Teda, nedá mi to a trošku si rýpnu: Basic na osmibitech je tedy taky kompilovaný? Protože v operační paměti samozřejmě není uložen přímo zdroják (je to moc objemné a interpretace by byla neskutečně pomalá), ale pouze tokeny jednotlivých příkazů. "Kompilace" se provádí pro každý řádek po jeho odentrování (resp. v té době ještě "odreturnování").
Myslel jsem, že Smalltalk má JIT od konce osmdesátých let... :-D High Performance Smalltalk, VM ve VisualWorks, dříve ObjectWorks nebo ObjectStudio nebo tak nějak, pokud se nepletu.
Ten priklad_cpp je naozaj jednoduchucky, nieco ako "Hello World!", ale aj tak vdaka.
Chcelo by to triedu s pretazenymi funkciami a operatormi a neuskodili by ani vlastne rozsirenia (minimalne __str__ a __rep__), aby sa vysledny objekt v pythone spraval slusne.
V clanku chyba poriadny popis a motivacia. Nie je napr. uvedene, ze vdaka SWIGu mozeme v pythone pouzivat take kniznice ako OpenGL, Win32, VTK a urcite kopu dalsich.
Som zvedavy, ako sa autor ukaze v dalsich dieloch.
ten prikladik bol navrhnuty ako to najjednoduchsie,
co sa da so SWIG-om spachat, pripravene su aj
komplikovanejsie veci - napr. 'programovanie' SWIG-u,
konverzie agregovanych C++ datovych typov na pythonovske atd.
... len nemam cas na spisovatelsku robotu
Skoda, prave vyrabam wrapper pre nas kod a riesim dost komplikovane veci so sablonami a podobne. Prvu verziu clovek dostane celkom lahko, pomocou %ignore ;-), ale ak ma wrapper interagovat s pythonom, da to zabrat. Dokumentacia je slaba a tak casto zostava len metoda pokus/omyl.