Ne, ne, poctive jsem to spocital. Ale never, kdyz nechces.
Akcie ERSTE BANK - Diskuze, názory, doporučení a hodnocení
Akcie ERSTE BANK - Diskuze a názory
barbarský relikt
barbarský relikt
... o které jazyky se jedná jmenovitě?
barbarský relikt
Cestina, anglictina, francouzstina, spanelstina, rustina, intergalakticke esperanto, assembler 8080, Basic, Cobol, Fortran, Pascal, C, C++. Takze vlastne 13. Predtim jsem jeden vynechal.
barbarský relikt
... jaké jsou v céčku možnosti kódovat iterativní struktury? A jaké rekurzivní?
barbarský relikt
Stejne/podobne, jako v C++, mensi nez v assembleru a vetsi nez v pascalu. Hlavni novinkou C byly hlavne ukazatele a prace s nimi. Take dost nebezpecne....
C myslim navrhli dva chlapici, nemam pamet na jmena. Mohli zacinat na R a W. A v C se asi delal UNIX, ale nejsem si jisty, mne zajima jazyk a ne jeho historie.
barbarský relikt
... Ritchie. Thompson s ním napsal UNIX. Chlapci to nebyli. Tak jak se píše iterace v C? Obě varianty.
... nebezpečný je assembler. A z toho plyne nebezpečnost C, protože mělo umožnit vše stejně efektivně (a umožnilo) co assembler. Defakto C umožňuje to, co strojové instrukce.
barbarský relikt
Nemas spis na mysli inkrementaci (++i, i++)? U iterace mne napadaji minimalne ctyri zpusoby.
Jo Ritchie je jeden z tech dvou.
C umoznuje skoro, co asembler, ale zdaleka ne vse.
barbarský relikt
... Ken Thompson byl ten druhý. Ostatně UNIX vlastně napsal hlavně on, a na vývoji céčka se spíše nepodílel, to byl job Ritchieho.
... ne, mám na mysli iteraci.Staćí mi dvě, napiš aspoň jednu. Nějaké i++ je nezajímavé, je to pouhá triviální kompaktní zkratka za i=i+1.
... co stroj, to assembler. Jistě některé C-překladače nebyly pro každou strojovou instukční sadu optimalizovány, to by bylo pro každý nový stroj potřeba další céčko, což je nesmysl. Ale u hardwaru, pro který psal Ritchie céčko, byly C a assembler 1:1. A jen kvůli optimalizaci rychlosti použil Ken assembler pro rutinu switch/swap procesů.
barbarský relikt
Nemluvil jsem o optimalnosti. Nektere veci proste v C nenapises. Respektive, napises, ale muselo by to byt v nejake datove strukture primo ve strojovem kodu. A ani to by na soucasnych architekturach nefungovalo, mam takovy dojem, ze kvuli bezpecnosti nesmi bezet kod v oblasti vyhrazene datum....
Nevim, proc se fixujes na to nejmene zajimave na C. Tedy iterace. K tomu ma C stejne standardni prostredky, jako prevazna vetsina vyssich programovacich jazyku. Nenapada mne nic navic oproti jinym. Jedine snad goto. To je vsak pomerne neprehledna prasarna, takze je vhodne pouzit to jen tam, kde to jinak nejde.
Prinosem C jsou ty ukazatele a velka skala operatoru. To umoznuje psat efektivni, ale prehledny a prenositelny, kod blizici se efektivitou assembleru.
barbarský relikt
... přenositelnost je fajn, ovšem efektivita blížící se assembleru je věcí překladače.
barbarský relikt
... tedy zopakuji. Ritchie udělal C tak, že co bylo možné napsat v assembleru, šlo napsat v C, a to stejně efektivně. Ovšem to se týkalo strojového kódu hardwaru minipočítače, který měla ta dvojice k dispozici. Pak již C v komunitě žilo svým životem. Jak jsem již psal.
barbarský relikt
OK, mozna v assembleru toho daneho pocitace. Moc se mi to ovsem nezda, to by musela byt nejaka jednoducha jednoucelova troska.
Nevim, jak bys v C vygeneroval preruseni, adresoval periferie a delal plno dalsich lowlevel veci.
barbarský relikt
... neślo o trosku, byl to odstavený minipočítač, který si dvojice přisvojila.
barbarský relikt
Tak jsem na to kouknul a u prvych verzi PDP-11 slo asi vse udelat v C. To bude nejspise pravda. Vse vcetne periferii bylo mapovane do pametoveho prostoru a SW preruseni to asi nemelo.
U novejsich revizi PDP si nejsem tak uplne jisty. Kazdopadne u vetsiny ostatnich pocitacu se v C vse napsat neda. Nemluvim o tom, ze by to treba bylo neefektivni. Proste to nejde. Jedine snad pomoci knihoven napsanych v assembleru a volanych z C. To pak cloveku muze pripadat, ze je vse v C.
barbarský relikt
... proč opisuješ to, co jsem již napsal? To není pro mě žádný přínos.
barbarský relikt
... resp hardwarové instrukční sady.
barbarský relikt
Nic takoveho v definici C neni. Tak nevim, o cem mluvis.
Mozna nejake knihovny specificke pro dany OS a procesor. A nejspise psane v assembleru.
barbarský relikt
... daný OS byl UNIX, a daný procesor byl taky daný. Píši to dokola, že C byl zprvu vytvořen pro zcela konkrétní počítač. Pak se toho chopila Berkeley a vytvořila BSD UNIX, a svět UNIXu ovládl svět.
barbarský relikt
Uplne puvodne jsi psal, ze v C lze napsat vse, co lze napsat v assembleru. To vsak plati pouze pro mensinu pocitacu. Pokud ne pouze pro ten jediny a jeho klony.
Pro vetsinu pocitacu nektere veci v C proste nenapises a je treba pouzit assembler. Nebo specialni knihovny pro C psane v assembleru.
barbarský relikt
... úplně původně jsem napsal toto: "... co stroj, to assembler. Jistě některé C-překladače nebyly pro každou strojovou instukční sadu optimalizovány, to by bylo pro každý nový stroj potřeba další céčko, což je nesmysl. Ale u hardwaru, pro který psal Ritchie céčko, byly C a assembler 1:1."
... stále nevím, proč po mě papouškuješ, co jsem napsal. To není pro mě přínosné.
barbarský relikt
Neni to o tom, ze nektere C prekladace nebyly pro urcitou instrukcni sadu optimalizovany.
Je to o tom, ze C nema pro vetsinu instrukcnich sad ekvivalentni vyrazove prostredky. A to bez ohledu na to, jak dobre je prekladac optimalizovan nebo neni.
barbarský relikt
... samozřejmě, že nemá. Objevil jsi chrousta. Jak jsem psal, to by pro každý hardware muselo být speciální céčko. Musíš pochopit, že pak by se o portabilitě zdrojových c-kódů dalo hovořit jen v nekonečné nadsázce.
barbarský relikt
Ale nemuselo. Stacilo by C trochu rozsirit a v C by se dalo napsat vse pro vetsinu procesoru. Ne pouze pro jeden.
Jenze asi nikdo nemel potrebu, aby to tak bylo. Proste ty lowlevel veci se napisi v assemblerech a je to. Kvuli efektivite by se to stejne v C nepsalo, i kdyby to slo. Takze nebyl duvod, snazit se o neco takoveho.
I v tom UNIXU pro PDP-11 nebylo vse v C, i kdyz teoreticky mohlo byt. A pokud se v kodech pro PDP pracovalo s casovacimi smyckami (programatori vyuzivali znalosti o dobe potrebne pro provedeni urcite operace, tak se to muselo psat v assembleru a ne v C - to by pak bylo casovani zavisle na typu prekladace, nebo jeho nastaveni a veci by nefungovaly spravne...).
Odhadoval bych, ze ani tvurci C nemeli ambice, aby slo v C napsat uplne vse, co je pro dany pocitac a jeho periferie potreba. Veci, zavisle na delce zpracovani instrukci procesoru v C nenapises. (Mluvim o tehdejsi dobe, ted uz je pouziti operaci procesoru k casovani u vetsiny procesoru nepouzitelne..)
barbarský relikt
... samozřejmě, to je klidně možné. Já jsem psal ale o něčem jiném. Jenže jsem zapomněl, že Tvá schopnost porozumění psanému textu je limitována maximálně na jeden příspěvek protistrany, psát Ti druhý příspěvek je tedy již zbytećná ztráta času.
barbarský relikt
... první verze UNIXu napsali R/T čistě v assembleru. Verze 7 již byla v C, s tím, že switching procesů byl v assembleru, plus některé další kritické komponenty.
Titulek Výchozí řazení | Autor | Datum | |
---|---|---|---|
(0) barbarský relikt | kulová sedma | 20.06.19 20:29 | |
(0) barbarský relikt | Rup | 20.06.19 20:56 | |
(0) barbarský relikt | kulová sedma | 20.06.19 22:49 | |
(0) barbarský relikt | Rup | 20.06.19 23:00 | |
(1) barbarský relikt | Georgios Maniacos | 20.06.19 13:02 | |
(0) barbarský relikt | Rup | 20.06.19 14:18 | |
(0) barbarský relikt | pepa2 | 20.06.19 13:49 | |
(0) barbarský relikt | pepa2 | 20.06.19 13:50 | |
(0) barbarský relikt | Rup | 20.06.19 14:17 | |
(0) barbarský relikt | Rup | 20.06.19 13:42 | |
(0) barbarský relikt | Mono | 20.06.19 14:20 | |
(0) barbarský relikt | Rup | 20.06.19 14:23 | |
(0) barbarský relikt | Mono | 20.06.19 14:32 | |
(0) barbarský relikt | Rup | 20.06.19 14:33 | |
(0) barbarský relikt | Mono | 20.06.19 15:35 | |
(0) barbarský relikt | Rup | 20.06.19 15:39 | |
(0) barbarský relikt | Mono | 20.06.19 18:22 | |
(0) barbarský relikt | Rup | 20.06.19 19:36 | |
(0) barbarský relikt | Mono | 21.06.19 00:31 | |
(0) barbarský relikt | Rup | 21.06.19 01:00 |
Názory a diskuze
Burza Prime 13:08 | ||
Název | Kurz | Změna |
---|---|---|
COLT(CZG) | 660.00 | +1.69% |
ČEZ | 867.50 | -0.29% |
ERSTE | 1 121.00 | +0.99% |
GEN(NORTON) | 488.00 | -0.41% |
GEVORKYAN | 252.00 | -2.33% |
KB | 874.00 | +0.52% |
KOFOLA | 273.00 | +1.11% |
MONETA | 96.60 | +1.58% |
PHOTON | 43.70 | -2.67% |
PILULKA | 177.00 | -1.67% |
PM | 15 980.00 | -0.13% |
PRIMOCO | 885.00 | -3.80% |
VIG | 738.00 | +0.54% |
Kurzy měn | |
Kurzovní lístek ČNB pro 30.04.2024 | |
USD americký dolar | 23.453 |
AUD australský dolar | 15.312 |
GBP britská libra | 29.417 |
BGN bulharský lev | 12.857 |
EUR euro | 25.145 |
HUF maďarský forint | 6.438 |
NOK norská koruna | 2.129 |
PLN polský zlotý | 5.821 |
CHF švýcarský frank | 25.692 |
TRY turecká lira | 72.429 |
Komodity online | ||
Ropa | 84.25 USD | 12:44 |
Zlato | 2296.95 USD | 12:44 |
Stříbro | 26.20 USD | 12:44 |
Káva | 210.53 USD | 12:44 |
Cukr | 19.37 USD | 12:44 |
Bavlna | 77.45 USD | 12:44 |