Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - zboj

Stran: 1 ... 51 52 [53] 54 55 ... 101
781
Vývoj / Re:Postřehy ohledně architektury JavaScriptu
« kdy: 26. 08. 2016, 15:07:47 »
Pochopitelně k vytváření objektů slouží konstruktory...

Objekt lze vytvořit více způsoby, konstruktor je jenom jedním z nich.

...Celá tato debata je ukázkou "cargo cult programming", kdy se sofistikované koncepty naprosto nelogicky aplikují úplně mimo bez jejich pochopení...

Jo, právě to si myslím o vás.
V tomto konkrétním případě mám ostatně jen stejný názor jak Rob Pike. Jestli se můžeš odvolat na nějakou podobnou kapacitu, rád si poslechnu odborný (akademicky podložený) názor. Jinak tuto diskusi odložme, až budeš mít aspoň PhD, ne že bych se na takové úrovni odmítal bavit, ale potřebuju k tomu hospodu a pivo ;)

782
Vývoj / Re:Postřehy ohledně architektury JavaScriptu
« kdy: 26. 08. 2016, 13:56:02 »
Ad 2: Go nějak přidělává práci?

Ano. Nemá zapouzdření.

Encapsulation: the ability to restrict or provide access to data and the ability to tie behavior or methods with the data. For Go some of the salient features are:
* There are two levels of access - within the package alone, and public.
* If a field, type, or method starts with a capital letter it is exported outside the package and is public. If instead it starts with a small letter, it is visible only within the package.
* Exported/public items: MyStruct, MyMethod, MyField
* Items with package visibility: myStruct, myMethod, myField
* You can tie in methods/behavior to a type by defining functions associated with it. func (m my_type) my_func() int { }
* You cannot attach methods to a type if it is not defined in the local package.
Díky, ušetřil jsem příspěvek. V praxi je tato kontrola přístupu naprosto dostačující.

783
Vývoj / Re:Postřehy ohledně architektury JavaScriptu
« kdy: 26. 08. 2016, 13:52:56 »
Sranda ako tu onanujete nad tým dementným jazykom a reálne patláte trápne webiky. JavaScriptári sú najväčšia háveď pod slnkom. Vymýšľať nejaké šialené super teoretické psychopatiny je príznak toho, že ste na programátori na nič.

ja si nemyslim ze ten jazyk je dementni - on me prijde jenom ze ma strasne moc moznosti a tim padem se domluvit nad necim nad nim je  slozity a dochazi tam k mnoha nepochopenim ... ale zpet k te otazce at uzavrem aspon to klonovani kdyz uz nic at ma tohle vlakno alespon nejaky zaver kdyz uz sem to zacal (i kdyz toho ted trosku lituju) ... :}

takze proc je potreba tak strasne klonovat objekty? :) nemeli by ty prototypy slouzit predevsim k tomu ze definuji strukturu a hierarchii ze ktere pak tvorim instance a pomoci 'konstruktoru' potom definuju jejich vychozi stav ktery dale upravuje jen proces (jednotlive kroky programu? :) ) nebo to je v js spatny pristup?

diky
Pochopitelně k vytváření objektů slouží konstruktory. Celá tato debata je ukázkou "cargo cult programming", kdy se sofistikované koncepty naprosto nelogicky aplikují úplně mimo bez jejich pochopení. Je to něco jako posadit opici před psací stroj, román z toho taky nikdy nevznikne.

784
Vývoj / Re:Postřehy ohledně architektury JavaScriptu
« kdy: 25. 08. 2016, 14:46:41 »

Kdo psal, že je všechno špatně?
Objekt je v Go onen nezapouzdřený struct?
Je klonování klíčovou funkcionalitou objektového systému?
Řeší Object.assign nastavení správného prototypu?

Rádi se necháme poučit (tj. comment).

1. Tohle je subjektivní. Každý si může udělat názor sám.
2. Go není objektové, ale umí chování objektů emulovat. Samozřejmě to nesplňuje požadavky objektových puristů, ale to nesplňuje ani Java nebo Javascript.
3. Nevím, co myslíte objektovým systémem.
4. let copy = Object.assign({ __proto__: obj.__proto__ }, obj);

2. Nejde mi o purismus, jen si nechci přidělávat práci - čím lepší je implemetace OOP, tím víc práce mi to ušetří. Java je slabá, ale Javascript je na tom o dost lépe, a o tom to je. :)
3. Myslím zde implementaci OOP, nějaký zazyk.
4. A nešlo by to jednodušeji? mimochodem z dokumentace: "It uses [[Get]] on the source and [[Set]] on the target, so it will invoke getters and setters." To může být na škodu. Neboli nejedná se o nízkoúrovňový klon.
Ad 2: Go nějak přidělává práci?

785
Vývoj / Re:Zdroje k rozvoji OOP myšlení
« kdy: 24. 08. 2016, 15:31:47 »
To je dost velká divnost. doesNotUnderstand (a to samé v bledě modrém v Javě nebo C#) je vhodné tak pro nějakou proxy, jinak tu už nějaký ten pátek máme statické typování :) ...

Co s tím má společné statické typování?
Hodně, protože zamezí zbytečným stupidním chybám za běhu.
Navzdory tomu, že jsem zapřisáhlý příznivec statického typování - OOP se statickým typováním nesouvisí. A sice si myslím, že je Python díky absenci typován špatný jazyk, ale je to jen otázka volby. Nelze jen tak prohlásit, že díky tomu, že máme jazyky se statickým typováním, tak že všechno ostatní nemůže chtít nikdo používat.
To je ale hodně mimo téma. Diskuse byla o doesNotUnderstand, které mají i některé statické jazyky (Java) a závěr byl, že statické typování je rozumné používat všude, kde to je možné. V případě nutnosti se pak sáhne k zachycení volání a přesměrování, v C# pomocí dynamic, od čehož se tato diskuse rozvinula.
Tak si možná jen nerozumíme.

doesNotUnderstand je důležitá až zásadní vlastnost OOP. Statické typování OOP nepotřebuje (i když v praxi je to mnohem důležitější pattern). A vzhledem k subjektu vlákna...
Myslím, že se celkem shodujeme. Mně osobně doesNotUnderstand dost chybí v jazycích, které ho nemají. Na druhou stranu statické typování vidím jako užitečnou pomůcku zamezující chybám už při kompilaci.

786
Vývoj / Re:Zdroje k rozvoji OOP myšlení
« kdy: 24. 08. 2016, 14:11:36 »
To je dost velká divnost. doesNotUnderstand (a to samé v bledě modrém v Javě nebo C#) je vhodné tak pro nějakou proxy, jinak tu už nějaký ten pátek máme statické typování :) ...

Co s tím má společné statické typování?
Hodně, protože zamezí zbytečným stupidním chybám za běhu.
Navzdory tomu, že jsem zapřisáhlý příznivec statického typování - OOP se statickým typováním nesouvisí. A sice si myslím, že je Python díky absenci typován špatný jazyk, ale je to jen otázka volby. Nelze jen tak prohlásit, že díky tomu, že máme jazyky se statickým typováním, tak že všechno ostatní nemůže chtít nikdo používat.
To je ale hodně mimo téma. Diskuse byla o doesNotUnderstand, které mají i některé statické jazyky (Java) a závěr byl, že statické typování je rozumné používat všude, kde to je možné. V případě nutnosti se pak sáhne k zachycení volání a přesměrování, v C# pomocí dynamic, od čehož se tato diskuse rozvinula.

787
Vývoj / Re:Postřehy ohledně architektury JavaScriptu
« kdy: 24. 08. 2016, 13:46:58 »
Ono popravdě, jaké jiné serverové platformy jsou dnes použitelné? Bezestavové PHP? Moloch Java? Widloidní a taky molochoidní C#? Moc toho není, ale bud rád, když se dozvím nějaké další.
Go.

Taky hlasuji pro Go. Dobrá standardní knihovna, v základu skvělý tooling (lint+format, code coverage, testovací fw, dependency management), decentralizované závislosti, cross-kompilace, snadná distribuce (jeden spustitelný soubor), rychlost, čitelný zdroják...

Na druhou stranu psát kód v Go je trochu nuda. O to lépe se ale následně čte a chápe.

(Pro doplnění: živí mě Java, prošel jsem si PHP, Pythonem a JavaScriptem - včetně node, ES6, reactu, coffeescriptu, promises a await/async, všeho toho moderního a zrovna-tenhle-týden-cool)
Ta "nuda" byla záměrem tvůrců Go, jak jeden cca. před rokem obsáhle vysvětlil na konferenci. Nechtěli žádný super fancy jazyk, ale jednoduchý praktický nástroj. Myslím, že se jim to povedlo, Go je hodně rychlé (poráží Javu) a jako server se výkonem blíží nginxu. Záměrně nemá poslední výkřiky IT módy, ale je při zemi a pragmatické.

788
Vývoj / Re:Postřehy ohledně architektury JavaScriptu
« kdy: 24. 08. 2016, 11:47:35 »
...Node.js je pro server-side určitě fajn, pokud už nepoužíváte jinou technologii.

Ono popravdě, jaké jiné serverové platformy jsou dnes použitelné? Bezestavové PHP? Moloch Java? Widloidní a taky molochoidní C#? Moc toho není, ale bud rád, když se dozvím nějaké další.
Go.

789
Vývoj / Re:javascript
« kdy: 24. 08. 2016, 11:13:32 »
...nicméně samotný JS je dost nízkoúrovňový (před ES6)...

To snad nemyslíte vážně...!!!!!

...důležitá je filosofie node.js (callbacky)...

Callbacky jsou jednou z nejproblematičtějších věcí Node.js, kdy strukturováním do funkcí (neboli vývojářem) je řešeno předávání vlákna, které v jiných jazycích řeší různé syncy ap.

...není třeba si s tím lámat hlavu a psát přirozeně, jako v jiných OO jazycích...

To "přirozeně" myslíte jako v Javě a C++, ne? Tak v tom případě je Javascript protipólem těchto dvou jazyků, protože modelování v něm je značně jednoduché.

Kam na ty "rady" chodíte?
1) Myslím.
2) Callbacky jsou všude možně, nejen v JS, a vesměs jde o užitečný koncept.
3) Ne. Přirozeně znamená "idiomaticky", tedy bez různých frajeřinek, rádoby sofistikovaných konstrukcí a kdejakých epicyklů. V tomto exceluje například Go, jiné jazyky poskytují příliš volnosti, což bývá - u méně zkušených - na škodu.

790
Vývoj / Re:javascript
« kdy: 24. 08. 2016, 11:07:25 »
node.js je poměrně zajímavé díky smyčce událostí, nicméně samotný JS je dost nízkoúrovňový (před ES6). Občas je to trochu zmatek, ale "psaní kódu" je jako kdekoliv jinde, důležitá je filosofie node.js (callbacky). Stručně a jasně, není třeba si s tím lámat hlavu a psát přirozeně, jako v jiných OO jazycích. libevent a podobné knihovny jsou beztak napsané v C, takže jdou použít z libovolného jazyka.

Javascript nikdy nebyl moc nízkoúrovňový. Jen mu chyběla a chybí rozsáhlejší standartní knihovna. Namísto callbacků se dají používat i coroutiny.
To jako knihovna pro standarty? K čemu by tam byla?

791
Zdravím,
je mi 16 let a mou vysněnou kariérou je asi programování. Teda ne úplně vysněnou, ale je to jedna z mála profesí, ve které si umím sám sebe představit. Mám pro to i pár vloh - rychle se učím, logické myšlení, matematické nadání a přemýšlivost. Ale chybí mi jedna dost důležitá vlastnost - kreativita. Proto se tedy ptám, má cenu se tím směrem ubírat?
Předem děkuji za všechny rozumné odpovědi a rady. :)
S matematickým nadáním nemá smysl studovat programování, ale třeba aplikovanou matiku nebo fyziku, protože z každého oboru X, jehož základem je matika, se dá snadno přejít ke "computational X".

792
Studium a uplatnění / Re:Jaký programovací jazyk zvolit?
« kdy: 24. 08. 2016, 01:47:04 »
V některých případech tě to může donutit rozdělit metodu, takže se zároveň zbavíš dlouhých metod a docílíš toho, že metoda bude dělat jen jednu věc a pořádně.
Takže jestli to chápu dobře, tak tím, že vyhodím else a nahradím ho extra metodou docílím toho, že metoda bude dělat jen jednu věc a pořádně? To jako vážně?

Tvé zkratky jsou fantastické. Jsem docela rád, že už nejsem začátečník a nemusím se od tebe učit.
Na negativních příkladech se dá taky lecčemus naučit ;)

793
Vývoj / Re:Úplný nováček se chce naučit programovat
« kdy: 24. 08. 2016, 01:43:10 »
No původně jsem se snažil vysvětlit, proč je do začátku OOP blbý, ale stejně těžko dočetl až sem, tak je to jedno :)

Sice jsem dočetl až sem, ale z tvého popisu mi také není jasné, proč je OOP do začátku blbé. Myslíš si, že FP bude pro začátečníka lepší?

Skor mal asi na mysli proceduralne.

Zacat s funkcionalnym by bol celkom zaujimavy experiment. Dotycny by sa mozno oslobodil od put imperativneho programovania. (alebo by skoncil v blazinci) Neviem, nepoznam takeho cloveka.
Vždy jsem si myslel, že FP není v začátcích vhodné, ale byl jsem vyveden z omylu. Nicméně není úplně rozumné začínat monádami :)

794
Vývoj / Re:javascript
« kdy: 23. 08. 2016, 18:56:04 »
Cau - po letech sem si rekl ze se podivam do weboveho sveta - konkretne na javascript & nodejs - a jak se tim svetem tak ubiram tak me prijde v ledascems zajimavy - chtel sem vas poprosit o postrehy ohledne 'architektury' javascriptu - jak ho vlastne spravne pouzivat - (ciste z hlediska javascriptu prosim :) ) Zaujal me cofee script - nicmene nevim jak premyslet nad psanim kodu v necem co vlastne jenom provadi transkripci do js .. a tak :) prosim troly at si daj pohov - konstruktivni technicke prizpevky - diky.

YF
node.js je poměrně zajímavé díky smyčce událostí, nicméně samotný JS je dost nízkoúrovňový (před ES6). Občas je to trochu zmatek, ale "psaní kódu" je jako kdekoliv jinde, důležitá je filosofie node.js (callbacky). Stručně a jasně, není třeba si s tím lámat hlavu a psát přirozeně, jako v jiných OO jazycích. libevent a podobné knihovny jsou beztak napsané v C, takže jdou použít z libovolného jazyka.

795
Vývoj / Re:C++ - jak to lze udělat lépe?
« kdy: 23. 08. 2016, 12:33:01 »
zboj: nijak jsi mi neporadil, a tvůj názor je subjektivní, pokud nemáš nic k věci, už sem prosím nepiš
To není názor a není subjektivní, to je základní pravidlo, které ti buď někdo řekne, nebo se ho bolestně naučíš za chodu. Jak píše kolega výše, ten kód je otřesný, u zkoušky na VŠ bys neprošel, chce to nejdříve se C++ aspoň trochu naučit, než v něm budeš něco psát, takto jen ztrácíš čas svůj i těch, co s tím kódem budou mít kdy do činění. Máš jen dvě možnosti, buď to cele přepíšeš od nuly tak, aby to aspoň na první pohled vypadalo jako rozumný kód v C++, nebo - což je mnohem lepší volba - si pořídíš nějakou elementární knihu o C++ a naučíš se aspoň základy, než se znovu o něco pokusíš.

Stran: 1 ... 51 52 [53] 54 55 ... 101