Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2011, 20:23   #41
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Цитата:
Сообщение от anyx Посмотреть сообщение
Нет, нельзя. Там можно возвращать указатели, но не функции, т.к. объекта-функции там в принципе нету. Это принципиально.
И чем это принципиально? В руби, кстати вообще все переменные ссылочного типа.

Цитата:
Сообщение от anyx Посмотреть сообщение
Ruby - функциональный язык, бесконечная ХВОСТОВАЯ рекурсия НЕ ДОЛЖНА вызывать переполнения стека (хотя не знаю, есть ли в Ruby оптимизация хвостовой, думаю, что есть).
То что он функциональный, не мешает ему быть объектно-ориентированным.
А ведь срывает же стэк, сколько КАПСЛОКОМ не ОРИ.

Короче функциональные языки, это языки с ублюдочным синтаксисом. Помоему это всё объясняет. В руби синтаксис няшный и поэтому он не функциональный.
the_deer_one вне форума Ответить с цитированием
Старый 31.10.2011, 21:08   #42
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Короче функциональные языки, это языки с ублюдочным синтаксисом.
Ладно Вам язвить. Нужно отличие - пожалуйста, код, переменная, функция, структура есть одно и тоже. Это не ссылки, блин. Вы вносите в переменную данные, которые потом можно запустить на исполнение (не тупо eval), а просто передать управление. И потом еще получить результат и обработать его далее. Вы можете построить функцию на этапе исполнения, а не на этапе написания программы. Хаскелл там вообще сплошное метапрограммирование. Шаблоны, полиморфизм ноги оттуда тянут.
Цитата:
А ведь срывает же стэк, сколько КАПСЛОКОМ не ОРИ.
Не знаю, что Вы имели ввиду, но хвостовая рекурсия не вызывает переполнения стека.

Касательно экзотики - это то что Вы назвали ублюдочным синтаксисом . Дополнительно и как следствие всего сказанного выше в структуры данных обычно имеют разнородную природу. Поясню на примере - массив может содержать строки, числа, массивы, списки, деревья и пр. Для всяких императивных на каждый чих нужна своя функция, свой велосипед и все-то что вызывает раздражение у Пучкова. Естественно уровень вложенности не ограничен. Вы можете хранить вектор (это массив) в котором будет содержаться вектор, в котором будет содержаться вектор, в котором будет содержаться вектор, в котором будет содержаться вектор, в котором будет содержаться вектор и т.д.

Мне например нравится как числа сделаны (в Scheme). В обычных языках Вам на каждый чих нужно преобразование, если его нет явно, то оно подразумевается и будет вставлено компилятором. Потому что типы и все такое. В Scheme все проще - целые это подмножество вещественных, вещественные это подмножество комплексных. То есть как в математике. И это удобно. Целое число является и с точкой и комплексным. Обратное преобразование требуется ибо ведет к явному округлению, но прямого преобразования нет и не требуется.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 31.10.2011 в 21:21.
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что сегодня востребованнее на фрилансе (какие языки)? alex455 Свободное общение 7 31.05.2011 11:55
Выделить крайний справа нулевой бит (среда программирования FORTH) Наталья111 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 01.06.2010 09:40
какие языки программирования и базы использовать? кто выпил мое пиво Помощь студентам 1 24.01.2009 13:45
Какие языки программирования вы изучали? LAN Свободное общение 3 10.11.2007 11:18