Programátorské schopnosti absolventov klesajú, problémom je Java

Dva­ja pro­fe­so­ri z New York Uni­ver­si­ty sa v ob­šír­nej­šej roz­pra­ve za­obe­ra­li prob­lé­mom, kto­rý trá­pi mno­hých za­mes­tná­va­te­ľov v IT prie­mys­le: prog­ra­má­tor­ské schop­nos­ti no­vých ab­sol­ven­tov po­čí­ta­čo­vých vied sa pos­tup­ne zni­žu­jú. Pod­ľa nich za to mô­žu úvod­né kur­zy Ja­vy a skrip­to­va­cích ja­zy­kov.

Za pos­led­ných nie­koľ­ko ro­kov si Dr. Ro­bert B.K. Dewar a Dr. Ed­mond Schon­berg z NYU všim­li nie­koľ­ko ne­ga­tív­nych tren­dov pri vzde­lá­va­ní no­vých moz­gov v od­bo­roch za­me­ra­ných na prog­ra­mo­va­nie. V pr­vom ra­de sa v jed­not­li­vých štu­dij­ných prog­ra­moch pre štu­den­tov zni­žu­jú po­žia­dav­ky na ma­te­ma­tic­ké vzde­la­nie. Vý­voj prog­ra­mo­va­cích schop­nos­tí vo via­ce­rých ja­zy­koch po­tom štu­den­tov učí auto­ma­tic­ky pou­ží­vať veľ­ké kniž­ni­ce a špe­ciál­ne ba­lí­ky s kó­dom, ako­by prog­ra­mo­va­li z pred­prip­ra­ve­né­ho re­cep­tu[ku­chár­skej kni­hy]. Vý­sled­ným ne­ga­tí­vom pre sof­tvé­ro­vý prie­my­sel je ne­dos­ta­toč­ná zruč­nosť, naj­mä pre bez­peč­nos­tné a ochran­né úče­ly, kto­rá je na­vy­še prak­tic­ky na úrov­ni to­ho, čo po­nú­ka out­sour­cin­go­vý prie­my­sel. Skrá­te­ne sa to dá po­ve­dať tak, že vy­so­ké ško­ly (zo za­me­ra­nia dvoch pro­fe­so­rov vy­plý­va, že te­da naj­mä ško­ly v USA) tré­nu­jú ľah­ko nah­ra­di­teľ­ných IT pro­fe­sio­ná­lov. Prob­lé­my so stup­ňom prog­ra­má­tor­skej vy­spe­los­ti ab­sol­ven­tov už na­vy­še naz­na­ču­jú aj za­mes­tná­va­te­lia.

Prog­ra­má­to­ri ge­ne­rá­cie Y
Prob­lé­mom je údaj­ne naj­mä to, že v pos­led­ných ro­koch sa za­ča­la vo vy­učo­va­ní prog­ra­mo­va­nia pre­sa­dzo­vať Ja­va - ako pr­vý prog­ra­mo­va­cí ja­zyk, s kto­rým sa štu­den­ti zoz­na­mu­jú na za­čiat­ku svoj­ho štú­dia. Vý­ber Ja­vy za zá­klad štú­dia prog­ra­mo­va­nia to­tiž pod­ľa dvoch pro­fe­so­rov pria­mo os­la­bu­je prog­ra­mo­va­cie schop­nos­ti štu­den­tov, čo sa po­tom od­rá­ža na ich vý­ko­ne v kur­zoch oh­ľa­dom sys­té­mov a ar­chi­tek­tú­ry. Navr­hu­jú pre­to vzde­lá­va­nie štu­den­tov pod­po­riť sko­rým pred­sta­ve­ním for­mál­nych me­tód na za­čiat­ku štú­dia, kde zá­ro­veň prog­ra­mo­va­cie ja­zy­ky ma­jú cen­trál­nu úlo­hu pri vzde­lá­va­ní no­vých IT od­bor­ní­kov.

V rám­ci for­mál­nych tech­ník by sa vzde­lá­va­nie štu­den­tov ok­rem iné­ho ma­lo za­me­rať na tech­ni­ky, kto­ré sa me­dzi­ča­som vy­vi­nu­li dosť na to, aby moh­li byť pou­ží­va­né v roz­sia­hlych sys­té­moch a do­ká­žu vý­raz­ne pris­pie­vať ku spo­ľah­li­vos­ti tých­to sys­té­mov. Ďal­ším for­mál­nym prís­tu­pom, kde by štu­den­ti moh­li mať lep­šie vzde­la­nie, sú kon­krét­ne prin­cí­py pa­ra­lel­né­ho a dis­tri­buo­va­né­ho prog­ra­mo­va­nia (me­no­vi­te "mo­del chec­king and li­near tem­po­ral lo­gic for the de­sign of con­current sys­tems"). Pos­led­nou od­po­rú­ča­nou ob­las­ťou v rám­ci vzde­lá­va­nia bu­dú­cich prog­ra­má­to­rov je štú­dium ro­be­nia al­go­rit­mov po­čí­ta­jú­cich s po­hyb­li­vou de­sa­tin­nou čiar­kou. Príl­iš čas­to sa to­tiž vy­uču­jú­ci za­me­ra­jú na Mat­Lab a inak ce­lú tú­to ob­lasť od­ig­no­ru­jú (na NYU oh­ľa­dom tej­to ob­las­ti ke­dy­si exis­to­val po­vin­ný kurz, dnes je však len vo­li­teľ­ný a tak si ho vy­be­rie príl­iš má­lo štu­den­tov).

Prob­lé­my s Ja­vou
Ja­va sa sta­la v pos­led­nej do­be v USA naj­viac pou­ží­va­ným ja­zy­kom, štu­den­ti sa mu ve­nu­jú hlav­ne pri pr­vom oboz­na­mo­va­ní sa s prin­cíp­mi prog­ra­mo­va­nia. Sta­lo sa tak az­da nás­led­kom zní­že­nia do­py­tu po vzde­la­ní po­čí­ta­čo­vých prog­ra­má­to­rov me­dzi ma­tu­ru­jú­ci­mi stre­doš­ko­lák­mi; Ja­va má spra­viť prog­ra­mo­va­nie väč­šou zá­ba­vou a hlav­ne ho zjed­no­du­šiť. Pro­fe­so­ri z NYU však va­ru­jú, že ten­to prís­tup má pre štu­den­tov vý­raz­ne ne­ga­tív­ne nás­led­ky. V pr­vom ra­de sa sa štu­den­tom ťaž­ko pí­šu prog­ra­my, kto­ré ne­ma­jú žiad­ne gra­fic­ké roz­hra­nie; ďa­lej ne­ma­jú po­cho­pe­nie pre vzťah me­dzi zdro­jo­vým kó­dom a tým, čo har­dvér do­ká­že sku­toč­ne spra­viť. Na­ko­niec, vô­bec ne­ro­zu­me­jú sé­man­ti­ke uka­zo­va­te­ľov (resp. smer­ní­kov), tak­že ma­jú nes­kôr prob­lé­my s C pri sys­té­mo­vom prog­ra­mo­va­ní.

Ja­va to­tiž op­ro­ti bež­né­mu prog­ra­mo­va­niu, ke­dy sú kom­plexné for­mál­ne pro­ce­sy re­du­ko­va­né na ma­lú sku­pi­nu pri­mi­tív­nych ope­rá­cií, nú­ti prog­ra­má­to­ra preh­ľa­dá­vať ba­lí­ky (pac­ka­ges) a hľa­dať trie­du (class), kto­rá ro­bí prib­liž­ne to, čo pot­re­bu­je. Ako to trie­da "ro­bí" však nie je dô­le­ži­té. Vý­sled­kom ta­ké­ho­to vy­učo­va­nia je štu­dent, kto­rý vie zos­ta­viť jed­no­du­chý prog­ram, ale ne­vie prog­ra­mo­vať. Ďal­ším prob­lé­mom ta­kých­to "nep­rog­ra­má­to­rov" je, že si neu­ve­do­mu­jú, aké po­žia­dav­ky mô­že ich prog­ram na po­čí­tač klásť, keď­že ne­ve­dia, čo bu­de pri vo­la­niach spus­te­né.

Z po­dob­ných dô­vo­dov sa pro­fe­so­rom ne­pá­či, že na ško­lách je v pr­vých roč­ní­koch príl­iš veľ­ká po­pu­la­ri­ta skrip­to­va­cích ja­zy­kov (Ja­vas­cript, PHP, At­las); bu­dú­ci prog­ra­má­to­ri sa po­mo­cou tých­to ja­zy­kov ne­do­ká­žu nau­čiť ro­be­nie al­go­rit­mov a roz­bo­ru vý­ko­nu. Ich uče­ním sa prog­ra­má­to­ri zá­ro­veň učia prog­ra­mo­va­cie­mu štý­lu po­kus-om­yl, resp. "skú­si­me spus­tiť a uvi­dí­me, čo to spra­ví".

Pre prog­ra­má­to­rov je na­priek všet­kým ne­vý­ho­dám Ja­va dô­le­ži­tá, ale nie ako ja­zyk, kto­rý sa učia cel­kom pr­vý. Je to hlav­ne kvô­li po­ro­zu­me­niu pa­ra­lel­né­ho/sú­bež­né­ho prog­ra­mo­va­nia a "se­ba­ref­lexie" prog­ra­mu, ke­dy prog­ram do­ká­že pres­kú­mať vlast­ný stav, ako aj zis­ťo­vať a me­niť svo­je sprá­va­nie v dy­na­mic­ky me­nia­com sa pros­tre­dí.

Sku­toč­ní prog­ra­má­to­ri ve­dia prog­ra­mo­vať v kto­rom­koľ­vek ja­zy­ku
Pro­fe­so­ri z NYU si my­slia, že kom­pe­tent­ný prog­ra­má­tor vie prog­ra­mo­vať vo via­ce­rých ja­zy­koch a zá­ro­veň vie pou­ží­vať v rôz­nych ja­zy­koch rôz­ne zvyk­los­ti a "men­tál­ne nás­tro­je" (ako napr. ur­či­tý prog­ra­mo­va­cí št­ýl), kto­ré si nac­vi­čil pri kon­krét­nom jed­nom ja­zy­ku. Pre­to je pod­ľa nich dô­le­ži­té, aby prog­ra­má­to­ri ov­lá­da­li ja­zy­ky C, C++, Lisp a Ada. Pro­fe­so­ri na­ko­niec ne­zavr­hu­jú ani Ja­vu, pre dô­vo­dy, kto­ré sú po­pí­sa­né vy­ššie.

C mu­sia prog­ra­má­to­ri ov­lá­dať pre­to, le­bo je to "stro­jo­vo orien­to­va­ný" ja­zyk na níz­kej úrov­ni. Štu­den­ti štu­du­jú­ci ten­to ja­zyk pri ňom jas­ne po­chopia vzťah me­dzi sof­tvé­rom a har­dvé­rom. C++ je dô­le­ži­tý, pre­to­že od­ha­ľu­je zá­klad­né kon­cep­ty mo­der­né­ho vý­vo­ja sof­tvé­ru. Zá­ro­veň pra­cu­je bez "zbe­ru od­pa­du" (bez auto­ma­tic­kej sprá­vy pa­mä­ti), iba s konštruk­tor­mi a deš­truk­tor­mi. Lisp je dô­le­ži­tý, pre­to­že učí prog­ra­má­to­rov fun­kcio­nál­ne­mu prog­ra­mo­va­niu a re­fe­ren­čnej tran­spa­ren­tnos­ti -- aj na­priek to­mu, že im­pe­ra­tív­ne prog­ra­mo­va­nie je op­ro­ti Lisp viac in­tui­tív­ne. Poz­na­nie Lisp je mi­mo­cho­dom skve­lou príp­ra­vou pre prá­cu so spra­co­vá­va­ním ja­zy­ka (lan­gua­ge pro­ces­sing). Na­ko­niec Ada, ho­ci nie je jed­ným z naj­roz­ší­re­nej­ších ja­zy­kov, je pro­fe­sor­mi z NYU po­va­žo­va­ná za "prog­ra­mo­va­cí ja­zyk par excellen­ce". Je to pre­to, le­bo mno­ho prin­cí­pov a me­tód vy­uží­va­ných prog­ra­má­tor­mi pri prog­ra­mo­va­ní je vsta­va­ných do špe­ci­fic­kých čŕt toh­to ja­zy­ka. Zo všet­ké­ho spo­me­nie­me len nap­rík­lad to, že Ada po­nú­ka bez­peč­né prin­cí­py pí­sa­nia pa­ra­lel­ných al­go­rit­mov už 30 ro­kov, kým prog­ra­má­to­ri sú­čas­nos­ti sa to­mu v pre­ne­se­nom zmys­le "eš­te len za­čí­na­jú učiť".

Prog­ra­mo­va­cie ja­zy­ky nie sú všet­kým
Dô­le­ži­té je aj uni­ver­zit­né vzde­la­nie zís­ka­né pop­ri sa­mot­ných ve­do­mos­tiach prog­ra­mo­va­nia v jed­not­li­vých prog­ra­mo­va­cích ja­zy­koch. Štu­den­ti mu­sia ve­dieť "pou­ží­vať ma­te­ma­ti­ku" a poz­nať nás­tro­je na tvo­re­nie roz­sia­hlych a spo­ľah­li­vých prog­ra­mov, ako sme už spo­mí­na­li vy­ššie v tom­to člán­ku. Dô­raz je tu kla­de­ný naj­mä na spo­ľah­li­vosť prog­ra­mo­va­né­ho sof­tvé­ru, imún­ne­ho nie­len vo­či vlas­tným chy­bám, ale aj ky­ber­te­ro­ris­tic­kým úto­kom z von­ku. Dneš­ní prog­ra­má­to­ri to­tiž vy­chá­dza­jú zo škôl do "no­vé­ho sve­ta", kto­rý je di­amet­rál­ne od­liš­ný od to­ho, kto­rý tu bol pred dvad­sia­ti­mi rok­mi.

Zdroj: www.stsc.hill.af.mil



Ohodnoťte článok:
 
 
 

24 hodín

týždeň

mesiac

Najnovšie články

Chro­me vás bu­de chrá­niť pred fa­loš­ný­mi tla­čid­la­mi na sťa­ho­va­nie
Google oznámil, že služba Safe Browsing v rámci Chromu bude označovať weby, ktoré používajú sociálne inžinierstvo, ako sú napr. falošné tlačidlá na download, podvodné aktualizácie či reklamy šíriace malvér. čítať »
 
Mo­zil­la to vzda­la, OS Fi­re­fox kon­čí. Viac ju za­ují­ma IoT
Decembrové oznámenie o prerušení vývoja ukončilo štvorročné snaženie o vytvorenie operačného systému založeného na prehliadači. Namiesto toho však spoločnosť plánuje sústrediť svoje sily na projekt do budúcnosti zaujímavejší - do internetu vecí. čítať »
 
Naj­nov­šiu ver­ziu OS An­droid Mar­shmallow za­tiaľ ne­pou­ží­va tak­mer nik­to
Pre niekoho to možno bude znieť prekvapivo, no najnovšia verzia OS Android zatiaľ nezažíva obrovský nárast počtu inštalácií. Najmä v porovnaní so štatistikami z minulosti. čítať »
 
Lib­reOf­fi­ce On­li­ne pod­po­ru­je spo­lup­rá­cu na do­ku­men­toch v reál­nom ča­se. Má to však há­čik
Vo webovom kancelárskom balíku LibreOffice Online pribudlo množstvo nových funkcií. Hlavnou novinkou je spolupráca viacerých používateľov na rovnakom dokumente v reálnom čase. čítať »
 
Mic­ro­soft ku­pu­je Swif­tKey. Ob­ľú­be­ná mo­bil­ná klá­ves­ni­ca bu­de dos­tup­ná už aj pre Win­dows
SwiftKey, azda najpopulárnejšia klávesnicová aplikácia pre mobilné telefóny a tablety, viac nebude k dispozícii výlučne len pre systémy Android a iOS. čítať »
 
Pou­ží­va­te­lia Win­dows 7 a 8.1, prip­rav­te sa! Win­dows 10 sa vám stiah­ne auto­ma­tic­ky
Microsoft začína Windows 10 sťahovať automaticky ako odporúčanú aktualizáciu. Podľa spoločnosti táto zmena nastane od pondelka a bude aplikovaná v niekoľkých fázach. čítať »
 
Gri­ma­sy, sel­fie fot­ky, slov­né hrač­ky – aj ta­ké mô­že byť ran­né vstá­va­nie s ap­li­ká­ciou Mi­mic­ker Alarm
Aj vy patríte k tým nešťastníkom, pre ktorých neexistuje nič horšie ako ranné vstávanie? Potom vás istotne zaujme nový vynález z dielne Microsoftu. čítať »
 
Fi­re­fox 44 bu­de pod­po­ro­vať push ozná­me­nia. Web vás sám upo­zor­ní na no­vin­ky
Nová aktualizácia prehliadača Firefox pre Windows, Mac, Linux a Android umožní používateľom dozvedieť sa o novinkách na ich obľúbených webových stránkach aj vtedy, ak ich nebudú mať otvorené. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter