2131
Studium a uplatnění / Re:Uživí se Linux sysadmin jako freelancer?
« kdy: 22. 09. 2015, 14:35:55 »
Dobra rada k tematu pod 140 znaku: https://twitter.com/janrezac/status/642231360023855104
Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.
Vyjadřovací schopnosti programovacích jazyků nejsou na úrovni textu prózy, ale na úropvni čtení básní, proto i struktura textu je důležitá. A FP jazyky ji mají přímo katastrofální.
Zrovna napr. takovy Haskell dost lidi povazuje za prekrasny jazyk - lze strucne a vystizne zapsat slozite myslenky. Samozrejme pokud si nekdo pod hezkym kodem programu predstavuje co nejvice nevyznamoveho balastu (Java/Python), pak je IMO neco spatne.
na druhou stranu, !#$%&*+./<=>?@ je v haskellu validní identifikátor operátoru
Problém spočívá v tom, že termín OOP postrádá smysl, takže jeho definice je libovolná. Přesto se vrhám do propasti a nabízím svůj seznam vlastností, které tvoří základ OOP.Pro nás, co se v této oblasti pohybujeme už trochu déle ale tyhle vlastnosti nejsou ničím speciální, pokud zaměníme slovo objekt za modul tak tohle plně podporovala už třeba Modula-2 před 30 lety, která objekty v dnešním slova smyslu vůbec neměla. V podstatě je to popis modulárního programování...
Zapouzdření - sseskupení souvisejících idejí do jedné jednotky, na kterou se lze odkazovat názvem. Takovým zapouzdřením může být i obyčejný podprogram.
Objektově orientované zapouzdření - zabalení operací a atributů představující nějaký stav do jednoho typu objektu. Daný stav je přístupný či upravitelný pouze skrze rozhraní.
Skrývání informací a implementace - omezení externí viditelnosti určitých informací nebo implementačních detailů, která jsou pro strukturu zapouzdření interní. Jinými slovy, nikomu nic není do toho jak dělám to co dělám, v krajním případě ani do toho co dělám. Něco jako černá skříňka se vstupy a výstupy.
Z další vlastností to mohou být:
zachování stavu, identita objektů, zprávy, třídy, dědičnost, mnohotvarost, obecnost.
Někteří diskutující by z obavy před porušením LSP nejraději tyhlety dědičnosti úplně zakázali a vyhodili z OOP.
Dědičnost objektů je nutná nikoliv postačující podmínka existence OOP. Nutný důsledek z toho je, že někteří diskutující vůbec nemají rádi OOPTo jsme ale věděli dlouho ...
@zboj
urcite nie
behavior fail
Určitě jo. V tomto případě to ani není težké na pochopení.
@zboj
urcite nie
behavior fail
Určitě jo. V tomto případě to ani není težké na pochopení.
To je dost nesmysl, bo code reuse.
Prakticky každá firma (co jsem viděl), která měla zoufale neudržitelný kód ho měla zoufalí proto, že dědily kůli code reuse. Takže za mě fakt ne!
stvorec extends obdlznik je standardny fail lebo liskov substitutuion principle
Tak v tomto případě LSP perfektně funguje, máš v tom zmatek.
Spíše než FP bych řekl obecněji "post-OOP", protože OOP nezmizí, jen se trochu modifikuje, viz dnes Swift.
Som pomerne silno presvedceny, ze velmi velmi slubnu buducnost ja funkcionalne programovanie.
Třeba takový Haskell vznikl v roce 1990, Lisp dokonce už v 1958... a pořád nic.