[python] Brainstorm request: Vyuka programovani na gymplu
slush
slush na centrum.cz
Pátek Červen 6 19:09:35 CEST 2008
>
> Myslím, že začínající programátor by se měl učit na programovacím
> jazyce, který přímo dělá to co potřebuje. Kde slovo X je prostě X, a
> není to emulation by class.
treba tohle?
marekp na omicron:~$ python
>>> "ahoj".__class__
<type 'str'>
python jen "dela", ze string je class
>>> dir("")
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',
'__ge__', '__getattribute__', '__getitem__', '__getnewargs__',
'__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__',
'__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__',
'__str__', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith',
'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower',
'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',
'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit',
'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
'translate', 'upper', 'zfill']
ale pritom ta implementace trochu pokulhava:
>>> class str(str):
... def zzzmojefce(self):
... return "blabla"
...
>>> str().zzzmojefce()
'blabla'
>>> "xxx".zzzmojefce()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'zzzmojefce'
Protoze standardni chovani by samozrejme bylo:
>>> class nakatrida():
... def fce1(self):
... return "nazdar1"
...
>>> class nakatrida(nakatrida):
... def fce2(self):
... return "nazdar2"
...
>>> nakatrida().fce1()
'nazdar1'
>>> nakatrida().fce2()
'nazdar2'
Nebylo by tedy lepsi, aby vsechno byla class a programator alespon mohl
predpokladat, ze se vsechno chova stejne? ;)
>Vzhledem k tomu, ze se bavime o uceni, tak souhlasim, ze Javu ne. Ale
> co treba Groovy, zejo? :-)
>
> A proč?
>
Argumenty pro Groovy (python-like jazyk v enterprise prostredi) jsem uz psal
v jednom z prvnich mailu, tady jsem si jen chtel rypnout :).
> Globální proměnné nejsou prasení v rozumném počtu. Stejně tak jako
> leccos dalšího.
V tomhle si dovolim nesouhlasit. Pokud programator potrebuje pouzit globalni
promennou, udelal v navrhu datovych struktur chybu.
Chapu vsechny Vase argumenty, jen se snazim delat opozici. Kazdopadne to
zacina byt OT, takze pokud nebude nejaka podnetna myslenka, hlasuji pro
ukonceni flamu o jazycich. Minimalne do te doby, nez po zkouskovem poradne
nastuduju Groovy + JBoss Seam :-).
Marek
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20080606/315e7d60/attachment.htm
Další informace o konferenci Python