Mi az a "számítógép-programozás"?
Találtam egy könyv sorozatot, belinkelem az első kötetét, onnan megnézhető a többi része is. Az a kérdésem, hogy végül is mi a számítógép programozás, egyen értékű azzal a programozással, amikor szoftvert ír valaki, vagy ez teljesen más?
"Ezt le tudod picit írni úgy, hogy egy hozzá nemértő is szavakba önthesse? :)"
Hozzá nem értő? Mennyire hozzá nem értő?
Hozzá nem értőnek azt szoktam mondani ,hogy hosszú.
Most megpróbálom leírni. Egy magas szintű programozási nyelven írt program forráskódja (ideális esetben) harver független, operációs rendszer független.
Például a sudoku megfejtő pascal program forráskódja mag van írva MS-DOS-ba sok évvel ezelőtt és a dos-os pascal fordítóval le van fordítva (486-os gép natív kódra) exe-re. Ez az exe nem biztos hogy fut a legújabb windows-on.
De a legújabb pascal fordítóval újrafordíthatom (ha meg van a forráskódja) egészen más exe keletkezik vagy lefordíthatom linux-ra itt nem is exe keletkezik, ugyan azt csinálja a program minden platformbeli változata.
Ellentétben a harver közeli programozási nyelvvel, ahol pontosan kell ismerni a gép utasításkészletét és erősen harverfüggő: assembly.
Az assembly a gépi kódhoz (a számítógép „anyanyelvéhez”) legközelebb álló, és így helykihasználás és futási idő szempontjából a leghatékonyabb általános célú programozási nyelv.
Kielégítő volt a válasz?
Hazudnék, ha azt mondanám, nem volt kielégítö. Az volt, nagyon is, köszönöm :)
Más kérdés, hogy ahogyan azt nyilván te is vártad, nem teljesen értem. De valami fénylik azért, annyival is közelebb vagyok a megfejtéshez :)
Tehát lényegében minden hardveres környezetnek, esetünkben egy számítógépnek, van egy saját szoftveres környezete is a rajta futó bármilyen operációs rendszeren kívül, ha jól értelmezem. Végül is így a különbözö hardver elemek egymás közti kommunikációját programozhatjuk, állíthatjuk be, és megmondhatjuk egy-egy hardvernek is akár, hogy hogyan müködjön? Kezdem kapisgálni vagy távolodom a megoldástól?
Szóval mondjuk egy PC (legyen laptop) esetében elöször beprogramozzák magát a gépet (hardvereket) majd utána megy rá az OS? Ez lenne a BIOS vagy valami olyasmi? :)
"Tehát lényegében minden hardveres környezetnek, esetünkben egy számítógépnek, van egy saját szoftveres környezete is a rajta futó bármilyen operációs rendszeren kívül, ha jól értelmezem."
Ez átmenet a szofver és hardver között, ezt nevezhetnénk szofvernek is de közös megegyezés alapján firmware-nek nevezik.
Együtt szokták venni a harveres környezetet meg az operációs rendszert.(Ha kell akkor külön.)
Az operációs rendszer az lényegében (látszatra) kibővíti a gép "anyanyelvét" utasításkészletét. Olyan mintha egy olyan gépem lenne mintha azt tudná amivel az operációs rendszer kibővítette/megokosította (egyes utasításokat pl ami a harverre veszélyes elrejti),de gép a puszta harver/firmware felett álló operációs rendszer virtuális gépet alkot.
"Végül is így a különbözö hardver elemek egymás közti kommunikációját programozhatjuk, állíthatjuk be, és megmondhatjuk egy-egy hardvernek is akár, hogy hogyan müködjön?"
Akár.
"Kezdem kapisgálni vagy távolodom a megoldástól?"
Inkább közeledsz, de nem hiszem hogy ilyen mélységbe belemenne ez a könyv.
"Szóval mondjuk egy PC (legyen laptop) esetében elöször beprogramozzák magát a gépet (hardvereket) majd utána megy rá az OS? Ez lenne a BIOS vagy valami olyasmi? :)"
Lényegébe igen, de menjünk még harver közelebbi "vizekre" itt a beprogramozás menete nem minden esetben a szokásos értelembe, egy olcsó laptop processzora is a tranzisztorok millióit tartalmazza, minden tranzisztor be van programozva.Ahogy a 12:45-ös hozzászóló írta "hogy megmondod valaminek, hogy mit csináljon, adsz neki egy utasítássorozatot, amit önállóan végrehajt",de ide már kell az elektrofizika meg elektrokémia már lassan kvantumfizika stb. Meg persze formális logika stb. De ez már a fizikusok, mérnökök dolga, ne menjünk ennyire bele ez jóval túlmutat a könyvsorozat keretein.
Remélem nem kavartalak nagyon meg, de kérdezz ha akarsz.
Nem, dehogy, nem kavartál meg. A lényeg, ennek a "közhelyes" programozáshoz, mikor is egy adott szoftvert alkotsz meg, nem igazán van köze. Ez még akkor megy végbe (későbbi frissítésektől eltekintve), amikor még az OS valahol a távoli jövőben van. Én így értelmeztem, remélem jól. :)
Köszönöm szépen a válaszokat! :)
"A lényeg, ennek a "közhelyes" programozáshoz, mikor is egy adott szoftvert alkotsz meg, nem igazán van köze."
Általában, ha assembly programozásra gondolsz. Mit értesz "közhelyes" programozás helyett?
"Ez még akkor megy végbe (későbbi frissítésektől eltekintve), amikor még az OS valahol a távoli jövőben van. Én így értelmeztem, remélem jól. :)"
Micsoda megy végbe? Az assembly programozás az OS tervezése előtt, közben, után is van.
Egy OS létezhet régebben mint egy hardver amire rárakják. Pl. Van olyan Intel Core gép amin XP van, de az XP jóval hamarabb létezett.
Az nem derült ki az eddigiekből, de assembly-ben bármilyen programot lehet írni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!