IT pro otrlé

O lidech, o vztazích, o politice, o názorech, o opicích a o ufonech.

Moderátor: Faskal

Odpovědět
Uživatelský avatar
Resurrection
Příspěvky: 4700
Registrován: 26. 9. 2006, 10:34

Re: IT pro otrlé

Příspěvek od Resurrection » 4. 6. 2019, 12:47

OnGe píše:
4. 6. 2019, 12:40
Ptal jsem se, jak se z toho nezbláznit. Udělat si z interpretovaného jazyku kompilovaný mi nepřipadá jako dorbá cesta. Nebo v čem je to pak lepší?
Co konkretne je za problem?
Secrets are power.

Uživatelský avatar
York
Příspěvky: 11648
Registrován: 24. 2. 2012, 17:31

Re: IT pro otrlé

Příspěvek od York » 4. 6. 2019, 12:51

OnGe píše:
4. 6. 2019, 12:40
Udělat si z interpretovaného jazyku kompilovaný mi nepřipadá jako dorbá cesta. Nebo v čem je to pak lepší?
Kolem javascriptu je hned několik věcí, ze kterejch se dá v pohodě zbláznit. První je výběr nástrojů a nastavení workflow - jakej použít framework (jestli vůbec nějakej), jak to minifikovat a podobně. S tím ti typescript nepomůže, tím se nějak musíš prokousat.

Další skupina jsou blbá rozhodnutí při designu jazyka. Věci jako === a ==, záludné this, undefined a null, divné typy některých hodnot (null je třeba typu object) a podobně. S tím ti typescript s tslintem pomůže - typescript rozumí tomu, co je tam napsané, takže ti řekne, když děláš něco jinýho, než si myslíš. A tslintem si zakážeš zbytek (třeba používat null). Strávíš dost času nastavováním, ale vyplatí se to.

Třetí kategorie jsou bugy, udržitelnost velkého kódu a podobně. A s tím ti typescript pomůže fakt hodně. Spoustu chyb ti vůbec udělat nedovolí, protože ti zahlásí chybu už v compile timu. Tohle samo o sobě je strašně znát.

Poslední je čitelnost kódu. Javascript je netypovaný, takže když se například podíváš na nějakou funkci, tak naprosto netušíš, s jakými parametry pracuje. Trochu pomůže, když jsou dobře pojmenované, ale i tak netušíš, jestli to je objekt, číslo, string, jestli to může mít nedefinovanou hodnotu a podobně. Tohle typescript řeší, plus máš funkční intelisense, refactoring a podobné věci.

OnGe píše:
4. 6. 2019, 12:40
Udělat si z interpretovaného jazyku kompilovaný mi nepřipadá jako dorbá cesta.
Tohle není tak docela pravda. Typescript je pořád interpretovaný jazyk - z tsc ti vypadne javascript. Je to na podobný úrovni jako webpack nebo obecně minifikace. Kód, kterej posíláš klientovi, není to, co jsi napsal, ale pořád je to interpretovanej* javascript.

* S tím, že dneska "interepretovanej jazyk" taky neznamená to samý co před 20 lety. V8 s tím dělá různý psí kusy.
Naposledy upravil(a) York dne 4. 6. 2019, 13:42, celkem upraveno 1 x.

Uživatelský avatar
OnGe
malý zelený křečopažout
Příspěvky: 10381
Registrován: 5. 2. 2010, 09:27
Bydliště: Prdelná lhota (čti Praha)
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od OnGe » 4. 6. 2019, 13:35

Když to musím kompilovat, je to kompilovaný jazyk i když na druhé straně vypadne interpretovaný kód (takže máme vosery z obou světů najednou - juch!)

Nicméně to, co popisuješ jako třetí kategorii mě teď sere asi nejvíc a říkáš že to pomůže fakt hodně, tak tomu asi dám šanci.
Resurrection píše:
4. 6. 2019, 12:47
Co konkretne je za problem?
Chtělo by se říct "úplně všechno". Krom výše zmíněného třeba že ekvivalentní věci se dají napsat dost různými způsoby a je to vlastně jako učit se tři syntaxe, které se ti začnou míchat dohromady jakmile začneš používat cizí věci. Když pak přihodíme ještě třeba Vue.js, co umožňuje dělat komponenty, pokud jsem dobře počítal, na sedm různých způsobů... A abych nezapomněl, chybové hlášky ze kterých v půlce případů poznáš prd co je špatně, minimálně v některých browserech. Je toho víc, ale tyhle věci jsou na lopatu.
Nežít je jediná životní prohra

výběr z vlastní zahrádky:



:idea: RPG kuchyně: 2010 - 2013 - 2017
:?: Horní progressbar - to se budete divit... možná
:?: Dolní progressbar - dávám tomu rok... maximálně dva

Uživatelský avatar
kostrivec
Příspěvky: 277
Registrován: 9. 8. 2017, 17:09
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od kostrivec » 6. 6. 2019, 10:21

OnGe píše:
4. 6. 2019, 13:35
Resurrection píše:
4. 6. 2019, 12:47
Co konkretne je za problem?
Chtělo by se říct "úplně všechno". Krom výše zmíněného třeba že ekvivalentní věci se dají napsat dost různými způsoby a je to vlastně jako učit se tři syntaxe, které se ti začnou míchat dohromady jakmile začneš používat cizí věci. Když pak přihodíme ještě třeba Vue.js, co umožňuje dělat komponenty, pokud jsem dobře počítal, na sedm různých způsobů... A abych nezapomněl, chybové hlášky ze kterých v půlce případů poznáš prd co je špatně, minimálně v některých browserech. Je toho víc, ale tyhle věci jsou na lopatu.
Proto směřuju k Dartu, který jde mílovými kroky dopředu, jde zkompilovat do WebAssembly, takže to pustíš v browseru a přitom si zachová například typovou kontrolu (o čemž si TypeScript může nechat zdát - vypadne z něj javascript a tam co si ručně nenapíšeš to se nekontroluje), jde v tom psát mobilní apka (přes Flutter), kterou zkompiluješ pro Android i iOS a tak. A je to velmi podobné javascriptu, takže se to učí snadno.
Z lásky k ošklivému káčátku drdplus.info
Blog o podhoubí pro DrD+II, 1. 10. 2019

Uživatelský avatar
York
Příspěvky: 11648
Registrován: 24. 2. 2012, 17:31

Re: IT pro otrlé

Příspěvek od York » 6. 6. 2019, 10:38

kostrivec píše:
6. 6. 2019, 10:21
přitom si zachová například typovou kontrolu (o čemž si TypeScript může nechat zdát - vypadne z něj javascript a tam co si ručně nenapíšeš to se nekontroluje)
Typovou kontrolu v drtivé většině případů potřebuješ jen v compile time. Když ji náhodou potřebuješ v runtime, tak na to máš nástroje rovnou v javascriptu.

Abychom si rozuměli - typescript není ideální jazyk, stejně jako není ideální jazyk javascript. Nejsou dokonce ideální ani pro to, k čemu jsou určené. Pointa ale je, že world doesn't care. Je to stejný jako s DnDčkem - známý a rozšířený věci jsou málokdy nejlepší, ale taky jsou málokdy vyloženě špatný, protože lidi věnujou poměrně hodně úsilí tomu, aby to co nejvíc zpoužitelnili.

Udělat "ideální jazyk pro web" už zkoušela spousta firem, včetně třeba Googlu. Nic z toho se pořádně neujalo a javascript pořád válcuje všechny ostatní jazyky. Typescript je první významný posun v tomhle směru čistě proto, že autoři přijali tohle omezení za fakt a rozhodli se nejít proti němu. Řešení to opět není ideální, nese si s sebou některá omezení a špatné vlastnosti javascriptu, ale s drtivou většinou si dokáže poradit a ve výsledku je to už celkem použitelnej nástroj. A podobně jako v javascriptu se v něm celkem dobře píše.

Kompilace do web assembly je zásadní krok směrem k diverzitě, ale ve výsledku to na věci zas tak moc nezmění - pořád budeš mít zdaleka nejvíc knihoven a dalších nástrojů napsaných v javascriptu. Typescript je nejen dokáže použít, ale dokonce ti je umožňuje použít typovaně (protože vnitřnosti nehrajou roli, zajímá tě jen interface). Na tohle se fakt těžko hledá protiargument.

Uživatelský avatar
OnGe
malý zelený křečopažout
Příspěvky: 10381
Registrován: 5. 2. 2010, 09:27
Bydliště: Prdelná lhota (čti Praha)
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od OnGe » 6. 6. 2019, 10:43

York píše:
6. 6. 2019, 10:38
(protože vnitřnosti nehrajou roli, zajímá tě jen interface)
Což je případ z ideálního světa, kde se 99 % javascriptu, se kterým se kdy setkáš, jednoduše nenachází. Kdyby to tak bylo, nebylo by z čeho bláznit.
Nežít je jediná životní prohra

výběr z vlastní zahrádky:



:idea: RPG kuchyně: 2010 - 2013 - 2017
:?: Horní progressbar - to se budete divit... možná
:?: Dolní progressbar - dávám tomu rok... maximálně dva

Uživatelský avatar
York
Příspěvky: 11648
Registrován: 24. 2. 2012, 17:31

Re: IT pro otrlé

Příspěvek od York » 6. 6. 2019, 11:00

OnGe píše:
6. 6. 2019, 10:43
York píše:
6. 6. 2019, 10:38
(protože vnitřnosti nehrajou roli, zajímá tě jen interface)
Což je případ z ideálního světa, kde se 99 % javascriptu, se kterým se kdy setkáš, jednoduše nenachází. Kdyby to tak bylo, nebylo by z čeho bláznit.
Měl jsem tím na mysli, že tě nezajímá, jak to je (nebo není) uvnitř typované. Pokud to teda funguje, jak má.

Samozřejmě pokud se potřebuješ z nějakých důvodů vrtat ve vnitřnostech 3rd party knihoven, tak tě to zajímat bude.

Uživatelský avatar
kostrivec
Příspěvky: 277
Registrován: 9. 8. 2017, 17:09
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od kostrivec » 6. 6. 2019, 14:12

York píše:
6. 6. 2019, 10:38
Kompilace do web assembly je zásadní krok směrem k diverzitě, ale ve výsledku to na věci zas tak moc nezmění - pořád budeš mít zdaleka nejvíc knihoven a dalších nástrojů napsaných v javascriptu. Typescript je nejen dokáže použít, ale dokonce ti je umožňuje použít typovaně (protože vnitřnosti nehrajou roli, zajímá tě jen interface). Na tohle se fakt těžko hledá protiargument.
S tím souhlasím a je to velká síla javascriptového světa. A já jí s radostí oželím všude, kde to bude možné, pokud si přestanu rvát vlasty z toho co se mi to v tom javascriptu zase stalo (a počítám s tím, že k některým projektům si kvůli mým preferencím prostě nečuchnu, protože na ně bude javascript pořád nejlepší).
Z lásky k ošklivému káčátku drdplus.info
Blog o podhoubí pro DrD+II, 1. 10. 2019

Uživatelský avatar
York
Příspěvky: 11648
Registrován: 24. 2. 2012, 17:31

Re: IT pro otrlé

Příspěvek od York » 6. 6. 2019, 14:24

kostrivec píše:
6. 6. 2019, 14:12
A já jí s radostí oželím všude, kde to bude možné, pokud si přestanu rvát vlasty z toho co se mi to v tom javascriptu zase stalo
Tohle právě typescript celkem řeší.

Zbytek je většinou beztak o tom, jak ten jazyk používáš. Já třeba taky nadávám na javu, kudy chodím, ale ve skutečnosti bych měl nadávat spíš na javisty - kdyby psali v něčem jiném, nadával bych na to nejspíš úplně stejně.

Uživatelský avatar
kostrivec
Příspěvky: 277
Registrován: 9. 8. 2017, 17:09
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od kostrivec » 6. 6. 2019, 14:51

York píše:
6. 6. 2019, 14:24
Zbytek je většinou beztak o tom, jak kterej jazyk používáš. Já třeba taky nadávám na javu, kudy chodím, ale ve skutečnosti bych měl nadávat spíš na javisty - kdyby psali v něčem jiném, nadával bych na to nejspíš úplně stejně.
Asi tak. Ale hodně to dělá základ jazyka samotný - Dart od začátku dupe po kvalitní dokumetaci, lynter v základu, takže tu vynucuje určité dobré návyky od začátku. Ale samospásné to není :roll:
Z lásky k ošklivému káčátku drdplus.info
Blog o podhoubí pro DrD+II, 1. 10. 2019

Uživatelský avatar
Eleshar_Vermillion
černá eminence
Příspěvky: 14181
Registrován: 18. 6. 2003, 20:31
Bydliště: Praha

Re: IT pro otrlé

Příspěvek od Eleshar_Vermillion » 6. 6. 2019, 16:24

York píše:
6. 6. 2019, 10:38
Udělat "ideální jazyk pro web" už zkoušela spousta firem, včetně třeba Googlu. Nic z toho se pořádně neujalo a javascript pořád válcuje všechny ostatní jazyky.
Jen k tomuto - zjistil jsem, že Mrdkosoft plánuje používat javascript jako skriptovací jazyk v Office, takže bych očekával, že se komunita uživatelů JS v budoucnosti značně rozroste. O lidi, jako jsem já :>;o)
\\[T]// PRAISE THE SUN! \\[T]//

Uživatelský avatar
OnGe
malý zelený křečopažout
Příspěvky: 10381
Registrován: 5. 2. 2010, 09:27
Bydliště: Prdelná lhota (čti Praha)
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od OnGe » 6. 6. 2019, 17:33

Však už aby to bylo - abych se s tím nemusel srát já.
Nežít je jediná životní prohra

výběr z vlastní zahrádky:



:idea: RPG kuchyně: 2010 - 2013 - 2017
:?: Horní progressbar - to se budete divit... možná
:?: Dolní progressbar - dávám tomu rok... maximálně dva

Uživatelský avatar
Sosacek
Příspěvky: 21509
Registrován: 14. 7. 2004, 18:30

Re: IT pro otrlé

Příspěvek od Sosacek » 22. 6. 2019, 19:14

Vallun píše:
22. 6. 2019, 18:35
Sos - a dokážeš nějak pro laika, vysvětlitl jak uděláš architekturu a detailni design bez progamování? (nehádám se, fakt netuším, jak vlastně celý proces probíhá a mám asi laickou představu, že ieálně máš najký svůj základ, ten ukážeš klientovi, on Ti řekne co a jak změnit a ty to naprogramuješ, pak se to celé ještě třicetkrát zopakuje a snad to bude fungovat:)
Zkusim to.

Tradicni proces vypada nejak takhle:

1) Analyza pozadavku - cilem je zjistit, co se vlastne ma delat a proc. Zacnes od problemu ktery mas, a vystupem je detailni popis toho, co to ma umet.

Priklad: v internetovem bankovnictvi ma jit nove pozadat o hypoteku, protoze nekdo spocital, ze to zvysi prodeje o 8 %.

Vystupem analyzy bude velmi presne rict, co to znamena "pozadat o hypoteku", kdo o ni smi zadat, za jakych podminek, jak ma takova zadost vypadat, co se pak stane (prijde to nekomu do mailu? zapise se to do centralniho seznamu zadosti a hypo-oddeleni si to prebere?), pripadne nejaka dalsi omezeni (jak smi ta vec zachazet s osobnimi udaji, atd)


2) Architektura a design - cilem je navrhnout, jak se to ma chovat.

Priklad: kam se budou ukladat zadosti? Z analyzy vyplynulo, ze zadosti maji jit jen nekomu - kde najdeme jestli prave prihlaseny klient je splnuje? Jakym zpusobem budeme komunikovat se systemem, ktery to vi? Pokud maji hypoteky jit do centrlaniho seznamu, jak s nim budeme komunikovat?

Vystupem by melo byt vsechno pro to, abys mohl zacit programovat - od obrazku s krabickami, ktere ukazuji co s cim komunikuje (to je ta architektura), az po presny predpis jaka policka ma formular v zadosti.


3) Vyvoj - cilem je to vyrobit

Priklad: typci to nakodi.

4) Testovaci - cilem je overit, ze to dela co ma

Priklad: typci zadaji o hypoteky jak divi a zkusi, ze vsechno funguje. Nekdy jsou to interni typci (systemove testovani) nekdy je to fakt zakazni / uzivatel (akceptacni testovani). Kdyz neco nefunguje, tak se to nekomu hodi na hlavu. Taky je treba overit, ze vsechny veci co komunikuji s jinymi systemy komunikuji jak maji.

5) Nasazeni a provoz - cilem je dat to do provozu a drzet to pri zivote.

...

Jak vidis tak to dost pripomina jine inzenyrske discipliny. Jenom je tam problem, ze se muze stat, ze kdyz si nekdo neda pozor pri prvnich fazich, tak se treba omylem vyrabi neco co nikdo nechce, nebo dela neco jineho - zadavatel se neumel vyjadrit, neumel si to predstavit, nevedel, nekdo neco spatne pochopil, atd. A protoze vystupem prvnich fazi jsou jenom papiry, tak se muze stat, ze nekde sedi banda typku, stoji to miliony a po roce vlastne nic nemas.

Ted (= poslednich 20 let, treba) se dela novy styl, kteremu se rike Agile a je to podobnejsi tomu co rikas. Proces vypada porad podobne (1) zjistit kdo co chce 2) vymyslet jak to udelat 3) udelat to) ale melo by to probihat v mnohem kratsich cyklech, obvykle dvoutydennich.

To pak znamena, ze si musis ukusovat o dost mensi kusy (misto "pujde pozadat o hypoteku se vsim vsudy" treba "bude tam formular ale zatim nebude nic delat" a priste "bude se to zobrazovat jenom nekomu" a priste "bude to komunikovat do registru zadosti") ale delas casteji tu ukazku zadavateli.

Ma to svoje pro a proti - je mensi sance, ze skoncis s necim co nikdo nechtel, ale zas na to dost lidi nadava proto, ze podle jejich nazoru klesa kvalita, protoze nikdo nevidi cely obraz.

Predstav si, ze bys stavel dum, a misto abys ho nechal navrhnout a udelat. vkuse, tak
1. mesic postavis dum o jedne mistnosti i s podlahami a nabytkem (aby se to dalo ukazat),
2. mesic postavis zachod a koupelnu a privedes vodu,
3. mesic postavis mistnost pro kuchyn a zavedes tam vodu, a
4. mesic vybouras strechu v obyvaku a pridas krb s kominem.

To je blbost, zejo. Programy jsou mnohem tvarnejsi nez domy, takze to neni takova kravina - ale porad to trochu boli a je potreba mit big picture.

Mezi zakazniky ruznych IT dodavatel (at uz internich nebo externich) se ale agilni pristup libi cim dal tim vic, protoze je mensi sance, ze je nekdo okrade a ukaze se, ze po pul roce drahe srandy vlastne nic neni hotovo.
And, for an instant, she stared directly into those soft blue eyes and knew, with an instinctive mammalian certainty, that the exceedingly rich were no longer even remotely human.
-- William Gibson, Neuromancer, 1984

Uživatelský avatar
York
Příspěvky: 11648
Registrován: 24. 2. 2012, 17:31

Re: IT pro otrlé

Příspěvek od York » 22. 6. 2019, 19:37

Já teda znám trochu jiný příběhy, ale téma na horory je jinde...

Uživatelský avatar
Vallun
Příspěvky: 25877
Registrován: 14. 5. 2008, 09:40
Bydliště: Velká Praha
Kontaktovat uživatele:

Re: IT pro otrlé

Příspěvek od Vallun » 22. 6. 2019, 20:00

Jo, analýza problému...už jsem asi zmiňoval scénku z doby vytváření naší spisové služby....přišla ženská středního věku s velkými brýlemi a baťůžkem k mému vedoucímu do kanceláře s tím, že chce vidět nějaký spis. Měla štěstí, jeden tam zrovna byl - 4 klasické krabice a trubka s mapami na vozíku. Šéf na to ukázal....ona prohlásila: "size mne děláte srandu, žejo?" a odešla...

Problém třeba je, že my tušíme, co chceme, ale nevíme, jak je který kork složitý, tedy drahý...Třeba vím, že dneska by nebyl problém nahradit větší část podatelny počítačem - když příchozí pošta obsahuje text "Vaše čj. XXXX", tak to navrhnout k přidělení odboru, který dané čj vytvořil (identifikátor je součástí čj.
Když podání přichází od soudu (v odesilateli je název "soud") přidělí se rovnou na právní odbor...

Stejně tak, když vzniknou dva spisy určitého typu (soudní spisy) se stejnou značkou soudu, tak je to navrhne sloučit...
Pokud chce někdo slyšet jen "ano" nebo "ne", tak jej nezajímá odpověď.
Eru je jediný Bůh a Tolkien je jeho prorok.
Non sub hominem,sed sub ius.
Pravda a láska zvítězí nad lží a nenávistí.
Nejsem odborník ve smyslu § 5 odst. 1 O.Z.

Odpovědět

Zpět na „Realita a pseudorealita“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host