Diskuze: void *
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 42 zpráv z 42.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
A co zkusit
sizeof(void*)
EDIT: Mimochodem void* je pointer, který může ukazovat na jakýkoliv jiný datový pointer
Stěžoval sis, že nemůžeš dělat tohle.
sm->list = malloc(sm->size*sizeof(void));
Tak třeba tam ti to pomůže.
aha, myslel som ze rreagujes na ten scanf.. ako som uz pisal tak toto mam vyriesene
dobre tak mi teda ostava uz len posledna vec, ako vypisat data ulozene vo void* ak netusim ci je tam int, char alebo double?
Jedině přetypováním na pointer konkrétního typu, dereferencováním a odpovídajícím printfem. Jinak to dost dobře nepůjde, protože ten pointer sám neví, co v něm je. To je na programátorovi. Ty jedině můžeš implementovat funkci na výpis fronty, která bude přijímat pointer na funkci, kterou budeš vypisovat daný typ.
Nebo si můžeš vypsat jeho adresu. Ale to ti asi k ničemu není ...
Vždycky musíš vědět, co tam je uložené za typ, jinak ty data nebudou dávat žádný smysl.. Pokud to programátor neví při kompilaci, tak se typicky přidává další proměnná, která bude obsahovat informaci o typu.
A ne, void * opravdu univerzální typ není (toto je typovaný jazyk, ne PHP nebo JS).. Je to ukazatel na "něco".
David za mňa máš mínus. Vyjadruješ sa k veciam ktorým nerozumieš. JS je totiž tiež "typovaný jazyk".
Každý jazyk je typovaný. Záleží na tom, jestli staticky nebo dynamicky
a jestli silně nebo slabě
David myslel určitě staticky typovaný, napsal to zkráceně.
Napísať "(toto je typovaný jazyk, ne PHP nebo JS)" je vyjadrenie v zmysle, že JS má nedostatok, lebo nemá dátové typy. Preto ten mínus, lebo je to vyjadrenie mätúce začiatočníkov, keďže JS samozrejme dátové typy má.
JS nie je "weak typed", nie je "loosely typed" a už vôbec nie "untyped" jazyk. Je to dynamicky typovaný jazyk. To nie je žiadny nedostatok - to je zámer. Je to jazyk ktorý sa rozhodol pre dynamický prístup, to znamená jazyk, v ktorom je dôležitejší typ priradzovanej hodnoty, ako typ premennej - za účelom väčšej flexibility. To je celé. A mimochodom, on je to vlastne novší, modernejší prístup...
Navyše, mne sa osobne ten prístup páči viac, lebo si treba uvedomiť, že či staticky, či dynamicky typovaný jazyk, oba si tak či tak musia počas behu strážiť vstupy - testovať typ vstupnej hodnoty. Čiže počas behu programu sú si oba typy jazykov beztak prakticky rovnocenné. Tak načo sú mi statické typy, to beriem radšej tú väčšiu flexibilitu...
Statické typy umožňují například lepší analýzu kódu. Ono je sice pěkné, že můžeš na objektu zavolat libovolnou metodu, ale zase to omezuje pomoc od IDE, protože ta proměnná může být cokoliv.
Pokud máš staticky typovaný jazyk, tak víš, kolik budou typy zabírat na zásobníku anebo můžeš rovnou použít registr CPU pro uložení hodnoty. Při dynamickém typovaní můžeš mít v proměnné cokoliv a nemůžeš dělat takové optimalizace, navíc musíš pořád ukládat, co je v té proměnné za typ.
Pro dynamicky typovaný jazyk musíš napřed mít interpreter, který je stejně zkompilovaný do strojového kódu. Staticky typovaný můžeš přeložit do strojového kódu rovnou.
Předpokládal jsem, že je z kontextu jasné, o čem mluvím.. Obzvláště, když hned v příspěvku nad citovaným zmiňuji nutnost typu - bez něj data nedávají smysl. Každopádně si docela troufáš, když posuzuješ úroveň porozumění věci podle dvou vět.
Co se týče obou přístupů, tak každý má své uplatnění.. Dynamicky typované se hodí především pro jednoduché skripty na jedno použití.. Staticky typované jazyky jsou v zásadě nutností, pokud potřebuje člověk robustní a spolehlivý kód - i proto se stále používá ADA.
Tím neříkám, že se nedá napsat robustní kód v JS nebo PHP, jen je to poněkud obtížnější - chybí pomoc kompilátoru a statické kontroly. Jiné výhody tu již byly zmíněny - dynamičnost jazyka je problém hlavně z pohledu výkonu (podobně je nepoužitelné OOP, pokud chce člověk vysoký výkon).
Za sebe rozhodně preferuji staticky typované jazyky bez VM (tj. např. C) pro normální práci, ale nepohrdnu skriptovacími, když potřebuji něco rychle udělat.
A i v tom dynamickém JS či PHP časem vznikají snahy, kdy typy dáváš do
komentáře, aby ti s tím IDE atp. hezky pracovalo. To prostě chceš. To raději duck typing v
TypeScriptu a podobných snahách zlepšit tyto jazyky.
https://stackoverflow.com/…ped-language
Doporučuju si něco z toho pročíst, jsou tam hodně zajímavý informace a odkazy, které mimo jiné vyvrací většinu toho, co tvrdíš.
Taký argument má tiež svoj "dátový typ", konkrétne "cherry picking".
Jediné PRESNÉ označenie v tomto kontexte je, že JavaScript je dynamicky typovaný jazyk. Najbližšie má k tomuto ešte označenie "weak typed", ale to už je nepresné, príliš všeobecné, v konečnom dôsledku takmer nič nehovoriace označenie na spôsob - čiže má dátové typy, ale pristupuje k ním"weak" spôsobom? A "weak" v akom zmysle??
Dynamicky typovaný a padla. Zvyšok sú hračky so slovíčkami, mudrovanie, a pod. - sr**ky pre rádoby hipsterov. Neexistuje žiadny"duck typing", "untyped" je naprosto zavádzajúce označenie ktoré nemá nič spoločné s realitou, "loosely typed" je len nepresný výraz pre iný nepresný výraz, atď.
Nie, nechcem. Nechcem ďalší transpilačný, zdržujúci krok, ktorý mi navyše za behu programu nie je naprosto nič platný. Chcem JS používať tak, ako bol myslený, bez prekrucovania ho na niečo iné z dôvodu vlastnej neznalosti / neochoty / ignorantstva / cool faktoru / vlastný pochybný dôvod - dosaď si svoj dôvod kto toto čítaš.
A můžu se tě teda zeptat jestli bys mi ke svým tvrzením mohl dodat nějaké podklady? Napsal jsi nějaké akademické články na toto téma? Nebo vycházíš z nějakého takového článku?
Tohle je hrozně fajn a všecko, ale jsou to zatím jenom tvoje názory. Já bych chtěl vidět tenhle názor pokrytý nějakým teoretickým modelem.
Něco jako zmiňovaná programming theory atd.
Víš ony ty pojmy, které nazýváš sra**ani mají kolem sebe celé definice a
teorie. Bohaté materiály. A navdzory tomu, že existuje vícero a některé i
velmi nekvalitní výklady, nic to nemění na tom, že tvoje argumenty jsou
zatím ve stádiu invalid, čekám na zdroj.
Jak byl JS míněný? A míněný kým Brandonem když hodně před 23 roky psal? To doufám snad ne.
**Strong typed vs weak (loose) typed
**
These terms do not have a precise definition. A number of different language design decisions have been referred to as evidence of "strong" or "weak" typing. In fact, many of these are more accurately understood as the presence or absence of type safety, memory safety, static type-checking, or dynamic type-checking.
Duck typing
Use of the term "duck typing" has been considered superfluous in light of the fact that other terms, such as dynamic binding, express the concept more clearly.
Děkuju taky si umím přečíst Wikipedii. Já čekám na doklad tvrzení, že jsou to hipster sra**y a tvrzení že nic jako untyped neexistuje atd.
Edit
Děkuju taky si umím přečíst Wikipedii. Já čekám na doklad tvrzení, že
jsou to hipster sra**y a tvrzení že nic jako untyped neexistuje atd.
Sorry že untyped je zavádějící a nemá nic společného s realitou
Prostě čekám na předvedení autority se kterou tyhle agresivně silný tvrzení rozhazuješ jak zrní slepicím.
Neskúšaj na mňa tvoje sr** ky s prekrúcaním - ja som napísal "untyped je naprosto zavádzajúce označenie (pre JS - dodávam, keďže Ti zjavne uniká kontext) ktoré nemá nič spoločné s realitou" a nie, že neexistuje, či nemá zmysel výraz untyped.
A wiki ti bolo treba strčiť doslova pod nos, lebo možno čítať vieš, ale objektívnej informácie z objektívneho zdroja sa dopátrať zjavne sám nedokážeš - tipujem, že následkom svojej zúfalej snahy nájsť akurát tak akýkoľvek protiargument, a nie objektívny argument.
Navyše si naprosto smiešny, keď ma vyzveš o citáciu cudzieho zdroja a následne ma úboho skúsiš obviniť z ... citácie cudzieho zdroja...
A keďže sa tu takýto trapas od redaktora nedeje prvý krát, už fakt začínam mať pocit, že tí, čo by mali jadrom tohoto webu, sú akurát tak jeho najväčším failom.
Vladislave ocenil bych, kdyby ses ke me choval slusne alespon tolik, jako se
ja chovam k tobe. Sam sebe chovam az prilis ve velke ucte aby mi nekdo,
kdokoliv, rikal, ze "zkousim sra**ky".
Nicmene ja to jeste jednou rozeberu, abys vedel, ze puvodne (a dovolil bych si
rict i v prubehu), jsem vubec nesel proti tobe. Pokud mas proste jen blbej den,
dokazu pochopit, ze te moje reakce rozcilili, ale za normalni tvoje chovani teda
nepovazuju.
Ja jsem se o zadne prekrucovani nepokusil - velmi brzy jsem se opravil a chyba vznikla opravdu omylem. Kontext mi opravdu neunika, tim jsem si vic nez jistej.
Posuzovani co bylo nebo nebylo nutne mi strcit pod nos, jestli umim nebo neumim cist a objektivne prijimat informace, neni vubec na tobe a vyprosil bych si tohleto agresivni vymezovani - v pravidlech slusneho chovani a diskutovani je tohle podpasovka na diskvalifikaci - nemas napadat protivniho, ale jeho argumenty. Citace z WIKI prosim neni zdroj, ktery jsem si vyzadal. Ja jsem rekl jasne: Akademicky clanek. Tim jsem myslel napriklad speficikaci typovaciho systemu napriklad pro JS, nebo cokoliv co bys sam uznal za vhodne a relevantni.
Ohledne protiargumentu, ja bych te chtel naprosto ubezpecit, ze ja se nesnazim hledat argumenty proti tobe, tvuj nazor je tvuj nazor, mas na nej naprosty pravo a me uprimne nezajima, co si kdo mysli o typovacim systemu JSka, dokud to nebude muj zkousejici u zkousky nebo protistrana u pohovoru a i tak me to zajima jen hodne omezene. Takze spis nez protiargument, ja po tobe chtel podlozeni TVEHO silneho argumentovani. Na tuhle sit chodi spousta novacku, nemuzes tu jen tak rozhazovat nazory a ocekavat, ze te nikdo nebude vyvolavat k podlozeni.
Opet - zdrz se prosim urazek na mou osobu, jde to i bez toho, dokazem ti budiz moje vyjadrovani - nikoho nenapadam, nikoho neshazuju, nikomu tim neprospejes. Opet opakuju, vyzval jsem te k dolozeni tvrzeni, ze neco je ***, nevyzval jsem te k tomu, abys mi vysvetlil, co je termin A, B, nebo C.
A ted neco mimo tema Vladislave - jestli mas problem s tim, co ti rikam, muzes mi napsat soukromou zpravu, moc rad si s tebou pokecam o cemkoliv, muzes mi verit, ze vest dizkuze umim, respektuju protistranu a jsem fer a bude to asi i lepsi, takhle clovek sem tam opomene zduraznit nejakou okolnost, kontext, duvod, proc si neco mysli, v chatu na to bude prostoru neomezene, ale upozornuju te, v mem chatu se budes muset projevovat jako slusnej clovek, ne mi rikat, ze melu sra**y, na to sem hodne hodne hodne haklivej.
BTW - redaktori jsou uplne obycejny lidi. Nejsem zadny jadro tehle komunity. Jako redaktor ani jako sefredaktor nepatrim do teamu co tenhle system provozuje. Jadrem tehle komunity jsou lide. Z tohohle pohledu se nijak nelisim ja, ty, dalsi diskutujici, redaktori, ctenari. Pokud mas opakovane pocit, ze nekdo, kdo je stejne jako ty pravoplatnym clenem tehle komunity (necham stranou, ze redaktori jsou prinosem z hlediska tvorby obsahu), mel by ses na to divat tak, ze mas neshody s proste jen dalsim clovekem, ja opravdu nejsem placenej za existenci na tyhle siti, nemam vuci tehle komunite zadnou zopovednost vetsi, nez si urcim sam. Takze na to pozor - protoze kdyz napadas me, nenapadas tuhle sit, ale me jako cloveka, me jako jedince, kterej ma svoje pravo na nazor a pritomnost na tehle siti, napadas moje pravo na to, projevovat tu svuj nazor a vyuzivas k tomu stejne pravo - pravo vyjadrovat tvuj nazor. Myslim, ze je jasny kam tim mirim.
Diskusia utlmená...
Jop, chápem. Kto už by sa len chcel chváliť redaktorom, ktorí si dovolí ješitné trapasy v zmysle "ty nie si autorita, uveď autoritu" a následne "necituj autoritu".
Radšej nemyslieť na kvalitu vášich školení JS, keď miesto hľadania spôsobu ako ho čo najjednoduchšie a najzrozumiteľnejšie vysvetliť, hľadáte akurát tak dôvody ako ten jazyk dehonestovať. Aj to len z dôvodu vlastnej obmedzenosti, ignorantstva a malosti, v snahe všetkým ukázať akí ste veľkí programátori, "lebo vy robíte v sí šarp a JS (spomínam si aj na vyjadrenia, že aj Java) nie sú žiadne programovacie jazyky"!
Jak ubohé...
Tak dobre, kdyz teda takhle tak takhle:
Vladislave, ja nemam se skolenima JSka nic spolecneho. Kdybys nebyl takovej
ignorant ignorantska, koukl by ses na muj profil a nasel odkaz na github, 90%
vsech projektu je psano v JS. V JS pisu uz nekolik let a je to jazyk, kterej mi
vydelava penize - takze se zivim programovanim v JS. Ja jsem NIKDY tady na tehle
siti, nerekl krive slovo proti JS. A z tvym neustalych vypadu a podpasovek mam
pocit, ze ty ses proste ublizenej a chces kopat do vsech kolem, tak to sis ale
vybral spatnyho cloveka, ja nemam s duvodem tveho ublizeni nic spolecneho.
K autorite - Vladislave, kdyz nekde, kdekoliv na svete, kdekoliv ever, reknes, A
je sra*ka, tak te pozadam, abys dolozil, z jake autority to rikas. Dokud se
budes chovat slusne, respektuju tvuj nazor, rozumis mi cesky? RESPEKTUJU a
nebudu ti ho nijak zpochybnovat! Ale kdyz o necem reknes ze to je SRACKA, tak te
slusne pozadam o podlozeni, pochopeno? A jeste jednou a se zopakuju, WIKIPEDIE
pro me NENI touhle autoritou, ktera by te ospravedlnovala o necem rict, ze je to
to sracka.
Pochopeno? Jako uz dlouho jsem nezazil nekoho, kdo by me proste chtel za kazdou cenu dat po drzce, at to stoji co to stoji.
Áno, je mi jasné kam tým mieriš. Vykrútiť sa zo svojho ofenzívneho prístupu ku komukoľvek, v kom vidíš čo len náznak hrozby voči svojej doméne.
Ale už ma fakt začínaš nudiť. OK, tak si tu jediný SKUTOČNÝ PROGRAMÁTOR, pracuješ v JEDINOM PRAVOM JAZYKU. Ja sa už nemienim zahadzovať s bársjakým ignorantom.
Vladislave ty a hrozba vuci moji domene? A co je moje domena?
Diky.
Vzdy pro me byl JS dynamicky typovany.
K tomu navic nektere operace se chovaji tak, ze bych je popsal weak
napriklad
"123" - 1
(( strong by pro me bylo, ze operator substrakce vyzaduje operandy typu numeric, nicmene to v JS neni, nevyzaduje, on si je pretypuje, strong je pro me haskel, nebo rust ))
pro me tyhle dve veci nepatrej do stejnyho pytle. Nerikaji tu samou nebo opacnou vec.
Je to jako kdyz reknu, tohle auto je rychly a taky cerveny.
Takhle to citim a vzdycky sem citil.
Me vadila uplne jina vec a to s jakou jistotou, jsi neco okamzite zmuchlal a zahodil do kose. Protoze duck typing sice neni uplne rigidni termin, ale nekdy umoznujou tyhle volny terminy pohodlne popsat neco cloveku, kterej vi o cem mluvis, bez toho abys kolem toho deset minut klickoval nebo na to musel vytvorit a zavest celej teorem.
EDIT: Proc vlastne pozadujes neco jako DYNAMIC nebo WEAK (exkluzivne), proc nemuze bejt JS oboje? Vzdyt se to nevylucuje, oboje znamena neco jineho.
Nezaujíma ma, ako to citíš. Lebo keď som sa ja vyjadril ako a prečo to cítim ja, zhodil si moje argumenty zo stola spôsobom z ktorého si následne navyše obvinil mňa.
Preto mi napíš priamo, bez vytáčok, odpoveď na prvú otázku, či to je, alebo nie je najpresnejšie možné označenie. Teraz ma tá odpoveď zaujíma o to viac, že si miesto priamej odpovede na tú otázku uviedol v konečnom dôsledku dôkaz, že je v tom bordel a o to viac si to zasluhuje čo najpresnejšie a najobjektívnejšie vysvetlenie.
Takže prečítaj si tu otázku znovu a napíš priamu odpoveď - áno, je to najpresnejšie možné označenie / nie, nie je to najpresnejšie možné označenie lebo weak / loosely typed je presnejšie.
OK, EDIT AJ JA
Lebo keď si bude každý zavádzať vlastné termíny, nikam sa nedostaneme.
Tak to totiž funguje teraz a tak to aj vyzerá. A ja sa nebavím o exkluzivite
- na to by najskôr musel byť weak / losely typed rovnako plnohodnotný termín
ako dynamic typed - a to teda fakt nie je a uviedol som referenciu. Ak je to
však len o tom, že proste z akéhokoľvek osobného dôvodu odmietaš
pripustiť, že mám pravdu a priamo to napísať, neplytvaj mojím časom
hraním sa na objektívnu dsikusiu a pokojne to uzavrime ako len chceš
Upřímně, já vždycky myslel že JS je oboje. Dynamicky a weak typed.
Dynamicky protože se typ odvozuje podle hodnoty co do proměnné
vložíš.
Weak proto, protože ti dovolí odečítat string a numeric.
Jestli se ti odpověď nelíbí, je mi líto. Nic lepšího na skladě nemám a budeš se s tím muset smířit.
Ak ignoruješ moju snahu o debordelizáciu témy a ignoruješ za tým účelom uvedené objektívne argumenty a miesto toho si trváš na vymyslenom termíne tam, kde patrí termín implicitné pretypovanie, coercion, čokoľvek len nie vágny pseudotermín weak, a ešte to aj pokladáš za dôkaz, že je to "weak", tak si si sám živým dôkazom, že s tebou nemá zmysel diskutovať.
Uzavriem to už len článkom prečo nikdy nepoužijem ani výraz duck typing. Pouč, alebo nechaj tak a pokojne nasleduj stádo operovaním so svojimi cool výrazmi kvôli ktorým iste pôsobíš prudko zasvetene...
Myslím, že jsem konečně pochopil co máš na mysli.
Takže tobě vadí nicneříkající netermin weak, radši bys používal
termíny výše tebou uvedené. Ok máš pravdu, přiznám na rovinu, že jsem
nevěděl, že celou dobu mluvíme jen o tomhle. A teď je to docela vtipný,
protože já mluvil o něčem ty o něčem jiném.
Jop, to co říkáš dává smysl a souhlasím s tím. Pokud jsem dobře pochopil co říkáš.
Asi bychom oba měli zapracovat na lepším vyjadřování.
A o čo myslíš, že sa celý čas snažím, keď nie o lepšie vyjadrovanie
skrz čo najpresnejšie pomenovávanie vecí? Áno, už si ma pochopil,
zakopávam vojnovú sekeru, howgh!
LOL. Chudák OP
Zobrazeno 42 zpráv z 42.