Ušetřete

Hlavní navigace

Názory k článku
SWIG - Úvod

Trained.Monkey
Trained.Monkey (neregistrovaný)
12. 7. 2005 10:20 Nový

Odflaknuty clanek

celé vlákno
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?
Michal Molhanec aura:100

Re: Odflaknuty clanek

celé vlákno
Python rozhodně je interpretovaný jazyk. To byste musel použít Psyco abyste měl JIT v Pythonu.
Trained.Monkey
Trained.Monkey (neregistrovaný)
13. 7. 2005 10:12 Nový

Re: Odflaknuty clanek

celé vlákno
Python se take preklada do byte codu ne?
Michal Molhanec aura:100

Re: Odflaknuty clanek

celé vlákno
a? to nic nemeni na tom, ze je porad interpretovany
junix
junix (neregistrovaný)
13. 7. 2005 17:21 Nový

Re: Odflaknuty clanek

celé vlákno
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? ;)
Michal Molhanec aura:100

Re: Odflaknuty clanek

celé vlákno
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.
Pavel Tišnovský aura:98
14. 7. 2005 7:56 Nový

Re: Odflaknuty clanek

celé vlákno
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í").
Jakub Hegenbart aura:84
9. 11. 2005 10:53 Nový

Re: Odflaknuty clanek

celé vlákno
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.
Petr
Petr (neregistrovaný)
12. 7. 2005 18:22 Nový

Re: Odflaknuty clanek

celé vlákno
SWIG = Simple Wrapper Interface Generator. Generuje to glue mezi jazyky.
pf
pf (neregistrovaný)
12. 7. 2005 23:52 Nový

Re: Odflaknuty clanek

celé vlákno
pred nejakou dobou som spachal par jednoduchych prikladov
v pythone pre studentov, jeden sa tykal aj SWIG-u,
mozno sa to niekomu bude hodit
http://158.195.19.1/~fabo/python/priklad_cpp_1.pdf
obor
obor (neregistrovaný)
13. 7. 2005 10:33 Nový

Re: Odflaknuty clanek

celé vlákno
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.
uživatel si přál zůstat v anonymitě
14. 7. 2005 0:00 Nový

Re: Odflaknuty clanek

celé vlákno
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
obor
obor (neregistrovaný)
14. 7. 2005 11:02 Nový

Re: Odflaknuty clanek

celé vlákno
... 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.
uživatel si přál zůstat v anonymitě
12. 7. 2005 10:21 Nový

hm...

wtf?
brkerez
brkerez (neregistrovaný)
12. 7. 2005 10:30 Nový

vic detailu by neskodilo

Jako programatorovi mi to zavani jako potencionalne zajimavy, ale z clanku jsem se toho opravdu moc nedozvedel...
Michal Molhanec aura:100

fajn článek

celé vlákno
Mě se článek líbil, co je SWIG vím, ale nikdy jsem ho nepoužil, tak konečně uvidím, jak vypadá v praxi.
Petr
Petr (neregistrovaný)
12. 7. 2005 18:30 Nový

Re: fajn článek

celé vlákno
Jednoduche veci jsou jednoduche.

Kouzlo swigu je v tom, ze vetsinou lze i slozite veci udelat jednoduse (ve smyslu "simple", ne vsak "easy"). Ale pokud pouzivate netrivialni datove typy, tak je pro tuto jednoduchost stejne potreba znat "streva" te virtualni masiny ("interpretru") ciloveho jazyka (Perl, Python, Ruby, Java, C#, ...).

Hlavni problem swigu, na nejz jsem narazil, je neprilis sdilna dokumentace, neprilis mnoho prikladu nalezitelnych pres Google a neprilis privetivy diskusni list (vetsina dotazu tam, zda se, prochazi nezodpovezena).

Ale nechci vas odradit, byla rozhodne zabava si to me 3rd party API wrapnout do Perlu. A prijemny pocit, kdyz se mi to opravdu povedlo.
honza
honza (neregistrovaný)
12. 7. 2005 19:25 Nový

Re: fajn článek

celé vlákno
my to v nasem informacnim systemu pouzivame uz od roku 1999 a mohu potvrdit vase mineni. Co si clovek neudela sam, to neni. Lide, kteri to vyvijeji se nachazeji nekde ve vysinach teoreticke informatiky a pri problemech se predava ta horka brambora mezi swigem a napr. perlem.

Nasim zamerem bylo vyuzit te nejvetsi prednosti swigu, ze napr. API v C budou moci uzivatele pouzivat v perlu, pythonu a ruby a musi vpodstate jen vytvorit moduly v tom preferovanem interpretru. Bohuzel to ale 100% nefunguje.

Jinak mam z clanku dojem, ze autor to videl vsechno z rychliku, ale takova je dnesni doba, odpovedny redaktor je na portalech neznamy pojem (ze ano pani Dolezalova), kvalita jde do kytek ale to je dobre, alespon se to drive komletne ze*ere.
Lukas Novak
Lukas Novak (neregistrovaný)
15. 7. 2005 15:46 Nový

Nechapu

celé vlákno
Nechapu k cemu vlastne SWIG muzu vyuzit. Docela bych uvital v pristim clanku zakladni popis pro BLBE (cili pro me). Python se ucim, ale tohle jsem nejak nepochopil. Rozhodne jsem zvedavy na pristi clanek.
Zasílat nově přidané příspěvky e-mailem