[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