Technologie pro webovou aplikaci

Re:Technologie pro webovou aplikaci
« Odpověď #45 kdy: 29. 01. 2017, 11:49:03 »
Nerikam, ze Angular je nejaka hitparada. Jen tvrdim, ze primarni problem neni v pouzite technologii/jazyce/frameworku.

Pokud budu mit tym Angular veteranu tak asi nejspis nebudu novy projekt politicky tlacit na React/Ember/Elm/whatever jen protoze "to je lepsi". Stejne tak kdyz budu mit tym zkusenych PHPkaru na frameworku XY tak nebudu z politickeho duvodu tlacit Haskell jen protoze je podle nekoho sexy a in.
Pokud máš něco napsané v něčem, do čeho se ti nechce sahat, tak to nemusí být v technologii, ale určitě je to ve vztahu tebe a té technologie ;)

Opačný extrém toho, co píšeš, je, že můžeš skončit s programem napsaným v Cobolu pro S/360 :)


xxx

Re:Technologie pro webovou aplikaci
« Odpověď #46 kdy: 29. 01. 2017, 12:14:43 »
Citace
Všude píší, že je to sračka, a lidi to přesto používají.

Teorie vs praxe. Zboj nebo Mirek Prýmek ti místo toho ochotně doporučí nějakou naprosto dokonalou technologii ... která má jedinou vadu ... skoro nikdo jí nepoužívá.

javaman ()

Re:Technologie pro webovou aplikaci
« Odpověď #47 kdy: 29. 01. 2017, 12:21:44 »
Nerikam, ze Angular je nejaka hitparada. Jen tvrdim, ze primarni problem neni v pouzite technologii/jazyce/frameworku.

Pokud budu mit tym Angular veteranu tak asi nejspis nebudu novy projekt politicky tlacit na React/Ember/Elm/whatever jen protoze "to je lepsi". Stejne tak kdyz budu mit tym zkusenych PHPkaru na frameworku XY tak nebudu z politickeho duvodu tlacit Haskell jen protoze je podle nekoho sexy a in.
Primární problém je v použité technologii. Když jedna technologie vyžaduje 4x víc práce na to, aby to bylo nějak udržovatelné než druhá, tak je problém v té první technologii. A vybírat si jazyk/framework na základě rychlosti vývoje, udržovatelnosti apod. není politika.

+1

Radši přeučím PHP člověka na něco pořádného, pokud on za to stojí.

gll

Re:Technologie pro webovou aplikaci
« Odpověď #48 kdy: 29. 01. 2017, 12:33:03 »
Testů tam moc nemám, ale obávám se, že bych se bál úplně stejně, i kdyby tam ty testy byly (a nemám tým lidí, aby mi je udržoval). Popravdě testovat mi připadá rozumné algoritmy/parsing, ale věci typu "vezmi data, pošli je někam", tam toho moc na testování není.

Právě že ano. Zrovna u podobných aplikací je třeba mít na všechno replikovatelné testy na testovacích datech.

čumil

Re:Technologie pro webovou aplikaci
« Odpověď #49 kdy: 29. 01. 2017, 12:35:39 »
A Haskell ? Jednu dobu sem byl velkej fanda FP ... ale bohužel, v praxi je dost nahovno, kdo nevyzkoušel na něčem trošku složitějším než school level srandě, nepochopí ...
Nebylo by to tak strašný kdyby existoval pořádný systém na handling side efektů a ne ty komedie co sou dneska... žejo io monado, zdravim tebe.
Hele já chápu, že tam jsou omezení - když má člověk blbý use case s GC, tak prostě fakt někdy řešení neexistuje, stejně tak, pokud by člověk šel na krev s výkonností - ale mám v tom napsaný jeden projektík, který vůbec není school-level a psát to v čemkoliv jiném, tak to potřebuje asi výrazně víc lidí a času. Co máš konkrétně na mysli?

Jinak komedie side-efektů ve srovnání s Java/JS má znamenat co? Purescript tohle umí a přišlo mi, že to, co to přinese, za přidanou komplexitu nějak moc nestojí...
Komedii side efektu myslim komedii se side efektama v dnešních "pure" fp nádherách. O js sem nemluvil, to je oop ...

Nejlíp je na tom elm, ale to je zas dost dosranej jazyk když ho porovnám s haskellem. Možná už je na tom líp,  nevím a ani mne to moc netankuje.

Svět bude na fp připraven ve chvíli kdy se stroje nebudou programovat ale učit ... Asi takhle to řeknu. Takže, pozdě.


Re:Technologie pro webovou aplikaci
« Odpověď #50 kdy: 29. 01. 2017, 14:46:02 »
Zboj nebo Mirek Prýmek ti místo toho ochotně doporučí nějakou naprosto dokonalou technologii ... která má jedinou vadu ... skoro nikdo jí nepoužívá.
Jistě.
Doporučuju Go, je nádherné blbuvzdorné, takže i méně kvalitní tým může vyprodukovat něco funkčního.
Se stackem radit nebudu, na to situaci málo sleduju

v

Re:Technologie pro webovou aplikaci
« Odpověď #51 kdy: 29. 01. 2017, 15:07:54 »
Nerikam, ze Angular je nejaka hitparada. Jen tvrdim, ze primarni problem neni v pouzite technologii/jazyce/frameworku.

Pokud budu mit tym Angular veteranu tak asi nejspis nebudu novy projekt politicky tlacit na React/Ember/Elm/whatever jen protoze "to je lepsi". Stejne tak kdyz budu mit tym zkusenych PHPkaru na frameworku XY tak nebudu z politickeho duvodu tlacit Haskell jen protoze je podle nekoho sexy a in.
Primární problém je v použité technologii. Když jedna technologie vyžaduje 4x víc práce na to, aby to bylo nějak udržovatelné než druhá, tak je problém v té první technologii. A vybírat si jazyk/framework na základě rychlosti vývoje, udržovatelnosti apod. není politika.
takže co byste doporučil pro aplikaci v haskellu, která potřebuje rozumné webové rozhraní a ústředním prvkem jejího rozhraní je treeview s lazy-loaded větvema (nyní fancytree)?

gll

Re:Technologie pro webovou aplikaci
« Odpověď #52 kdy: 29. 01. 2017, 15:49:58 »
Zboj nebo Mirek Prýmek ti místo toho ochotně doporučí nějakou naprosto dokonalou technologii ... která má jedinou vadu ... skoro nikdo jí nepoužívá.
Jistě.
Doporučuju Go, je nádherné blbuvzdorné, takže i méně kvalitní tým může vyprodukovat něco funkčního.
Se stackem radit nebudu, na to situaci málo sleduju

Argument s méně kvalitním týmem zrovna od člověka jako zboj nezní moc přesvědčivě. Podle jeho předchozích příspěvků hádám, že spolupracuje s nadprůměrně vzdělanými a schopnými lidmi.

Go protlačuje Google. Node.js se rozšířilo i navzdory špatnému PR. Já to beru jako důkaz kvality i když na aplikaci, kterou chce tazatel dělat, bych použil něco jiného.

andy

Re:Technologie pro webovou aplikaci
« Odpověď #53 kdy: 29. 01. 2017, 21:04:52 »
Testů tam moc nemám, ale obávám se, že bych se bál úplně stejně, i kdyby tam ty testy byly (a nemám tým lidí, aby mi je udržoval). Popravdě testovat mi připadá rozumné algoritmy/parsing, ale věci typu "vezmi data, pošli je někam", tam toho moc na testování není.
Právě že ano. Zrovna u podobných aplikací je třeba mít na všechno replikovatelné testy na testovacích datech.
Jasně, všichni máme neomezený čas a rozpočet, obzvlášť, když děláš projektík zadarmo pro nějakou komunitu. Testovat věci ve stylu "funkce vrátí obsah tabulky" je fakt na pytel - ale samozřejmě v node nebo pythonu to má smysl, protože se ti snadno může stát, že třeba nějaký atribut zapomeneš vrátit. Když máš v těch typovaných jazycích typ endpointu "Action", tak  prostě tohle testovat víceméně nemá smysl, protože to prostě vždycky vrátí celou Action se všemi atributy. Ne, že by se někdy nějaký kix v tomhle stát nemohl, ale ta cost-benefit analýza pak najednou vychází jinak. Navíc když to chvíli nebude fungovat, tak se svět nezboří (byť to používá tak různě docela dost lidí...)... a ty testy fakt udržovatelnosti toho kódu moc nepomůžou - kdysi jsem si dal práci a napsal testy k jednomu pythoním projektu (ne-webovému) - vzhledem k omezenému přístupu na cílovou platformu to pomohlo odchytat při vývoji spoustu chyb. Ale pro další údržbu už jsem ty testy ignoroval, protože to prostě nemělo smysl....

Citace
Komedii side efektu myslim komedii se side efektama v dnešních "pure" fp nádherách. O js sem nemluvil, to je oop
Mně to připadá, jak kdybys kritizoval FP nádhery, že ty použitelné nemaj dependent-types. No nemají. Java/JS taky ne. A co? Řízení side-efektů funguje na IO/pure granularitě, a nebo si pak můžeš zvolit nějaký přístup, který tu granularitu zlepšuje; záleží na tom, co od toho chceš. Některé věci se dají řešit celkem v pohodě, jiné moc ne. Pořád nechápu praktický dopad na psaní webového backendu pro aplikaci velikosti trello v kontextu alternativy typu node.

Citace
takže co byste doporučil pro aplikaci v haskellu, která potřebuje rozumné webové rozhraní a ústředním prvkem jejího rozhraní je treeview s lazy-loaded větvema (nyní fancytree)?
Asi nerozumím otázce... jako že máte aplikaci v haskellu a teď k ní budete dělat rozhraní?

v

Re:Technologie pro webovou aplikaci
« Odpověď #54 kdy: 29. 01. 2017, 21:28:45 »
Citace
takže co byste doporučil pro aplikaci v haskellu, která potřebuje rozumné webové rozhraní a ústředním prvkem jejího rozhraní je treeview s lazy-loaded větvema (nyní fancytree)?
Asi nerozumím otázce... jako že máte aplikaci v haskellu a teď k ní budete dělat rozhraní?
spíš předělávat, nějaké rozhraní mám, ale ubohé, udělat to znovu a "správně" by bylo velmi feasible

gll

Re:Technologie pro webovou aplikaci
« Odpověď #55 kdy: 29. 01. 2017, 21:39:31 »
Testů tam moc nemám, ale obávám se, že bych se bál úplně stejně, i kdyby tam ty testy byly (a nemám tým lidí, aby mi je udržoval). Popravdě testovat mi připadá rozumné algoritmy/parsing, ale věci typu "vezmi data, pošli je někam", tam toho moc na testování není.
Právě že ano. Zrovna u podobných aplikací je třeba mít na všechno replikovatelné testy na testovacích datech.
Jasně, všichni máme neomezený čas a rozpočet, obzvlášť, když děláš projektík zadarmo pro nějakou komunitu. Testovat věci ve stylu "funkce vrátí obsah tabulky" je fakt na pytel - ale samozřejmě v node nebo pythonu to má smysl, protože se ti snadno může stát, že třeba nějaký atribut zapomeneš vrátit. Když máš v těch typovaných jazycích typ endpointu "Action", tak  prostě tohle testovat víceméně nemá smysl, protože to prostě vždycky vrátí celou Action se všemi atributy. Ne, že by se někdy nějaký kix v tomhle stát nemohl, ale ta cost-benefit analýza pak najednou vychází jinak. Navíc když to chvíli nebude fungovat, tak se svět nezboří (byť to používá tak různě docela dost lidí...)... a ty testy fakt udržovatelnosti toho kódu moc nepomůžou - kdysi jsem si dal práci a napsal testy k jednomu pythoním projektu (ne-webovému) - vzhledem k omezenému přístupu na cílovou platformu to pomohlo odchytat při vývoji spoustu chyb. Ale pro další údržbu už jsem ty testy ignoroval, protože to prostě nemělo smysl....

ORM objekty jsou typované. Špatná data do nich nacpete jen dost těžko. Zrovna u DB aplikací dokáží testy podstatně urychlit vývoj. S databází, která se vám mění pod rukama se vyvíjí špatně. Je třeba, aby testy byly replikovatelné. Kontrolovat správnost výsledků po každém spuštění jen očima také moc dobře nejde. Určetě to chce praxi. Naučit se efektivní TDD chvíli trvá. IMHO naučit se dělat weby v haskellu trvá déle.

v

Re:Technologie pro webovou aplikaci
« Odpověď #56 kdy: 29. 01. 2017, 21:44:40 »
Řízení side-efektů funguje na IO/pure granularitě, a nebo si pak můžeš zvolit nějaký přístup, který tu granularitu zlepšuje
já bych teda Free monádu a "interpretter pattern" zmínil explicitně, a samozřejmě http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf

Ivan Nový

Re:Technologie pro webovou aplikaci
« Odpověď #57 kdy: 29. 01. 2017, 22:18:09 »
Svět bude na fp připraven ve chvíli kdy se stroje nebudou programovat ale učit ... Asi takhle to řeknu. Takže, pozdě.
Bravo. To je ono. Pak budou vznikat turingovsky neúplné jazyky, jako výsledek procesu učení. Prostor možných jazykových konstrukcí takto vzniklého jazyka bude řídký, snadněji uchopitelný pro evoluční algoritmy.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Technologie pro webovou aplikaci
« Odpověď #58 kdy: 29. 01. 2017, 22:27:50 »
Samotný jedno node na jednom CPU dokáže utáhnout pěkně velký množství spojení
To umí cokoliv, co používá kqueue nebo epoll.

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Technologie pro webovou aplikaci
« Odpověď #59 kdy: 29. 01. 2017, 22:32:25 »
Citace
Všude píší, že je to sračka, a lidi to přesto používají.

Teorie vs praxe. Zboj nebo Mirek Prýmek ti místo toho ochotně doporučí nějakou naprosto dokonalou technologii ... která má jedinou vadu ... skoro nikdo jí nepoužívá.
Neco něco kvalitního, co se používá.