S vremena na vreme me ljudi koji tek počinju da uče programiranje cimnu sa pokojim pitanjem: objektno orijentisano odmah od start ili proceduralno pa se tek kasnije prebaciti OOP, PHP4 ili PHP5, mysql ili mysqli, svoj DB wrapper ili neki već gotov itd.
Mislim da imam jednostavno rešenje na ova pitanja: koristite neki gotov framework.
Framework je uhodana staza napravljena kako bi se smanjilo lutanje i što efikasnije i lakše stiglo do cilja. Grupa ljudi koja stoji iza razvoja frameworka je uložila ogromnu količinu vremena, iskustva i sivih ćelija u njegovo kreiranje i testiranje. Pitanja koja obično muče početnike su već odgovorena, a uz to dobijate jako mnogo alata i tehnika koje će vam pomoći da brže rešite problem na kome radite.
U trenutku kada za pojasom budete imali par komercialnih projekata i određenu količinu iskustva verovatno ćete početi da dovodite u pitanje odluke koje su autori frameworka doneli prilikom njegovog dizajniranja i to je skroz OK. Ne postoji savršen framework i uvek ima mesta za unapređenja, ali u tom trenutku ćete biti znatno kompetentniji i moći ćete bolje da procenite situaciji i donesete odluku.
Dok ne dođete u tu fazu koristite sakupljeno iskustvo i trud drugih, znatno iskusijih developera. Od postojećih frameworka preporučio bih Django (Python), Rails (Ruby), CakePHP (PHP) i CodeIgniter (PHP).
PS:
Kada spomenuh Django, Petar mi je jutros javio da je prva verzija otvorene knjige o Djangu gotova i da je možete čitati online potpuno besplatno. Stvarno vredan resurs. Čak i ekipa koja ne koristi Django može da preleti kroz poglavlja čisto da pokupi par zanimljivih ideja.