Sólin Sólin Rís 10:57 • sest 15:40 í Reykjavík
Tunglið Tunglið Rís 15:11 • Sest 19:24 í Reykjavík
Flóð Flóð Árdegis: 08:44 • Síðdegis: 21:10 í Reykjavík
Fjaran Fjara Árdegis: 02:24 • Síðdegis: 15:10 í Reykjavík
Sólin Sólin Rís 10:57 • sest 15:40 í Reykjavík
Tunglið Tunglið Rís 15:11 • Sest 19:24 í Reykjavík
Flóð Flóð Árdegis: 08:44 • Síðdegis: 21:10 í Reykjavík
Fjaran Fjara Árdegis: 02:24 • Síðdegis: 15:10 í Reykjavík
LeiðbeiningarTil baka

Sendu inn spurningu

Hér getur þú sent okkur nýjar spurningar um vísindaleg efni.

Hafðu spurninguna stutta og hnitmiðaða og sendu aðeins eina í einu. Einlægar og vandaðar spurningar um mikilvæg efni eru líklegastar til að kalla fram vönduð og greið svör. Ekki er víst að tími vinnist til að svara öllum spurningum.

Persónulegar upplýsingar um spyrjendur eru eingöngu notaðar í starfsemi vefsins, til dæmis til að svör verði við hæfi spyrjenda. Spurningum er ekki sinnt ef spyrjandi villir á sér heimildir eða segir ekki nægileg deili á sér.

Spurningum sem eru ekki á verksviði vefsins er eytt.

Að öðru leyti er hægt að spyrja Vísindavefinn um allt milli himins og jarðar!

=

Hvernig var fyrsta forritið búið til ef það þarf forrit til að búa til forrit?

Hjálmtýr Hafsteinsson

Hér er einnig svarað spurningunni:

Hvaða forrit eru til fyrir forritun?

Forrit eru búin til með hjálp annarra forrita

Það er rétt að forrit eru notuð til að skrifa forrit. Til þess eru helst notaðir ritill og þýðandi.

Þegar hafist er handa við smíð forrits er byrjað á að slá texta á tilteknu forritunarmáli, svo sem Java, inn í ritil (e. editor). Ritillinn gæti til dæmis verið forritið Notepad sem fylgir Windows eða innbyggður í ákveðið forritunarumhverfi, svo sem Visual Studio frá Microsoft. Ritillinn auðveldar manni að vinna með forritstextann því einfalt er að bæta nýjum skipunum inn í mitt forritið; ritillinn hliðrar sjálfkrafa til því sem á eftir kemur.

Þegar allt forritið hefur verið slegið inn í ritilinn er það vistað á harða diski tölvunnar. En þar sem tölvur skilja yfirleitt ekki þau forritunarmál sem venjulega eru notuð þarf annað forrit sem kallast þýðandi (e. compiler) að breyta skipununum yfir á form sem tölvan getur unnið úr. Það forritunarmál sem tölvur skilja kallast vélarmál og er mjög frumstætt.


Að forrita á vélarmáli er bæði seinvirkt og erfitt. Forritarar nútímans nota nær aldrei vélarmál og hafa því lítið gagn af bók sem þessari.

Skipanir á vélarmáli eru táknaðar með tölum. Þannig gæti talan 129 til dæmis þýtt að leggja eigi gildið sem á eftir kemur við gildi í ákveðnu minnishólfi tölvunnar. Þannig myndi talnarunan 129, 456, 10 merkja að leggja ætti töluna 10 við innihald minnishólfs númer 456.

Það er augljóslega mjög seinvirkt að forrita í forritunarmáli sem þessu. Þess vegna hafa menn búið til "æðri" forritunarmál, eins og Java, C++, C#, Visual Basic og Pascal, sem hönnuð eru með það í huga að auðveldara sé fyrir mannlega forritara að nota þau og skilja. Vélarmál tölvanna eru aftur á móti gerð þannig að einfalt og hraðvirkt sé að framkvæma skipanir.

Hvernig urðu fyrstu forritin þá til?

Af ofangreindu ætti að vera ljóst að hægt er að búa til forrit án annarra forrita þótt það sé ekki venjan. Sé fólk tilbúið til að skrifa forrit á vélarmáli tölvunnar þarf það ekki þýðanda. Sömuleiðis er ritill ekki nauðsynlegur ef forritarinn sættir sig við að setja vélarmálsforritin sín sjálfur á rétta staði í minni tölvunnar. Þetta er hins vegar mjög seinvirkt og villugjarnt ferli svo í raun og veru vinnur enginn forritari lengur á þennan hátt.

Mönnum gæti dottið í hug að svarið við spurningunni sem sett var fram í upphafi væri að forritin sem vanalega eru notuð til að búa til önnur forrit séu skrifuð beint á vélarmáli. Það svar er hins vegar ekki alveg rétt. Þar sem þýðendur eru mjög stór og flókin forrit færi gífurlega mikil vinna í að skrifa þá frá grunni á vélarmáli. Raunhæfari möguleiki væri að skrifa fyrst mjög frumstæðan þýðanda á vélarmáli sem þýddi einfaldaða útgáfu af forritunarmáli yfir á vélarmál. Síðan væri hægt að skrifa fullkomnari þýðanda á þessu einfaldaða forritunarmáli. Þennan leik væri jafnvel hægt að endurtaka nokkrum sinnum og fá þannig sífellt fullkomnari þýðanda fyrir æ stærri hluta forritunarmálsins. Að lokum væri kominn þýðandi fyrir forritunarmál sem skrifaður er í málinu sjálfu! Þetta hljómar eins og þversögn, en þannig eru flestir þýðendur nú á dögum smíðaðir.

Frekara lesefni af Vísindavefnum:

Mynd:

Höfundur

Hjálmtýr Hafsteinsson

dósent í tölvunarfræði við HÍ

Útgáfudagur

21.10.2005

Spyrjandi

Sigurður Einar, f. 1991
Arnar Örn Ingólfsson, f. 1996

Tilvísun

Hjálmtýr Hafsteinsson. „Hvernig var fyrsta forritið búið til ef það þarf forrit til að búa til forrit?“ Vísindavefurinn, 21. október 2005, sótt 5. desember 2024, https://visindavefur.is/svar.php?id=5347.

Hjálmtýr Hafsteinsson. (2005, 21. október). Hvernig var fyrsta forritið búið til ef það þarf forrit til að búa til forrit? Vísindavefurinn. https://visindavefur.is/svar.php?id=5347

Hjálmtýr Hafsteinsson. „Hvernig var fyrsta forritið búið til ef það þarf forrit til að búa til forrit?“ Vísindavefurinn. 21. okt. 2005. Vefsíða. 5. des. 2024. <https://visindavefur.is/svar.php?id=5347>.

Chicago | APA | MLA

Senda grein til vinar

=

Hvernig var fyrsta forritið búið til ef það þarf forrit til að búa til forrit?
Hér er einnig svarað spurningunni:

Hvaða forrit eru til fyrir forritun?

Forrit eru búin til með hjálp annarra forrita

Það er rétt að forrit eru notuð til að skrifa forrit. Til þess eru helst notaðir ritill og þýðandi.

Þegar hafist er handa við smíð forrits er byrjað á að slá texta á tilteknu forritunarmáli, svo sem Java, inn í ritil (e. editor). Ritillinn gæti til dæmis verið forritið Notepad sem fylgir Windows eða innbyggður í ákveðið forritunarumhverfi, svo sem Visual Studio frá Microsoft. Ritillinn auðveldar manni að vinna með forritstextann því einfalt er að bæta nýjum skipunum inn í mitt forritið; ritillinn hliðrar sjálfkrafa til því sem á eftir kemur.

Þegar allt forritið hefur verið slegið inn í ritilinn er það vistað á harða diski tölvunnar. En þar sem tölvur skilja yfirleitt ekki þau forritunarmál sem venjulega eru notuð þarf annað forrit sem kallast þýðandi (e. compiler) að breyta skipununum yfir á form sem tölvan getur unnið úr. Það forritunarmál sem tölvur skilja kallast vélarmál og er mjög frumstætt.


Að forrita á vélarmáli er bæði seinvirkt og erfitt. Forritarar nútímans nota nær aldrei vélarmál og hafa því lítið gagn af bók sem þessari.

Skipanir á vélarmáli eru táknaðar með tölum. Þannig gæti talan 129 til dæmis þýtt að leggja eigi gildið sem á eftir kemur við gildi í ákveðnu minnishólfi tölvunnar. Þannig myndi talnarunan 129, 456, 10 merkja að leggja ætti töluna 10 við innihald minnishólfs númer 456.

Það er augljóslega mjög seinvirkt að forrita í forritunarmáli sem þessu. Þess vegna hafa menn búið til "æðri" forritunarmál, eins og Java, C++, C#, Visual Basic og Pascal, sem hönnuð eru með það í huga að auðveldara sé fyrir mannlega forritara að nota þau og skilja. Vélarmál tölvanna eru aftur á móti gerð þannig að einfalt og hraðvirkt sé að framkvæma skipanir.

Hvernig urðu fyrstu forritin þá til?

Af ofangreindu ætti að vera ljóst að hægt er að búa til forrit án annarra forrita þótt það sé ekki venjan. Sé fólk tilbúið til að skrifa forrit á vélarmáli tölvunnar þarf það ekki þýðanda. Sömuleiðis er ritill ekki nauðsynlegur ef forritarinn sættir sig við að setja vélarmálsforritin sín sjálfur á rétta staði í minni tölvunnar. Þetta er hins vegar mjög seinvirkt og villugjarnt ferli svo í raun og veru vinnur enginn forritari lengur á þennan hátt.

Mönnum gæti dottið í hug að svarið við spurningunni sem sett var fram í upphafi væri að forritin sem vanalega eru notuð til að búa til önnur forrit séu skrifuð beint á vélarmáli. Það svar er hins vegar ekki alveg rétt. Þar sem þýðendur eru mjög stór og flókin forrit færi gífurlega mikil vinna í að skrifa þá frá grunni á vélarmáli. Raunhæfari möguleiki væri að skrifa fyrst mjög frumstæðan þýðanda á vélarmáli sem þýddi einfaldaða útgáfu af forritunarmáli yfir á vélarmál. Síðan væri hægt að skrifa fullkomnari þýðanda á þessu einfaldaða forritunarmáli. Þennan leik væri jafnvel hægt að endurtaka nokkrum sinnum og fá þannig sífellt fullkomnari þýðanda fyrir æ stærri hluta forritunarmálsins. Að lokum væri kominn þýðandi fyrir forritunarmál sem skrifaður er í málinu sjálfu! Þetta hljómar eins og þversögn, en þannig eru flestir þýðendur nú á dögum smíðaðir.

Frekara lesefni af Vísindavefnum:

Mynd:...