Fórum Root.cz

Práce => Studium a uplatnění => Téma založeno: B-com 24. 02. 2017, 21:34:05

Název: PHP nebo JavaScript
Přispěvatel: B-com 24. 02. 2017, 21:34:05
Dobrý den chtel bych zacit s jednim ztechto jazyku ale nevim s jakym mam zakladni znalosti Java a OOP, chtel bych se jednim z techto jazyků živit jak vy rikate "lopata". Zatim se učím na w3school.com

Předem děkuji za odpovědi
Název: Re:PHP nebo JavaScript
Přispěvatel: Trupik 24. 02. 2017, 21:47:42
Podľa mňa, PHP je všestrannejšie a ľahšie sa debuguje. Na druhej strane, s trochou Javascriptu dokážeš rýchlo spraviť niečo čo sa hýbe, bliká, svieti. Na neprogramátorov s tým urobíš dojem presvedčivejšie a s menšou námahou než sebelepší PHP guru.
Název: Re:PHP nebo JavaScript
Přispěvatel: tnr 24. 02. 2017, 21:51:28
Podľa mňa, PHP je všestrannejšie a ľahšie sa debuguje. Na druhej strane, s trochou Javascriptu dokážeš rýchlo spraviť niečo čo sa hýbe, bliká, svieti. Na neprogramátorov s tým urobíš dojem presvedčivejšie a s menšou námahou než sebelepší PHP guru.

To jsi zaspal dobu, tak minimalne 5-10 let. JS davno neni jazyk pro programovani pouze efektu na webovych strankach. NodeJS je vyborny server side nastroj.
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 24. 02. 2017, 22:00:55
Od Javy je mnohem blíž k PHP než k Javascriptu. PHP7 je už skutečně moderním multiparadigmatickým jazykem. Ovšem na některé typy úloh je Javascript (resp. NodeJS) může hodit lépe. Při volbě záleží na mnoha okolnostech.
Název: Re:PHP nebo JavaScript
Přispěvatel: O 24. 02. 2017, 22:37:54
Na PHP nedam dopustit - pracuji v nem x let, mam jej rad a predevsim me zivi. Kazdopadne posledni rok a pul vic a vic experimentuji s Javascriptem a neskutecne me to bavi (momentalne napr. angular2).

Odpoved na tvoji otazku - k jave ma rozhodne bliz PHP i kdyz zmineny angular2 prostrednictvim typescript zacina OOP pripominat.

Vysoka poptavka je po PHP i JS developrech. Bohuzel firmy casto poptavaji javascriptare zaroven jako kodery (pokud jde o frontend) coz je ne pro kazdeho stravitelne.
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomáš Roll 24. 02. 2017, 23:02:35
Jestli chceš být celý život chudý, dej se na PHP.
Název: Re:PHP nebo JavaScript
Přispěvatel: Ina 25. 02. 2017, 00:06:38
PHP bude brzo mrtvý jazyk, ale Čecháčci to prostě nejsou schopni pochopit a budou furt bastlit v tom svém Nette.
Název: Re:PHP nebo JavaScript
Přispěvatel: Asz 25. 02. 2017, 00:21:12
Javascript je narozdíl od PHP všestranější, ale je asynchronní a nemá typehinty. Osobně na backend určitě PHP.
PHP bude brzo mrtvý jazyk, ale Čecháčci to prostě nejsou schopni pochopit a budou furt bastlit v tom svém Nette.
Jakej jazyk podle tebe bude dominantní?
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomas2 25. 02. 2017, 00:43:58
začni s php, je přímočařejší, IDE vyspělá a komunita poměrně jednotná. JS je ze zkušenosti pro hodně lidí těžko pochopitelný s jeho single thread asynchronní povahou, IDE špatně napovídají, na začátečníka tam čeká spousta pastí a debugování je peklo i pro otrlé řemeslínky.

Do budoucna ale samozřejmě omrkni více jazyků a získej zkušenosti, začni ale s něčím, co budeš chápat.
Název: Re:PHP nebo JavaScript
Přispěvatel: B-com 25. 02. 2017, 00:54:18
Dekuji mockrat za odvovedi urcite se podivam na to PHP. A pokud muzu tak zajímaví jazyk který ktery me naucil základy java tak je processing

Ale jinak mnohokrát dekuji
Název: Re:PHP nebo JavaScript
Přispěvatel: Boo 25. 02. 2017, 07:14:39
PHP je mrtvej, ja jej opustil pred 5 lety a nemel jsem jediny duvod litovat ci ohlizet se zpatky. Ted frcim prave na JS a pouzivame jej na frontendu i backendu. Vyhodou je hlavne jednotny kod, ty same knihovny jak na serveru tak i browseru, komfort automatizace, hafo nastroju a hlavne vykon.
Navic JS je jazyk jednodussi i kdyz vice esotericky nez php :)
Název: Re:PHP nebo JavaScript
Přispěvatel: noef 25. 02. 2017, 07:54:05
Pokud chcete typovou kontrolu v JS, tak muzete psat v TypeScriptu (nadstavba na JavaScriptem, neni to uplne jiny jazyk).

začni s php, je přímočařejší, IDE vyspělá a komunita poměrně jednotná. JS je ze zkušenosti pro hodně lidí těžko pochopitelný s jeho single thread asynchronní povahou, IDE špatně napovídají, na začátečníka tam čeká spousta pastí a debugování je peklo i pro otrlé řemeslínky.

Kdyz jsem posledne zkousel IDE pro PHP, tak to nebyla zadna slava. Napovidani v TypeScriptu me prijde dobre, pokud nekdo pouziva holy JS, tak ano, tam je to horsi. Pak si ale spatne zvolil jazyk a nemuze si stezovat na horsi podporu v IDE ;).

Jinak muj nazor: ani jeden jazyk neni moc velka vyhra. JS me prijde o neco lepsi, ale to jen proto, ze PHP ma tolik skolackych chyb, ze by jeden brecel. Staci se podivat na /r/lolphp (https://www.reddit.com/r/lolphp/top/) (pro line: tak treba std knihovna je neuveritelny border - nejednotne pozice parametru, nejedny zpusob navraceni vysledku dokonce i v ramci stejnych modulu, nejedne pojmenovavani funkci, funkce, ktere se magicky chovaji [napr. kdyz nezadate parametr, tak vysledek zapisou do globalnich promennych :o], polamany podmineny operator [tady nekteri tvrdi ze je to feature ;D]).
Název: Re:PHP nebo JavaScript
Přispěvatel: to_je_jedno 25. 02. 2017, 08:33:53
Kdyz jsem posledne zkousel IDE pro PHP, tak to nebyla zadna slava.
bud konkretni, takhle jen mlatis prazdnou slamu.
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomáš Roll 25. 02. 2017, 10:01:42
Když ti  Javascript přijde šílený, zpříčetníš ho Typescriptem.
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 25. 02. 2017, 10:38:18
Kdyz jsem posledne zkousel IDE pro PHP, tak to nebyla zadna slava.

Nevím, jak to funguje v IDE, ale ve Vimu mi jde práce s PHP docela dobře od ruky.
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomáš Roll 25. 02. 2017, 11:12:44
Jakej jazyk podle tebe bude dominantní?

Čínština.
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 25. 02. 2017, 11:24:44
JS,... PHP je prostě jen na backend, nic vic.

JS už není dávno jen na animace, na to je dneska CSS. JS se používá na tvorbu aplikací, dynamických prezentací, na backend, na mobilní aplikace, na query do db ...

Web, to už je aplikační platforma, zvláště s příchodem offline cache.

Web už není jenom statická vývěska renderovaná na serveru :D

Skuste to po těch letech už pochopit.
Název: Re:PHP nebo JavaScript
Přispěvatel: Youda 25. 02. 2017, 11:52:12
PHP je bastl, ktery prezil dodnes jenom proto, ze byl prvni.
Kdyz se PHP zacal pouzivat, jeho konkurenci byly perlove CGI skripty a tehdy melo PHP smysl, dneska uz je mimo.

Osobne doporucuju kombinaci Java + Javascript.
Pro aplikaci s web xischtem, kde ti postaci existujici set widgetu, ktere nemuzes jednoduse sam rozsirovat, doporucuju Spring Boot backend + Primefaces AJAX - dela se v tom velice jednoduse. Mrkni na dema na primefaces.org
Pokud potrebujes mit na strane xichtu vetsi volnost (monost udelat si cokoliv podle sebe) pak na Spring Boot backend posad Angular - Spring bude postytovat data pres JSON/REST a Angulat to zobrazovat.

Alternativne muzes i na server strcit Node.JS, ale tady bych byl oprtrny. V te platforme je otresny bordel,mkazdy kdo ma do zadele diru ma nutkani prekopavat (neexistujici) standardy, z pohledu udrzovatelnosti to muze byt potiz. Spring Boot business logika s RET API rozhranim bude plne funkcni i za 10 let. Navic v pripade Java backendu mas pristup k rozsahlemu ekosystemu na Maven central, napr Apache Camel, Apache CXF, ActiveMQ a hromadu dalsiho.
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 25. 02. 2017, 12:57:25
PHP je bastl, ktery prezil dodnes jenom proto, ze byl prvni.
Kdyz se PHP zacal pouzivat, jeho konkurenci byly perlove CGI skripty a tehdy melo PHP smysl, dneska uz je mimo.

Osobne doporucuju kombinaci Java + Javascript.
Pro aplikaci s web xischtem, kde ti postaci existujici set widgetu, ktere nemuzes jednoduse sam rozsirovat, doporucuju Spring Boot backend + Primefaces AJAX - dela se v tom velice jednoduse. Mrkni na dema na primefaces.org
Pokud potrebujes mit na strane xichtu vetsi volnost (monost udelat si cokoliv podle sebe) pak na Spring Boot backend posad Angular - Spring bude postytovat data pres JSON/REST a Angulat to zobrazovat.

Alternativne muzes i na server strcit Node.JS, ale tady bych byl oprtrny. V te platforme je otresny bordel,mkazdy kdo ma do zadele diru ma nutkani prekopavat (neexistujici) standardy, z pohledu udrzovatelnosti to muze byt potiz. Spring Boot business logika s RET API rozhranim bude plne funkcni i za 10 let. Navic v pripade Java backendu mas pristup k rozsahlemu ekosystemu na Maven central, napr Apache Camel, Apache CXF, ActiveMQ a hromadu dalsiho.
JS svět je bohužel v chaosu, protože, budu upřímný, standard na to co se po JS dnes chce nebyl připraven a tak ho začali suplovat vývojáři.
A logicky, každý začal protlačovat svoji filozofii.

Třeba formáty modulů, ... existuje AMD,UMD,IIFE,ES, CommonJS ... a možná ještě další

Ale nutně to není špatně. Ta platforma je živá a divoce se vyvýjející, todle je důkaz.

Za pár let se proměna JS z animačního paskvilu do plně aplikačího jazyka dokončí a ten chaos zkončí. A jen tak mimochodem z toho věku chaosu zbyde pár uníkátních technologií které by v konzervativnějším prostředí nikdy nevznikly.

Takže za mě, stojí to za to, člověk aspoň v JS světě nezlenivý protože všechno je zběsile rychlé.
A taky celkem vzrušující, kdo vý co se vyloupne za 3 mesíce žejo ? :)
Název: Re:PHP nebo JavaScript
Přispěvatel: pelerin 26. 02. 2017, 03:38:30
PHP neodporucam a uz vôbec nie ako prvy jazyk. Programátori, ktori zacinali na PHP ziskaju zle navyky, ktorých sa potom tazko zbavuje. Je to rovnake ako ked dievca v 18tich nabucha kamarat, ale ked mu oznami ze je tehotna tak sa na nu chlapec vysere. narodi sa jej dieta a musi ho zivit. je zufala a nema peniaze, kamarat je uz v base, rodicia ju vyhodili z domu, u kamaratky uz dlhsie nemoze prespávat, hlada si byt ale nema peniaze, tak zacne robit kurvu... najprv len z casu na cas... ale po case sa jej to zapaci, zacina si to viac a viac uzivat.

Sex bez zbytocmych reci a peniaze za nic... sice nic v zivote nedokazala  ale zvykne si... nemusi rano vstavat do prace, ma na kazdy prst 10 napadnikov ktorých rad radom namotava a vyuziva... Kloktanie, prehltanie cim vcsia zvrhlost tym viac sa jej to paci. PHPckari su tiez take programatorske kurvy lenze na rozdiel od skutocnych kuriev robia za 5korun.
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 26. 02. 2017, 08:13:53
PHP je bastl, ktery prezil dodnes jenom proto, ze byl prvni.
Kdyz se PHP zacal pouzivat, jeho konkurenci byly perlove CGI skripty a tehdy melo PHP smysl, dneska uz je mimo.

Dnešní PHP sice stále obsahuje mnoho funkcí z původního bastlu, ale nové konstrukce z něj udělaly moderní objektový jazyk. V podstatě všechny výtky patří verzím PHP < 5.1, které dnes už skoro nikdo nepoužívá.

Ano, PHP bylo prvním obecně použitelným jazykem na webhostingu a v mnoha případech dnes na webhostingu zůstává jediným dostupným jazykem. Až někdo přijde s něčím lepším, jistě se o tom dozvíme.
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomas2 26. 02. 2017, 08:31:47
půjdu proti proudu ostatních diskutérů, php je pro začátky dobrý jazyk (nikoliv nejlepší). Nepotřebuješ žádné složité technologie pro jeho začátky, stačí ti netbeans nebo phpstorm, frameworků je několik, ale všechny jdou stejným směrem a opisují od sebe. Jazyk je sám o sobě stabilní a tím, že tvoje aplikace běží vždy jen pár ms, nepotřebuješ dělat složité optimalizace a můžeš se věnovat algoritmům a vývoji. Řada návodů i celá komunita je uzpůsobena začátečníkům a docela je tolerují.

PHP z tebe ale nikdy neudělá dobrého programátora, na to potřebuješ znalost nižší vrstvy, ideálně z C nebo ASM, znalost objektového paradigmatu (Java, .NET, Objective-C) a tak dále.

Na php jsou hostingy, nahraješ a jedeš, dobře se vyvýjí na lokále. Někteří doporučují JS, v tom bych byl opatrný, dělal jsem v projektech o 100+ JS vývojářích a těch problémů bylo hodně, vůbec těm lidem vysvětlit jak JS funguje, co mohou dělat a co už ne, jak řešit memory leaky, jak debugovat kód. JS se vnitřním fungováním nepodobá žádnému jinému velkému jazyku a má řadu svých specifik, hromada zvyklostí a návrhových vzorů je pouze pro JS a pokud JS není pro tebe jQuery, ale programovací jazyk, je to svět sám pro sebe. Nemluvě o extrémní rozdrobenosti komunity a technologií.
Název: Re:PHP nebo JavaScript
Přispěvatel: noef 26. 02. 2017, 10:05:10
Kdyz jsem posledne zkousel IDE pro PHP, tak to nebyla zadna slava.
bud konkretni, takhle jen mlatis prazdnou slamu.

Myslim, ze slo o IDEA (takze WebStorm). Ale jsem si jisty, ze zadne type hinty jsem nepouzival, takze mozna s nimi to naseptaveni bude na podobne urovni jako s TypeScriptem.



Toto tema je takove dost divoke. OP totiz neuvedl (nebo jsem si toho nevsiml), zda se chce zamerit na front-end (tam asi php neuzije), back-end nebo fullstack.

V pripade front-endu v (novem) JavaScriptu ci TypeScriptu to vidim celkem pozitivne. Ten jazyk zacina byt dost zraly a napr. v kombinaci s tim Angularem se to zacina velmi napadne podobat Jave (vsude objekty, dedicnost, interfacy, DI, kontrola typu pri kompilaci). Ta roztristenost zacina IMO ubyvat - napr. moduly tusim, ze jsou jiz v aktualnim standardu.

Pokud by slo o back-end a na vyber byly pouze PHP a JavaScript, tak prestoze me obe technologie neprijdou na BE vhodne, tak bych se asi stale priklanel vice k JavaScriptu (pripadne TypeScriptu). Ale v pripade BE se radeji opravdu podivat spise na Javu (pripadne jine jazyky nad JVM) nebo (pokud mate v lasce M$) C#. Osobne vnimam .NET platformu jako velmi omezenou, vetsinu diktuje MS, takze na co MS nemyslel, to nebudete mit (v Jave mate alternativy snad na vse). Podobnou zkusenost mam i s .NET programatory - velmi omezeni, casto pouze znaji jeden nebo dva mainstream jazyky a mivaji neprijmne casto velke mezery ve vseobecnem IT rozhledu. To je IMO zpusobene samotnym navrhem C#, kde se za kazdou cenu snazi MS zjednodusit vstup - napr. LINQ, ktery pouziva terminy z SQL na kolekce (to se libi PHPistum). Pak tu jen vidim na foru, jak nekolik C# programatoru ani netusi, co je map nebo reduce operace (nechapu, jak mohli dostudovat VS).

K JS full-stacku jsem skepticky a nedoporucil bych ho vubec. Budto ruzne jazyky (ne moc vhodne pro zacatecnika), nebo vzit neco, co se osvedcilo na jedne strane a k tomu pouzit neco mene znameho na strane druhe - napr. Scala na BE a ScalaJS na FE (tady je zase problem s rozsirenim, nabidky prace budou velmi omezene). Zatim mne full-stack vyvoj prijde spise jako utopie - budto je to hrozne neohebne (Java a dalsi BE jazyky snazici se back-endisty odstinit od JS mnoha vrstvami abstrakce) nebo hrozne rychle se menici (JS svet). FE se vetsinou tak dlouho neudrzuje, BE tu ale casto byva i destiky let, na to je IMO JS nevhodny.
Název: Re:PHP nebo JavaScript
Přispěvatel: Thommas 26. 02. 2017, 11:25:00
No já bych řekl že JS je nutnost + nějaký .NET/Java.. Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem. Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

Název: Re:PHP nebo JavaScript
Přispěvatel: noef 26. 02. 2017, 11:34:54
Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem.

.NET vyvojar a chteli Node? To maji back-endy v .NETu i v Node? :o To ses asi hlasil na full-stack, ne? Jinak prece normalni firmy nemuzou chtit znalost Angularu a TypeScriptu na pozici .NET vyvojar...

Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

No, dost firem by rado cloveka, co zvlada praci dvou a vice lidi, tak to IMO zkousi, jestli se nekdo neulovi. Casto ale na takove machry nemaji penize a pak jen placou u novinaru, jak je tu hrozny nedostatek kvalifikovanych uchazecu.
Název: Re:PHP nebo JavaScript
Přispěvatel: Thommas 26. 02. 2017, 13:52:35
No ne byl to senior .NET vyvojar. A podle toho co jsem pochopil tak jejich SW je splacanej z tohoto vseho v jednom balicku. Popos pozice byl .NET s znalosti nHibernate. Tak jsem jasne na pohovoru vyhorel protoze otazky na Node.js a Angulas.js jsem nedaval protoze jsem hlavne backend vyvojar. PS: byl to velky softwarehouse. Zadna mala firma ve ktere pracuji ted.
Název: Re:PHP nebo JavaScript
Přispěvatel: Thommas 26. 02. 2017, 13:59:26
Abych dopnil jednalo se o takoveto pozadavky bral jsem ze Angular je vyhodou...

zkušenost  s  vývojem  v  C# -  zkušenost  s  vývojem  ASP.NET  MVC  a Angular  výhodou-  zkušenosti  s  vývojem  nad  DB  Oracle  /  MS  SQL-  zkušenosti  s  integrací  aplikací  (zejména  s  vyuitím  SOAP)-  zkušenosti  s  implementací  ESB  výhodou-  schopnost  číst  UML  diagramy  (například  v  Enterprise  Architect)-  analytické  myšlení
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 26. 02. 2017, 14:20:22
No já bych řekl že JS je nutnost + nějaký .NET/Java.. Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem. Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

Je lepší být vynikajícím v jednom oboru, než průměrným v mnoha. Je však lepší být tím druhým, když už nemohu být tím prvním.

Podle popisu vstupního pohovoru je asi pro tebe lepší, když ta firma bude hledat dál...
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 26. 02. 2017, 15:25:31
Abych dopnil jednalo se o takoveto pozadavky bral jsem ze Angular je vyhodou...

zkušenost  s  vývojem  v  C# -  zkušenost  s  vývojem  ASP.NET  MVC  a Angular  výhodou-  zkušenosti  s  vývojem  nad  DB  Oracle  /  MS  SQL-  zkušenosti  s  integrací  aplikací  (zejména  s  vyuitím  SOAP)-  zkušenosti  s  implementací  ESB  výhodou-  schopnost  číst  UML  diagramy  (například  v  Enterprise  Architect)-  analytické  myšlení
to je nemoc dneška, firmy chtěj úplně všechno, ale pak zjistíš že vlastně v realitě chtěj jenom jednu věc a ty ostatní jsou tam jenom aby to nebylo tak prázdný.
Třeba u tebe chtěly někoho na angular a node, ten C#, různý DB a tak tam měli jen aby to nebylo tak prázdný a mohly ti dát měnší plat když by tě přijali protože přece toho tolik neznáš ...
Název: Re:PHP nebo JavaScript
Přispěvatel: Uchazeč 26. 02. 2017, 15:31:48
No já bych řekl že JS je nutnost + nějaký .NET/Java.. Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem. Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

Před pár týdny jsem si hledal práci jako (senior) Java backend vývojář a JS skutečně nutnost není. Na některých pohovorech se na JS zeptali, na to jsem jim řekl, že jsem dřív psával něco v jQuery, ale že chci dělat backend a všude se tvářili, že je to v pořádku a nakonec jsem dostal několik pracovních nabídek.
Název: Re:PHP nebo JavaScript
Přispěvatel: javaman () 26. 02. 2017, 15:37:15
No já bych řekl že JS je nutnost + nějaký .NET/Java.. Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem. Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

Před pár týdny jsem si hledal práci jako (senior) Java backend vývojář a JS skutečně nutnost není. Na některých pohovorech se na JS zeptali, na to jsem jim řekl, že jsem dřív psával něco v jQuery, ale že chci dělat backend a všude se tvářili, že je to v pořádku a nakonec jsem dostal několik pracovních nabídek.

Přesně tak, ale jsou firmy, kde to zkouší. Protože když už je tam tolik JS, tak aby tomu člověk rozuměl. Tak pak to zkouší, jestli by se to chtěl člověk třeba naučit. Když řekneš jasně ne, tak kolikrát z toho nejsou nadšení. Si totiž myslí, že jsi blbec, který se bude učit všechno, co zrovna potřebují.
Název: Re:PHP nebo JavaScript
Přispěvatel: javaman () 26. 02. 2017, 15:38:38
No já bych řekl že JS je nutnost + nějaký .NET/Java.. Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem. Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

Je lepší být vynikajícím v jednom oboru, než průměrným v mnoha. Je však lepší být tím druhým, když už nemohu být tím prvním.

Podle popisu vstupního pohovoru je asi pro tebe lepší, když ta firma bude hledat dál...

Konečně něco kvalitního od tebe. Je to přesně tak. Proto máš dnes tolik "flexibilních" lidí. Uměj všechno špatně, ale to nikdo na pohovoru nezkoumá.
Název: Re:PHP nebo JavaScript
Přispěvatel: Thommas 26. 02. 2017, 15:50:01
No já bych řekl že JS je nutnost + nějaký .NET/Java.. Vycházím z nedávného pohovoru kde mě pozvali na .NET vývojáře a nestačil jsem se divit. Chtěli Node.js, Angular.js, Oracle, jQuery, TypeScript, html, css na velmi pokročilé úrovni a .NET jen tak mimochodem. Takže mi připadá že dneska je moderní umět všechno nějak a ne nic pořádně. Z toho mi vychází, že buď být hodně dobrej v jednom jazyku a nebo umět všechno tak trochu. Otázka co je lepší.

Před pár týdny jsem si hledal práci jako (senior) Java backend vývojář a JS skutečně nutnost není. Na některých pohovorech se na JS zeptali, na to jsem jim řekl, že jsem dřív psával něco v jQuery, ale že chci dělat backend a všude se tvářili, že je to v pořádku a nakonec jsem dostal několik pracovních nabídek.

Přesně tak, ale jsou firmy, kde to zkouší. Protože když už je tam tolik JS, tak aby tomu člověk rozuměl. Tak pak to zkouší, jestli by se to chtěl člověk třeba naučit. Když řekneš jasně ne, tak kolikrát z toho nejsou nadšení. Si totiž myslí, že jsi blbec, který se bude učit všechno, co zrovna potřebují.

Přesně tak. Já se zaměřuji na backend, ale umím i trochu frontend přijde mi to tak lepší, ale v momentě kdy jde něco kompletně mimo můj záběr/směřovaní tak se to odmítám učit. Nemusím umět všechno. Hlavně co se týče nějaký JS frameworků ty jsou mi dost často buřt. Ve většině věcí je to práce pro frontendistu.
Název: Re:PHP nebo JavaScript
Přispěvatel: JSrulez 27. 02. 2017, 11:57:44
Kód: [Vybrat]
$ php -r "echo(1/0);"
Warning: Division by zero in Command line code on line 1
$ node -e "console.log(1/0)"
Infinity

jak je videt moznosti PHP jsou omezene, kdezto u JS nekonecne :-)
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 27. 02. 2017, 13:49:37
K původní otázce:
O PHP toho moc neřeknu, hledal jsem jazyk na backend a když jsem zjistil, že v tom (stavový) aplikační server nepůjde, už jsem to neřešil.
Testoval jsem Node.js - nápad to není špatný - je to rychlé, jazyk relativně jednoduchý a schopný, prostředí snadno nasaditelné (bez sraní typu Ruby), v případě práce na frontendu ten samý jazyk, ale: Asynchronní zpracování v případech, kdy to není třeba (tj. většinou), je práce a bordel navíc, částečně to ojebává poslední Ecmascript (async-await), ale je v tom nějaký zádrhel, dá se to ojebat pomocí Promise nebo generátory, ale zase je to škrabání na pr_deli přes krk, pak existují i knihovny, ale otázkou je výkon. Není to ono. Co se týká ladění, v REPLu to není na velké věci, IntelliJ to prý umí (placené), nějak to jde přes Developers Tools v Chromiu, pak v prostředí Eclipse (i když 100% to taky není). Samotný Javascript je původně jednoduchý, ale už z něj taky začíná vznikat spleskaný bastard (pseudotřídy, mraky nové, zbytečné syntaxe, ...). Vzhledem k tomu, že nejde zároveň používat zapouzdření a prototypování, je problém s ním modelovat, to už je v tom lepší hybridní Java. Na malé kokotinky Node dobré, ale osobně bych v tom nic velkého nedělal.
Takže bída.
Název: Re:PHP nebo JavaScript
Přispěvatel: noef 27. 02. 2017, 14:34:37
Samotný Javascript je původně jednoduchý, ale už z něj taky začíná vznikat spleskaný bastard (pseudotřídy, mraky nové, zbytečné syntaxe, ...).

Nekterym (treba me) se ta nova syntaxe libi. Priklady te "zbytecne syntaxe"? Tridy, splat, destructioning, fat arrow - to vse me prijde hodne uzitecne.

Na malé kokotinky Node dobré, ale osobně bych v tom nic velkého nedělal.

IMO i stredni veci v tom jdou, ale souhlas, na velke to neni.

Vzhledem k tomu, že nejde zároveň používat zapouzdření a prototypování, je problém s ním modelovat, to už je v tom lepší hybridní Java.

Co TypeScript? Aktualne co pisu v Angularu 2 s prototypy (primo) nikdy nedelam a nevadi me to. Zapouzdreni je IMO hezke pres modifikatory pristupu (nesmite byt prase a sahat na private/protected, pokud k tomu nemate mit pristup, ale to ostatne jde i v Jave).
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 27. 02. 2017, 19:46:08
K původní otázce:
O PHP toho moc neřeknu, hledal jsem jazyk na backend a když jsem zjistil, že v tom (stavový) aplikační server nepůjde, už jsem to neřešil.
Testoval jsem Node.js - nápad to není špatný - je to rychlé, jazyk relativně jednoduchý a schopný, prostředí snadno nasaditelné (bez sraní typu Ruby), v případě práce na frontendu ten samý jazyk, ale: Asynchronní zpracování v případech, kdy to není třeba (tj. většinou), je práce a bordel navíc, částečně to ojebává poslední Ecmascript (async-await), ale je v tom nějaký zádrhel, dá se to ojebat pomocí Promise nebo generátory, ale zase je to škrabání na pr_deli přes krk, pak existují i knihovny, ale otázkou je výkon. Není to ono. Co se týká ladění, v REPLu to není na velké věci, IntelliJ to prý umí (placené), nějak to jde přes Developers Tools v Chromiu, pak v prostředí Eclipse (i když 100% to taky není). Samotný Javascript je původně jednoduchý, ale už z něj taky začíná vznikat spleskaný bastard (pseudotřídy, mraky nové, zbytečné syntaxe, ...). Vzhledem k tomu, že nejde zároveň používat zapouzdření a prototypování, je problém s ním modelovat, to už je v tom lepší hybridní Java. Na malé kokotinky Node dobré, ale osobně bych v tom nic velkého nedělal.
Takže bída.
1) jo, spleskaný bastard už z JS pomalu je, ale co naděláš, to čeká každý jazyk
2) promises ? async await se hodí jen na něco, ne to cpát všude plus když máš kvalitní objektový návrh, promises ani z velké části nepotřebuješ
3) prototypovej system JS je neskutečnej paskvil, autor se snažil udělat hybrida mezi classbased systemem a skutečnym prototype systemem...nepovedlo se mu to a je to hnus. Jako řešení máš svobodu si udělat vlastní objektový systém. To kupříkladu, v jiném dnšním mainstream jazyce neuděláš.

kdysi to šlo s lispem
Název: Re:PHP nebo JavaScript
Přispěvatel: Asz 27. 02. 2017, 20:07:52
Samotný Javascript je původně jednoduchý, ale už z něj taky začíná vznikat spleskaný bastard (pseudotřídy, mraky nové, zbytečné syntaxe, ...).

Nekterym (treba me) se ta nova syntaxe libi. Priklady te "zbytecne syntaxe"? Tridy, splat, destructioning, fat arrow - to vse me prijde hodne uzitecne.

Na malé kokotinky Node dobré, ale osobně bych v tom nic velkého nedělal.

IMO i stredni veci v tom jdou, ale souhlas, na velke to neni.

Vzhledem k tomu, že nejde zároveň používat zapouzdření a prototypování, je problém s ním modelovat, to už je v tom lepší hybridní Java.

Co TypeScript? Aktualne co pisu v Angularu 2 s prototypy (primo) nikdy nedelam a nevadi me to. Zapouzdreni je IMO hezke pres modifikatory pristupu (nesmite byt prase a sahat na private/protected, pokud k tomu nemate mit pristup, ale to ostatne jde i v Jave).

Když v Node.JS děláš, jak moc rozdílný programování to je oproti ostatnim jazykum vzhledem k tomu, že operace v JS jsou neblokující?
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 27. 02. 2017, 20:17:08
K původní otázce:
O PHP toho moc neřeknu, hledal jsem jazyk na backend a když jsem zjistil, že v tom (stavový) aplikační server nepůjde, už jsem to neřešil.

V PHP standardně dělám stavové aplikační servery. Zřejmě jsi zatím nepřišel na to, jak se to dělá.
Název: Re:PHP nebo JavaScript
Přispěvatel: zboj 27. 02. 2017, 20:42:52
Samotný Javascript je původně jednoduchý, ale už z něj taky začíná vznikat spleskaný bastard (pseudotřídy, mraky nové, zbytečné syntaxe, ...).

Nekterym (treba me) se ta nova syntaxe libi. Priklady te "zbytecne syntaxe"? Tridy, splat, destructioning, fat arrow - to vse me prijde hodne uzitecne.

Na malé kokotinky Node dobré, ale osobně bych v tom nic velkého nedělal.

IMO i stredni veci v tom jdou, ale souhlas, na velke to neni.

Vzhledem k tomu, že nejde zároveň používat zapouzdření a prototypování, je problém s ním modelovat, to už je v tom lepší hybridní Java.

Co TypeScript? Aktualne co pisu v Angularu 2 s prototypy (primo) nikdy nedelam a nevadi me to. Zapouzdreni je IMO hezke pres modifikatory pristupu (nesmite byt prase a sahat na private/protected, pokud k tomu nemate mit pristup, ale to ostatne jde i v Jave).

Když v Node.JS děláš, jak moc rozdílný programování to je oproti ostatnim jazykum vzhledem k tomu, že operace v JS jsou neblokující?
Říká se tomu callback hell, což snad mluví za vše.
Název: Re:PHP nebo JavaScript
Přispěvatel: noef 28. 02. 2017, 07:20:01
...
Když v Node.JS děláš, jak moc rozdílný programování to je oproti ostatnim jazykum vzhledem k tomu, že operace v JS jsou neblokující?

K Node jsem jen pricuchl pri hrani si se svymi projektiky, v praci delam na front-endu. Co vim, tak u nekterych fci existuji i blokujici varianty (readFileSync). (odpovim nize)

...
Říká se tomu callback hell, což snad mluví za vše.

Opravdu? Jsem od vas cekal trochu vice.

I ve starem JS byly zpusoby, jak to ukocirovat (nezanorovat fce a udrzovat to ploche => vyhnuti se pyramid of doom). Aktualne co vim (v Node nedelam, takze je mozna jeste vice pristupu) tu mame promise, generator, async nebo "slozitejsi" abstrakce jako observable, ktera se pouziva treba v Angular 2 a IMO je dost silna a zaroven elegantni. Osobne se mi dost libi cesta, kterou se JS ubira - nejdriv to byl zmatek na lepeni toho, co HTML/CSS neumelo a nyni tu mame koncepty/syntaxi z OOP (cukr pro tridy, pripadne TypeScript) i FP v mnohem vetsi mire (odklon od mutable vseho k immutable stavu SPA aplikace - napr. redux a ngrx/store, knihovny typu ImmutableJS, Lodash, Ramda, Folktale nebo Sanctuary nabizejici FP pristup).
Název: Re:PHP nebo JavaScript
Přispěvatel: zboj 28. 02. 2017, 09:40:14
...
Když v Node.JS děláš, jak moc rozdílný programování to je oproti ostatnim jazykum vzhledem k tomu, že operace v JS jsou neblokující?

K Node jsem jen pricuchl pri hrani si se svymi projektiky, v praci delam na front-endu. Co vim, tak u nekterych fci existuji i blokujici varianty (readFileSync). (odpovim nize)

...
Říká se tomu callback hell, což snad mluví za vše.

Opravdu? Jsem od vas cekal trochu vice.
Ono k tomu není moc co dodat, ale je to jen estetický problém, takže někomu se to může i líbit. A není pro problém jen v JS, například v Cocoa se taky používají callbacky dost často, kód pak odmigruje doprava a Xcode ho zalamuje a vypadá to hrozně. Kdo chce asynchronní volání, moc možností stejně nemá, pokud si nenapíše vlastní kooperativní scheduler à la Go.

Nicméně že syntax JS se lepší a že přechod k immutable je požitivní, s tím se dá souhlasit bez výhrad.
Název: Re:PHP nebo JavaScript
Přispěvatel: JSrulez 28. 02. 2017, 09:56:20
Říká se tomu callback hell, což snad mluví za vše.

To uz zavisi na implementaci. Callbacky jsou obvykle controllery v MVC. To je oldschool, nebo objektovy pristup.  U velkych porjektu v JS fici spise Model-View-Intent. Takze kdyz nejste prase tak pouzivate immutable objekty, mate funkcionalni pristup aspon na hlavnim workflowu, reactive message driven streamovy pristup, pouzivate observables a subscribers tak jste nad veci a zadny hell nehrozi. Viz http://reactivex.io https://cycle.js.org/ http://redux.js.org/ atd.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 28. 02. 2017, 11:52:54
Samotný Javascript je původně jednoduchý, ale už z něj taky začíná vznikat spleskaný bastard (pseudotřídy, mraky nové, zbytečné syntaxe, ...).

Nekterym (treba me) se ta nova syntaxe libi. Priklady te "zbytecne syntaxe"? Tridy, splat, destructioning, fat arrow - to vse me prijde hodne uzitecne.

Vzhledem k tomu, že nejde zároveň používat zapouzdření a prototypování, je problém s ním modelovat, to už je v tom lepší hybridní Java.

Co TypeScript? Aktualne co pisu v Angularu 2 s prototypy (primo) nikdy nedelam a nevadi me to. Zapouzdreni je IMO hezke pres modifikatory pristupu (nesmite byt prase a sahat na private/protected, pokud k tomu nemate mit pristup, ale to ostatne jde i v Jave).

Tak zrovna ty třídy jsou na co? Aby JS mohl předstírat, že je třídně-instanční? Proč by to dělal? Pro trubky, co přelízají z Javy?
Generátory - čemu skutečně slouží? Promises - v okamžiku potřeby asynchronnosti postradatelné, v okamžiku nepotřeby pouze učesávající roztržení funkce a kontextu. Async prosakující do deklarace funkce. Ukrutně složitě fungující Proxy. Mnoho funkcionalit definovaných neobjektovým způsobem Object.dělejNěcoS(objekt) místo objekt.dělejNěco(). Object.defineProperty - co to je za komplikovaný bastl (s neobjektovým formátem)? Kde to kurva jsme?

Přece nezačnu používat typovaný jazyk jen kvůli tomu, aby mi začlo fungovat zapouzdření.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 28. 02. 2017, 12:00:54
1) jo, spleskaný bastard už z JS pomalu je, ale co naděláš, to čeká každý jazyk

Čeká to jen jazyky se špatným návrhem, které se začnou podbízet.

2) promises ? async await se hodí jen na něco, ne to cpát všude plus když máš kvalitní objektový návrh, promises ani z velké části nepotřebuješ

Když potřebuju synchronní volání, Promise k ničemu není, když asynchronní, tak ten jeden callback ještě napsat umím.

3) prototypovej system JS je neskutečnej paskvil, autor se snažil udělat hybrida mezi classbased systemem a skutečnym prototype systemem...nepovedlo se mu to a je to hnus. Jako řešení máš svobodu si udělat vlastní objektový systém. To kupříkladu, v jiném dnšním mainstream jazyce neuděláš.

Nevěřím vám, že nějakým jednoduchým způsobem udělám v JS jiný objektový systém. Zkoušel jsem omrdat chybějící zapouzdření (najdete k tomu na inetu diskuse) a je to hrozný opich.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 28. 02. 2017, 12:05:06
Když v Node.JS děláš, jak moc rozdílný programování to je oproti ostatnim jazykum vzhledem k tomu, že operace v JS jsou neblokující?

Rozdílné je to v tom, že musíte za virtuální počítač řešit rozdělení úloh do funkcí na samostatné asynchronní celky, protože to sám (prostřednictvím await ap.) neumí, přeloženo: Děláte za něj práci.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 28. 02. 2017, 12:07:27
V PHP standardně dělám stavové aplikační servery. Zřejmě jsi zatím nepřišel na to, jak se to dělá.

Nechám se od vás poučit, jakým kouzlem toho dosáhnout. Děkuji.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 28. 02. 2017, 12:14:22
K Node jsem jen pricuchl pri hrani si se svymi projektiky, v praci delam na front-endu. Co vim, tak u nekterych fci existuji i blokujici varianty (readFileSync). (odpovim nize)

To jsou výjimky, ne pravidla.

I ve starem JS byly zpusoby, jak to ukocirovat (nezanorovat fce a udrzovat to ploche => vyhnuti se pyramid of doom). Aktualne co vim (v Node nedelam, takze je mozna jeste vice pristupu) tu mame promise, generator, async nebo "slozitejsi" abstrakce jako observable, ktera se pouziva treba v Angular 2 a IMO je dost silna a zaroven elegantni. Osobne se mi dost libi cesta, kterou se JS ubira - nejdriv to byl zmatek na lepeni toho, co HTML/CSS neumelo a nyni tu mame koncepty/syntaxi z OOP (cukr pro tridy, pripadne TypeScript) i FP v mnohem vetsi mire (odklon od mutable vseho k immutable stavu SPA aplikace - napr. redux a ngrx/store, knihovny typu ImmutableJS, Lodash, Ramda, Folktale nebo Sanctuary nabizejici FP pristup).

Všechny uvedené způsoby jsou poměrně složité, ale hlavně ZBYTEČNÉ. Upozorňuju, že se bavíme o backendu, ne frontendu.
Název: Re:PHP nebo JavaScript
Přispěvatel: noef 28. 02. 2017, 12:37:07
...
Všechny uvedené způsoby jsou poměrně složité, ale hlavně ZBYTEČNÉ. Upozorňuju, že se bavíme o backendu, ne frontendu.

Slozite? No nevim, nejaky stream a bus je dost jednoduchy koncept. Promise je primo trivialni. Ja se bavim o JavaScriptu (OP nikde nenapsal, jestli chce BE/FE/full-stack), ale pokud vim, tak to vse lze pouzit a pouziva se i na back-endu (treba Koa pouziva generatory). Napr. ty observable primo obsahuji pomocne funkce pro konstrukci wrapperu z callback fce na fci vracejici observable (maji i helper pro Node format fci (https://xgrommx.github.io/rx-book/content/rxjs_bindings/node/callback_handlers/from_node_callback.html)), podobne BlueBird ma promisifyAll na konverzi celeho (node) modulu na verzi s promises.

Pokud jsou pro vas zbytecne, tak je nepouzivejte. Pak ale nebrecte, ze mate chuchel callbacku a neudrzovatelny kod.
Název: Re:PHP nebo JavaScript
Přispěvatel: ivoszz 28. 02. 2017, 13:42:54
...
Všechny uvedené způsoby jsou poměrně složité, ale hlavně ZBYTEČNÉ. Upozorňuju, že se bavíme o backendu, ne frontendu.

Pokud jsou pro vas zbytecne, tak je nepouzivejte. Pak ale nebrecte, ze mate chuchel callbacku a neudrzovatelny kod.
Nechci mluvit za někoho druhého, ale pravděpodobně měl na mysli, že existuje mnoho jiných variant na backend, kde se tím není nutno vůbec zabývat.
Já sám jsem docela dlouho Node.js používal a občas ještě stále používám a asynchronní styl mi nevadí, ale musím říct, že je mnohem pohodlnější napsat v cyklu go func a spustit 20 gorutin, individuálně ošetřit chyby a na konci dát jen  waitGroup.Wait() a počkat, až všechny doběhnou, než vytvářet pole požadavků, spouštět je přes Promise.all a pak složitě zjišťovat, co se vlastně nepovedlo. A to nemluvím o větší flexibilitě a čitelnosti kódu. Navíc je realitou, že některým lidem asynchronní zápis prostě nesedí.
Název: Re:PHP nebo JavaScript
Přispěvatel: zboj 28. 02. 2017, 13:50:25
...
Všechny uvedené způsoby jsou poměrně složité, ale hlavně ZBYTEČNÉ. Upozorňuju, že se bavíme o backendu, ne frontendu.

Pokud jsou pro vas zbytecne, tak je nepouzivejte. Pak ale nebrecte, ze mate chuchel callbacku a neudrzovatelny kod.
Nechci mluvit za někoho druhého, ale pravděpodobně měl na mysli, že existuje mnoho jiných variant na backend, kde se tím není nutno vůbec zabývat.
Já sám jsem docela dlouho Node.js používal a občas ještě stále používám a asynchronní styl mi nevadí, ale musím říct, že je mnohem pohodlnější napsat v cyklu go func a spustit 20 gorutin, individuálně ošetřit chyby a na konci dát jen  waitGroup.Wait() a počkat, až všechny doběhnou, než vytvářet pole požadavků, spouštět je přes Promise.all a pak složitě zjišťovat, co se vlastně nepovedlo. A to nemluvím o větší flexibilitě a čitelnosti kódu. Navíc je realitou, že některým lidem asynchronní zápis prostě nesedí.
Go má vlastní scheduler, tak si to může dovolit. Navíc je částečně preemptivní (=blbovzdorný). Explicitní callbacky mají zase tu výhodu, že přesně vím, kde může kód čekat. Fakt je, že zápis bez callbacků je přehlednější.
Název: Re:PHP nebo JavaScript
Přispěvatel: kapr 28. 02. 2017, 18:14:12
PHP je mrtvy jak IE6, ale taky ho jeste nekde pouzivaj. Jeslti chces delat webitka a uitka tak Javascript (tim defakto budes moct zacit psat v node.js), jestli chces programovat weby, tak cokoliv jinyho nez PHP. Je fakt, ze PHP jeste nevymre dlouho, protoze je hojne a hodne pouzivany, ale budoucnost bych v tom rozhodne nehledal.
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 28. 02. 2017, 20:34:02
V PHP standardně dělám stavové aplikační servery. Zřejmě jsi zatím nepřišel na to, jak se to dělá.
Nechám se od vás poučit, jakým kouzlem toho dosáhnout. Děkuji.

Je to prosté, stačí se naučit používat databáze.
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 28. 02. 2017, 21:14:24
1) jo, spleskaný bastard už z JS pomalu je, ale co naděláš, to čeká každý jazyk

Čeká to jen jazyky se špatným návrhem, které se začnou podbízet.

2) promises ? async await se hodí jen na něco, ne to cpát všude plus když máš kvalitní objektový návrh, promises ani z velké části nepotřebuješ

Když potřebuju synchronní volání, Promise k ničemu není, když asynchronní, tak ten jeden callback ještě napsat umím.

3) prototypovej system JS je neskutečnej paskvil, autor se snažil udělat hybrida mezi classbased systemem a skutečnym prototype systemem...nepovedlo se mu to a je to hnus. Jako řešení máš svobodu si udělat vlastní objektový systém. To kupříkladu, v jiném dnšním mainstream jazyce neuděláš.

Nevěřím vám, že nějakým jednoduchým způsobem udělám v JS jiný objektový systém. Zkoušel jsem omrdat chybějící zapouzdření (najdete k tomu na inetu diskuse) a je to hrozný opich.
1) asi jo
2) jedinej recept, navrhnout async api od zakladu, pak nemusis resit jak proboha nacpat async operaci do sync api. Blby je kdyz uz takovej kod mas a nebo libka.......
3) je to strasne snadny, js objekt je prostě jen mapa, muzes si do nej nacpat cokoli a dat tomu jakykoli smysl chces. Jedinej problem je se syntaxy, tu neohnes

Schvalne si vlastni dream object system skus v js udělat
Budeš prekvapen jak snadný to je :)

Třeba v lispu byl zvyk dělat si vlastni oop systemy (i se syntaxy!!)
Js od lispu tu dynamiku castecne zdedilo
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomas2 28. 02. 2017, 21:35:18
koukám, že příběh s node.js je všude stejný.

Nelíbí se mi jeho asynchronnost a callbacky > použiji *Sync IO funkce > ty kupodivu blokují celý thread a celá aplikace je zmrzlá > jsem zpátky u callbacků

Pořád se mi nelíbí callbacky > strčím tam promise > zjišťuji, že kód je nepřehledný a naprosto se nedá debugovat a traceovat > skončím znovu u callbacků

Mám takový pocit, že zkoušet naroubovat MVC a další návrhové vzory do jazyku, který funguje prostě jinak vždy skončí slepou cestou. JS je tvrdohlavý a pokud ho nezačnu používat jak byl navržený, nebudu s ním spokojený. Pokud by jeho návrh nevyhovuje, jdu k php/java/whatever.

PS: přejít z node.js na go si povětšinou moc nepomůžu, opět se musím přizpůsobit jazyku...
Název: Re:PHP nebo JavaScript
Přispěvatel: zboj 28. 02. 2017, 21:59:08
koukám, že příběh s node.js je všude stejný.

Nelíbí se mi jeho asynchronnost a callbacky > použiji *Sync IO funkce > ty kupodivu blokují celý thread a celá aplikace je zmrzlá > jsem zpátky u callbacků

Pořád se mi nelíbí callbacky > strčím tam promise > zjišťuji, že kód je nepřehledný a naprosto se nedá debugovat a traceovat > skončím znovu u callbacků

Mám takový pocit, že zkoušet naroubovat MVC a další návrhové vzory do jazyku, který funguje prostě jinak vždy skončí slepou cestou. JS je tvrdohlavý a pokud ho nezačnu používat jak byl navržený, nebudu s ním spokojený. Pokud by jeho návrh nevyhovuje, jdu k php/java/whatever.

PS: přejít z node.js na go si povětšinou moc nepomůžu, opět se musím přizpůsobit jazyku...
U Go to je ale změna k lepšímu.
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 28. 02. 2017, 22:02:22
koukám, že příběh s node.js je všude stejný.

Nelíbí se mi jeho asynchronnost a callbacky > použiji *Sync IO funkce > ty kupodivu blokují celý thread a celá aplikace je zmrzlá > jsem zpátky u callbacků

Pořád se mi nelíbí callbacky > strčím tam promise > zjišťuji, že kód je nepřehledný a naprosto se nedá debugovat a traceovat > skončím znovu u callbacků

Mám takový pocit, že zkoušet naroubovat MVC a další návrhové vzory do jazyku, který funguje prostě jinak vždy skončí slepou cestou. JS je tvrdohlavý a pokud ho nezačnu používat jak byl navržený, nebudu s ním spokojený. Pokud by jeho návrh nevyhovuje, jdu k php/java/whatever.

PS: přejít z node.js na go si povětšinou moc nepomůžu, opět se musím přizpůsobit jazyku...
Asynchronní zpravy

V pra oop se pocitalo jak se sync tak i async zpravamy.
Node todle vratilo do hry.

Pak nepotrebujes vlastne ani promises:)

Problem je s libkama a legacy kódem
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 28. 02. 2017, 22:03:50
koukám, že příběh s node.js je všude stejný.

Nelíbí se mi jeho asynchronnost a callbacky > použiji *Sync IO funkce > ty kupodivu blokují celý thread a celá aplikace je zmrzlá > jsem zpátky u callbacků

Pořád se mi nelíbí callbacky > strčím tam promise > zjišťuji, že kód je nepřehledný a naprosto se nedá debugovat a traceovat > skončím znovu u callbacků

Mám takový pocit, že zkoušet naroubovat MVC a další návrhové vzory do jazyku, který funguje prostě jinak vždy skončí slepou cestou. JS je tvrdohlavý a pokud ho nezačnu používat jak byl navržený, nebudu s ním spokojený. Pokud by jeho návrh nevyhovuje, jdu k php/java/whatever.

PS: přejít z node.js na go si povětšinou moc nepomůžu, opět se musím přizpůsobit jazyku...
U Go to je ale změna k lepšímu.
Go ale zas plno veci chyby ...
Název: Re:PHP nebo JavaScript
Přispěvatel: Rapyd 01. 03. 2017, 08:55:11
PHP jeste mozno pouzit na rapid development. Proste v tom rychle spichnete funkcni demo modul jako proof of concept a na ladeni workflowu. Kdyz to je ok tak se to prepise do neceho normalnejsiho a skalovatelnejsiho.
Název: Re:PHP nebo JavaScript
Přispěvatel: gll 01. 03. 2017, 19:37:29
koukám, že příběh s node.js je všude stejný.

Nelíbí se mi jeho asynchronnost a callbacky > použiji *Sync IO funkce > ty kupodivu blokují celý thread a celá aplikace je zmrzlá > jsem zpátky u callbacků

Pořád se mi nelíbí callbacky > strčím tam promise > zjišťuji, že kód je nepřehledný a naprosto se nedá debugovat a traceovat > skončím znovu u callbacků

Mám takový pocit, že zkoušet naroubovat MVC a další návrhové vzory do jazyku, který funguje prostě jinak vždy skončí slepou cestou. JS je tvrdohlavý a pokud ho nezačnu používat jak byl navržený, nebudu s ním spokojený. Pokud by jeho návrh nevyhovuje, jdu k php/java/whatever.

PS: přejít z node.js na go si povětšinou moc nepomůžu, opět se musím přizpůsobit jazyku...

Proč by se promisy nedaly traceovat?
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 01. 03. 2017, 20:18:09
PHP jeste mozno pouzit na rapid development. Proste v tom rychle spichnete funkcni demo modul jako proof of concept a na ladeni workflowu. Kdyz to je ok tak se to prepise do neceho normalnejsiho a skalovatelnejsiho.

Většinou nemám důvod to přepisovat, nechávám to v PHP.
Název: Re:PHP nebo JavaScript
Přispěvatel: Tomas2 01. 03. 2017, 22:45:57
Proč by se promisy nedaly traceovat?

No oni se dají, ale každá trochu jinak, stack.trace vypadá jak po třetí světové válce, rozbije to řadu nástrojů pro automatické testování a statickou analýzu chyb. Existuje několik modulů, které se to snaží dát dohromady, ale zatím nic moc.

Dtrace a další nástroje jsou naprosto v háji, většina promise uděláte nemá proby a nedá se to řádně měřit.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 03. 03. 2017, 09:34:02
V PHP standardně dělám stavové aplikační servery. Zřejmě jsi zatím nepřišel na to, jak se to dělá.
Nechám se od vás poučit, jakým kouzlem toho dosáhnout. Děkuji.

Je to prosté, stačí se naučit používat databáze.

Databáze nemá s aplikačním serverem nic společného, je to úplně jiná vrstva. Jestli jste chtěl naznačit, že si stavy ukládáte do DB, tak 1. žádný aplikační server nemáte, 2. je to určitě hodně rychlé, 3. jste pěkné ...

A přesně o tom se tu bavíme - je PHP vhodným jazykem pro backend? Není to oxymóron?
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 03. 03. 2017, 09:37:31

Nevěřím vám, že nějakým jednoduchým způsobem udělám v JS jiný objektový systém. Zkoušel jsem omrdat chybějící zapouzdření (najdete k tomu na inetu diskuse) a je to hrozný opich.

3) je to strasne snadny, js objekt je prostě jen mapa, muzes si do nej nacpat cokoli a dat tomu jakykoli smysl chces. Jedinej problem je se syntaxy, tu neohnes

Schvalne si vlastni dream object system skus v js udělat
Budeš prekvapen jak snadný to je :)

A jak se ohýbá (=řeší) zapouzdření?
Název: Re:PHP nebo JavaScript
Přispěvatel: oldschool 03. 03. 2017, 10:59:29
A jak se ohýbá (=řeší) zapouzdření?

Normalne, kluzurou.
Kód: [Vybrat]
(function() {
...tohle venku neni videt...
}());
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 03. 03. 2017, 12:10:31
A jak se ohýbá (=řeší) zapouzdření?

Normalne, kluzurou.
Kód: [Vybrat]
(function() {
...tohle venku neni videt...
}());

Supr. A jak se udělá objekt, který nese skryté stavy, ale pracuje s nimi vlastními metodami implementovanými v prototypu proto, aby ony metody nemusel každý další objekt implementovat znovu? Neboli obdoba třídně-instanční implementace se sdílenými metodami a vlastními stavy.
Název: Re:PHP nebo JavaScript
Přispěvatel: oldschool 03. 03. 2017, 12:55:58
Supr. A jak se udělá objekt, který nese skryté stavy, ale pracuje s nimi vlastními metodami implementovanými
v prototypu proto, aby ony metody nemusel každý další objekt implementovat znovu? Neboli obdoba třídně-instanční
implementace se sdílenými metodami a vlastními stavy.
Kurna co jsme tady lektori kurzu JavaScript for dummies? Dyt si to vybinguj.

1. v JS neexistuje neco jako "skryte", "privatni" atd. Nac taky kdyz zdrojak muze kazdy videt. Ano je mozne pomoci nejakych design patternu docilit schovani metod ci properties, ale to dnes uz delaj jenom prasata.
Vznesenym JS koderum staci videt this._ja_jsem_jakoze_private a vedi, ze to neni soucast api a na to se nesaha.

2. Moc nechapu co vlastne chces, ale "interface" v JS neexistuje. Ano muzeme se hrat s nazvoslovim, ze nejaka trida ma prazdne metody a dovnitr si nacpes console.log('not implemented yet') a od ni si to podedis. Takze opet design pattern pro prebehliky z Javy a C++. Vzneseny JS koder to povazuje za prasarnu a interface neresi.

3. Objektovy odel JS je uplne jednoduchy. Berte JS spise jako assembler. Ma tridy, dedicnost a prototypy, to je vse. Muzete ho vytunit nejakymi paternama nebo frameworkem aby se hral na mixiny, abstraktni tridy, interfejsy, protected, private, pretizene operatory a co ja vim jaky OOP balast vas jeste napadne.
Vzneseny JS koder to ale neresi, protoze to zvysuje komplexitu a neprehlednost kodu a uz se pak nemuzeme bavit o jednoduchosti. Jestli bez toho nemuzete zit tak se poohlednete po nejakym Angularu a postavste si celu industrialni zonu se vsemy factories facades a dalsimi chlivkama pro prasata.

4. Zhrnu to tedy. V JS je defacto vse objekt a tak muzete objektovo orientovane programovat vasi MVC apku. Ale to uz je dnes povazovano za primitivni a neefektivni. Frcime spise na MVVM/MVI, proudy dat, eventy, promisy, immutable, subscribery, listenery a vubec spise reaktivni funkcionalni programovani.
Název: Re:PHP nebo JavaScript
Přispěvatel: gll 03. 03. 2017, 13:23:28
Databáze nemá s aplikačním serverem nic společného, je to úplně jiná vrstva. Jestli jste chtěl naznačit, že si stavy ukládáte do DB, tak 1. žádný aplikační server nemáte, 2. je to určitě hodně rychlé, 3. jste pěkné ...

A přesně o tom se tu bavíme - je PHP vhodným jazykem pro backend? Není to oxymóron?

čemu říkáte aplikační server?
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 03. 03. 2017, 15:15:21
Databáze nemá s aplikačním serverem nic společného, je to úplně jiná vrstva. Jestli jste chtěl naznačit, že si stavy ukládáte do DB, tak 1. žádný aplikační server nemáte, 2. je to určitě hodně rychlé, 3. jste pěkné ...

A přesně o tom se tu bavíme - je PHP vhodným jazykem pro backend? Není to oxymóron?

Databáze skutečně nemá s aplikačním serverem nic společného. Měla by?
Už tady zaznělo: Čemu říkáš aplikační server?
Ano, je to rychlé.
Ano, jsem šikovným programátorem. Díky za poklonu
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 03. 03. 2017, 16:39:09
Supr. A jak se udělá objekt, který nese skryté stavy, ale pracuje s nimi vlastními metodami implementovanými
v prototypu proto, aby ony metody nemusel každý další objekt implementovat znovu? Neboli obdoba třídně-instanční
implementace se sdílenými metodami a vlastními stavy.
Kurna co jsme tady lektori kurzu JavaScript for dummies? Dyt si to vybinguj.

1. v JS neexistuje neco jako "skryte", "privatni" atd. Nac taky kdyz zdrojak muze kazdy videt. Ano je mozne pomoci nejakych design patternu docilit schovani metod ci properties, ale to dnes uz delaj jenom prasata.
Vznesenym JS koderum staci videt this._ja_jsem_jakoze_private a vedi, ze to neni soucast api a na to se nesaha.

2. Moc nechapu co vlastne chces, ale "interface" v JS neexistuje. Ano muzeme se hrat s nazvoslovim, ze nejaka trida ma prazdne metody a dovnitr si nacpes console.log('not implemented yet') a od ni si to podedis. Takze opet design pattern pro prebehliky z Javy a C++. Vzneseny JS koder to povazuje za prasarnu a interface neresi.

3. Objektovy odel JS je uplne jednoduchy. Berte JS spise jako assembler. Ma tridy, dedicnost a prototypy, to je vse. Muzete ho vytunit nejakymi paternama nebo frameworkem aby se hral na mixiny, abstraktni tridy, interfejsy, protected, private, pretizene operatory a co ja vim jaky OOP balast vas jeste napadne.
Vzneseny JS koder to ale neresi, protoze to zvysuje komplexitu a neprehlednost kodu a uz se pak nemuzeme bavit o jednoduchosti. Jestli bez toho nemuzete zit tak se poohlednete po nejakym Angularu a postavste si celu industrialni zonu se vsemy factories facades a dalsimi chlivkama pro prasata.

4. Zhrnu to tedy. V JS je defacto vse objekt a tak muzete objektovo orientovane programovat vasi MVC apku. Ale to uz je dnes povazovano za primitivni a neefektivni. Frcime spise na MVVM/MVI, proudy dat, eventy, promisy, immutable, subscribery, listenery a vubec spise reaktivni funkcionalni programovani.

Co je to "vybinguj"? Nové sloveso?

Ad 1. JS samozřejmě zapouzdření má (var), ale vlivem způsobu implementace prototypů nejde kombinovat s metodami z prototypu. Co má společné zapouzdření s dostupností zdrojáku, netuším. Jak ale vylámat zdroják ze serveru Node.js, nevím. O "zapouzdření" podtržítkem jsem už slyšel, to jsem ale na mysli neměl. Termín "vznešený kodér" mě doteď míjel.

Ad 2. Interface jsem na mysli neměl, ten se zapouzdřením nesouvisí.

Ad 3. Zapouzdření nemá na složitost vliv, slouží oddělení domén problému. S tvrzením, že JS má třídy a dědičnost, nebudu polemizovat, nemám s tímto syntaktickým cukrem žádnou zkušenost a ani se mi do ní nechce.

Ad 4. V JS bohužel není vše objektem, JS má primitiva a funkce, pokud si pamatuju, měly taky nějaké specifické vlastnosti. Uvedené architektury jsou stále pouze impelemtacemi vzoru Pozorovatel, nevidím v nich nějakou revoluci. Se zapouzdřením nevidím souvislost.

Úplně mi stačila odpověď "v JS to nejde", nemusel jste mi vyprávět o vznešeném kodérovi.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 03. 03. 2017, 16:43:37
čemu říkáte aplikační server?

Server držící a zpracovávající kompletní doménu pro klienty.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 03. 03. 2017, 16:47:47
Databáze nemá s aplikačním serverem nic společného, je to úplně jiná vrstva. Jestli jste chtěl naznačit, že si stavy ukládáte do DB, tak 1. žádný aplikační server nemáte, 2. je to určitě hodně rychlé, 3. jste pěkné ...

A přesně o tom se tu bavíme - je PHP vhodným jazykem pro backend? Není to oxymóron?

Databáze skutečně nemá s aplikačním serverem nic společného. Měla by?
Už tady zaznělo: Čemu říkáš aplikační server?
Ano, je to rychlé.
Ano, jsem šikovným programátorem. Díky za poklonu

Nejde o poklonu, měl jsem na mysli prase. Ale to asi víte.
Provedení stavů aplikačního serveru jste neuvedl, rád bych ho viděl výslovně uvedené.
Na to tykání pozor.
Název: Re:PHP nebo JavaScript
Přispěvatel: gll 03. 03. 2017, 18:28:42
čemu říkáte aplikační server?

Server držící a zpracovávající kompletní doménu pro klienty.

Jakou doménu? Mluvíte o DNS serveru?
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 03. 03. 2017, 18:38:52
A jak se ohýbá (=řeší) zapouzdření?

Normalne, kluzurou.
Kód: [Vybrat]
(function() {
...tohle venku neni videt...
}());

Supr. A jak se udělá objekt, který nese skryté stavy, ale pracuje s nimi vlastními metodami implementovanými v prototypu proto, aby ony metody nemusel každý další objekt implementovat znovu? Neboli obdoba třídně-instanční implementace se sdílenými metodami a vlastními stavy.
1) private/public v JS neexistuje, mohlo by, ale není
hlavně by to dost komplikovalo návrh jazyka (prototype based OOP pro info ...) a autor na něj měl bohužel jen 14 dní
ostatně je otázkou jestli takové omezení dává vůbec smysl v případě prototypového systemu
2) redukce kódu pomocí dědičnosti je antipattern který nemá nic společného s OOP, místo toho je lepší použít delegaci či jiné návrhové vzory
Název: Re:PHP nebo JavaScript
Přispěvatel: čumil 03. 03. 2017, 18:45:12
Supr. A jak se udělá objekt, který nese skryté stavy, ale pracuje s nimi vlastními metodami implementovanými
v prototypu proto, aby ony metody nemusel každý další objekt implementovat znovu? Neboli obdoba třídně-instanční
implementace se sdílenými metodami a vlastními stavy.
Kurna co jsme tady lektori kurzu JavaScript for dummies? Dyt si to vybinguj.

1. v JS neexistuje neco jako "skryte", "privatni" atd. Nac taky kdyz zdrojak muze kazdy videt. Ano je mozne pomoci nejakych design patternu docilit schovani metod ci properties, ale to dnes uz delaj jenom prasata.
Vznesenym JS koderum staci videt this._ja_jsem_jakoze_private a vedi, ze to neni soucast api a na to se nesaha.

2. Moc nechapu co vlastne chces, ale "interface" v JS neexistuje. Ano muzeme se hrat s nazvoslovim, ze nejaka trida ma prazdne metody a dovnitr si nacpes console.log('not implemented yet') a od ni si to podedis. Takze opet design pattern pro prebehliky z Javy a C++. Vzneseny JS koder to povazuje za prasarnu a interface neresi.

3. Objektovy odel JS je uplne jednoduchy. Berte JS spise jako assembler. Ma tridy, dedicnost a prototypy, to je vse. Muzete ho vytunit nejakymi paternama nebo frameworkem aby se hral na mixiny, abstraktni tridy, interfejsy, protected, private, pretizene operatory a co ja vim jaky OOP balast vas jeste napadne.
Vzneseny JS koder to ale neresi, protoze to zvysuje komplexitu a neprehlednost kodu a uz se pak nemuzeme bavit o jednoduchosti. Jestli bez toho nemuzete zit tak se poohlednete po nejakym Angularu a postavste si celu industrialni zonu se vsemy factories facades a dalsimi chlivkama pro prasata.

4. Zhrnu to tedy. V JS je defacto vse objekt a tak muzete objektovo orientovane programovat vasi MVC apku. Ale to uz je dnes povazovano za primitivni a neefektivni. Frcime spise na MVVM/MVI, proudy dat, eventy, promisy, immutable, subscribery, listenery a vubec spise reaktivni funkcionalni programovani.

Co je to "vybinguj"? Nové sloveso?

Ad 1. JS samozřejmě zapouzdření má (var), ale vlivem způsobu implementace prototypů nejde kombinovat s metodami z prototypu. Co má společné zapouzdření s dostupností zdrojáku, netuším. Jak ale vylámat zdroják ze serveru Node.js, nevím. O "zapouzdření" podtržítkem jsem už slyšel, to jsem ale na mysli neměl. Termín "vznešený kodér" mě doteď míjel.

Ad 2. Interface jsem na mysli neměl, ten se zapouzdřením nesouvisí.

Ad 3. Zapouzdření nemá na složitost vliv, slouží oddělení domén problému. S tvrzením, že JS má třídy a dědičnost, nebudu polemizovat, nemám s tímto syntaktickým cukrem žádnou zkušenost a ani se mi do ní nechce.

Ad 4. V JS bohužel není vše objektem, JS má primitiva a funkce, pokud si pamatuju, měly taky nějaké specifické vlastnosti. Uvedené architektury jsou stále pouze impelemtacemi vzoru Pozorovatel, nevidím v nich nějakou revoluci. Se zapouzdřením nevidím souvislost.

Úplně mi stačila odpověď "v JS to nejde", nemusel jste mi vyprávět o vznešeném kodérovi.
1) var není nástroj zapouzdření, pokud to tak chápeš ty, tak pánbůh s tebou a celim tymem (co když ti řeknu že closure nejde genericky naklonovat :) ? )
2) nejsou vzor Observer, reaktivita je deklarativní paradigma (ne oop design pattern) a pokud to porovnáváš s Observerem, pak jsi to zřejmě nikdy ani neviděl.
Název: Re:PHP nebo JavaScript
Přispěvatel: MarekF 03. 03. 2017, 19:21:37
Ad 4. V JS bohužel není vše objektem, JS má primitiva a funkce, pokud si pamatuju, měly taky nějaké specifické vlastnosti.

Oldschool ma pravdu. Ono v JS interne fakt je vsetko objektom, aj primitivne typy. Funkcia je instancia Function, cislo instanciou Number, bool instanciou Boolean atd :) V tom je to kuzlo. Objekt moze mat nejaky typ, ale je stale objekt a to, ze typeof ti vrati nejaky "primitivny typ" je len koderska pomocka. Tu napriklad vytvorim funkciu vytvorenim instancie triedy Function :-)

Kód: [Vybrat]
var a = new Function(['name', 'surname'], "console.log('whole name:' + name + ' ' + surname)");
a('Kaja','Gott');
whole name:Kaja Gott

No a co sa tyka toho zapuzdrenia a schovavania, ktore zaujima fakt len Javistov ale normalny JSkar sa tomu vyhne tak je mozne pouzit revealing pattern:

Kód: [Vybrat]
function Person() {
    this._name = 'foo';
    function _setName(name) {this._name = name;}
    return {
        setName: _setName.bind(this),
        getName: this._getName.bind(this)
    }
}
Person.prototype._getName = function() {return this._name;}
var kaja = new Person();

Ako vidno je mozne pouzit bud prototypovanu alebo inner funkciu. Vonkajsiemu svetu su ponuknute len "public" metody
vratene v return. Nevyhoda a "prasackost" toho tu je, ze v debugeri neuvidis, ze kaja je z triedy Person.  Co pri vacsich projektoch je na slucku. Zato je lepsie nezneuzivat syntax a nehrat sa na zapuzdrenia, private, public atd.

Jo a vzneseni js koderi rulez :)
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 03. 03. 2017, 21:31:34
Zato je lepsie nezneuzivat syntax a nehrat sa na zapuzdrenia, private, public atd.

Zapouzdření je přece jen o něčem jiném, než public vs. private vs. *ettery.
Název: Re:PHP nebo JavaScript
Přispěvatel: gll 03. 03. 2017, 22:47:40
Zato je lepsie nezneuzivat syntax a nehrat sa na zapuzdrenia, private, public atd.

Zapouzdření je přece jen o něčem jiném, než public vs. private vs. *ettery.

Supr. A jak se udělá objekt, který nese skryté stavy, ale pracuje s nimi vlastními metodami implementovanými v prototypu proto, aby ony metody nemusel každý další objekt implementovat znovu? Neboli obdoba třídně-instanční implementace se sdílenými metodami a vlastními stavy.
Název: Re:PHP nebo JavaScript
Přispěvatel: LP 04. 03. 2017, 08:42:28
Pokud bez večerního zapouzdření neusnete, tak v poslední verzi JS se dá čehosi podobného(je to privátní natolik, že když už se tam někdo dostane, tak to byl jasný záměr) dosáhnout třeba kombinací modulů a symbolů. Běžná iterace symboly nezahrnuje, ani se ze své podstaty nepřekrývají s ostatními položkami a napsat myPrivateMethod = Symbol() mi až tak složité nepřijde.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 06. 03. 2017, 13:37:33
1) var není nástroj zapouzdření, pokud to tak chápeš ty, tak pánbůh s tebou a celim tymem (co když ti řeknu že closure nejde genericky naklonovat :) ? )
2) nejsou vzor Observer, reaktivita je deklarativní paradigma (ne oop design pattern) a pokud to porovnáváš s Observerem, pak jsi to zřejmě nikdy ani neviděl.

Var je deklarace proměnné (stavu) dostupné pouze uvnitř kontextu, požadavek na zapouzdření splňuje.

https://en.wikipedia.org/wiki/Reactive_programming#Similarities_with_observer_pattern (https://en.wikipedia.org/wiki/Reactive_programming#Similarities_with_observer_pattern)
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 06. 03. 2017, 13:58:17
...Ono v JS interne fakt je vsetko objektom, aj primitivne typy. Funkcia je instancia Function, cislo instanciou Number, bool instanciou Boolean atd :) V tom je to kuzlo. Objekt moze mat nejaky typ, ale je stale objekt a to, ze typeof ti vrati nejaky "primitivny typ" je len koderska pomocka...

No to asi ne:

> typeof true
'boolean'
> typeof new Boolean(true)
'object'
> new Boolean(true) === true
false

> typeof 10
'number'
> typeof new Number(10)
'object'
> 10 === new Number(10)
false

...

To, že to má boxování, neznamená, že vše je objektem.


...tak je mozne pouzit revealing pattern:

Kód: [Vybrat]
function Person() {
    this._name = 'foo';
    function _setName(name) {this._name = name;}
    return {
        setName: _setName.bind(this),
        getName: this._getName.bind(this)
    }
}
Person.prototype._getName = function() {return this._name;}
var kaja = new Person();

Ako vidno je mozne pouzit bud prototypovanu alebo inner funkciu. Vonkajsiemu svetu su ponuknute len "public" metody
vratene v return. Nevyhoda a "prasackost" toho tu je, ze v debugeri neuvidis, ze kaja je z triedy Person.  Co pri vacsich projektoch je na slucku...

Tak samozřejmě ta horní část s objektem jako vnitřním kontextem jde, to umím taky, má to jen malinkatou chybku: Objem funkcí v objektu mnohonásobně překračuje objem stavů. Mám-li pár takových objektů v celé aplikaci, sere na to pes, mám-li jich tisíce (např. seznamy), je to problém (a pomalé).

...Zato je lepsie nezneuzivat syntax a nehrat sa na zapuzdrenia, private, public atd.

Tak to už každý soudruh podle svého vkusu, já hledám jazyk, který zapouzdření umí, a to bez složitého zalamování. To je to samé, jako pan Čumil hledá jazyk se zabudovanou reaktivitou.
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 06. 03. 2017, 14:14:31
..., já hledám jazyk, který zapouzdření umí, a to bez složitého zalamování. To je to samé, jako pan Čumil hledá jazyk se zabudovanou reaktivitou.

Zapouzdření není o tom, že je atribut private, ale o tom, že se takový atribut zvenčí nepoužívá, a to ani prostřednictvím *etterů. S atributy mají pracovat pouze metody, které patří objektu.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 07. 03. 2017, 15:22:18
Zapouzdření není o tom, že je atribut private, ale o tom, že se takový atribut zvenčí nepoužívá, a to ani prostřednictvím *etterů. S atributy mají pracovat pouze metody, které patří objektu.

Nepotřebuju, aby mi někdo vysvětloval, co je zapouzdření a jak jej řeší on. Mimoto se to na Rootu už probíralo a liberálně-voluntaristický přístup tam byl také zmíněn.
Název: Re:PHP nebo JavaScript
Přispěvatel: Rapyd 07. 03. 2017, 16:24:35
Nepotřebuju, aby mi někdo vysvětloval, co je zapouzdření a jak jej řeší on.

No ja to taky vidim, ze v tom nemas moc jasno. O to ale nejde, v diskusi se ti snazili vysvetlit, ze zapouzdreni jiz smeruje na smetiste koderskych dejin a JS je toho dukazem, ze to jde i bez nej. Ono totiz realny svet neni objektovy a prace na webu dost kopiruje behavioralni ineterakce zivych forem. Proto se OOP pro nej moc nehodi a jde spise o reaktivitu na eventy.
Název: Re:PHP nebo JavaScript
Přispěvatel: javaman () 07. 03. 2017, 17:55:36
Nepotřebuju, aby mi někdo vysvětloval, co je zapouzdření a jak jej řeší on.

No ja to taky vidim, ze v tom nemas moc jasno. O to ale nejde, v diskusi se ti snazili vysvetlit, ze zapouzdreni jiz smeruje na smetiste koderskych dejin a JS je toho dukazem, ze to jde i bez nej. Ono totiz realny svet neni objektovy a prace na webu dost kopiruje behavioralni ineterakce zivych forem. Proto se OOP pro nej moc nehodi a jde spise o reaktivitu na eventy.

Já zase vidim, že frčíš na nějaký brzo mrtvý vlně, která s vývojem moc společnýho nemá. SB píše obvykle dost zajímavý věci na rozdíl od ostatních patlalů.
Název: Re:PHP nebo JavaScript
Přispěvatel: Kit 07. 03. 2017, 21:29:02
Nepotřebuju, aby mi někdo vysvětloval, co je zapouzdření a jak jej řeší on.

No ja to taky vidim, ze v tom nemas moc jasno. O to ale nejde, v diskusi se ti snazili vysvetlit, ze zapouzdreni jiz smeruje na smetiste koderskych dejin a JS je toho dukazem, ze to jde i bez nej. Ono totiz realny svet neni objektovy a prace na webu dost kopiruje behavioralni ineterakce zivych forem. Proto se OOP pro nej moc nehodi a jde spise o reaktivitu na eventy.

OOP se dá chápat mnoha způsoby. Někdo ho chápe jako výhodu, jiný zase jako klacky pod nohy. Některým vývojářům programy zkracuje a zefektivňuje, jiným zbytečně prodlužuje a zpomaluje. Je na každém, jaký styl si vybere.
Název: Re:PHP nebo JavaScript
Přispěvatel: SB 08. 03. 2017, 08:47:36
OOP se dá chápat mnoha způsoby. Někdo ho chápe jako výhodu, jiný zase jako klacky pod nohy. Některým vývojářům programy zkracuje a zefektivňuje, jiným zbytečně prodlužuje a zpomaluje. Je na každém, jaký styl si vybere.

Tak snad aspoň na tomto se můžeme shodnout.
Název: Re:PHP nebo JavaScript
Přispěvatel: Rapyd 08. 03. 2017, 10:41:18
Tak snad aspoň na tomto se můžeme shodnout.

Muzem to taky uzavrit:
- Pokud jsi spise na inheritanci tak bez do PHP.
- Pokud jsi na composition/functional/reactive bez do JS.
Název: Re:PHP nebo JavaScript
Přispěvatel: xxx 08. 03. 2017, 11:19:52
A pokud nejsi ani na jedno, tak se můžeš po vzoru pana "j" naučit základy céčka a pak na rootu vyškolovat programátory s dvacetiletou praxí.