prochaska píše: ↑18. 5. 2019, 10:19
V podstatě nic

Díky většímu výkonu počítačů se podstatně zjednodušilo programování (přesněji řečeno programátor může své síly věnovat něčemu jinému než přemýšlení jak nacpat megabytovou tabulku do šedesáti čtyř kilo paměti) a jen díky tomu se daly naprogramovat například současné CADy
Dovolím si částečný nesouhlas (tak na 60%).
U mnoha věcí jistě platí, co jsi napsal. Je samozřejmě pohodlnější si nahrát do velkého pole všechna data a mít k nim pohodlný přístup, než je muset různě kódovat pro zmenšení velikosti a načítat je po kouscích. I když tohle spíš hovoří pro nárůst spotřeby paměti, rychlost by se měla spíš zvětšit.
Ale co je (podle mě) mor dnešního psaní SW, je bezhlavé používání předvařených částí SW. Takže místo aby se programátor 20 sekund zamyslel jak třeba sečíst nějaká data, tak místo toho ta data nasype do nějakého objektu (který kvůli tomu vytvoří) a zavolá nějaký další objekt pro to jejich sečtení. Přičemž ten volaný objekt je samozřejmě univerzální a umí nejen sčítat ale ještě tisíc dalších věcí, takže si pro svou práci musí otevřít 30 různých knihoven, které jsou hierarchické, takže vyšší volá nižší, ta zase další atd.
Je to prostě stylem uvažování. Nakonec kolikrát i tady na fóru se objeví názor, že než spočítat nějaký úhel, obvod kruhu nebo i obdélníku, tak je lepší na to použít "apku".
Já třeba dost programuju jednočipy pro řízení. Občas musím nahlídnout do jiných, už hotových programů, protože se třeba na ně musím napojit. Kdysi aspoň u podobného programování na nízké úrovni nad tím vývojáři přemýšleli. Ale tím, jak se zvyšuje výkon mikroprocesorů, tak už i tady to funguje podobně. Aby vývojář nastavil 1 bit na nějakým výstupu (což je 1 instrukce), tak zavolá nějakou šílenou knihovnu, do ní musí přenést (nejlépe nějakým objektem) data, a ta to provede.
Výsledek? Ta jedna instrukce by zabrala 2 byte, trvala třeba 20ns. Voláním knihovny to zabere třeba 800 byte a trvá 10us, tedy 500x déle. A žádnou vyšší užitnou hodnotu to nepřinese.
Těch 40%, ve kterých s Tebou souhlasím, je používání vyšších abstrakčních funkcí, kde to smysl má. Takže pokud se ke GUI přistupuje přes nějaké rozhraní na vysoké úrovni abstrakce, tak pak je to sice pomalejší, ale má to i své výhody. Programy se pak na dané platformě chovají stejně jako ostatní, tj. např. funguje na ně nastavené nastavení fontů, barevných schémat a skinů daného systému. A navíc je snažší jejich portovatelnost na jiné systémy. Ale tohle mnohé programy stejně nedělají (a přesto jsou pomalé). Viz např. debata ve vlákně o velkém monitoru s rozlišením 4k, kde lidi psali, že jim jich SW nectí třeba nastavení větších fontů.