Zobrazit příspěvky

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.


Příspěvky - BoneFlute

Stran: 1 ... 59 60 [61] 62 63 ... 133
901
Vývoj / Re:Co si myslíte o OOP?
« kdy: 19. 01. 2019, 18:45:46 »
Chlapi (a roby), mám zcela nový podnět do diskuse. Když odmyslím Lisp s jeho objektovou nadstavbou, existuje v (skutečném) OOP světě něco jako makra? Pokud ano, jak moc se používají a pokud ne, tak proč ne?

Asi bude (jak už to bejvá) problém s definicí, co jsou to makra.

Řekl bych, že tvému dotazu by mohlo nejvíce odpovídat některý z Aspect-Oriented frameworků pro Javu, které zasahují do výsledného bytecode.

Osobně se domnívám, že největší motivace jsou takové ty short-circuit operátory, nebo podobné serepetičky. Páč jinak mě nenapadá na co by nutně muselo být makro potřeba. Všechno se dá zapsat funkcí :-)

902
Vývoj / Re:Co si myslíte o OOP?
« kdy: 18. 01. 2019, 00:25:22 »
K čemu by mi byla typová třída, když mi plně vyhovuje rozhraní? A tu kolekci chci mít nafukovací, takže její fixní velikost by mi byla také k ničemu.
UserName = String[1..255]
Naprosto běžný a obvyklý use case, který se v praxi řeší (zatím) blbě pomocí assertů.
To jako pole pro 255 stringů? K čemu mi to bude, když potřebuji seznam stringů a dopředu nevím, zda jich bude 20 nebo 20000?
Ne, je to typ UserName, který obsahuje string v rozsahu 1 až 255. Omezení délky textu.

Který objektový jazyk tohle používá?
Tak nezněla otázka.

903
Vývoj / Re:Co si myslíte o OOP?
« kdy: 17. 01. 2019, 22:34:07 »
K čemu by mi byla typová třída, když mi plně vyhovuje rozhraní? A tu kolekci chci mít nafukovací, takže její fixní velikost by mi byla také k ničemu.
UserName = String[1..255]

Naprosto běžný a obvyklý use case, který se v praxi řeší (zatím) blbě pomocí assertů.

To jako pole pro 255 stringů? K čemu mi to bude, když potřebuji seznam stringů a dopředu nevím, zda jich bude 20 nebo 20000?
Ne, je to typ UserName, který obsahuje string v rozsahu 1 až 255. Omezení délky textu.

904
Vývoj / Re:Jednoduchý framework PHP
« kdy: 17. 01. 2019, 22:15:17 »
Odvážní jedinci mohou zkusit Haxe: https://haxe.org/

Jeden jazyk, který se mimojiné kompiluje jak do JavaScriptu, tak do PHP. Podpora PHP včetně bugfixů se rapidně rozvíjí ve verzi 4 která je sice zatím jen preview, ale pokud to funguje tak to funguje.

Haxe je jazyk velmi podobný ActionScriptu (Flash), a s vhodnými knihovnami jej dokáže nahradit. Rychlost transpilace je ve srovnání s TypeScriptem velmi rychlá, proběhne v podstatě ihned.

Už jsem na to kdysy dávno narazil. Setkal jsi se někdy s reálným nasazením?

905
Vývoj / Re:Co si myslíte o OOP?
« kdy: 17. 01. 2019, 22:13:26 »
K čemu by mi byla typová třída, když mi plně vyhovuje rozhraní? A tu kolekci chci mít nafukovací, takže její fixní velikost by mi byla také k ničemu.
UserName = String[1..255]

Naprosto běžný a obvyklý use case, který se v praxi řeší (zatím) blbě pomocí assertů.

906
Vývoj / Re:Jednoduchý framework PHP
« kdy: 17. 01. 2019, 21:00:13 »
Celé Nette je závislé na (ne)vyhoření jednoho člověka,
To je samozřejmě blbost, že jo.

907
Vývoj / Re: Jednoduchý framework PHP
« kdy: 16. 01. 2019, 22:19:04 »
A co taky CakePHP framework?
Minulé století. Určitě nebrat.

Jediné dva FW o kterých imho má smysl uvažovat jsou Symfony a Nette. (Případěn odvozeniny.)

908
Vývoj / Re:Co si myslíte o OOP?
« kdy: 16. 01. 2019, 22:00:58 »
OOP je dobre treba na datove objekty, na vytvareni novych datovych typu. Zvlaste kdyz je jich hodne a maji hierarchickou strukturu.
Kdy potřebuješ hiearchickou strukturu? Čuchá čuchám zneužití dědičnosti na reusable kódu.

909
Vývoj / Re:Co si myslíte o OOP?
« kdy: 16. 01. 2019, 21:53:01 »
Se svym statickm stylem mysleni nedokazi  vyuzivat jejich vyhodnych vlastnosti

Měl jsi možnost tyto výhodné vlastnosti rozvést. Proč jsi to neudělal?

910
Studium a uplatnění / Re:Ako ste sa nauli programovat?
« kdy: 13. 01. 2019, 00:03:02 »
U nás v ulici byl krámek s počítači, kde to vedli dva bráchové. Jeden prodával, a druhý programoval. Dal jsem se s nima do řeči, a oni mi ukazovali co dělají a co umí... A on povídá, že teď by potřeboval udělat takovou jednoduchou konzolovou aplikaci.

Tak jsem doma sedl, a do pěti hodin ráno jsem to mastil. Pak jsem to sebral na disketu, a přinesl mu to ukázat. Vůbec to nefungovalo.

Takhle jsem začínal.

Co už umíš?

a vydrzel jsi a opravil to??
protoze neni dulezite do obcas neposrat, ale je dulezite v tom pokracovat.

Neopravil jsem to, protože jsem defakto prokaučoval příležitost. Ale byla to ohromná zkušenost - takovej ten rozdíl programovat do šuplíku, a pro klienta.

Obecně ale naprostý souhlas. Všiml jsem si, že největší benefit, který ve mě klienti mají je, že se nevzdávám, a hledám způsoby jak to udělat. A voni jsou spokojení, a nechají mě to udělat. Win-win.

911
Vývoj / Re:Co si myslíte o OOP?
« kdy: 12. 01. 2019, 22:01:50 »
Ty jsi, Kite, predbehl dobu. Dnes je v mode genderova flexibilita a jak by se hodilo mit moznost volnou formou zadat v kolonce pohlavi "kyberpes" namisto trapneho vyberu mezi M a F.

Zažil jsem i dobu, kdy se pohlaví zadávalo true/false.

Má pindíka? Ano/Ne :-D

912
Studium a uplatnění / Re:Ako ste sa nauli programovat?
« kdy: 12. 01. 2019, 21:55:55 »
U nás v ulici byl krámek s počítači, kde to vedli dva bráchové. Jeden prodával, a druhý programoval. Dal jsem se s nima do řeči, a oni mi ukazovali co dělají a co umí... A on povídá, že teď by potřeboval udělat takovou jednoduchou konzolovou aplikaci.

Tak jsem doma sedl, a do pěti hodin ráno jsem to mastil. Pak jsem to sebral na disketu, a přinesl mu to ukázat. Vůbec to nefungovalo.

Takhle jsem začínal.

Co už umíš?

913
Vývoj / Re:Co si myslíte o OOP?
« kdy: 11. 01. 2019, 19:41:50 »
je dobré znát ne dva až tři jazyky, ale především dvě až tři paradigmata
V tom je prave dobry python, protoze ti umoznuje jednotliva paradigmata podle potreby prirozene kombinovat.
Tak to se podle mě velice tragicky mýlíš. Pokud chceš nějakému paradigmatu porozumět, musíš si ho vyzkoušet pokud možno v čisté podobě. Protože jenom ta tě donutí opravdu použít daný přístup a neuhýbat jinam. Tj. pokud funkcionální, tak Haskell, ne Scalu. Na Haskellu pochopíš, o co jde, a pak v praxi už můžeš vzít tu Scalu, protože to může být ze spousty důvodů praktičtější.

Ne, Python opravdu není "multiparadigmatický", to je marketingový blábol. Ono v principu vůbec nic takového jako "multiparadigmatický" neexistuje, protože ta paradigmata jsou právě o tom, co ti jazyk nedovolí udělat, ne o tom, co ti dovolí. Když něco z principu nejde -> máš jistotu, že k tomu nedošlo -> máš zaručenou informaci.

Za druhe ruzne paradigmata jsou uzitecna, ale nepotrebujes si kvuli tomu povrchne hrat s hromadou prakticky nevyuzitelnych jazyku.
Potřebuješ, protože žádný jiný způsob, jak jim porozumět, neexistuje.

Moje zkušenost:

Když jsem se dostal k Haskellu a začal jsem ho zkoumat, zažil jsem tolik aha momentů jak nikdy.
- že se dá psát úsporně
- že se dá psát smysluplně
- že typy dokáží extrémně pomáhat (a to jsem ještě nevěděl nic o závislostních typech)
- pochopil jsem typy (a že to co má Java a spol je výsměch)
- co to znamená zapouzdření
- co to znamená funkcionální

Pak jsem se vrátil k těm normálním business jazykům, které mě živí, a dost drsně to změnilo můj spůsob programování.

Čas od času zkouším něco v Pythonu. Většinou je to takové jakože dobré. Ale nikdy jsem se od něj nic užitečného neodnesl. Snad jen odsazování jsem si díky němu zamiloval. A čím více ten projekt rostl, tím víc mě Python rozčiloval - že sice má mnohé možnosti, ale vůbec, ale vůbec nepomáhá.

Pak se objeví vždycky nějaký chytrolín, který mě setře, že jsem jen nepochopil tu úžasnou filozofii. A když ho požádám o vysvětlení, tak jen, že to bych nepochopil.

914
Vývoj / Re:Co si myslíte o OOP?
« kdy: 11. 01. 2019, 18:33:31 »
Ja si mezitim dovolim predvest moznost typove kontroly u dynamickeho jazyka.
Kód: [Vybrat]
~ $ mypy typehint.py
typehint.py:6: error: Argument 1 to "inc" has incompatible type "str"; expected "int"
~ $ cat typehint.py
def inc(x:int)->int:
    return x+1

if  __name__ == '__main__':
    print(inc(3))
    print(inc('4'))
~ $ mypy typehint.py
typehint.py:6: error: Argument 1 to "inc" has incompatible type "str"; expected "int"

Tohle mi přijde jako fajn řešení, kdy mohu "odložit" statickou kontrolu. Užitečná informace. Jsem o pythonu nevěděl. Dík.

915
Vývoj / Re:co si myslite o oop?
« kdy: 11. 01. 2019, 18:19:12 »
Tak ono furt platí, že
1) Jak dostanu z vnějšku nějakou hodnot, musím ji validovat -> validátor / parser tam stejně bude
2) Chybu mám zachytit a ošetřit co nejdřív.
3) Věci by měly být řešeny na jednom místě (SRP)

Ty první dva body jsou poněkud v rozporu s bodem třetím. Data z vnějšku klidně nechám probublat až do objektu, který je v zvaliduje až ve chvíli, kdy s těmi daty potřebuje pracovat. Tedy naopak je validuji co nejpozději. Pokud ta data proudí z více zdrojů, tak jsou validována právě v tom jednom objektu, který se stará právě jen o tento typ dat. O data jiného typu se stará jiný objekt, i když jsou součástí toho jednoho požadavku.

Tento přístup mi umožňují dělat poměrně jednoduché kontrolery, které se o validaci nestarají, ale pouze se rozhodují, které komponenty modelu použijí a jak je zkombinují.
Ano. A je to velmi špatně.

Stran: 1 ... 59 60 [61] 62 63 ... 133