Kezdőoldal » Számítástechnika » Programozás » Hogyan készült az első számító...

Hogyan készült az első számítógépes program, ha nem volt milyen programmal megírni?

Figyelt kérdés

Sziasztok!


A világhálón semmit sem találtam :/

Megvannak a magam teóriái, de szeretném a valóságot megtudni. /Ne tudom elképzelni, lehet hülyének nevezni, jogosan 😅/ Nagyon kíváncsi vagyok, a válaszokat (az okosakét, (nem az okoskodókét)+ az értelmesebbek válaszát) előre is megköszönöm :)



2020. dec. 29. 00:08
 1/7 anonim ***** válasza:
98%
Kábelek megfelelő összekötésével fixen programozták bele a CPU-ba.
2020. dec. 29. 00:12
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
25%
Szerintem a tyúk volt előbb, nem a tojás...
2020. dec. 29. 00:29
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
97%

Így: [link]

Megfelelő kábelek bedugásával, és/vagy kapcsolók megfelelő helyzetbe állításával alakították ki a programkódot. Ehhez persze ismerni kellett a feldolgozóegységet (amit ma (mikro)processzornak neveznénk), és előre pontosan meg kellett tervezni, hogy mit, mivel kell összekötni, hogy a papíron megtervezett kód létrejöjjön.

Később már lyukkártyákra, vagy lyukszalagokra lyukasztották (általában kézzel) a kódot. Általában ez is gépi kódban történt, a programozó "kézzel" alakította át az utasításokat gépi kóddá, majd azt rályukasztotta a kártyára/szalagra, amit aztán később a gép beolvasott.

2020. dec. 29. 00:42
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
40%

Az első programokat Ada Lovelace írta, nyilván tollal, papírra, még az 1800-as években. Egy olyan masinára készültek ezek, amely soha nem épült meg teljesen /differencial engine/.

Ami már működött is, az Conrad Zuse gépén futott /193?/. Ez a program a gép átvezetékezésével került bele a masinába.

A leggyakoribb a kapcsolókkal, dugasz-táblákkal történő programozás volt, ezt követte a lyukkártya, majd a lyukszalag. Ezeken lehetett először úgy tárolni programot, hogy azt később is be lehetett olvasni. A kártyákon, szalagon a megfelelő pozícióban lévő lyukak vagy azok hiánya jelentette a bináris értéket. Innen már csak egy lépés volt a mágneses elvű, elektronikus tárolás.


Azt érdemes figyelembe venni, hogy ekkoriban a számítógépeket még valóban csak számítások elvégzésére használták.

A programokat matematikusok írták, saját maguknak és többnyire operátornők végezték a dugaszolást, a programok gépbe táplálását.

2020. dec. 29. 07:52
Hasznos számodra ez a válasz?
 5/7 tabaki ***** válasza:
100%

„nem volt milyen programmal megírni”


A program nem azonos sem a valamilyen programnyelvű megfogalmazásával, sem pedig ennek a szövegszerkesztőbe való beírásával. A processzor egy számsorozatot vár, amelynek tagjai részben az általa ismert műveletek sorszámát, részben az ezekhez szükséges adatok értékét jelentik. Ezt ma valóban a fordítóprogramok állítják össze a számára, de 𝘦𝘭𝘷𝘪𝘭𝘦𝘨 semmi akadálya, hogy bármilyen más eszközt használj a bevitelre: Lyukkártyát, lyukszalagot, magnót, vagy akár számbillentyűzeten való bepötyögést. Ha tudod, hogy a processzor milyen műveletek elvégzésére képes, beírhatod annak a számát, meg a végrehajtásához esetleg szükséges adatokat. Maga a program ezen adatok bevitelének a megfelelő sorrendje, amit adott esetben egy sajtcédulára is fölfirkanthatsz magadnak. Műveletek alatt persze ne olyan bonyolult tevékenységeket érts, mint „írd a képernyőre, hogy "HÜLYE"”, vagy „hozz létre egy tíz elemű tömböt”, inkább efféléket: „cseréld meg A és B regiszter tartalmát”, „lépj vissza három utasítást”, „írd az A regiszterbe olvasott memóriacímre B értékét”. Az ehhez hasonló elemi utasítások bele vannak építve a processzorba, és a megfelelő számérték hatására végrehajtódnak. Azt sem szabad elfelejteni, hogy a régi processzorok utasításkészlete jóval szűkösebb volt a maiakénál, és az okos emberek a számkódok java részét fejben tudták tartani.

Manapság persze nehéz elképzelni, hogy ilyen gépi kódok sorba rakásával értelmes programot lehessen összeállítani, de a kezdet kezdetén nem olyasmivel foglalkoztak a programozók, hogy átzsírosodott kalapú cowboyok hogyan zuhannak sikoltozva a tábortűzbe, vagy robban le hitelesen a mutáns medúzaember feje, hanem elsősorban csakugyan matematikai számításokra használták a gépet, és egy sokszoros hatványozást, átlagolást, pályagörbeadatokat meg hasonlókat össze lehetett ügyeskedni ilyen módon is – lehet, hogy ennél ma már minden zsebszámológép többre képes, de minden kezdet nehéz...

A gépi kódú utasításokkal természetesen olyan programokat lehet írni, amelyek egyéb hasznos dolgokat végeznek, például a kapott értékeket nem közvetlenül használják fel, hanem bizonyos adatcsoportok alapján maguk állítják össze a processzornak küldendő adatokat. Ilyenek az assemblerek, amelyek a programozó számára jóval megjegyezhetőbb és olvashatóbb rövidítéseket tartalmazó karaktercsoportokat (mnemonik) írják át gépi kódra - itt máris megmutatkozik az immár nem is olyan nehezen megírható szövegszerkesztő használatának előnye, kivált, hogy a fejlődés nem állt meg. Az assembly nagyjából megfeleltethető a gépi utasításkészletnek, ezért a programok igen aprólékos tagolását kívánja, amire általában nincs szükség: Egy-egy bevált algoritmus az elemi utasítások tömegét kívánhatja, ezeket célszerű nagyobb csoportokba foglalni, amelyekre saját, a gépi alapoktól már független megnevezésekkel lehet hivatkozni; Ezt csinálják a különféle programnyelvek. Amikor egy programnyelvi utasítást leírsz, már eszedbe sem jut azzal foglalkozni, hogy egy jelzőbit hogyan billen át, vagy mi van egy regiszterben (és hogy egyáltalán léteznek ilyesmik), hanem a programnak csak az általad látott, magasabb szintű tevékenységével foglalkozol, például, hogy olvasson be egy sort, rajzoljon ki egy ablakot három gombbal, vagy beállítható fenyegetési tényezővel mondja ki a „Megdöglesz, Géza!” mondatot. Ha az adott programnyelven ez megírható, semmi egyébbel nem kell törődnöd. Mindez azt az illúziót kelti, mintha a programozásnak eleve magától értetődő részei volnának ezek a lehetőségek, és innen nézve teljes képtelenségnek tűnik, hogy a számítástechnika hajnalán is lehetett programot írni. A folyamat ismeretében viszont nincsen benne más csoda, mint az emberi elme leleményessége. Igaz, az se piskóta...

2020. dec. 29. 16:49
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

"Azt sem szabad elfelejteni, hogy a régi processzorok utasításkészlete jóval szűkösebb volt a maiakénál,"


Ez az egy kijelentésed korrekcióra szorul.

A régi időkben is, amikor a processzorok tulajdonképpen összehuzalozott logikák voltak, bizony akadtak komoly, sok utasítást ismerő, nagy bitszélességen /12,18,24,36/ dolgozó processzorok is.

Az 1974-75 környékén megjelenő, otthoni gépekbe épített, 8 bites CPU-k eredendően kontrollernek lettek kifejlesztve, vezérlési, mérési célokra és nem számítógép központi elemeként. Persze azért megszületett az ALTAIR, az APPLE I, a VIC20, a ZX80, stb.

A 'komoly' szakemberek ezeket le is nézték, a mikrogépeket nem tekintették igazi számítógépeknek. Innen, ebből a korból ered a mondás is: Ne bízz olyan számítógépben, amelyet egymagad is fel tudsz emelni.


Az első népszerűbb, szériában gyártott, több szekrény méretű gépek, a PDP sorozat egyes tagjai pl. 18 bites szóhosszal bírtak és ezek voltak a kor kisgépei. Na ehhez képest az 1981-ben debütáló IBM PC későbbi, advanced verziója /ez volt az AT/ is csak 16 bites processzort kapott.

2020. dec. 29. 17:28
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:

😀


(#5, igen, tudom, csak elfelejtettem idéző jelbe tenni 😅)


#2, kifejtenéd bővebben?


#A többi komment(elő), köszönöm, hogy időt szántatok rám ilyen hosszú szövegekkel. Tényleg nagyon sokat segített amegértésben! :)

2020. dec. 29. 22:02

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!