Odo.lv » Mācību materiāli » Ceļveži » Katedrāle un tirgus » Katedrāle un tirgus: Vēl dažas mācības no fetchmail

Atpakaļ
Katedrāle un tirgus: Fetchmail aug
Tālāk
Katedrāle un tirgus: Nepieciešamie tirgus stila priekšnosacījumi

Vēl dažas mācības no fetchmail

Pirms es atgriežos pie programmatūras izstrādes lietām, vajadzētu ņemt vērā vēl dažas mācības no manas fetchmail pieredzes. Netehniskie lasītāji var izlaist šo nodaļu.

rc kontroles faila sintakse iekļauj dažus neobligātus "trokšņa" atslēgvārdus, kurus parsētājs pilnībā ignorē. Ja jums nākas iedziļināties, angļu valodai tuva sintakse ir daudz lasāmāka kā tradicionālie atslēgvārda -- vērtības pāri.

Tas sākās kā vēla vakara eksperiments, kad es ievēroju, cik ļoti rc failu deklarācijas sāk atgādināt deklaratīvu minivalodu. (Tāpēc es arī nomainīju oriģinālo popclient "server" atslēgvārdu uz "poll").

Man likās, ja padarīšu šo deklarējošo valodu līdzīgu angļu valodai, to būs vieglāk lietot. Tagad, lai arī es esmu pārliecināts "padari to par valodu" dizaina skolas piekritējs (kā tas ir, piemēram, Emacs, HTML un daudzu datu bāzu dzinējiem), es parasti neesmu liels "English-like" sintakses piekritējs.

Tradicionāli programmētāji sliecas izveidot vadības sintaksi ļoti precīzu, kompaktu un pilnīgi bez jebkādas pārpalicības. Tas ir to laiku mantojums, kad skaitļošanas resursi bija dārgi, un parsēšanai vajadzēja būt pēc iespējas vienkāršai un lētai. Angļu valoda ar apmēram 50% pārpalicību tad likās ļoti nepiemērota.

Bet ne tāpēc es parasti neizvēlos angļu valodai līdzīgu sintaksi. Es to minēju tikai kā sliktu piemēru. Lai arī aparatūra un darbības cikli ir lēti, kodolīgums nav vienīgais iemesls. Mūsdienās daudz svarīgāk par lētu valodu datoram, ir tas, lai tā būtu saprotama cilvēkam.

Te nu ir jāuzmanās. Viena lieta ir sarežģītības izmaksas parsēšanas laikā -- jūs nevēlēsities paaugstināt kļūdu skaitu un lietotāju apjukumu parsēšanas laikā. Cita lieta ir tā, ka mēģinājumi izveidot angļu valodai līdzīgu sintaksi parasti noved pie stipri izkropļotas "angļu valodas", un tās vienkāršs skaidrojums uz dabīgo valodu ir daudz nesaprotamāks, kā tradicionālas sintakses apraksts. (Jūs varat redzēt šo efektu daudzās t.s. "ceturtās paaudzes" un komerciālo datu bāzu pieprasījumu valodās.)

Kā rādās, fetchmail vadības sintaksei tas nepiemīt, jo tā valoda ir pamatīgi ierobežota. Tā ir gandrīz vispārīga pielietojuma valoda; lietas tajā nav sarežģītas, līdz ar to ir maza iespēja neskaidrībām, lai domās pārietu no angļu valodas mazumiņa uz aktuālo vadības valodu. Domāju, ka šeit ir vietā vispārīgāka mācība:

16. Kad tava valoda ir praktiski Tjūringa pilna, sintakses cukurs par ļaunu nenāk.

Un vēl viena mācība ir par drošību no neziņas. Daži fetchmail lietotāji lūdza mani pārveidot fetchmail, lai tas glabātu paroles šifrētā rc failā, lai glūniķi tās nevarētu nejauši apskatīt.

Es to nedarīju, jo patiesībā tas aizsardzību nepalielina. Katrs, kas ir ieguvis tiesības izlasīt jūsu rc failu, tik un tā varēs palaist fetchmail tāpat kā jūs -- un jūsu paroli pēc tam tik un tā var atšifrēt, izmantojot kodu no fetchmail.

Visu .fetchmailrc paroļu šifrēšana dotu mānīgu drošības sajūtu tiem, kas kārtīgi neaizdomājas. Tāpēc galvenais likums ir:

17. Drošības sistēma ir tikai tik droša, cik drošs ir tās noslēpums. Izvairieties no pseidonoslēpumiem.

Atpakaļ
Katedrāle un tirgus: Fetchmail aug
Tālāk
Katedrāle un tirgus: Nepieciešamie tirgus stila priekšnosacījumi

Tags:
Created by Valdis Vītoliņš on 2008/11/21 14:04
Last modified by Anita Vucāne on 2009/09/07 12:35

Xwiki Powered
Creative Commons Attribution 3.0 Unported License