211service.com
Cienījamie visi, kas māca programmēt: jūs to darāt nepareizi
Kodēšanas mācīšana ir karsta. Codecademy slavens pierakstījies Ņujorkas mērs kā lietotājs (un nesen ieguva 10 miljonus USD riska kapitāla ) un populāro tiešsaistes mācību uzņēmumu Khan Academy tikko uzsāka programmēšanas nodarbību komplektu . Sekoja pretreakcija: karjeras programmētājiem ir ņirgājās par domu kodēšanu kā lasītprasmi, kamēr akadēmiskais pētījums to apgalvoja daži cilvēki var kodēt, bet citi vienkārši nevar.
Brets Viktors , bijušais Apple interfeisa dizainers, uzskata, ka tā ir visi nepareizi. In graujoša un pārliecinoša interaktīva eseja , viņš apgalvo, ka DIY programmēšanas vietnes lielākoties ir bezjēdzīgas to necaurredzamo saskarņu dēļ. (Izmantojot Hanas tiešsaistes apmācības, viņš raksta , ir kā mēģinājums iemācīties gatavot, nospiežot nejaušas pogas nemarķētā mikroviļņu krāsnī.)
Bet tā ir tikai puse problēmas. Viktors tā domā pati programmēšana ir salauzts. Mēdz teikt, ka, lai labi kodētu, ir jāspēj domāt kā datoram. Viktoram tas ir absurdi ačgārni, un tas ir īstais iemesls, kāpēc programmēšana tiek uzskatīta par būtībā grūtu. Datori ir cilvēks rīki: kāpēc mēs tos nevaram kontrolēt mūsu izmantojot metodes, kas mums visiem ir dabiski?
Galvenā programmēšanas problēma ir saistīta ar to, ka programmētājam ir jāiedomājas programmas izpilde un viņš nekad neredz datus, Viktors man teica. Lai ilustrētu šo problēmu, viņš sniedz vēl vienu spilgtu analoģiju ar ēdiena gatavošanu:
Acīmredzot tas ir šausmīgs veids, kā iemācīt iesācējam gatavot ēdienu. Viktora lielākais ieskats ir tāds, ka pieredzējušam šefpavāram tas ir arī šausmīgs veids, kā radīt jaunus ēdienus. Pavāri nav spiesti ideāli simulēt visu starp sastāvdaļām un jaunu suflē savā galvā, pirms pieskaras kādam ēdienam; viņi arī negaidītu, ka viss, kas notiek starp sastāvdaļu salikšanu un suflē izvilkšanu no krāsns, tiks noslēpts. Taču, pēc Viktora teiktā, patiesībā notiek liela daļa programmēšanas darba.
Nav brīnums, ka programmēšana šķiet tikai kaut kas tāds tiem, kam ir dīvainas prasmes manipulēt ar abstraktiem simboliem kādreiz varētu darīt. Mēs to esam iestatījuši šādā veidā.
Viktora eseja ir bagāta ar interaktīviem piemēriem, kā to labot (tie diemžēl nav ieguljami, tāpēc noteikti noklikšķiniet, lai tos pārbaudītu ): no pārprojektēšanas IDE lai viņi vizualizētu datu plūsmu no vienas instrukcijas uz nākamo, lai pārdomātu pamata metaforas, kas ir pašu programmēšanas valodu pamatā. (Brīdinājums par spoileri: 45 gadus vecs Logotips saņem daudz vairāk mīlestības nekā Apstrāde .)
Bet kādam nolūkam? Vai tiešām programmēšana ir sagrauta? Tātad, ja mēs, parastie, nekad nevaram to saprast — vai pašreizējās pieejas koda apguvei un rakstīšanai nav piemērotas, lai radītu pietiekami daudz programmētāju, lai pasaule grieztos?
Nu jā. Bet tikai tad, ja jūs abonējat programmētājus kā santehniķu analoģiju, ko Viktors noteikti nedara. Bils Atkinsons (radītājs Hiperkarte ) vēlējās, lai programmatūras izveide būtu līdzīga zīmēšanai vai rakstīšanai — kaut ko varētu darīt ikviens, saka Viktors. Mēs sagaidām, ka ikviens varēs uzrakstīt vēstuli. Iespēja izveidot savu programmatūru savām vajadzībām ir ļoti spēcīga.
Viktors nerunā tikai par sava Twitter klienta izveidi. Patiesi spēcīga ir spēja veidot/uzrakstīt to, ko viņš sauc izpētāmi skaidrojumi : savu vai citu ideju un argumentu interaktīvas simulācijas. Kā būtu, ja Nākamajā publikācijā, ko lasījāt par globālo sasilšanu vai kodoldrošību, bija iebūvēts modelis tā apgalvojumu izskatīšanai? Tā burtiski ir programmēšana kā lasītprasme, tas ir, tās pastiprināšana domāšana — ar potenciālu, kas ir pieejams ikvienam. Bet tikai tad, ja mēs izejam ārpus stūriem, kuros esam izdomājuši, kas ir programmēšana, kā to darīt un kā to mācīt.
Tomēr miljoniem izstrādātāju pēkšņi nepārdomās, kā viņi veic savu darbu; miljoniem rīku, lietotņu, programmēšanas valodu un IDE nevar pārveidot vienas nakts laikā. Viktors saka, ka tas ir tikai vēl viens iemesls, lai tagad sāktu šķeldot pamatus. Tomass Kūns, autors Zinātnisko revolūciju struktūra , ierosināja, ka tad, kad notiek paradigmas maiņa, vecie zinātnieki faktiski nekad nepieņem jauno domāšanas veidu, saka Viktors. Viņi vienkārši aiziet pensijā, un viņu vietā nāk jauna paaudze, kas domā jaunā veidā.