Он охуeет сразу от полиморфизма, перегрузок операторов, инкапсуляции и прочего.
Да, но ты перечилил вещи из ООП, я тоже охуел. Но до этого хорошо знал паскаль, php, учил С++(до ООП) и С.
В таком случае, просто посоветовал бы ему тогда учить ЯП Zonnon. Хоть это и кажется говоном, но это не так:
Zonnon - это наилучиший язык для изучения, когда человек еще не определился что учить. После php будет самое норм. Вот что он умеет помимо стандартыных функций Яп
Сообщение от
wiki
сборки мусора, объектного программирования, параллельного программирования (мультипрограммирования), переопределения операторов и обработки исключений.
И еще много чего другого, интеграцию .NET, поддерживает проектирование UML, а главное ООП.
Признаюсь честно, синтаксис мне его не нарвиться (так как он похож на Паскаль и Делфи, я этого не люблю)
module Example91;
const MAX_SIZE = 20; (* Размер массива *)
(*Зададим тип элемента массива и тип массив*)
type ElementOfArray = integer;
type DefaultArray = array MAX_SIZE
of ElementOfArray;
(* Непосредственно объявление и создание
массива*)
var MyArray: DefaultArray;
(* Рекурсивная функция быстрой сортировки. Описание
Алгоритма смотрите в книге Н.Вирта «Алгоритмы и
структуры данных» [6] *)
procedure QuickSort(
var a: DefaultArray; L, R: integer);
var i,j: integer; w,x: ElementOfArray;
begin i := L; j := R;
x := a[(L + R) div 2];
repeat
while a[i] < x do i := i + 1; end;
while x < a[j] do j := j - 1; end;
if i <= j then
w := a[i];
a[i] := a[j];
a[j] := w;
i := i + 1;
j := j - 1;
end;
until i > j;
if L < j then QuickSort(a, L, j) end;
if i < R then QuickSort(a, i, R) end;
end QuickSort;
(* Заполнение массива числами*)
procedure FillTheArray;
var i:integer;
begin
for i := 0 to MAX_SIZE - 1 do
MyArray[i] := abs( 10 - i );
end;
end FillTheArray;
(*Печать массива*)
procedure PrintTheArray;
var i:integer;
begin
writeln("Array:");
for i := 0 to MAX_SIZE - 1 do
write( MyArray[i]:2, ', ' );
end;
writeln;
end PrintTheArray;
(*Вызов сортировки*)
procedure Execute;
begin
QuickSort(MyArray, 0, MAX_SIZE - 1);
end Execute;
begin
writeln("Example 2.10 (Quick sort)");
FillTheArray;
PrintTheArray;
Execute;
PrintTheArray;
writeln("Type 'q' to exit");
end Example91.
На самом деле язык мощьный. И начать следует с: http://www.software.unn.ac.ru/zonnon/
Да и переидти на другой сиснтаксис не составит труда, по сравнению с php сразу на С++ или C#. Хотя на C# это не сложно.