Díky za tuto diskuzi, hodně mi toho docvaklo.
Sent from my iPhone
On 12.2.2010, at 13:50, Hynek Fabian <[email protected]>
wrote:
matesfila (pátek 12 Únor 2010 10:44:20):
No to ano, nejaké javistické predsudky mám, keď sa to tak dá
nazvať. Ono
je to ale predsalen tak trochu iný spôsob uvažovania, v skriptivac
om jazyku
oproti kompilovanému. Keď sa k tomu ešte pridá beztypovosť a
moja snaha o
Beztypovost je jen další předsudek :-) Python je velice silně
typový. Jenom ti
to žádný kompiler pořád nepřipomíná:
"a" + 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
Jak vidno, interpret přesně ví s jakým typem má tu čest.
Nejsnáz se na to
narazí, když ti vystřelí oblíbený UnicodeDecodeError z
něčeho, co jsi do té
chvíle bez problému považoval za string. Zrada je v tom, že typ
není vlastnost
jména, ale objektu na který to jméno odkazuje. Jméno objektu
není nějaká
abstrakce překladače s vlastní typovou logikou, ale prostě jen
nálepka na
pointeru na objekt (a samo jméno je jen další objekt). Objekt má
vždy typ, ale
nikdo nevynucuje aby ta nálepka ukazovala na objekty stále
stejného typu.
Filozoficky vzato je Python mnohem silněji typový než kompilované
jazyky.
V C je typ jen iluze překladače, v Pythonu je to bytelný fakt.
(A Java je kočkopes obojího :-)
funkcionálny štýl programovania, tak je to v podste už úplne
totálne iné
programovanie, ako v Jave :-)
Velmi doporučuji následující stať, jsou tam pěkně popsané
některé "filozofické"
rozdíly mezi Pythonem a Javou:
http://dirtsimple.org/2004/12/python-is-not-java.html
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python