NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 1 - Úvod do programování v Assembleru

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovídá na Nositelka Změny
Jakub Verner:15.1.2021 15:51

Objektový Assembler? :-? Nemyslíš kompilování do formátu .OBJ?

 
Odpovědět
15.1.2021 15:51
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Nositelka Změny
DarkCoder:15.1.2021 16:15

Zdá se jedná o nízkoúrovňový či vysokoúrovňový programovací jazyk není dáno programovacím paradigmem, ale tím, jak velká je odlišnost od způsobu fungování procesoru počítače.

Jazyk C je procedurální programovací jazyk, u něhož je vše založené na funkcích. Žádný uživatelsky přívětivý programovací jazyk se bez funkcí neobejde.

jenom to není tak pohodlné jako v těch "skutečných" vysokoúrovňových jazycích.

V čem je nepohodlné provést komplexní činnost programu prostým voláním funkce?

Odpovědět
15.1.2021 16:15
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovídá na DarkCoder
Jakub Verner:15.1.2021 16:55

To je pravda. Můžeme je rozdělit podle přístupu k hardwaru a C má nízkoúrovňový přístup jenom k paměti. Proto je to tak trochu diskutabilní.

 
Odpovědět
15.1.2021 16:55
Avatar
Odpovídá na DarkCoder
Nositelka Změny:15.1.2021 19:24

Spíš jsem měla na mysli, že bez objektového programování to je někdy těžké. Třeba knihovna GLib je ukázka toho, že to bez nich jde, ale s nimi je to jednodušší a přehlednější. A asi by se toho našlo víc, ale nic mě už nenapadá.

Odpovědět
15.1.2021 19:24
j.k.j
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovídá na DarkCoder
Jakub Verner:15.1.2021 22:17

Ale Céčkař nejsem a ani s ním nemám moc zkušeností, takže mohu říct pouze svůj názor. :-D

 
Odpovědět
15.1.2021 22:17
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovídá na Nositelka Změny
Jakub Verner:15.1.2021 22:52

Tak si představ, že opravdu existuje objektový Assembler. Konkrétně se jmenuje High Level Assembly a podporuje pokročilejší datové typy a OOP programování. Někdy se tak prý označuje i MASM. Docela zajímavé. P.S.: Při hledání se mi podařilo narazit na to, že C je prý vyšší programovací jazyk s prvky nižšího programovacího jazyka, takže je opravdu těžké říct, co tedy je... Je pravda, že C, pokud vím, není závislý na konkrétním procesoru a má takové typické prvky vyššího programovacího jazyka (nezávislost na procesoru, větší srozumitelnost, atd.), ale na druhou stranu, jsou tam znaky, jako třeba práce s pamětí, které nahrávají tomu, že je nižší. Pokud mám být tedy konkrétní, C je multiplatformní, což z něj činí vysokoúrovňový jazyk, ale jeho přístup k paměti z něj dělá nízkoúrovňový jazyk. Jsme tedy někde mezi. Přijde mi jako takový mezikrok.

 
Odpovědět
15.1.2021 22:52
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jakub Verner
DarkCoder:16.1.2021 12:13

C má nízkoúrovňový přístup jenom k paměti.

Nejen k paměti, ale i k hardwaru lze pomocí jazyka C přistupovat, jen to není tak přímočaré.
Ne nadarmo je jazyk C brán jako primární jazyk pro embedded systémy.

O tom, jaké jsou možnosti jazyka C k přístupu hardwaru, viz. odkaz.
Manipulating hardware with C

Pokud Tě baví assembler, nebylo by na škodu se k němu naučit C. Velmi Ti to usnadní práci a poskytne další pohled na věc a možnosti.

Odpovědět
16.1.2021 12:13
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Jakub Verner
Tvůrce
Avatar
Odpovídá na DarkCoder
Jakub Verner:16.1.2021 12:30

Já vím, že by mi C mohlo usnadnit práci, ale Assembler má prostě své kouzlo. Určitě není na škodu, naučit se ho, ale operáky hodlám psát výhradně v ASM. :-D Hrozně mě baví vymýšlet všechno od píky. Na druhou stranu, C je prostě takový lepší Assembler, takže proč ne. Nikdy není na škodu, umět něco víc. A děkuji za názory. :-)

 
Odpovědět
16.1.2021 12:30
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Nositelka Změny
DarkCoder:16.1.2021 12:31

Uspořádání celků do objektů je vhodné, hlavně z důvodu přehlednosti, naprosto souhlasím. Lze se však bez něj obejít. Způsob programování v C se trochu liší od ostatních jazyků, neboť se jedná o procedurální jazyk a celé je to stavěné na funkcích namísto designu, tak jak je tomu u klasických jazyků využívající OOP. Způsob, jakým se to v C řeší, je obrácený. Jasně se řekne co se má dělat a objekt se předá jako ukazatel.

Knihovna GLib je psaná v C a její zápis je rovněž typické pro programy psané v C. Takových příkladů je spousty. Namátkově další knihovny GLFW, SDL, RAYLIB, atd.

Nicméně každému vyhovuje něco jiného, proto vzniká spousta jazyků, kde každý se hodí pro něco jiného. Stačí si jen vybrat.

Odpovědět
16.1.2021 12:31
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Jakub Verner
DarkCoder:16.1.2021 12:37

Souhlasím. Čím více se ponoříš do základů, tím více pochopíš jak co funguje a můžeš tak cokoli zlepšit. :-)

Odpovědět
16.1.2021 12:37
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 20.