OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 29.03.2024, 08:01

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 159 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7, 8, 9 ... 11  Další
Autor Zpráva
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 06.09.2018, 13:24 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
Busy píše:
Jiiira píše:
od té doby, co Turbo Pascal 6.0 zavedl příkazy "Inc <proměnná>" a "Dec <proměnná>", jsem na ně velmi rychle přešel
A este by tieto prikazy mohol rozsirit aby to boli funkcie, t.j. aby vracali hodnotu premennej...
...a aj pascal potom bude v tych neistych, implementacne zavislych vodach ako je teraz cecko :lol:
Zřejmě byli autoři dostatečně chytří, aby na takovou prasečinu nepřistoupili, takže, světe div se, Černého Petra má stále Céčko... :jump:

A vůbec, Busy, čím to, že takovej ultrapedant a hnidopich :P obhajuje nejisté, implementačně závislé vody Céčka - to mi nějak neštymuje...? 8-)

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Naposledy upravil Jiiira dne 06.09.2018, 13:32, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 06.09.2018, 13:30 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Busy píše:
Kód:
vysledok := argument + Inc(argument) + argument + Dec(vysledok);

Předáváš parametry hodnotou nebo odkazem? :lol:
V tom Céčku tam to & být MUSÍ, což sice řadě lidí vadí, ale pro mě je to výhoda, protože mě to varuje že ta funkce může změnit moje data, i když o to zrovna vůbec nestojím.

Je fakt že C umožňuje udělat obrovské množství chyb s neuvěřitelnými následky, vždyť kolik milionů děr je založených jenom na obyčejném buffer overflow!

Ale zase těch pár ušetřených znaků mohlo být sakra znát, když se programovalo na elektromechanických terminálech připojených po telefonním vedení...

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 06.09.2018, 14:01 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
faraon píše:
Ale zase těch pár ušetřených znaků mohlo být sakra znát, když se programovalo na elektromechanických terminálech připojených po telefonním vedení...
...a to je teď pro nás ohromná výhoda. :lol:
(Jo, máš pravdu, jen jsem si teď zkusil představit, kolik GB paměti asi mají počítače vývojářů současných her... ;) )

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 06.09.2018, 22:36 
Offline
Kecka

Registrován: 10.09.2017, 21:13
Příspěvky: 54
Has thanked: 51 times
Been thanked: 6 times
faraon píše:
Busy píše:
Kód:
vysledok := argument + Inc(argument) + argument + Dec(vysledok);

Předáváš parametry hodnotou nebo odkazem? :lol:
V tom Céčku tam to & být MUSÍ, což sice řadě lidí vadí, ale pro mě je to výhoda, protože mě to varuje že ta funkce může změnit moje data, i když o to zrovna vůbec nestojím.



Pokud o to nestojíš , definuj parametry funkce jako const, překladač pak ví že předané parametry nesmí měnit

faraon píše:
Je fakt že C umožňuje udělat obrovské množství chyb s neuvěřitelnými následky, vždyť kolik milionů děr je založených jenom na obyčejném buffer overflow!

Ale zase těch pár ušetřených znaků mohlo být sakra znát, když se programovalo na elektromechanických terminálech připojených po telefonním vedení...


Tohle je naprosto zbytečnej pláč, Cčko nemůže za to že v něm programují lidé co neznají jak co ANSI definuje či nedefinuje.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 07.09.2018, 10:21 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Jiiira píše:
A vůbec, Busy, čím to, že takovej ultrapedant a hnidopich :P obhajuje nejisté, implementačně závislé vody Céčka - to mi nějak neštymuje...? 8-)
Pretoze vyslovene milujem
Jiiira píše:
tyhle jeho napůl hackerské, frajerské vychytávky.
:thumbup: :like: :joint:

Ono to bolo tak. Ako prvy som sa naucil Pascal. Aj ked som v nom vedel robit (aj aj kopec veci urobil) tak som sa v nom nikdy necitil ako doma. Mnoho veci islo dost tazkopadne, cele to bolo take odveci, clovek sa dost upisal, celkovo mi prisiel dost nepohodlny. Neskor som sa zoznamil s ceckom, a to sa mi ohromne zapacilo, Pascal som s radostou okamzite zabudol a uz nikdy nic v nom viac nenapisal, zato v cecku som odvtedy toho napisal spuuustu. Mam rad aj ceckovu pracu s pointrami, a celkovo mi cecko pride ako taky subor portable makier asembleru vyssej urovne.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 07.09.2018, 17:33 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Charlie_XZ píše:
Cčko nemůže za to že v něm programují lidé co ...
... nečtou warningy! Protože const jde úplně v pohodě přepsat ;-)

Busy: Já jsem to měl podobně. Nejdřív (teda až po TI-57II) ZX BASIC, QBasic, potom Karel a Pascal, a to byl docela luxus. Takový Mercedes, měkoučké sedačky v kůži, všechno ovládané na knoflík, každou blbost hlídá kontrolka a když je zle, zachrání tě airbag. Mám ho rád.

Potom jsem se srazil s Céčkem. Parní lokomotiva! Rozžhavená hromada oceli, kde se hneš tam se praštíš nebo spálíš, každý jeden vagonek si musíš zvlášť připřáhnout a odpojit ručně, nadřeš se až hanba než se to vůbec hne z místa a když chviličku nehlídáš tlak nebo vodu v kotli, vyletí to celé do povětří a tebe to nejspíš zabije.
To prostě žeru :lol:
Navíc mi tam některé věci připomínají toho Sinclaira, třeba práce s řetězci. A samozřejmě čtu warningy, nejsem sebevrah.

Hodně zajímavý článek, nejen o C: https://www.root.cz/clanky/muzeme-verit-prekladacum-projekty-resici-schema-duverive-duvery/

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 07.09.2018, 20:06 
Offline
Pan Generální
Uživatelský avatar

Registrován: 11.06.2013, 15:27
Příspěvky: 3025
Has thanked: 2192 times
Been thanked: 894 times
To si budu pamatovat:
Cčko nemůže za to, že v něm programují lidé.

_________________
// na co myslím, když sedím u oldkompů: Blood Products from Genetic Vaccine Recipients


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 07.09.2018, 23:26 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
faraon píše:
Busy: Já jsem to měl podobně.
Nooooooo...ale podla dalsieho popisu mam skor dojem, ze si to mal skor naopak :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 00:47 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
Já myslím, že tesat by se mělo hlavně toto:
Busy píše:
"Celkovo mi cecko pride ako taky subor portable makier asembleru vyssej urovne."
Já jsem měl už od začátku pro Cčko, když jsem ho aspoň trochu pochopil, svůj interní termín "poloassembler", ale tohle je preciznější formulace... :)

Nabízí se ovšem otázka, zda ta vlastnost Cčka, že za vás nic nehlídá a když to neuhlídáte sami, zboříte všechno, zda je dostatečně vyvážená nějakým přínosem, např. rychlostí či efektivitou. A v tom se můžou názory lišit podle subjektivního pohledu a osobních preferencí každého soudruha. Za sebe si myslím, že se za těch cca 45 let od vzniku Cčka prostě doba změnila, a zatímco výkon počítačů dramaticky vzrostl a v 99% úloh už není potřeba hlídat každý takt CPU, tak naopak je lidstvo na počítačích mnohem více závislé, počítače jsou nasazeny v mnohem více kritických úlohách, a tak vzrůstá důležitost spolehlivosti jak HW, tak SW. Prostě už nelze tak snadno mávnout rukou nad (ne)bezpečností programovacího jazyka, pokud software v něm napsaný řídí letadlo, kterým letíte, auto, kterým jedete, bankovní systém co hlídá vaše peníze a robotický laser, kterým vás budou operovat. 8-)

Stručně řečeno, za těch 45 let nastal velký posun v důležitosti od efektivity k bezpečnosti. A protože programovací jazyk lze sice trochu rozvíjet a vylepšovat, ale ne úplně překopat, objevila se potřeba mít namísto inherentně nebezpečného Cčka nějaký bezpečnější jazyk, což byl IMHO důvod (či jeden z důvodů) vzniku Javy. Je otázkou, do jaké míry se to povedlo, když je virtuální stroj Javy napsán v Cčku. 8-) Druhou otázkou, kterou by měli zodpovědět hlavně ti, kteří Javu kritizují, je to, jak vytvořit jazyk zároveň bezpečný i efektivní (protože takový potřebujeme), a jak by potom podle nich měl vypadat. ;)

To se ovšem týká současnosti. Pro osmibity je naopak C jako programovací jazyk zcela OK, protože časově jsou od sebe poměrně blízko, kritičnost úloh je daná jenom tím, že by nás štval padající program, a naopak kvůli omezenému výkonu je důležitá efektivita a rychlost. A pro větší úlohy je pořád lepší psát je v C, než je psát (celé) v assembleru... ;) Jediné, co by mohlo znamenat přínos oproti C, je programovací jazyk, kde se ledacos ohlídá už jeho samotným návrhem, nebo to ohlídá překladač (který stejně běží na PC a ne na osmibitu). Proto jsem zmiňoval Pascal, od kterého jsem zvyklý právě toto očekávat. 8-)

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 08:30 
Offline
Profík
Uživatelský avatar

Registrován: 31.08.2014, 16:27
Příspěvky: 994
Bydliště: Praha
Has thanked: 63 times
Been thanked: 375 times
I když je Java VM v céčku, tak to tolik nevadí, proto množství kódu v něm psané je omezené. Nebezpečnějši jsou knihovny, bez c/c++ ten pixel přes DirectX Swing prostě nenakreslí.

U 8bitovych počítačů mi přijde soupeření C vs. Asm nakloněné ve prospěch Asm, protože člověk je schopen zvládnout všechny jemnosti CPU sám. U moderních CPU je jemností hodně - pipeline a bubliny, hierarchie cache, milicode, spekulativni běh. Tam by měl překladač zviltězit.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 09:19 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 864 times
Been thanked: 697 times
Něco mi uniklo nebo to nemyslíte vážně? :shock: Mikročipy, bankomaty, řídicí a navigační systémy letadla, se programují v C/C++ právě kvůli vyšší bezpečnosti a spolehlivosti. Bezpečnost software v C se zajistí jinými hlídacími prostředky, to nezajistí dostatečně interní kontrola nějakého interpereteru.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 09:41 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2773
Has thanked: 224 times
Been thanked: 601 times
Java a bezpečnost? V Javě naprogramovaný Android je nejzavirovanější systém ze všech, který už dávno překonal i desítky let trvající dominaci Widlí... Ani na PC to není lepší, ementál je proti Javě hermetický.

C je dnes opět na výsluní právě díky malým počítačům, vestavěným do všeho možného. Kontrola mezí a návratových hodnot je prostě základ, žádné "plácnu tam vygooglenou metodu a odchytávám výjimky".

A na bezpečné programy je tu už 40 let Ada.

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 10:14 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
faraon píše:
Panda38 píše:
Mikročipy, bankomaty, řídicí a navigační systémy letadla, se programují v C/C++ právě kvůli vyšší bezpečnosti a spolehlivosti.
Na bezpečné programy je tu už 40 let Ada.

Na Adu jsem si taky vzpomněl. A protože jsem v ní nikdy nedělal, kouknul jsem se do Wikipedie. A ejhle:

Citace:
"Because of Ada's safety-critical support features, it is now used not only for military applications, but also in commercial projects where a software bug can have severe consequences, e.g., avionics and air traffic control, commercial rockets such as the Ariane 4 and 5, satellites and other space systems, railway transport and banking.
For example, the Airplane Information Management System, the fly-by-wire system software in the Boeing 777, was written in Ada. Developed by Honeywell Air Transport Systems in collaboration with consultants from DDC-I, it became arguably the best-known of any Ada project, civilian or military.
The Canadian Automated Air Traffic System was written in 1 million lines of Ada (SLOC count). It featured advanced distributed processing, a distributed Ada database, and object-oriented design. Ada is also used in other air traffic systems, e.g., the UK’s next-generation Interim Future Area Control Tools Support (iFACTS) air traffic control system is designed and implemented using SPARK Ada.
It is also used in the French TVM in-cab signalling system on the TGV high-speed rail system, and the metro suburban trains in Paris, London, Hong Kong and New York City."

A proč že to? Seznam vlastností Ady (je dlouhý, tak ho sem nedávám) postihuje řešení snad všeho, co bych vyčítal Céčku, takže mi z toho vyplývá, že ty Céčkové nectnosti a problémy 1) je potřeba řešit, 2) je možné řešit.

A protože IT je byznis jako každý jiný, soudím, že jestli nějaké firmy programují kritické věci v C, není to "právě kvůli vyšší bezpečnosti a spolehlivosti", ale spíš kvůli snadnější dostupnosti a nižší ceně programátorů, vývojových nástrojů atd. atd.

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 10:16 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
Panda38 píše:
Bezpečnost software v C se zajistí jinými hlídacími prostředky, to nezajistí dostatečně interní kontrola nějakého interpereteru.

Přestože s tebou nesouhlasím, tohle mne zajímá - jaké prostředky máš na mysli?

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Programování v C
PříspěvekNapsal: 08.09.2018, 10:28 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Jiiira píše:
Nabízí se ovšem otázka ... velký posun v důležitosti od efektivity k bezpečnosti ... vytvořit jazyk zároveň bezpečný i efektivní .. programovací jazyk, kde se ledacos ohlídá ...

Proto jsem zmiňoval Pascal, od kterého jsem zvyklý právě toto očekávat. 8-)
Krasna uvaha, urcite si si s nou dal vela prace ... ale ja sa opytam: Co ti brani pisat v cecku program tak, ako by si ho pisal v paskale ? Bez hackerkych vychytavok, bez potencialne nebezpecneho pointeroveho zonglovania - proste program bude vyzerat tak ako keby si ho 1:1 preklopil z paskalu. A tym padom bude rovnako bezpecny ako napisany v paskale :)


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 159 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7, 8, 9 ... 11  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz