Archive for May, 2007

Thursday, May 31st, 2007

Programmēt iekš Python ir kaifs, sevišķi kad šāda stila kods ietaupa template engine rakstīšanu, šablona un šablona parametru definēšanu:

class env:
    def __init__(self, known):
        self.known = known
    def __getitem__(self, name):
        if name in self.known:
            return self.known[name]
        return raw_input('I don't know '%s', input it: ' % name)

message = raw_input('Message to print: ')
print message % env({'world': 'world!'})

Demo #1:

Message to print: Hello %(world)s
Hello world!

Demo #2:

Message to print: Hello %(whatever you name it)s
I don't know 'whatever you name it', input it: you cruel world!
Hello you cruel world!

Dibens

Sunday, May 27th, 2007

Pēc pēdējo divu nedēļu pārdzīvojumiem (infekcija, strutas, operācija) esmu sapratis, ka mana vissvarīgākā sastāvdaļa ir dibens. Tā vieta, uz kuras sēžu darbā, mašīnā un pie TV. Un sapratu arī Bendera aizraušanos ar dibenu. Bez normāla dibena nevar dzīvot. Programmēšana un sērfošana internetā guļot ir neciešama. Gulēšana guļot arī apnīk un bez vakara šprices, tinktūras un miega tabletēm ir grūta. Braukšana auto, sevišķi pie stūres, ir elle. Tagad nespēju sagadīt brīdi, kad varēšu atkrist krēslā un izbaudīt sēdēšanu.

Bite my hairy shaved fleshy ass!

Global Warming

Sunday, May 27th, 2007

Es zinu kā pārdzīvot globālo sasilšanu: jārok bedre pie krūma saknēm un jāslēpjas tā ēnā…

Tuesday, May 15th, 2007

Ahilejam bija papēdis, man – astes kauls. Reāls PITA. Prom uz nedēļu+.

Less code

Friday, May 4th, 2007

Programmētājiem vajadzētu maksāt nevis par to, ka viņi raksta kodu, bet gan par to, ka neraksta.

Reiz lasīju eseju, ja nemaldos, par ātrdarbību un funkcionalitāti/kvalitāti: lietotāji labprātāk izvēlas programmas ar kādām kļūdām vai nepilnīgu funkcionalitāti, toties ātras un vienkāršas, nevis korektu, ar pilnīgu funkcionalitāti, bet lēnu. Lai gan tā nav absolūta patiesība, tomēr princips, kad viena īpašība ar uzviju kompensē trūkumus, ir novērojams bieži. Kaut vai .mp3 un .jpg popularitāte pretstatā .wav un .bmp failiem: labāk mazliet zaudēt kvalitāti un procesora laiku datu atkodēšanai nekā maksāt par kvalitāti ar daudziem megabaitiem. Vai arī Worse is Better triumfs.

Programmēšanā man, laikam, visvarīgākā īpašība tomēr ir koda garums. Tiklīdz ieraugu vairākus tūkstošus koda rindiņu, kaut kas šķiet nepareizi, pat korekts kods, kurš apstrādā visas kļūdu situācijas, ir labi noformēts un komentēts. Viens no pēdējiem piemēriem, 28,000 rindiņas vienā failā – rindiņu skaits kliedz “this is not correct“, neņemot vērā faktu, ka kods strādā. Jā, ir funkcionalitāte un programmas, kuras nevar būt īsas, tāpēc īstais rādītājs laikam ir nevis rindiņu skaits, bet funkcionalitātes un rindiņu skaita attiecība un tas, vai programmu ir iespējams uzrakstīt īsāk. Arī kad paša rakstītais kods pārsniedz, piemēram, pāris tūkstošus, es sāku meklēt kā to uzrakstīt īsāk. Slikts, bet īss kods, vismaz sajūtu līmenī, ir labāks un pieņemamāks. Kaut vai tāpēc, ka simts koda rindiņas ir vieglāk vairākas reizes pārlasīt, saprast un pārrakstīt nekā tūkstoti rindiņu.

Daudziem programmētājiem patīk rakstīt kodu. Man daudz vairāk patīk kodu dzēst, saīsināt vai aizstāt to ar bibliotēku izsaukumiem. Var arī uzrakstīt 100 jaunas rindiņas, lai izdzēstu pa 50 rindiņām vairākās vietās.

Vajadzētu ieviest jaunu nefunkcionālu prasību: realizēt funkcionalitāti, piemēram, ne vairāk kā 100 rindiņās. Un katrā rindiņā ne vairāk kā viena izteiksme vai 80 simboli – lai nevarētu “šmaukties” rakstot rindiņas sava 1600×1200 monitora platumā. Un no programmētāju teksta redaktoriem vajag izmest copy-paste iespēju. Un qwerty klaviatūru vietā ieviest citu izkārtojumu, kas traucētu rakstīt tūkstošiem rindiņu dienā. Un vispār, programmētājiem vajadzētu strādāt uz dažus gadus veciem un vārgākiem datoriem.

Saīsinot un optimizējot šeit rakstīto, teikšu: raksti mazāk, domā vairāk.

Es, savukārt, nerakstīšu kodu, bet lasīšu grāmatas par koda rakstīšanu:

The Phantom of the Opera

Thursday, May 3rd, 2007

Fantastiska aktierspēle!