MoDo:Emuārs

Cilvēka daba visā tās pilnīgi sajātajā skaistumā.
April 1, 2013

Programmēšana ir problēmu risināšana. Programmēšanas valodas ir nesvarīgs sūds.

Programmēšanas valodas ir sūds. Programmēšanas valdoas ir gluži kā cilvēku valodas, tikai daudz, daudz vienkāršākas, jo to gramatikas likumiem praktiski nav izņēmumu. Tāpēc arī nopietniem programmatūras izstrādātājiem būtībā ir vienalga, kādā programmēšanas valodā darboties (personal preferences always apply, of course). Jo valodas ir sūds; ja tu proti programmēt, tu esi apguvis vismaz vienu no populārākajām, un ar to pietiek, lai katru nākamo apgūtu “pa ceļam”. (Starp citu, HTML tiešām nav programmēšanas valoda. Noķer mani dzīvē, ja gribi, lai pastāstu, kāpēc.) Jo progvalodas ir sūds un programmēšana ir problēmu risināšana.

Kā notiek programmēšana:

  1. Ņem problēmu/vajadzību. Kaut kas pietrūkst, kaut ko vajag, kaut kas nestrādā, kā vajadzētu utt.
  2. Ja tas ir kaut kas jau eksistējošs, puslīdz izproti, kā tas darbojas šobrīd.
  3. Izdomā, kā tam vajadzētu darboties.
  4. Ja rezultāts ir pārāk apjomīgs, lai to galvā varētu apstrādāt, sadali mazākās problēmās, ej atpakaļ uz 1. un sāc ar katru no tām individuāli (rekursija, bitches!).
  5. Izdomā veidu, kā tikt no 2. uz 3. ar pēc iespējas mazāk darba. Jā, tieši tā. Visi grib, lai darbs noritētu ātri, bet visātrāk var izdarīt tas, kuram ir jādara vismazāk. Gudri sliņķi vinnē.
  6. Uzraksti kodu, kas veic šo tikšanu no 2. uz 3.
  7. Pārbaudi rezultātu. Ja kaut kas nav, kā vajag, atpakaļ uz 1 (Yo dawg, I heard you like recursion…). Ja viss OK, tu esi vinnējis internetu, divus minetus (YMMV, protams) un vari ķerties pie nākamā uzdevuma.

Tieši šis pats process, starp citu, tiek izmantotas arī pašas programmēšanas apgūšanā (META RECURSION!!!). Kaut ko vajag, bet nezini, kā panākt — izpēti, kas ir, kā tas darbojas, un gan jau risinājums atradīsies.

Un vai pamanīji āķi? 7 punkti un tikai viens no tiem ir koda rakstīšana. Tas ir vienīgais, kur parādās progvaloda, un tāpēc progvaloda ir sūds. Īstā programmēšana ir šie 7 punkti, un programēšanas, “sāls” — tas, kas atšķir “parastos programmētājus” no “programmatūras arhitektiem”, kas liek reāli iesvīst un piepūlēt smadzenes, ir punktos 2, 3 un 5 (un nevis 6, maķtvaju!). Un tā ir neatkarīga no valodas, tehnoloģijām, metodoloģijām, projektu vadītājiem un klientiem. Jo tā ir tā pati vecā, labā problēmu risināšana, ar ko cilvēki nodarbojas jau kopš dienas, kad iegādājās to smadzeņu daļu, kas atbild par to mikroskopisko veselā saprāta apjomu, ar kuru pietika, lai mēs kļūdu par dominējošo sugu mums zināmajā visumā (sentence chaining FTW).

Un tāpēc es nevaru ņemt nopietni nevienu programmētāju, kurš uzskata, ka programmēšana nav jāmāca jau no bērna kājas. Sintaksi? Jā, C++ nevajag, nepacels. Bet arī šī ir programmēšana (reāla programmēšanas valoda, BTW, apskaties http://scratch.mit.edu/):

scratch_demo

(vai es jau pieminēju, ka progvalodas ir sūds?)

Programmēšanu ir jāmāca un jāmācās, neatkarīgi no tā, vai cilvēks jebkad kļūs programmētājs. Jo vienalga, par ko viņš kļūs, problēmas būs un būs jārisina. Programmēšana māca izprast situāciju un pielāgot(ies) pēc vajadzības un iespējām — also known as “izdzīvot un attīstīties”.

4 Comments to “Programmēšana ir problēmu risināšana. Programmēšanas valodas ir nesvarīgs sūds.”

Leave a Comment



Switch to our desktop site