Bilang isang software developer, napapansin ko na minsan ay nais nating ihubog ang pagiisip ng ating mga software na naaayon sa ating paraan ng pagsusuri at hindi sa ating paraan ng pagiisip.  Ito siguro ang isa sa mga pagkakamali ng isang baguhang programmer o di kaya ng isang hindi nakakaintindi sa pagkakaiba ng ating utak at ng utak ng isang computer. Tatawagin muna natin silang mga Nyubi.🙂

Ibibigay kong halimbawa ang isang spreadsheet na nais ipaayos sa amin kamakailan (ng mga nyubi).   Kailangan itong ayusin dahil hindi nakahanay ang mga curve points (huwag na ninyong tanungin) na ayon sa tamang pagkakasunod-sunod nito.  Madali kapag ang spreadsheet ay titignan ng isang tao na alam ang mga tamang tuntunin o rules.  Ngunit dahil isang software ang gumagawa nito, diyan na pumapasok ang sinasabi ko: ang akala ng mga nyubi ay kailangan lamang na isalin ang kanilang paraan ng pagsusuri sa isang computer code.

Mukha namang tama ngunit may kakulangan sa kaisipang ito. Hindi ba’t kapag natapos nating suriin ang isang bagay o di kaya’y kapag may bago tayong natutunan ay naiimbak ang kaalaman na ito sa ating utak at maaalala natin kapag kinakailangan? Mas mabilis na ang mga susunod na gawain kasi hindi na kailangan pang suriin ng matagal ang information kungdi ay aalalahanin na lamang ang dati nating ginawa.  Kapag isinalin lamang sa computer  ang paraan ng pagsusuri at hindi nagiipon ng kaalaman o data, paulit-ulit nitong gagawin ang pagsusuri at uubos lang ng maraming oras. Ang tamang pamamaraan ng wastong software ay tatawagin kong Determine Then Store o kung ating isasalin sa Tagalog – Alamin saka Imbakin.

Bumalik tayo sa aking halimbawa.  Ang mungkahi ng mga nyubi ay mag hard-code na lang ang ilang bagay para madaling gawin ng software ang tamang pagkakasunod-sunod.  Ang hard-coding ay isang uri ng pagiimbak ng data ngunit mali ito dahil magulo na ipagsama ang data at ang logic sa loob ng computer code. Ang data ay nagbabago, ang logic ay hindi.  Ang tamang paraan ay ilagay ang data sa isang (drum roll please) database!  Nagsasama na lamang ang data at logic kapag tumatakbo na ang program (runtime). Pero sabi ng mga nyubi na sapat na daw ang code o script, wala nang database.  Tawagin natin itong dynamic determination – ang pag-determina ng mga bagay ng paulit-ulit.  Kung tao iyan ang tawag diyan ay sira-ulo.  Kaya naman lahat ng mga ginagawa ng mga nyubi ay pumapalya o di kaya’y ang tagal bago matapos!

Sa kasalukuyang panahon, marahil ay hindi magagawang gayahin ng computer software ang utak ng isang tao ngunit hindi ito dahilan upang hindi gawing efficient ang ating mga software.