ну вконтакте не такой и сложный проект как тебе кажеться, скорее нагруженный это немного другое
были доклады по их апхитектуре и большая часть всего храниться в написанных ими сервисах, а php только для вывода данных из этих сервисов, поэтому считать Вк слишком сложным это не совсем верно, у них скорее интересна система хранения и логика работы со стеной и прочей красотой =) но это их супер прослойка и написана она не на php, просто реально сложные архитектурно проекты писать в процедурке будет полный дурдом, а так же расширение и поддержка этого всего будет очень сложное
вон даже как пример Си он не ооп, но у него есть куда больше возможностей в плане организации кода, те же структуры дают куда больше вкусняшек и подобное в пхп считай выполняют классы и все равно как ни крути получается даже ближе к ооп чем классическая процедурка
я напишу пример кода на Си простой
#include <stdio.h>
struct people {
int age;
char *name;
};
void hello(struct people human);
void hello(struct people human){
printf("hello %s \n", human.name);
}
int main()
{
struct people human;
human.age = 10;
human.name = "bestxp";
hello(human);
struct people man;
man.age = 25;
man.name = "Jhon Doe";
hello(man);
return 0;
}
и тоже самое на php
<?php
class People{
public $age;
public $name;
}
function hello(People $ppl){
echo "hello ",$ppl->name,"\n\t";
}
$human = new People;
$human->age = 10;
$human->name = 'bestxp';
hello($human);
почти не отличается, только в случае с php мы можем hello сделать методом класса, что немного сложнее с Си и не совсем красиво получиться, ой как не красиво будет выглядеть
и да, twin на сколько помню пропагандирует Императивное в котором ему не чуждо использовать классы и объекты если память не изменяет =) а это уже немного другой подход нежеди процедурное