Scratch izvēles pamatojums un projekta koncepcija

3. Dažādu alternatīvu skolu programmēšanas valodu apskats

No vairākiem desmitiem pasaulē skolās izmantotām valodām, šeit pieminēšu tikai tās, kas tika aplūkotas izvirzīto 16 kritēriju kontekstā.

  • Free Pascal – tā ir Pascal bezmaksas versija, Pascal 1970-tajos, 80-tajos bija visā pasaulē plaši skolās lietota valoda, bet vairs netiek būtiski attīstīta, tai nav grafiskās vides, līdz ar to bieži šķiet nepievilcīga, rezultāts parasti ir praktiski nepielietojams, kaut arī Pascal ir ar plašām, profesionālajām valodām tuvām iespējām, līdz ar ko ir visai sarežģīta valoda. Lietojama dažādās operētājsistēmās, labs variants nākamajai valodai pēc šajā materiālā meklētās.

  • PHP – tīmekļa programmēšanas servera puses valoda, pozitīvi, ka rezultāts ir tīmekļa lappuses, bet nepieciešams tīmekļa serveris, jāprot tam pieslēgties, profesionāli lietojama valoda. Kaut arī tai ir vienkāršas lietošanas iespējas, kopumā visai sarežģīta valoda. Lietojama dažādās operētājsistēmās. Viens no variantiem, ko ieteikt skolām, bet ne viegliem pirmajiem soļiem, labs variants nākamajai valodai pēc šajā materiālā meklētās.

  • ASP .NET - tīmekļa programmēšanas servera puses valoda, pozitīvi, ka rezultāts ir tīmekļa lappuses, bet nepieciešams Windows tīmekļa serveris, jāprot tam pieslēgties, profesionāli lietojama valoda, programmēšanas rīki nav vienkārši, versijas ļoti atšķirīgas, efektīvi lietot var tikai uz Windows.

  • Python – bezmaksas un atvērtā pirmkoda valoda, daudz iespēju, bet visai sarežģīta, tiek izmantota skolās Somijā, labs variants nākamajai valodai pēc šajā materiālā meklētās.

  • JavaScript – tīmekļa programmēšanas skriptu papildinājumu veidošanai, ar ļoti plasam iespējām, profesionāla, bet sarežģīta valoda. Lietojama dažādās operētājsistēmās.

  • HTML – tīmekļa lappušu veidošana, nav sarežģīti, bet tās pamatus skolā, visticamāk, visi ir apguvuši, turklāt tajā neparādās algoritmiskā domāšana (tā tīmeklī ir PHP, ASP u.c.), HTML tā ir vairāk tikai tīmekļa lappuses noformēšana kopā ar CSS.

  • Qbasic – sena, skolām piemērota valoda, daudz piemēru, pamācību, bet visai neskaidras nākotnes perspektīvas.

  • Visual Basic .NET – no 60-tajiem populārā BASIC radikāli pilnveidota versija, bet lietojama tikai uz Windows, arī sarežģīta, ir bezmaksas rīka versija Visual Basic Express Edition.

  • Microsoft Small Basic – vienkārša, piemērota pirmajiem programmēšanas soļiem skolās, ir tikai 15 komandas, bet lietojama tikai uz Windows.

  • Java – sarežģīta profesionāla valoda, iespējams, vispār vissarežģītākā programmēšanas valoda, līdz ar ko pirmajiem soļiem maz piemērota, bet var veidot sīklietotnes mobilajiem telefoniem, kas to dara skolēniem pievilcīgu, ko Latvijā jau izmanto viena veiksmīga skolu projekta ietvaros.

  • C++ – sarežģīta profesionāla valoda, iespējams, lai paliek apgūšanai augstskolās, pirmajiem soļiem maz piemērota savas sarežģītības dēļ.

  • Logo – speciāli skolēniem veidota veca valoda no 70-tajiem, bet joprojām izmantota, tajā skaitā robotu programmēšanai.

  • Alice – bezmaksas visai moderna skolām domāta valoda, bet nav pārliecības par tās attīstību nākotnē, ir bloku interfeiss, 3D atbalsts prasa visai lielus resursus. Variants, ko pamēgināt.

  • Scratch – jauna valoda, kas tiek pilnveidota, atbalstīta, intuitīvi apgūstama, izstrādāta speciāli dažāda vecuma skolēniem, ir izveidojusies mūsdienīga interneta Scratch kopiena (tajā ir jau vairāk kā 3 miljoni programmu, starp tām daudz labu piemēru), bezmaksas, var lietot visās 3 populārākajās operētājsistēmās, kā arī ir pārlūkprogrammas versija, tiek izstrādāta un uzturēta prestižā MIT paspārnē, 2D dzinis tērē maz resursu. Valoda, neraugoties uz vienkāršību, ir ar lielām iespējām, tai ir 148 komandas.

  • Snap! - ir kopīgais ar JavaScript un Scratch, derīga skolēniem, Berkeley universitātes projekts, bet mazāk izstrādāta, veidota uz Scratch 1.4 pamata. Variants, ko pamēģināt.

  • Kodu – piemērota skolām, pieejama 3 operētājsistēmās, ir bezmaksas versija, var veidot spēles, ir lēta Xbox 360 Live lejupielāde, maz bloku. Viens no variantiem, ko var pamēģināt.

  • Code - arī skolēniem piemērota valoda, bet nav skaidrības par atbalstu nākotnē, maz bloku. Variants, ko var ieteikt pamēģināt.

  • Blokly – tīmeklī bāzēta skolēniem domāta valoda, kas balstās uz bloku vilkšanu, līdzīgi kā vairākas iepriekšminētas. Pieejama Google Code projektā, nav daudz bloku, neprognozējama nākotne. Cerīgs variants, ko pamēģināt. Gala izšķiršanās bija starp Scratch un Blokly.

  • Kids Ruby – bērniem domāta valoda, platformneatkarīga, variants, ko pamēgināt.

  • Lego Mindstorms – ideāla kopā ar tāda paša nosaukuma superīgu konstruktoru, bet tas ir dārgs.

  • Robo Mind – valoda robotu programmēšanai, noderīga, bet ne mūsu mērķiem, jo nepieciešams robotiņš, kas to saprot.

  • Mama – derīga skolēniem, bet vairāk piemērota 1. kursa studentiem, lai saprastu objektorientētās programmēšanas pamatidejas.

  • u.c.

Tīmeklī ir atrodami daudzi resursi par šo jautājumu, piemēram, http://blog.acthompson.net/2012/12/programming-with-blocks.htmlhttp://www.computer-schools.org/software/top-10-computer-programming-languages/, http://en.wikipedia.org/wiki/List_of_educational_programming_languages, http://quib.ly/qu/which-programming-language-is-best-suited-to-a-primary-school-child, http://blog.acthompson.net/, http://www.oreillyschool.com/individual-courses/java2/, http://www.telegraph.co.uk/technology/news/10410036/Teaching-our-children-to-code-a-quiet-revolution.html, http://www.researchgate.net/post/Programming_languages_and_environments_for_kids utt. utml., var tīmekļa meklētājiem likt daudz atrast. Visas šīs un citas labas skolēniem noderīgas programmēšanas valodas var iedalīt: kodējamas, rakstot simbolu virknes; kodējamas, izmantojot rīkus, kas ievieto kodu lieliem blokiem; kodējamas, bīdot klucīšus. Var iedalīt pēc tīmekļa servera nepieciešamības, pēc operētājsistēmu atbalsta utt. Par noteicošo izvēlei izmantoju atbilstību 16 prasību sarakstam, tajā par galveno uzskatot vienkāršību vismaz pirmajos soļos un iespēju intuitīvi sākt darbu bez simtiem lappušu garu pamācību pilnas izlasīšanas.