по поводу кучи функций, приходится искать что-бы не изобретать велосипед и использовать принятые в языке шаблоны, которые использовать ни кто не заставляет, но почему-то все используют...
чтобы тот код был коротким и понятным, по моим соображениям он должен был выглядеть хотя бы так:
	Код:
	| 1 2 3 4 5 6 7 | functionmorse(text: string): string;
 vari: integer;
 begin
   result := '';
   fori := 1tolength(text) do
     result := result + morzetabl[ord(text[i])];
 end;
 | 
 
а массив-перфокарта, это только результат того, что лень использовать объекты
меня например от того, чтобы писать циклы и кучу локальных переменных отделяет то, что могу сделать минималистичнее без них, а в Дельфи если задействовать регулярки и ассоц.массивы, если не посчастливится найти действительно удобную библиотеку, придётся создать кучу функций и модули, что-бы их туда спрятать и в результате код будет выглядеть действительно минималистично, но общий объём кода будет больше
в итоге если хочется написать меньше и быстрее, то без всякой модульности и тем более ооп; кто виноват? возможно язык, раз понятие минимализма не идёт по пути с гибкостью и модульностью