Tölvumál - 01.11.2015, Blaðsíða 34
34
Á síðustu árum hafa fjölmargir nemendur tekið áfanga í forritun við
Háskólann í Reykjavík. Inngangsáfangi í C++ forritun er kenndur bæði
fyrir fyrsta árs nemendur í tölvunarfræði, og fyrir annars árs nemendur í
verkfræði. Undanfarin ár hafa um 400-500 nemendur setið þessa
áfanga á hverju ári.
Í þessari grein mun ég fjalla stuttlega um þann hugbúnað sem ég hef
notað við kennslu í C++ forritun við Háskólann í Reykjavík.
VAL Á FORRITUNARMÁLI
Ein fyrsta ákvörðunin sem þarf að taka þegar kennsla í forritun er
skipulögð er hvaða forritunarmál verður fyrir valinu. Helstu valkostirnir
eru C++, Java og Python.
Mynd 1: Vinsældir nokkurra forritunarmála samkvæmt PYLP Index (PopularitY
of Programming Languages)
Python kom fyrst fram um 1991 en hefur náð miklum vinsældum
síðustu ár. Helstu kostir Python sem fyrsta forritunarmál er að málið er
bæði skýrt og öflugt, þar sem hægt er að gera flókna hluti með tiltölulega
fáum línum af kóða. Fyrir kennara sem fara yfir og meta forrit frá
byrjendum í forritun þá er mikill kostur hvað Python er strangt varðandi
uppsetningu á kóða, þ.e. kóðinn verður að vera rétt inndreginn, en það
leiðir af sér betri vinnubrögð og skýrari framsetningu á forritum. Nafnið
„Python“ er komið frá sjónvarpsþáttunum Monty Python’s Flying Circle,
en höfundur Python, Hollendingurinn Guido van Rossum er mikill
aðdáandi þeirra.
Java hefur verið algengt val sem fyrsta forritunarmál, sérstaklega þar
sem lögð er áhersla á hlutbundna forritun. Java kom fyrst fram árið
1995 og náði fljótlega miklum vinsældum. Samkvæmt PYPL Index þá
er Java vinsælasta forritunarmálið, eins og sjá má á Mynd 1. PYPL
Index metur vinsældir forritunarmála út frá því hversu oft leitarvélin
Google er beðin um að finna leiðbeiningar (e. tutorial) fyrir viðkomandi
forritunarmál. Í október 2015 var 24,7% af slíkum leitum fyrir Java.
Forritunarmálið Java er ólíkt mörgum öðrum málum að því leyti að forrit
skrifuð í Java eru keyrð í gegnum Java sýndarvél (e. virtual machine)
sem þarf að vera til staðar á tölvunni. Slík uppsetning verður þá til þess
að hægt er að keyra sama Java forritið á tölvum með mismunandi
stýrikerfi, þ.e. hugmyndafræðin á bak við Java er „skrifa einu sinni,
keyra hvar sem er“ (e. WORA: Write Once, Run Anywhere).
C++ á sér mun lengri sögu en Java og Python. C++ kom fram árið
1983, en C++ byggist á forritunarmálinu C sem kom fram árið 1972. C
er svo byggt á forritunarmálinu B, sem aftur á móti var byggt á
forritunarmálinu BCPL. C náði fljótt miklum vinsældum og hefur haldið
þeim í gegnum tíðina. Einn helsti gallinn við C er skortur á stuðningi við
hlutbundna forritun, og eitt helsta markmiðið með þróun C++ var að
bæta við þeim stuðningi. C++ varð fljótlega mjög vinsælt og hefur haft
mikil áhrif á mörg önnur forritunarmál, til að mynda Java, C#, Objective-C
og fleiri, en Python er hinsvegar ekki undir miklum áhrifum frá C++.
Forritunarmálið C++ er mun nær vélbúnaðinum í tölvunni en bæði Java
eða Python, sem þýðir að hægt er að ná miklum hraða í forritum
skrifuðum í C++, en á móti verður sjálfur kóðinn þá oft mun lengri en til
dæmis sambærilegur kóði í Python.
Við Háskólann í Reykjavík er C++ kennt sem fyrsta forritunarmál. C++
er ekki auðvelt forritunarmál og það setur miklar kröfur á að hlutir séu
settir fram skýrt og rétt og allt sé vel skilgreint. Það er hinsvegar í raun
ein af ástæðunum fyrir því að nemendur sem læra C++ sem fyrsta mál
standa oft vel að vígi þegar kemur að áframhaldandi forritun, því C++
þvingar notandann til að vera meðvitaður um hvernig tölvan virkar og að
beita aga í forritun. Eftir að hafa lært C++ þá er tiltölulega auðvelt að
læra önnur forritunarmál, bæði vegna þess hvað C++ gefur oft góða
innsýn inn í hvernig hlutir virka, en einnig vegna þess hvað mörg önnur
forritunarmál byggja beint á C++. Val á fyrsta forritunarmáli fyrir
nemendur er hinsvegar mjög umdeilt og hægt er að lesa á netinu langar
rökræður og rifrildi um það efni.
ÞRÓUNARUMHVERFI
Forrit eru oftast skrifuð í þróunarumhverfi (e. IDE: Integrated
Development Environment) sem sameina textaritil, þýðanda og
aflúsunarkerfi. Forritunarkóðinn er skrifaður í textaritli, en góð
þróunarumhverfi setja til dæmis mismunandi liti á kóðann til að forritið
verði skýrara. Þýðandi tekur kóðann og býr til forrit sem hægt er að
keyra á tölvunni, og aflúsunarkerfin hjálpa til við að finna villur í forritum.
Bæði Microsoft og Apple bjóða upp á þróunarumhverfi fyrir þær vélar
sem keyra Windows og MacOS. Á tölvum með Windows stýrikerfinu er
Visual Studio eitt öflugasta þróunarumhverfið á meðan XCode er líklega
NOTKUN HUGBÚNAÐAR
VIÐ KENNSLU Í FORRITUN
Dr. Eyjólfur Ingi Ásgeirsson, lektor Háskólanum í Reykjavík