← Uz sākumu

Programmē zaļi

2008. gada 2. septembrī, 20 komentāri

Ziniet, man iepatikās stipri utopiskā bet loģiskā Rasmus Leedorf doma. Tā vietā, lai īdētu par to - ko tad es kā parasts koderis varu darīt - ne man ir kur šķirot atkritumus (it kā vienīgā mana pārtika - alus pudeles būtu jāšķiro, hehe), ne man ūdens jātaupa (kurš tad mazgājas biežāk kā reizi nedēļā? tās ir 10 minūtes, kuru laikā var paprogrammēt!), ne man šis un tas, vajag rakstīt optimālu un ātru kodu. Tas ir zaļi. Tas ietaupa resursus, ietaupa mašīnlaiku (jēdziens atgriežas!), līdz ar ko palīdz Amazones mežiem (tur ir Amazones vēl?) un Eiropai netērēt tik daudz Krievijas elektroenerģijas.

Principā, teksts ir trivializēts un brutalizēts pārfrāzējums no Rasmusa raksta iekš SitePoint'a.

In his address he choose to highlight PHP frameworks (Drupal was not spared) and how poor they are at performance. Not only are they slow, but their "jack-of-all-trades" attitude leads developers down the wrong path by not using what is best for the job. He continues on by stating that PHP developers really need to think about performance for not only scalability reasons but for green reasons. If programs were more efficient it would cut the number of data centres and would reduce energy needs as a result. In our newly emerging age of energy awareness this does become an important aspect and I am glad that he is raising awareness.

Tagad es to visiem cirtīšu acīs, kad izdzirdēšu - bet mums takš skaitļošanas jaudas neko nemaksā un ir bezizmēra!

Tu atbildi augstāk redzamajam komentāram. Atcelt

Gravatar z

2008. gada 2. septembrī, plkst. 11:07

nu un? ieslēdzam/izveidojam gudru cache un ir mums gan scalability, gan zaļums. protams, masīvus monstrus tāpēc lietot nevajag. un kādu freimworku lieto laacz pats? (drošvien, ka tieši codeigniter)

Gravatar Ģirts

2008. gada 2. septembrī, plkst. 11:27

Kas šis par sviestu un kāda praktiskā vai garīgā jēga ir šim rakstam?

Gravatar xyz

2008. gada 2. septembrī, plkst. 11:40

Gribēt jau var to zaļumu, bet ja lētāk ir nezaļi tad tā arī notiks.

Gravatar Vilx-

2008. gada 2. septembrī, plkst. 11:45

Heh, interesanti. No šāda viedokļa par to nebiju iedomājies. Taču taisnība ir - IT industrija par zaļumu <i>šajā</i> virzienā vēl nedomā. Varbūt ar laiku. Bet diezvai. :P

Kaut arī no otras puses - mazāk datu centru nozīmē arī mazākas izmaksas. Tiesa - te jau paceļas jautājums par to, kas ir lētāk - sviestains softs un liels datacentrs, vai labs softs un mazs datacentrs.

Gravatar purvainais

2008. gada 2. septembrī, plkst. 12:26

Piekasīšos par pareizrakstību. Kāpēc domuzīmes vietā lietota defise?

Gravatar weedy

2008. gada 2. septembrī, plkst. 12:53

Tāds maksimālistisks raksts un ne gluži korekts, jo no virsraksta varētu domāt, ka autors iesaka visu PHP rakstīt pašam, kaut īstenā ideja ir, ka īsts ātrums un scalability nāk no ne-skriptēšanas valodām, piemēram C++.

PHP freimworkiem nav nekādas vainas kamēr tie turas pie MVC un citām labām lietām, es pat teiktu, ka kāds no "ātrajiem" PHP freimworkiem (tai skaitā tas pats minētais CodeIgniter) dienas beigās vidēji ir ātrāks par pilnībā pašdarinātu kodu, jo otrais pēc pieredzes vienmēr ir pilns ar ne pārāk labām lietām. Ja tam visam vēl piemet memcached, PHP kļūst visai izveicīgs. :)

Gravatar Dzhonijs

2008. gada 2. septembrī, plkst. 12:53

Nu par optimizāciju var runāt bezgalīgi. Kaut vai elementāra XHTML/CSS/JS līmenī. Piemeram, samazināt visu id, class, failu u.c nosaukumu pēc iespējas īsāku. Kodu rakstīt īsu un saprotamu. Tā var piemēram dabūt weba izmērus no 100kb uz 50kb. It kā nekas liels, BET parēķinam 50kb x 365 dienas x apmeklētāju skaits webam un galā dabūnam smuku cipariņu par cik mazāk tiek truba noslogota un lietotājam viss lādējas ātrāk un cik vairāk lietotāju var komfortabli pieslēgties Tavam webam :).

Gravatar laacz Autors

2008. gada 2. septembrī, plkst. 12:57

weedy, jāatcerās, ka Leedorfs ir "vecā kaluma" programmētājs. So - nepatika pret freimvorkiem ir saprotama, lai arī ne vienmēr pieņemama.

Gravatar Dzhonijs

2008. gada 2. septembrī, plkst. 12:57

Protams optimizācija ir arī koks ar diviem galiem. Viens variants ir optimizēt visu līdz sīkumiem, bet optimizētais kods var kļūt nesaprotamākas un necilvēcīgāks, tad parēķinam cik eletroenerģijas un laika patērēs developeris lai iebrauktu kas, kāpēc un kā ticis optimizēts, ja vēlēsies ieviest izmaiņas :). Jāatrod balanss starp optimizāciju un veselo saprātu :).

Gravatar ctrnz

2008. gada 2. septembrī, plkst. 13:20

Tā pa lielam ar "zaļumu" tam visam maz sakars. Ja gribam labākas programmas - vajag vairāk/lābakus programmētājus, kas arī pātērē resursus. Vajag vairāk/labākas izglītības iestādes, kursus, citu atbalstu - atkal resursi. Un tā tālāk. Beigu beigās efektīvāki tomēr būs tie paši frameworki (un ne tikai PHP), tadējādi tiek optimizēti programmēšanas resursi un arī uzlabota ar šo frameworku radīto aplikāciju veiktspēja. To laikam sauc par evolūciju, ko mēs šoreiz novērojam attiecībā uz programmēšanu.

Gravatar Ģirts

2008. gada 2. septembrī, plkst. 13:49

Ā, tad runa ir par to vai izmantot freimvorkus vai nē? Nezinu... Manuprāt, nav jau tik daudz laika un resursu, lai drukātu visu no 0, to ko parasti jau ir izdarījis freimvorks, tas vispār ir muļķīgs jautājums pats par sevi - "izmantot freimvorku vai nē?"! Viss ir atkarīgs no vajadzības - tak netaisīsi portālu bez freimvorka, ja vēlāk pats sev negrib problēmas, bet lai uzprogrammētu aptaujas formu, nav arī obligāti vajadzīgs freimvorks... Manuprāt, kodera/programmētāja amats un veikums nav jāierindo kategorijās "zīmēšanās" vai "redz, ko es esmu uztaisījis", bet ir jāatrod optimālais risinājums starp patērēto laiku, kvalitāti un ieguldījumu nākotnē (elastība, koda tīrība utt.).

Gravatar DD

2008. gada 2. septembrī, plkst. 15:00

Nu parasti kad kodēju uz sava mājas servera (riktīgs bremze), centos max. optimizēt lai kaut cik ātri strādātu. Kods un laiks krietni atšķirās no tā, kad kodē uz jaudīga servera :)

Gravatar Ģirts

2008. gada 2. septembrī, plkst. 18:18

P.S. Es tiešām brīnos, cik nopietni jūs ņemat vērā kaut kāda Rasmusa tekstus, tikai tāpēc, ka viņš izgudroja php valodu! Viņš vienkārši ņirgājas par tādiem kā jums, kā jūs to nesaprotat! :D Tas čalis, kas izgudroja C++ arī varētu ņirgt par "lētticīgajiem" ja gribētu un stāstīt visādas muļķības! ;)

Aizejiet labāk igauņiem pastāstīt kā vajadzēja taisīt Skype! :D

Gravatar binary

2008. gada 2. septembrī, plkst. 22:50

Dzhonij, par "no 100kb uz 50kb" - tas nav jādara, veidojot klašu nosaukumus no 2 burtiem (sēdi pēc tam un domā, ko nozīmē "c1"... vai varbūt "cl"?); kaut ko tādu var panākt, izmantojot gzip.

Roze, piekrītu. Diemžēl "augstāk stāvošiem cilvēkiem" tas ne vienmēr ir pieņemami...

Gravatar weedy

2008. gada 3. septembrī, plkst. 09:32

Augstāk stāvošiem cilvēkiem tas nav pieņemami viena ļoti vienkārša iemesla dēļ - programmētāju resurss ir krietni mazāks par darāmā darba apjomu. Freimvorki ir tieši tādēļ, lai šo problēmu risinātu.

Un ja pieejam šai lietai vēsturiski, tad jāsaka, ka PHP arī ir freimvorks un tāpat C++ un pat asm, tā, ka davai visi mācamies mašīnkodu drukāt.

Gravatar trolling

2008. gada 3. septembrī, plkst. 11:02

Tad jau jāiesaka programmētājiem retāk kompilēt kodu un darbināt vienībtestus, neveikt nightly builds, utml. ;)

Gravatar Peeteriz

2008. gada 3. septembrī, plkst. 12:59

Man tomēr šķiet, ka ietaupīt pāris vatus uz mazāku procesora noslodzi ir mazlietiņ zaļi; bet daudz lielāks zaļums ir tad, ja var tam pašam uzdevumam iztikt ar mazāk programmētājstundām - pa kurām to pāris procesora vatu vietā ietaupās simtvatu spuldzīte, kas ir viņam virs galvas, neekoloģisks bifšteks, ko pārstrādā viņa kuņģis, un miskastē izmestā plastmasas pudele - kam ir daudz lielāks ekoloģiskais iespaids.

Gravatar Dzhonijs

2008. gada 4. septembrī, plkst. 10:40

binary: kā jau minēju te vienā postā tad ir jāatrod balanss starp veselo saprātu un optimizāciju. Protams klase vai id kura sastāv no diviem burtiem ne vienmēr ir tas labākais variants, bet arī klases nosaukums kurš sastāv no 128 burtiem nav tas labākais variants :). Taču nav jau tikai nosaukumos optimizācija. Ir daudzi XHTML/CSS un tabless design pretinieku, taču tieši koda izmēra samazināšana, skaidrības un saprotamības palielināšana ir viens no plusiem atdalot saturu no vizuālās daļas. Kas arī eventuāli samazina lapas izmēru. Un gzipot serveris var arī 50kb lapu, kas vēl vairāk ietaupa trafiku :)

Gravatar Dzhonijs

2008. gada 4. septembrī, plkst. 10:43

Un vispār man mācija programmēt uz bekām vecā kaluma developeri, kuri paši vēl ar perfokartēm strādāja :). Un mācīja ka no sākuma svecītes gaismiņā izdomājam ko un kā, izprojektējam, uzrakstam algoritmu un tikai tad rubījam iekšā kompi un rakstam jau izdomāto kodu, nevis kā tagad - tikai sēžam un developējam neprojektējot un lieki tērējot resursus :P.