Portál AbcLinuxu, 30. dubna 2025 18:29
Jak již titulek naznačuje, tak po zvládnutí základů jazyka C se rozhoduju kam dál. Pod "zvládnutí základů" si představte to, že např. dokážu pracovat s dynamickými poli či řetězci (tedy vlastně poli znaků)...
Rozšířit si vědomosti ohledně jazyka C? Nebo "skočit" na C++? Nebo dokonce na nějaký jiný jazyk? A co takhle assembler či dokonce strojový kód? Nebo se vrhnout na programátorskou "kuchařku" Umění programování -- 1. díl Základní algoritmy od D. E. Knutha, kterou jsem si nedávno koupil? Také se mi tu valí kniha Python 3 Výukový kurz od M. Summerfielda.
Uvědomuju si, že to, kam se vrhnu, bude záviset na vstupních znalostech, a také, co bych chtěl programovat. A taky, zda mi to bude "sympatické".
Vstupní znalosti (vzdělání): jistou dobu jsem programoval jednodušší prográmky v Pascalu a docela mi to i šlo, mám jisté základy vyšší matematiky, ale bude nutnu je oprášit. Znalost angličtiny je na úrovni, že zvládnu celkem v pohodě přeložit a pochopit většinu manuálových stránek. Absolvoval jsem elektrotechnickou průmyslovku. Mám tři semestry VŠ ekonomického směru. Jsem pokročilý uživatel Arch Linuxu (či obecně GNU/Linuxu).
Co bych chtěl programovat (čemu bych se chtěl věnovat): Chtěl bych zvládat naprogramovat cokoli, ale vím, že je to nedosažitelná meta. Určitě bych chtěl zvládat min. opravit nějakou tu chybku v linuxovém ovladači. Chtěl bych umět naprogramovat alespoň velmi jednoduchý kompilátor (překladač) nějakého jazyka. Určitě bych chtěl umět naprogramovat (byť jednoduchý) textový editor (podobný editoru Vim). A vyvrcholením by bylo naprogramování operačního systému, což je samozřejmě také vysoká a možná nedosažitelná meta.
Nebyly by rady/názory/zkušenosti od vás, kam se vrtnout? Předem díky!
Tiskni
Sdílej:
Děkuju.
Děkuju!
mi přišel jako krásná architektura pro psaní OS.V assembleru?
Většinou to dopadlo spíš tak, že jsem měl obrazovku plnou červonočerných srdíček.
Ale mužeš skusit třeba navrhnout procesor,:-O +1
Kompilátory se dají pohodlně psát ve funkcionálních jazycích, které podporují tzv. pattern matching – například OCaml nebo Haskell.
3) Napsat tuny kódu.Třetí bod je podle mně nejspíš ten nejdůležitější. Ne že by ty první dva nebyly důležité, ale jediný způsob, jak být v něčem opravdu dobrý, je praxe, např. podle jedné knihy je na dosažení mistrovství v oboru třeba 10 000 hodin. Tento údaj sice podle mne dost závisí na oboru činnosti, ale zhruba by to odpovídalo, tj. jsou na to třeba řádově roky.
3) Napsat tuny kódu.4) Přečíst tuny kódu.
Kam dál po zvládnutí základů jazyka C?Do perdéle a jěšte dál
V praxi jsou sice na nic
V zahraničí to naštěstí neplatí.
V zahraničí sídlí společnosti, které tyto jazyky používají:
Děkuju všem za názory/rady/zkušenosti.
Rozhodnul jsem se, že budu prohlubovat znalosti jazyka C a programování obecně. A to nejen studiem knih/časopisů/..., ale hlavně také studiem zdrojových kódů druhých a psaním vlastních programů.
Pro to "obecné zlepšování programování" mám už koupenou knihu Umění programování, 1. díl -- Základní algoritmy od D. E. Knutha. Když jsem se do této knihy koukal, tak opravdu musím oprášit matematiku...
Když jsem se do této knihy koukal, tak opravdu musím oprášit matematiku...
Na to se může hodit knížka Concrete Mathematics též od Knutha.
Z mého pohledu je jazyk C fakticky překonaný. Pro low level aplikace a pro nejefektivnější využití možností sytému je dnes kombinace asm a C++.Jo, takové to C++,
class kus_programu { program v C }... neboli C s třídama, špagety s kuličkami masa...
Myslím, že Knuth je zbytečně složitý jako kniha a zase takovou hodnotu nemá, co by se nedalo najít jinde - zvláště pokud začínáte. Zato je neuvěřitelně a zbytečně přesložitělý a asi stejně blbě čitelný jako bichle směrnic EU."Jinde" se odkazují právě na Knutha. Přesložitělý v čem?
"Jinde" se odkazují právě na Knutha. Přesložitělý v čem?Zrejme v tom, ze popisuje low-level algoritmy, misto aby navedl ctenare na hotove knihovny a tridy
Pokud si někdo myslí, že C++ je pouze C + třídy, pak tím prošel testem, na jehož výsldku vyjde „C++ neorzumím, nevím co to je a pokud ho ovládám, tak max. z jednoho procenta“.Tak se dneska píšou (dle mých zkušeností) ty jmenované programy pro low level.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.