Grain of Salt - [entries|archive|friends|userinfo]
snauts

[ userinfo | sc userinfo ]
[ archive | journal archive ]

[Nov. 23rd, 2010|10:13 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
linkpost comment

Comments:
[User Picture]
From:[info]snauts
Date:November 25th, 2010 - 06:06 pm
(Link)
Tas protams ir tikai mans viedoklis, bet tā ir viena no krutākajām datorzinātnes un programmēšanas mācību grāmatām.

Grāmata te:
http://mitpress.mit.edu/sicp/

Video lekcijas te:
http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/
From:(Anonymous)
Date:December 2nd, 2010 - 11:28 am
(Link)
Tu neatbildēji uz jautājumu. ;)

Ja nopietni - redzi, kā viss ir izvērties pavisam savādāk. Praksē lielu projektu būvēšana patiesībā ir centrējusies uz standartizētu komponentu izmantošanu (kā, piem., Java + libas + freimworki). Teorētiskā datorzinātne, šķiet, galvenokārt koncentrējas uz programmu pareizības pierādāmību (skat., Haskell).

Droši vien ne maza vaina notikumu attīstībā ir GUI. Man liekas, ka SICP vēl pieņem, ka nākotnes datorlietotājs komunicēs ar sistēmu caur kaut kādu valodu. Ja lietotājs redz tikai smuku panelīti ar kontrolēm, tad viņam vairs nav svarīgi kas notiek zem kapota.

No sistēmas izstrādes viedokļa elegantas valodas, kas ļauj eleganti izteikt risinājumus, izmaksā ļoti dārgi vēl pirms tu ieraugi pirmo gramu funkcionalitātes. Varbūt lielos projektos un ilgtermiņā šis ieguldījums atmaksātos, bet atceries, ka worse is better. Jebkāda sistēma pēc gada būs labāka nekā laba sistēma pēc trim. Pat pēc šiem trim gadiem pārdomātā sistēma droši vien nebūs īpaši labāka kā pirmā, kas divus gadus būs praktiski darbojusies un visu laiku čubināta. Vajag ilgu laiku līdz sarežģītība paspēj nožņaugt neoptimālus projektus.

Es arī labprāt dzirdētu Tavas domas - Tev taču neliekas, ka tā nākotne par ko šie runā būtu pienākusi? Domā vispār pienāks?
[User Picture]
From:[info]snauts
Date:December 2nd, 2010 - 12:43 pm
(Link)
Protams, ka katrai "large-scale computer system" nevajag savu valodu, bet katram "problem domain" vajag gan. Piemēram: datubāzes tu veido un kverijo ar speciālu valodu - SQL, silīcija čipus tu apraksti verilogā, bet augus var aprakstīt ar L-sistēmām.