abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 2
    dnes 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 1
    včera 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    včera 15:11 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | IT novinky

    Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Zajímavý článek

    Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.

    Ladislav Hagara | Komentářů: 28
    včera 04:44 | Nová verze

    Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (66%)
     (11%)
     (2%)
     (21%)
    Celkem 521 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Aký jazyk bez pointrov

    8.11.2010 20:33 Mystic Playboy
    Aký jazyk bez pointrov
    Přečteno: 1521×
    Poradte nejaký programovací jazyk bez pointrov. Celkom sa mi pozdáva u++, tam sa vo väčšine dá pointrom vyhnúť. Celý nápad s pointrami je nielen podľa mňa nepotrebná blbosť, ktorá je hlavným zdrojom chýb. To musel vymyslieť fakt blbec :)

    Řešení dotazu:


    Odpovědi

    clayman avatar 8.11.2010 20:49 clayman | skóre: 13 | Praha 6
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov

    Proč zrovna u++? Dodnes jsem o něm neslyšel a když se dívám, co vlastně je, to u++, zjišťuju, že to není programovací jazyk, ale jen framework, beztak v C++ napsaný. Pokud už chceš bezpointerový jazyk, zkus jazyky jako Java, C# nebo skriptovací jazyky jako Python.

    A jen tak mimochodem -- existuje spousta postupů a knihoven, kterými lze pointer v C++ zabalit tak, že se vůbec nemusíš starat o dealokaci, stačí jen použít new, když vytváříš objekt smart pointeru a máš vystaráno.

    8.11.2010 21:59 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Python sa mi tiež celkom pozdáva a zatiaľ aj víťazí :) Naozaj sa v ňom dá tvoriť bez potreby pointrov?
    clayman avatar 9.11.2010 07:26 clayman | skóre: 13 | Praha 6
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Python žádné pointery nezná, v životě tam nepoužiješ new nebo delete, všechno jsou to reference. Myslím, že do budoucna je to určitě lepší investice než učit se nějaký obskurní framework.
    ________________ avatar 19.11.2010 21:43 ________________ | skóre: 5 | blog: _
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ale veď v C++ smerníky používať nemusíš. Python patrí k základným programátorským znalostiam mal by ho ovládať každý programátor ako vedľajší jazyk na také domáce skriptovanie (ovláda ho dokonca aj moja mama) je to pekný jazyk ale oblasť jeho využitia je omnoho užšia ako oblasť využitia C++ a taktiež rýchlosť je niekde inde.
    9.11.2010 16:09 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Taz zrovna Java ukazatele ma (pouzivaji se pri odkazovani na objekty), to co v Jave neni je ukazatelova aritmetika podobna te v cecku (referenci a dereferenci operator a pod.).
    There is no point in being so cool in a cold world.
    clayman avatar 10.11.2010 10:15 clayman | skóre: 13 | Praha 6
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Z hlediska jazyka se programátor o nějaké pointery starat nemusí, o to mi šlo. Vzato doslova, pointery má kdesi uvnitř i Python, ale při psaní v něm na ně taky nenarazíš.
    11.11.2010 21:47 jehovista
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    neni to prave rozdil mezi pointerem a "referenci"?
    8.11.2010 20:58 mato
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    tvoj prispevok mi pride ako spam, nie ako pomoc o radu

    jazyk bez pointrov .. na vyber mas dost .. assembler, basic, c#, java .. je ich hoodne

    btw. hlavnym zdrojom chyb je programator, nie programovaci jazyk

    8.11.2010 22:12 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Neviem prečo spam, keď sa táto téma preberá minimálne a je problém nájsť uspokojivú odpoveď. To že pointre tvoria prevažnú časť chýb v kóde je štatistický fakt. Poďalšie, hneď ako prvý uvádzaš Asembler, však to je samí pointer :) Je pravda ale že trochu inak, pred rokmi som v ňom napísal prehrávač wav súborov :)
    9.11.2010 12:50 mato
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    hm, keby si nepovedal, ze pointer je "nepotrebná blbosť", tak by sa dalo v celku bavit rozumne

    assembler pointer ako taky nepozna, aj "int i" je len pomenovanie nejakej adresy

    vystizne to napisal freon - ak nevies pochopit vyznam pointrov, tak radsej neprogramuj vobec .. nenapisal si, co chces vlastne kodit .. mozes pouzit C# alebo javu, pripadne /asi/ akykolvek vyssi programovaci jazyk, ktory ma svoj garbage collector a pod.

    9.11.2010 14:05 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Pointre sú úplne primitívne ukazatele do pamete na objekty, premenné ... čo an tom nemám chápať. Štýl zápisu zneprehľadňuje kód, preto je aj hlavnou príčinou chýb. Koncept je starý x rokov, z dôb keď to malo opodstatnenie a neexistovala správa pamäte. Buď si istý, že pri najbližšom páde nejakej aplikácie si spomeneš na tieto slová :) A nehrajte sa tu na urazené pointrové slečinky :)
    9.11.2010 16:38 mato
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    sa sam cudujem, ze este odpovedam na tento thread, snad uz len jedna vec:
    si myslis, ze vyssie programovacie jazyky vo svojej implementacii nepouzivaju pointre ? to ze ich ty nevidis este neznamena, ze tam nie su .. akorat schopni programatori odrobili pracu za teba, ktory ma s tym problem .. na tom tiez nie je nic zle, ale nema nic spolocne s vekom a uz vobec nie s jeho (ne)opodstatnenim

    alternativne jazyky ti tu uz spomenuli viaceri

    10.11.2010 16:05 bodo
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Offtopic. Schopnejsi :), nebudes predsa na par okienkovu aplikaciu pouzivat c alebo c++, to je delo na vrabca :).
    9.11.2010 14:35 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    To že pointre tvoria prevažnú časť chýb v kóde je štatistický fakt.

    To není fakt, to je nesmysl. Chybu nedělá pointer, chybu dělá programátor.

    9.11.2010 14:43 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Tak si tam doplňte práce s, puntičkář je uspokojen a význam nezměněn :-) Já jsem nikdy žádnou statistiku na tohle téma neviděl, ale odhaduju, že to vůbec nebude daleko od pravdy (zvlášť když se započítá ukazatelová aritmetika).
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.11.2010 15:35 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Kdybych měl hádat, tak bych spíš tipoval neinicializované proměnné, buffer overflow a nedostatečnou kontrolu vstupních dat. Tedy pokud bereme jen takové chyby, kdy se program přeloží, ale nefunguje (jinak jednoznačně překlepy).
    9.11.2010 17:04 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    To pravda. Kontrola vstupů je žalostně opomíjená záležitost.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.11.2010 18:35 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ještě jsem zapomněl na ignorování (netestování) chybových stavů při volání knihovních funkcí, to je taky horký favorit.
    10.11.2010 00:12 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    No, možná by stálo za to rozlišit dvě věci: chyby způsobené tím, že je programátor prase, a chyby způsobené tím, že určitá programovací konstrukce je na chyby náchylná. Kontrola chybových stavů (mezi které patří i kontrola vstupů) patří jednoznačně do té první kategorie, off-by-one chyby, špatné použití ukazatelové aritmetiky apod. do té druhé. Hádám, že ta je tím, co měl původní autor na mysli, i když souhlasím, že ta první je výrazně důležitější a asi i častější (a programovacím jazykem neřešitelnější).
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    8.11.2010 21:42 sivlk | skóre: 15 | blog: sivlk
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    jazyk go, vyzerá dobre, má podporu google (zatiaľ)
    8.11.2010 21:52 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Seš si jistý, že v Go nejsou ukazatele? :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    8.11.2010 21:57 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Pokiaľ viem je to jedna s killer fjučúr "go", možno sa dajú aplikovať, ale určite to nieje potrebné.
    8.11.2010 21:59 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    No, Go opravdu na spoustě míst usnadňuje práci s ukazateli (bože! Konečně rozumná pole a řetězce!), ale rozhodně se jich nezbavuje.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    8.11.2010 22:03 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ladicek môžeš mi to nejak objasniť, prečo je v "go" nutné používať pointre? Fakt ma to zaujíma, prv než sa do niečoho pustím.
    8.11.2010 22:14 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Prostě proto, že v tom jazyce jsou :-) a spousta kódu s nimi počítá. Třeba standardní knihovna. Není tam ale ukazatelová aritmetika, takže to nebude tak hrozné.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    8.11.2010 21:55 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Go poznám z počutia, má sním niekto aj praktické skúsenosti.
    8.11.2010 21:55 JS
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    8.11.2010 22:58 Magog | skóre: 6
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Řešení 3× (martyone, vlastagf, Jan Drábek)
    frEon avatar 9.11.2010 02:02 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    jestli si myslis, ze ukazatele vymyslel blbec, pak se radsi na programovani vykasli.
    Talking about music is like dancing to architecture.
    frEon avatar 9.11.2010 02:03 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    ted mi to doslo, ty se snazis o flame, co?
    Talking about music is like dancing to architecture.
    9.11.2010 06:59 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Pýtam sa jasnú otázku s vysvetlením prečo to chcem a ty tu zavalíš výbornú radu. Na ten tvoj prvý koment je škoda vôbec reagovať. Aaaaa teraz som zbadal čas 02:03, to naštve keď ti zavrú hospodu.
    Řešení 2× (vlastagf, Mrkva)
    9.11.2010 08:31 jekub
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    9.11.2010 09:21 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    V tomto by mali napísať HURD, už by bol hotový :)
    Řešení 1× (martyone)
    9.11.2010 13:31 Milan
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ak si myslis ze pointre vymyslel blbec, tak to fakt ani neprogramuj.
    9.11.2010 13:53 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Tak to mi objasni bližšie. Alebo to je len blbá poznámka niekoho čo nevidí ďalej od nosa?
    9.11.2010 14:04 David
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ja si bohuzel tez nemuzu pomoct,pointery znacne zrychluji beh programu,nechapu tvrzeni o tom, ze je vymyslel blbec....
    9.11.2010 14:09 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    To je pravda a keď pred x rokmi bola technika tam kde bola som náročné časti kódu písal v Asemblery. Dnes je technika na inej úrovni a prioritami sú bezproblémový chod a rýchly vývoj.
    9.11.2010 14:59 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Takže ve skutečnosti nechcete jazyk bez pointerů, ale jazyk s automatickou správou paměti (garbage collectorem)?
    9.11.2010 16:32 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Nie.
    Kto niekedy počul o Mirekovi Fídlerovi dovolím si niekoľko citácií.
    To v praxi znamená, že do STL kontejneru je možné efektivně ukládat fundamentální typy, možná ještě tak řetězce a pár dalších jednoduchých typů. Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.
    Náš názor je ten, že tento způsob řešení je zcela hloupý - vnáší zbytečný zmatek do všech rozhraní i implementací (jaký ukazatel má funkce vracet, chytrý, nebo normální?)
    Správa paměti je implementační detail, na úrovni rozhraní nemá co dělat.

    delete je nízkoúrovňová operace, které by se měla používat co nejméně.

    new má legitimní použití pouze ve velice speciálních případech, většinou souvisejících s polymorfií.

    Chytré sdílené ukazatele jsou to nejhorší, co mohlo C++ potkat.
    Výňatky zrovna nespomínajú priamo chyby, ale nech si z toho každý zoberie čo chce.

    Mám pocit že na tomto servery je 20% ľudí čo nerobia nič iné, len chytajú ostatných v diskuziách za slovíčka. Horšie je že sa to stále zhoršuje.
    9.11.2010 16:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    V těch citacích se ale píše právě o automatické správě paměti.

    Za slovíčka vás nechytám, jenom si upřímně nedovedu představit, co vy myslíte pojmem „jazyk bez pointerů“. Pointer chápu jako ukazatel na místo, kde jsou uložená nějaká data – takže podle mne kterýkoli jazyk, který zpracovává data, musí nějakým způsobem obsahovat pointery. Předpokládám, že vy tedy „jazykem bez pointerů“ myslíte něco jiného – napadají mne dvě varianty, jazyk bez pointerové aritmetiky nebo jazyk/prostředí s automatickou správou paměti.
    9.11.2010 17:03 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Už se to tu objevilo nejmíň podruhé, takže mi to nedá…
    1. Pointer je totéž co ukazatel. Kdokoli píšete "pointer je", nahraďte si slovo pointer slovem ukazatel. Ono totiž "ukazatel je ukazatel" není tvrzení příliš nabité informacemi.
    2. Pointer není totéž co reference. Java, C# (kromě unsafe kódu), Python, Ruby apod. mají reference, ale nemají ukazatele. (Jenom co poznámka: významem ukazatele je adresa (přibližně). Významem reference je to, co je na té adrese.)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.11.2010 17:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Pointer je totéž co ukazatel. Kdokoli píšete "pointer je", nahraďte si slovo pointer slovem ukazatel. Ono totiž "ukazatel je ukazatel" není tvrzení příliš nabité informacemi.
    Hledat nějaké tvrzení v polovině věty nedává moc smysl, bývá užitečné aspoň větu dočíst do konce. Rozcvičku „jak nadefinovat slovo ukazatel bez použití slova ukazatel“ si klidně udělejte, myslím ale, že tvrzení „ukazatel je ukazatel na místo v paměti“ každý rozumí.
    Pointer není totéž co reference. Java, C# (kromě unsafe kódu), Python, Ruby apod. mají reference, ale nemají ukazatele. (Jenom co poznámka: významem ukazatele je adresa (přibližně). Významem reference je to, co je na té adrese.)
    To vaše odlišení je hodně neprůhledné, ale předpokládám, že podstatou je, že reference ukazují (ukazatel ukazuje…) na data, o kterých ale nevím, jakým způsobem jsou uložena, zatímco pointer ukazuje na data, o kterých ale zároveň vím, že jsou uložena v nějakém bloku bajtů, a já můžu pracovat i s touto nižší úrovní pohledu – mám tedy k dispozici pointerovou aritmetiku. Abych se vyhnul takovémuhle vysvětlování, použil jsme jen pojem „pointerová aritmetika“, který je pro tazatele snad srozumitelnější. Zároveň si nemyslím, že pointerová aritmetika je to, co tazatele trápí, protože úplně stejné chyby, jako u pointerové aritmetiky, mohou vznikat při jiných způsobech převádění mezi datovou strukturou a blokem bajtů (třeba práce se soubory nebo síťová komunikace).
    9.11.2010 17:47 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Java ma ukazatele, i kdyz jim tak nerika.
    There is no point in being so cool in a cold world.
    9.11.2010 17:56 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ano, všechny parametry v Javě se předávají hodnotou, ano, reference jsou implementovány použitím ukazatelů, ne, reference nejsou ukazatele. Jak z takové javovské reference získáte tu adresu v paměti? (Nápověda: nezískáte, a ona se dokonce v čase mění!)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.11.2010 18:13 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ano, všechny parametry v Javě se předávají hodnotou, ano, reference jsou implementovány použitím ukazatelů
    Tak ciste formalne vzato, reference nemohou byt implementovany pomoci ukazatelu. To ze se tomu tak v Jave rika je druha vec.
    ne, reference nejsou ukazatele.
    Na tom se shodneme, reference vazne ukazatele nejsou :)
    Jak z takové javovské reference získáte tu adresu v paměti? (Nápověda: nezískáte, a ona se dokonce v čase mění!)
    Nijak. V Jave neni ukazatelova aritmetika, ktera by to umoznovala. Ale tento drobny nedostatek z toho porad formalne nedela referenci (coz je v podstate druhe jmeno pro nejakou promenou). Krom toho adresa kam ukazatel ukazuje se menit prave ze muze, zatimco u reference to neplati.

    Jde mi o tohle: i kdyz se v Jave pouziva pojem reference, jejich semantika odpovida ukazatelum. Nepritomnost ukazatelova aritmetiky na to nema vliv. Na druhou stanu to neznamena, ze by kvuli tomu Java programatori meli misto slova 'reference' zacit pouzivat 'ukazatel', akorat by se navzajem matli. Ovsem pokud mluvime o jazycich obecne a budeme je porovnavat, prijde mi lepsi drzet se nejake spolecne definice, at to porovnani ma smysl.
    There is no point in being so cool in a cold world.
    9.11.2010 18:29 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Tak čistě formálně vzato asi každý používáme jiné definice :-) Pokud se dobře pamatuju, tak třeba Programming Language Pragmatics taky tvrdí, že reference je "lepší ukazatel" (velký uvozovky). Můžete dát link na nějaké jiné zdroje?
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.11.2010 19:33 marbu | skóre: 31 | blog: hromada | Brno
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Pravda :) Definici, co pouzivam odpovida te, co je uvedena v odkazu, ktery jsem drive uvadel:
    In programming language design, a "pointer" is a variable that indirectly tracks the location of some piece of data. The value of a pointer is often the memory address of the data you're interested in. Some languages allow you to manipulate that address; others do not.

    A "reference" is an alias to another variable. Any manipulation done to the reference variable directly changes the original variable.
    Prirovnal bych to k rozdilu mezi hardlinkem (reference) a softlinkem (ukazatel).

    Takova definice odpovida i tomu, co si pamatuju ze skoly z principu programovacich jazyku, i kdyz to tam Libor nema nikde explicitne uvedene ve stylu "ukazatel je tohle".
    tak třeba Programming Language Pragmatics taky tvrdí, že reference je "lepší ukazatel" (velký uvozovky).
    S tim nemam problem. V jistem smyslu je to tak: jak ukazatel tak i reference nekam odkazuji - rozdil je v tom, ze ukazatel na to potrebuje extra promenou - coz v zavislosti na definici veci jako volani funkci v danem jazyku muze vykazovat jine chovani. Viz. treba strana 109 z slidu z principu, kdy je popsano volani odkazem.

    Btw mala perlicka na zaver: v jazyku Logo jsou referencni a dereferencni operatory pro bezne promene, presto tento jazyk nema ukazatele.
    There is no point in being so cool in a cold world.
    10.11.2010 00:01 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Možná se až tak nelišíme. Já to beru asi takhle: ukazatel je adresa do nějakého místa v paměti. Nad ukazatelem lze provádět přinejmenším dereferenci, tedy získání hodnoty na té adrese. Reference je způsob, jak pojmenovat (odkázat se na) nějaký existující objekt v paměti (nikoliv ve smyslu OOP), aniž by k tomu byl potřeba ukazatel, i když obvykle ten ukazatel někde dole je (pak k němu ale nelze přistoupit, dereferencuje se automaticky a eventuelně se může i změnit – viz kopírovací GC, které referenci nemění, ale ten ukazatel pod ní ano).

    Předávání parametrů referencí s tím trochu souvisí: jako parametr nedostanu hodnotu daného objektu, ale referenci na něj. Tedy když změním stav toho objektu, projeví se změna globálně (ale ten objekt samotný vyměnit nejde). Fyzicky ten parametr může být (a nejspíš bude) ukazatel.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    10.11.2010 06:38 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    V druhém odstavci samozřejmě kecám, když se parametr předává odkazem, lze pochopitelně vyměnit i ten objekt. Už mi to nějak nemyslelo :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    9.11.2010 23:17 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ja to skopčím ešte raz.
    Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.
    Tie veci spolu súvisia. Myslím že jazyky čo nemajú (minimálne používajú) pointre, majú aj správu pamäte. Mne osobne ide o nepoužívanie pointrov, pointrovej matiky, práve kvôli zápisu, ktorý znižuje čitateľnosť kódu a samozrejme zvyšuje chybovosť. Správa pamäte je samozrejme ďalšia výhoda. Spravidla jazyky ktoré pointre nepožívajú, to vyzdvihujú ako fjučúru. (Slovo pointer som použil hlavne preto, aby sa niekto nezľakol slovenského ukazovateľa, hoci po česky je to podobné :)
    10.11.2010 10:37 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Aha, takže vám naopak nejde o automatickou správu paměti, ale o pointerovou aritmetiku. I když podle toho, co píšete dál, tak se vám nelíbí ani to, co někdo výše nazývá reference, a chtěl byste asi jazyk, který umožňuje používat jen primitivní typy, žádné struktury, objekty nebo pole. Třeba assembler :-)
    10.11.2010 12:20 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ďalší názor k veci, ďakujem. Zaujímavé že keď chce človek nesúhlasiť, koľko kravín vie okolo toho vymyslieť, nič v zlom, to je prirodzená ľudská vlastnosť.
    10.11.2010 12:27 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Není zač. Vy nejste schopen vysvětlit, o co vám jde, v čem je problém a jak byste si představoval řešení. Já a mnoho dalších se to z vás snažíme vypáčit, a vy místo toho, abyste ještě jednou a pořádně zformuloval, o co vám jde, akorát pořád urážíte diskutující. Vaše neochvějná sebejistota, že vy jste ten geniální a všichni okolo jsou blbci, kteří vás nechápou, je skutečně pozoruhodná.
    10.11.2010 13:52 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Nikoho neurážam, len tých čo si robia LOLky. Jak ľahké je zobecneniť, že? To že si vy a ďalší traja robíte so mňa blbca to je OK, že?(Vy štyria ste všetci) Všetko čo som potreboval, som napísal, kto chcel pochopil. Ja som sa dopátral k čomu som potreboval a zobral som si ďalšie ponaučenie, nereagovať na ľudí čo sem evidentne neprišli poradiť. Dúfam že aj ostaný si z toho niečo zoberú, či?

    PS: Takto to dopadá keď admini na to kašlú, net je plný takýchto poradní, čo ma štve, keď niečo sám hľadám. Holt je váš väčšina. Vyhrali ste, čo je pointa poradne.
    10.11.2010 15:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Admini na nic nekašlou. To, že se v poradně objeví někdo, kdo není schopen popsat, o co mu jde, a není ochoten přiznat si, že chyba je na jeho straně, není důvod k zásahu administrátorů. Ani to, že lžete nebo překrucujete význam komentářů ostatních.

    Bylo tady dost lidí, kteří se snažili vás pochopit, pochopit, v čem máte problém, a pomoci. Jenže ten největší problém je, že vy nejste ochoten přiznat vlastní chybu, nejste ochoten přiznat si, že toho o programování víte jen velmi málo, a hlavně se vám o tom nechce víc přemýšlet, nechcete se pokusit lépe a přesněji formulovat to, o čem máte jen mlhavou představu.

    V této diskusi vás nepochopil nikdo. Některým ale vaše mlhavé vyjadřování nevadilo, nejspíš protože jej nerozpoznali, a odpovídali vám stejně mlhavě. Vy jste s tím spokojen a máte pocit, že jste se dopátral k čemu jste potřeboval. Pokud vám šlo jen o to potvrdit si, že když něco nechápete, není to vaše chyba, ale chyba celého světa okolo, pak jste uspěl. Pokud jste chtěl pochopit něco z programování nebo pochopit, jak pochopit věci, kterým zatím nerozumíte, pak se vám to bohužel nepodařilo, přestože jste šanci měl. Dokud si ale tohle nepřipustíte, je další debata zbytečná.
    10.11.2010 17:08 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    "kdo není schopen popsat" je z opačného pohľadu "kto nieje schopný pochopiť". Keď niekto napíše Python nepoužíva pointre, čo je na tom mlhavé? Je to jasná odpoveď na otázku, "Aký jazyk bez pointrov ". Pokiaľ to tak nieje, prosím o vysvetlenie, ale nie na 12 riadkov, prosím stručne.
    10.11.2010 18:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Četl jste si svou otázku? (netřeba odpovědi), pokud by jste tam nechal jen ty první 2 věty a nepřipojil ty další, tak by to bylo asi jednoduší.
    Ale je logické, že ten, kdo tomu rozumí chce zjisti co Vás vede k takovým prohlášením, uvedených v následujícíh větách. Bo to pravděpodobně pramení s Vaší neznalosti. - Vy jste nadhodil téma a pak jste se o něm nechtěl bavit!
    Takže nedokázal bych to vyjádřit lépe než „kolega“ Jirsák v příspěvku, na který reagujete („kolega“ „kolegu“ odpustí…).
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.11.2010 20:17 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ja som za ten záver dal smajlíka (fór) a ani som netušil, ako to niektorých zoberie. Škoda že sa to nedá zeditovať :-/ Ja som chcel jasne poukázať, aby sa tu nezapájali ľudia, čo ich majú radi, opak je pravdou :) Osobne by som poradňu riadil striktnejšie a takéto nekonečné vlákna zmazal. Škoda, jeden ma vytočil a už to išlo. Fakt sa neoplatí reagovať na ľudí, kde už na sto metrov tiahne prečo sem prispel. Možno úplne zbytočné to nebolo, niekto si možno nabudúce v poradni odpustí skratky.
    10.11.2010 19:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Jasná odpověď na vaši otázku je: Ada, ASP, assembler, Bash, Basic, C, C++, C#, Cobol, Groovy, Java, JavaScript, Lisp, Pascal, Perl, Python, Skala, SmallTalk a další a další. Jenže to není to, co jste se chtěl dozvědět.
    10.11.2010 20:02 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    C, C++, Pascal? tam to hádam vzniklo :) Naschvál som použil anglický pointer, aby nedošlo k zámene, napríklad s referenciami. Práca s pointrami je zlá nepěkná věc a s tým súvisiace veci, reťazce ... Prečo mám pracovať s odkazmi, keď môžem pracovať priamo s dátami. C++ preto nikdy nebude mať aj ozajstnú správu pamäte (to je len dôsledok) STL kontejnery sú bastl. Opakujem: Práca s pointrami je zlá nepěkná věc.
    10.11.2010 20:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    „Práca s pointrami“, je perfektní věc když se to umí a lze pomocí nich vytvářet efektivně výkonný kód - HA! :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.11.2010 20:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    V C. C++ ani Pascalu pointery používat nemusíte.

    To, že je práce s ukazateli zlá nepěkná věc, je vaše tvrzení, které jste zatím nijak nedoložil, ani jste nenapsal, co se vám na nich nelíbí. Spíš mi to z vašich komentářů připadá, že je nechápete nebo neumíte používat.

    Proč máte pracovat s odkazy a ne přímo s daty? Protože ta data mají třeba několik mega nebo i daleko víc, takže není vhodné je neustále někam kopírovat třeba při každém volání funkce – takže je dobré použít referenci nebo pointer. Nebo máte strukturovaná data v souboru nebo síťovém paketu – opět, bez pointerů je musíte někam kopírovat. Když mám třeba soubor, kde první dva bajty jsou délka textu v bajtech, pak následuje text, pak třeba čas v 8 bajtech atd., musím prostě načíst první dva bajty, zjistit délku textu, načíst text atd. A z pohledu psaní kódu nezáleží na tom, zda to budu dělat pomocí pointerů, pole bajtů nebo streamu – hrozí mi ty samé chyby a ten kód bude vypadat prakticky stejně.
    10.11.2010 20:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    V C. C++ ani Pascalu pointery používat nemusíte.
    Ta tečka za C je překlep, měla tam být čárka. Pár pixelů, a jak to úplně změní význam…
    10.11.2010 20:55 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    A čo pointrová aritmetika, myslím že to je neprehľadnejšie, ako opraviť bodku za C :) Škoda že ma vytočil stativ, pri komente k Mirkovi Fídlerovi, ktorý určite patrí v Čechách medzi programátorskú špičku. mohli sme to takto prebrať od začiatku. Som sa po čase vrátil k programovaniu a jak som sa pozeral na zdrojáky, tak sa mi to zdá nejaké škaredé, preto hľadám niečo novšie a modernejšie. Najivne som si myslel, ja dám otázku, oni mi odpovedia a pritom ma spovedajú :) S tým záverom v dotaze to bola chyba, ale keď som ho písal, mi to prišlo celkom vtipné :)
    10.11.2010 21:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Na tom příkladu s načítáním strukturovaných dat (ze souboru, paketu…) je vidět, že se tomu nevyhnete – nezáleží na tom, zda to budete dělat pomocí pointerů a pointerové aritmetiky, pomocí pole bajtů a aritmetiky indexů pole, nebo pomocí streamů a aritmetiky posunu ukazatele v streamu.

    Myslím, že Java, Python nebo Ruby by vám mohly vyhovovat – ale v určitých typech úloh se něčemu jako pointerová aritmetika prostě nevyhnete.
    10.11.2010 22:13 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Dík za vytrvalosť :) Python sa mi dosť pozdáva aj z jeho vychytávkami na zrýchlenie behu. Sám občas použijem nejaký program napísaný v Pythone. Určite sa v ňom dá písať aj zle, pretože niektoré aplikácie sú pomalé, ale zas som bol prekvapený aplikáciami ktoré bežali rovnako rýchlo ako v C++. Java má svoje nedostatky, ale to je na dlhú debatu. Ruby som ešte neskúšal, len si občas prečítam nejaké komenty o problémoch s výkonom. Videl som asi dve videá o programovaní v ňom a musím povedať že keď som hovoril o modernom jazyku, toto kritérium splňuje. Keď som kedysi robil v Perli, tak ten vedel bežať ako interpret, ale dal sa aj skompilovať, vtedy som ešte používal Win a dal sa z toho vytvoriť exáč (neviem či bolo toto možné aj v Linuxe), existuje ešte také niečo? Záverom sa patrí ospravedlniť, prepáč.
    10.11.2010 22:37 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Předpokládám, že ten exesoubor byl jen interpret Perlu, který měl na konci vložený ten skript. Myslím, že když v tom skriptu budete mít na začátku #!/usr/bin/env perl, bude to mít stejný efekt.
    11.11.2010 07:55 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ono to naozaj kompilovalo, hoci pozerám že predtým je prevod do Céčka ;) Ale účel to splnilo.
    10.11.2010 12:00 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše OT: Re: Aký jazyk bez pointrov
    aby sa niekto nezľakol slovenského ukazovateľa
    A já myslel, že se používá výraz "smerník".
    Překladač ti nikdy neřekne: "budeme kamarádi"
    10.11.2010 21:47 mato
    Rozbalit Rozbalit vše Re: OT: Re: Aký jazyk bez pointrov
    :) synonymum k smerniku (i ked smernik nie je spisovne slovo)

    ale to niektori experti na slovensku chcu vsetko poslovencovat (offtopic, nehovorim, ze niekto tu v diskusii) - proste je to pointer ..

    tak isto ako ked niekto naziva router smerovac a switch rozbocovac/prepinac .. je to proste router,switch :)

    stativ avatar 9.11.2010 16:45 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    LOL
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    9.11.2010 23:30 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Škoda že sa nedá prejsť cez dráty, veľmi rád by som ťa navštívil. Je tu stále viac blbečkov. Takéto komenty by som ako admin hneď mazal, alebo si myslíte že to niekomu pomôže? Ten web máš úžasný zo 4klikov, dvakrát spadol, si neprekonateľný borec.
    10.11.2010 06:27 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Je tu stále viac blbečkov.
    S tym sa neda, len suhlasit. :-D
    stativ avatar 10.11.2010 07:31 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Jak jinak odpovědět člověku, který nesmyslně kydá hnůj na pointery i přitom neví, jestli chce jazyk s garbage collectorem nebo jestli chce jazyk bez pointerové aritmetiky?
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    10.11.2010 07:51 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    LOL
    10.11.2010 09:28 Zdenek
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    PResne tak vam, ale odpovedel. Tedy nechapu na co si stezujete ;-)
    stativ avatar 10.11.2010 09:39 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Tos mi to tedy natřel, asi budeš velký borec.

    Ale před tím, než se tu začneš zase ztrapňovat si prosím informace příště ověř (hint: to že se do STL kontejnerů často ukládají pointery neznamená, že se tam nedají ukládat objekty přímo).
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    stativ avatar 10.11.2010 07:34 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Je tu stále viac blbečkov.
    Také jsem si všiml.
    Ten web máš úžasný zo 4klikov
    Je to možná mnohem víc než kolik si ty kdy udělal. A se stabilitou těžko něco udělám, nechce se mi platit hosting a všechny free web hostingy stojí za houby.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    10.11.2010 07:50 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    LOL
    10.11.2010 11:08 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ztrapňujete se tu čím dál víc. Nechcete toho už nechat?
    10.11.2010 11:23 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Takže LOL toho blbečka je adekvátny koment v poradni a ja sa strapňujem. Nebyť Ládička a pár ďalších, tak to tu je kopa LOL balíkov. Zamylite sa už trochu, lebo to tu celé zakape.
    10.11.2010 11:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Nejde samozřejmě jen o ten jeden příspěvek. Od začátku děláte ramena a používáte silné výrazy, ale přitom jen demonstrujete svou neznalost. A teď jste ještě začal kopat kolem sebe a nadávat ostatním.
    10.11.2010 12:07 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Ja som sa dozvedel čo som potreboval, nie vďaka vám, blbečkovi stativovi, ale ostatným, ktorým moc ďakujem. Kto toto nepochopí, tak je škoda každej debaty.
    stativ avatar 10.11.2010 14:53 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Díky, ty „inteligente“, který zřejmě ani pořádně neví co chce, nebo má minimálně problémy to vyjádřit. Když tak koukám na tuhle diskusi, tak ti trvalo celý den, než se několika lidem (obdivuji jejich trpělivost) podařilo z tebe vytáhnout co zřejmě chceš. Zato osočovat ostatní ti problémy nedělá.

    Navíc podle mě řešíš kraviny, statisticky vzato za nejvíc chyb mohou programátoři a ne ukazatele v jakékoli podobě. A tenhle problém jazykem těžko vyřešíš, i když se o to některé (třeba ADA) snažily.

    Tím tuhle diskusi končím, bavit se s takovým člověkem je pod moji úroveň… Sakra, to už jsem udělal.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    10.11.2010 15:12 Mystic Playboy
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Prídeš do poradny, napíšeš LOL a čuduješ sa že na to niekto podráždene zareagoval. A buď si istý že to spravím vždy, keď nedokážeš rozpoznať príspevok do blogu, alebo ku správičke, od príspevku do poradny. Tiež som rozmýšlal či na to LOL mám reagovať, lebo som vedel že na konci budem ja za blbca. Zlodej kričí zlodeja, bude platiť večne.
    Voty avatar 10.11.2010 08:21 Voty | skóre: 12 | blog: gemini
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Do STL kontejnerů lze ukládat cokoliv co je assignable. Takto jsou STL kontejnery prostě navrženy, právě proto, aby fungovala automatická správa paměti. Pointerů netřeba.
    Jednu rozbil a tu druhou ztratil.
    10.11.2010 11:03 Ivan
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Hmm, a zkusil jste to v praxi? std::auto_ptr NEJDE vlozit do std::vector. Aby to fungovalo, musite prejit na boost a jeho pointery.

    O tom proc to nejde a jak to obejit je napsano nekolik clanku.
    Voty avatar 10.11.2010 15:37 Voty | skóre: 12 | blog: gemini
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    Nevím, zda nedošlo k nedorozumění, reagoval jsem na větu (kterou jsem měl citovat rovnou)
    To v praxi znamená, že do STL kontejneru je možné efektivně ukládat fundamentální typy, možná ještě tak řetězce a pár dalších jednoduchých typů. Všechno ostatní lze uložit pouze nepřímo pomocí ukazatele. Tím se ztrácí jedna ze základních výhod, kterou používaní kontejnerových šablon přináší - automatická správa paměti.
    Která to se mi zdá zásadním nepochopením koncepce STL kontejnerů jako takových. STL kontejnery prostě ukládají, právě proto, aby fungovala automatická správa paměti, kopie objektů. To zda je to právě to co člověk zrovna chce je věc jiná.

    A ano máte pravdu, že std::auto_ptr je pro vkládání do kontejnerů zcela naprd, do kontejneru je třeba vkládat přímo kýžený objekt (ve skutečnosti kopii).
    Jednu rozbil a tu druhou ztratil.
    11.11.2010 19:16 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov

    Ten blbec, který to vymyslel, naprogramoval taky kernel, díky kterému ti funguje počítač. Jak by asi vypadal kernel bez pointerů???

    11.11.2010 21:50 jehovista
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    neprustrelne?
    12.11.2010 13:28 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov

    Asi jsem se špatně vyjádřil. Měl jsem se spíš ptát, jak by fungoval kernel bez pointerů. Na to už je jednodušší odpověď, protože na žádném dnešním hardware se kernel bez pointerů vytvořit nedá.

    (Než zase někdo přijde s pohádkou o hardwarovém JVM, je dobré se zamyslet nad faktem, že na nejnižší úrovni se tak nebo tak s pamětí přímo pracovat musí.)

    12.11.2010 14:57 JS
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov
    No, ciste teoreticky, pokud by slo o nativni Forthovy (zasobniky) nebo Lispovy (spousta consu) hardware, klasicke pointery by v nem neexistovaly. Mimochodem, mit hardwareovou podporu pro pointery (jinak receno: procesor, ktery dokaze poznat, co je pointer) by mohlo prinest vyssi efektivitu pri praci s pameti.
    13.11.2010 01:39 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Aký jazyk bez pointrov

    Že by pak pointer nebyl totéž co long? To je jistě realizovatelné, hodně tupě třeba vyhrazením 1/(délka slova) fyzické paměti na bitmapu, která bude říkat, ve kterých slovech jsou pointery. Jen mi není jasné, jak přesně by to zvýšilo efektivitu práce s pamětí. Implementace polí bude tak nebo tak vždy záviset na pointerové aritmetice.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.