S>Функция это единица композиции и реюза кода. Нет реюза — будет копипаста. А копипаста по определению быдлоговнокодище, приводящее к беспочвенному росту объема кода.
Копипаст никоим образом не входит в концепцию ультракороткости и ультрапростоты, так что все пучком
PC_>>этапе и ведется поиск более эффективных вещей.
PC_>>Есть решения и получше, но эти решения находят люди, которые видят суть вещей в языкостроении,
S>Приведи решение получше функций чем толкать все в ядро языка.
Например полиморфные функции.
Суть полиморфизма в чем.
Ктото построил Черный ящик и предусмотрел замену некоторых его модулей более совершенными.
Вот ты купил машину, вытянул старую магнитолу вставил новую.
Это полиморфизм. Ктото на заводе предусмотрел разьемы ( интерфейсы ) для вставки новой магнитолы ( модуля ).
Можно сказать что ты часть алгоритма автомобиля подменил новым модулем через виртуальную функцию ( магнитолу).
Я уже так на пальцах рассказываю, чтобы ты суть понимал, это важно.
Будешь понимать суть — будешь понимать проблемы.
Так вот проблема в том, что разработчики на заводе не для всего могут предусмотреть разьемы для подключения
заменяемых модулей. И поэтому когда очередной программист, вот на примере Перлиста, тягает свой библиотечный сорт,
он ограничен тем, что предусмотрели разработчики этой функции. Предусмотрели перегрузку сравнения элементов, очень хорошо.
Непредусмотрели ограничение по сортируемому диапазону — катастрофа, или выбрасываем библиотечную функцию или рисуем над ней некий
врапер, который подготавливает данные ей, принимает, а потом допиливает эти данные. Что не всегда возможно, кстате, поэтому чаще
просто выбрасываем.
Так вот в РС функции могут быть на порядок юзабельней.
"Вся страна играть в футбол умеет, лишь мы 11 человек играть не умеем"(с)КВН