Avoid Success at all costs

Publicēts January 10, 2017

Šorīt, braucot uz darbu, klausījos Haskellcast trešo epizodi, kurā viesis ir Simon Peyton Jones.

Viena no tēmām, par ko vīri runāja, bija Saimona ilgus gadus Haskell komūnā praktizētais lozungs - “Avoid success at all costs”. Parasti ir tā, šādi skaļie lozungi ir vai nu ģeniāli, vai abnormāli stulbi. Sākumā es gaidīju, ka šis būs tāds triks uzmanības piesaistīšanai vai kāds attaisnojums Haskell (ne)popularitātei. Es kļūdījos, izrādās tas visā nopietnībā ilgus gadus ir bijis komūnas (nu vismaz daļas) virzības sauklis.

Saimons ir kompjūterzinātnieks, kura lielākie sasniegumi ir funkcionālālo programmēšanas valodu lauciņā utt. Par Haskell runājot, viņš ir populārākā Haskell kompilatora (GHC - Glasgow Haskell Compiler) vadošais izstrādātājs. Citiem vārdiem - ļoti svarīgs cilvēks Haskell komūnā un kompjūterzinātnē vispār, kura viedoklis tiek respektēts.

Tad es vēl pēkšņi atcerējos diezgan sen redzētu video - “Haskell is useless”. Atceros, ka šo es redzēju pasen, kad tikko biju sācis interesēties par Haskell. Toreiz es nezināju, kas ir video redzamie galvenie runātāji - Saimons un Ēriks Meijers (kurš, starpcitu, arī ir FP grands un vispār kolorīta personība), kā arī paša video domu nesapratu - vai nu heiteru viedoklis, vai kāds ne pārāk izdevies joks. Šodien tad šis viss saslēdzās kopā ;)

Un šo teicienu var izprast divejādi - “par katru cenu izvairīties no izdošanās” vai “izvairīties no dzīšanās pēc izdošanās par katru cenu”, t.i. - (avoid success)(at all costs) vs. avoid (sucess at all costs). Saimona doma ir tieši otrais variants (kamēr pirmais ir kā gaumīgs joks) Starp citu - re, cik reizēm noderīgi cilvēku valodās būtu LISPīgās iekavas. Savukārt Haskell sintaksē tas būtu -

avoid $ success at all costs

;)

Bet tiešām, vai šī filozofija nav svarīga (es pat teiktu skaļāk - rakstūrīga) jebkam, ko mēs veidojam/radam? Vai mērķis “par katru cenu kaut ko / ātrāk” un tamlīdzīgi, jau pats par sevi nerunā par šī “kaut kā”, ko mēs veidojam, vērtību? Bet protams. Es domāju, ka cilvēkiem ar veselo saprātu, šis nebūs nekāds jaunatklājums.

Cita lieta, ja konkrētais subjekts ir kāda cita mērķa sasniegšanai lietots kā rīks. Tad tādā funkcionālo valodu žargonā to varētu saukt par “higher-order” mērķi :)