Nemācieties programmēšanu, izmantojot PHP

07.06.2007

Pēdējās dienās man bija tā iespēja piedalīties studentu kvalifikācijas darbu vērtēšanas komisijā. Ja skatās no izmantoto programmēšanas valodu popularitātes, tad laikam PHP bija pirmajā vietā. Bet ja skatās no saņemto atzīmju viedokļa, tad PHP vidēji statistiskais rezultāts bija pēdējā vietā.

Kādēļ tā? Tādēļ, ka PHP dod lielu rīcības brīvību, lai uzrakstītu sliktu kodu un tie, kas mācas programmēt, kā pirmo mācīšanās valodu izmantojot PHP, visbiežāk arī uzrakstīs sliktu kodu. Tipiskās problēmas, ar ko saskāros studentu darbos:

  • Lieli gabali ar PHP kodu, bez strukturēšanas funkcijās / procedūrās
  • PHP kodā tiek blakus salikta kopā HTML ģenerēšana un SQL datubāzes pieprasījumi
  • lielākajā daļā darbu bija SQL injekciju drošības problēmas
  • kods bieži vien bija slikti formatēts
  • nebija vienoti principi mainīgo / funkciju nosaukumu veidošanai
  • parasti netika izmantota objektorientētā pieeja sistēmas veidošanai

Manuprāt, ja kāds ir iesācējs programmēšanā un vēlas to apgūt profesionālā līmenī, tad labāk ir izvēlēties programmēšanas valodas un “freimworkus”, kas uzliek daudz lielāku disciplīnu, lai piespiestu sekot labākajai programmēšanas praksei. Ja sākumā strikti seko stingrai programmēšanas disciplīnai, tad pēc kāda laika arī nāk “apgaismība” par to, kāpēc tas viss ir vajadzīgs un kāpēc tas ir labi. Ja šai disciplinētās programmēšanas stadijai neiziet cauri, tad ir ļoti liels risks palikt stadijā “es esmu kruts programmētājs un rakstu kruto kodu, bet visi pārējie nesaprot, cik es esmu kruts un cik mans kods ir kruts”.

Šis nav tikai mans viedoklis par PHP, bet arī citu “guru” viedoklis. Ar to es negribu teikt, ka jebkurš PHP kods ir slikts un jebkurš PHP programmētājs raksta sliktu kodu, bet vidēji statistiski PHP piemīt šī sliktā “aura”.

Bet ko tad darīt kādam topošajam web programmētājam, kādu programmēšanas valodu tad būtu labāk izvēlēties, lai iemācītos labi programmēt? Nu ja prasa man, tad jau jūs laikam zinat atbildi – paskatieties pāris rakstus iepriekš 🙂

Advertisements