making sense - science blogging [ieraksti | vēsture | ko es lasu | par mani]
gedymin

[   par mani   ]
[   arhīvs   ]

science blogging [31. Jan 2016|20:59]
Previous Entry Add to Memories Tell A Friend Next Entry
[Tags|]

Pirms pāris gadiem sapratu, kāda jēga ir no datorikas. Tā ir key enabling technology. Tas ir, noder tik lielā mērā, cik lielā mērā ir praktiski derīga citām jomām. Līdz ar to sāku skatīties uz tām jomām, kas datorikai "neatduras sevī", bet reālajā pasaulē. Vēlams fiziskajā pasaulē, jo tā tomēr ir mazāk mainīga nekā sociālās lietas.

Konkrētāk - viena slikta galējība ir taisīt tīri datoriskas lietas priekš tīri datoriskiem lietojumiem. Te apakšā paiet lielāka daļa no programmēšanas valodu jomas - parseri, kompilatori, koda statiskā analīze. Runā, ka viens no akadēmiskā programmēšanas valoda dizaina pamatprincipiem ir veidotā tādas valodas, ar kuru palīdzību veidot citas programmēšanas valodas. Bet reāli ņemot, tas ir gaužām niecīgs pielietojuma apgabals. Programmētājam zināt šīs lietas nav slikti (teiksim, spēt uzrakstīt elementāru recursive descent parsing algoritmu), bet to pamatā esošās idejas grūti sameklēt pielietojumus citām, ārpusdatorikas jomām. Tāpēc progress te iespējams tikai dziļumā, un rezultāts tam ir kategoriju teoriju apgūstoši Haskell programmētaju bari, kuriem nākas samierināties ar zemām izredzēm savu izpratni par elegantajiem un obskūrajiem endomorfismiem un monomorfismiem pielietot reālos projektos

Dažādas (skaitliskās) optimizācijas metodes turpretī ir pilnīgs pretstats, jo tādas var pielietot gandrīz jebkurai problēmai. Tikai no datorikas viedokļa te darīt palicis maz, jo jaunas metodes izdomā matemātiķi un viņi to nedara pārāk bieži, tāpēc viss jēdzīgais jau ir ticis uzkodēts. Var strādāt par cilvēku, kas izvēlēsies pareizo metodi konkrētām problēmām, bet tā tikai nosacīti ir datorika, pie tam prasa būt ekspertam tajā ne-datorikas jomā, kurai metodes tiks pielietotas.

Ar šo es velku uz tēmu "vai ir kaut kas, ka apvieno abus pozitīvos aspektus: praktisku noderīgumu ar elegantu datoriku?" Ar to domājot netriviālus, bet standarta datoriķim "aizsniedzamus" algoritmus (saprotamus, modificējamus, uzlabojamus). Turpinājums sekos...
saiteatstāt nospiedumu

Comments:
[User Picture]
From:[info]mindbound
Date:31. Janvāris 2016 - 21:52
(Link)
LALR parseru rakstīšana jau gan ir stipri tālu no tā, ko varētu saprast ar "akadēmisko" programmēšanu/CS. Bet vispāri laba tēma, lika aizdomāties. Piekomentēšu, ja kas izlīdīs prātā.