Pochopitelně, ale náhradou pythoního kódu by došlo k zásadnímu zrychlení a zkvalitnění kodu mnoha zařízení, hlavně v embedded oblasti... myslím tím různé routery, STB a podobné. Rozhraní bývá někdy dost líné, občas padá a dávat do toho rychlejší hw by to dál zbytečně podražilo. Například satelity s Enigmou jsou celkem drahé (samozřejmě toho umí dost, takže cena odpovídá).
13. 7. 2021, 00:44 editováno autorem komentáře
Ukazuje se, že i v Rustu lze psát spoustu aplikací, na které je dnes používán Python, podobně efektivně z hlediska nákladů na vývoj a údržbu. Případně oba světy spojit s využitím PyO3.
Problémy, které způsobují nízkoúrovňové programy psané v C, jsou ale starší a závažnější. Náhrada C je zcela zásadní úkol.
Já tam problém vidím, i přes čtyřjádrový supervýkonný ARM je rozhraní relativně pomalé a celkem často padá do zelené obrazovky, zvlášť pokud používáte více pluginů. Prostě to nestíhá a navíc pluginy píšou patlalové, přitom právě tohle by měla být největší výhoda proti laciným krabičkám s uzavřeným kódem, relativně pomalými CPU a pidivelkou RAM. Ale překvapivě tam bývá rozhraní rychlé skoro stejně, takže viník za mně je celkem jasný...
To sotva, Python je v tom nejlepším slova smyslu dneska tím, čím byl v 80. letech BASIC. Podle mne je to jeho důstojný nástupce: snadný programovací jazyk pro každého, sice pomalý, ale široce použitelný. Umožňuje komukoli si snadno a rychle nabastlit prográmek, který zrovna potřebuje, prototypovat nějaký algoritmus nebo si pohrát a učit se programovat. Rust tímhle určitě není a ani žádný z jiných nových jazyků (zig, nim, julia atd...), pokud se některému podaří se uchytit, nenabídne takovou vstřícnost vůči začátečníkům a neprogramátorům a zároveň tak všestranný a bohatý ekosystém. Python tu podle mne bude ještě hodně dlouho a zaplať pámbu za to.
Dovolím si nesouhlasit.
Něco jsem v Perlu napsal a hůř, pár programů jsem upravoval ...
Python je proti Perlu zlatý, přehledný a nezáludný jazyk.
Perl je takové trochu moc přerostlé AWK (aspoň do v 5 určitě), které lidi používali ze dvou důvodů:
- shell skript je příliš závislý na systémových utilitkách (a ty byly v každém unixu trochu jiné - BSD, SysV ale i "diverzita" v rámci verzí v jedné firmě SunOS <> Solaris)
- lisp - pro mnoho lidí je lisp spíš problém, než jeho řešení
takže nezbylo než použít Perl a čekat na Python ;-)
Ono nie ze by som suhlasil s tym prirovnanim Pythonu k Perlu, ale v minulosti bolo niekolko web a gui aplikacii napisanych v Perli na ktore som narazil a spominam si ze mi to neprislo take cudne. (bolo to niekde na prelome milenia) Cize Perl sa pouzival aj na normalne pouzivatelske aplikacie (vtedy "programy") aj ked je asi pravda ze nie v takom rozsahu, ale to je tazke porovnavat, vtedy nebola GUI appka na vsetko.
to bylo někdy na začátku 90. let
Ono to strašně letí, ale začátkem 90. let (leden 91) byly spuštěny první web servery mimo CERN. Na nějaké cgi se ještě muselo trošku počkat.
PHP vzniklo na podzim 1994 a teprve to později Perl vytlačilo, ale i dnes takové věci potkáte (synova kamarádka dostala takový job, musela se kvůli tomu naučit Perl).
Takže bych to časově opravil na "koncem 90. let".
Perl byl všechno možné - nejen grep/sed/awk - a mottem Larryho a Perlu bylo "there is more then one way to do it"
"Skutečný programovací jazyk" je sice poněkud diskutabilní pojem, ale programovací jazyk, který je navržen s ohledem na čitelnost a udržovatelnost velkých aplikací, vypadá fakt jinak. Dnes už je to ale zbytečná debata, snad lze jenom varovat naivní podnikatele, aby si nenechali do ekosystému něco podobného zavést.
Vy jste komik. V Perlu jsou napsané a stále se píší kritické aplikace které mají stovky tisíc SLOC. Pro srovnání, na stejnou funkcionalitu je třeba v Javě potřeba v průměru 7x tolik SLOC. A kritickou aplikaci mám na mysli aplikaci, který musí běžet 24/7 a výpadek stojí peníze, hodně peněz. Například já jsem pracoval na jedné, kde 1 minuta výpadku stála 1000€ na tržbách. A ne, nešlo o CGI, ale samostatně běžící "monolit" realtime server nepřetržitě spojený speciálním protokolem s tisícovkou poboček rozesetých po celé zemi. To si jen naivní chlapci, jejichž obzor končí u webísků myslí, že Perl se nehodí a nepoužívá na skutečné aplikace. Perl dnes stále najdete na mnoha místech, kde se točí peníze, velké peníze. A co se týká čitelnosti a udržovatelnosti, je to jen o tom, jací lidé na tom pracují a s jakou péčí to dělají. Viděl jsem hodně čitelných a udržovatelných kódu napsaných v jakémkoli jazyce a taky ve stejném, o který bych si kolo neopřel. Často právě od těch co si myslí, že Perl není jazyk vhodný k psaný velkých aplikací. Jo to se nás jednou ptali vývojáři z Java týmu, a jak často to restartujete? My na ně koukali, jako co tím myslí? No restartujeme to, když nasazujeme novou verzi, to u některých zákazníků může být po třech měsících až půl roce, jak máme novou verzi, co stojí za to nasadit. Pak z nich vypadlo, že ten jejich produkt, který koupila za několik desítek milionů dolarů jedna velká mezinárodní IT firma na dvě písmena a i pod ní to už pod expertním metodickém vedení vyvíjí další dva roky, musí co dvě hodiny restartovat. Koukali jsme na ně jak na zjevení. Vám se jde jen smát.
Ano, stejně jako v C je zcela teoreticky možno psát bezchybné programy, ale z jistých důvodů se od něj postupně odchází, je "zcela jistě" možné v Perlu psát úžasné, pekelně rychlé a krásně čitelné programy, akorát z nějakého divného důvodu se z Perlu nestal mainstream.
Tak aby smích přešel; v Pythonu podobné "úžasné" 24/7 systémy běží taky, ale na ve srovnání s Perlem, když odejde "superhacker," který ten systém dělal, najdeš nástupce tak 20x rychleji. A lepšit se to (ve prospěch Perlu) skoro jistě nebude. I kdyby byli všichni perlisti ze zlata (což nejsou, u nás v práci s tím máme zkušenosti), je jich málo.
14. 7. 2021, 03:39 editováno autorem komentáře
@A.P.Hacker To mělo být na mě? Už se v tom vláknu špatně orientuje. U nás ve firmě máme poměrně bohaté zkušenosti s oběma jazyky na to, abych věděl, že v Perlu fakt není problém psát velké aplikace (o tom můj vstup na začátku nebyl, ten byl o tom, že tu aplikaci budeš chtít udržovat, vyznat se v ní a nabrat lidi, kteří to budou chtít a umět dělat), že kód v Perlu se s Pythonem fakt v čitelnosti nemůže rovnat a že za to nemůžou programátoři, ale poněkud exotický návrh Perlu. Na problém se závislostmi jsem fakt narazil, hlavně po přechodu na Python 3, ale je to, opět ve srovnání s Perlem, procházka růžovým sadem. Jak jsem psal ale výše: Naštěstí Perl už není v kursu (a nebude), takže ta debata je (obecně) zbytečná.
No, těch asi moc nebude, Rust toho podporuje hodně: https://doc.rust-lang.org/nightly/rustc/platform-support.html
To je rozdíl, céčko "nějak funguje" protože spousta věcí je nedefinovaných a nic se nedá pořádně prokázat. Ale u Tier3 platforem v Rustu je to tak, že "nějak funguje" překladač, tj. netestuje se rigorózně a v podstatě vůbec není zaručené, že generuje správný kód. Prostě rustc generuje SSA graf pro LLVM a LLVM má jakýsi více či méně podporovaný back-end pro danou architekturu, ale jestli tahle kombinace vážně funguje, zvlášť v těch subtilnějších případech (a těch je v Rustu hodně) kde je složitý pointer aliasing nebo se překladač snaží o autovektorizaci, to doopravdy nikdo neví.