The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Ответ для psyche - снова лажа"
Отправлено Аноним1, 22-Авг-08 00:25 
Судя по всему, на все остальное у Вас внятных аргументов уже не нашлось и Вы продолжаете трепыхаться, пытаясь хоть за что-то зацепиться.

Кстати, вот Вы сами говорили в своем самом первом сообщении [ https://www.opennet.ru/openforum/vsluhforumID3/43307.html#26 ]:
>Скорость работы для некоторых задач является критичной, что ставит крест на применимости Ruby для этого класса задач.

А потом сами пытались откреститься от того, что говорить об ограничениях без привязки к области применения не имеет смысла. Класс задач Вы так указать и не смогли.

>1. Метапрограммирование не имеет отношения к области применения, иначе макросы зациклятся сами на себя. Макросы являются техникой программирования. "Метапрограммирование - это слабость всех императивных языков, а не только Ruby", - расцениваю это за принятие моего аргумента о том, что в Ruby метапрограммирование ограничено.

То есть по-Вашему метапрограммирование областью применения не является, только потому что на нем может зациклиться какой-то чайник, который не знает, зачем оно нужно. Если не разбираться, то можно зациклиться на любой области применения. Интересно, а по каким критериям Вы вообще определяете, что является областью применения.

По крайней мере ясно, что метапрограммированием Вы не занимаетесь.

>3. proc mildly deprecated in favor of Kernel#lambda [1]. В связи с возможной путаницей proc и Proc.new, которые имеют разное поведение.

Слова "в связи с возможной путаницей" - это тоже из того же места в "Pragmatic Programmers' Guide"? Или это лично у Вас путаница возникает?

То есть просто из разницы поведения из Вы пытаетесь заключить, что lambda {...} является лямбда-функцией. Или Вы это заключение делаете из фразы "mightly deprecated"?
Вы так и не разобрались, почему именно proc и Proc.new ведут себя по-разному. К тому же, Вы говорите о Proc.new, а что же такое по-Вашему "Proc", и как оно само связано с "proc" и его синонимом "lambda".

Или Вы делаете вывод, что lambda в Ruby является лямбда-функцией, только потому что ее так назвали?

>Подчёркиваю ещё раз: блок и лямбда-функция в Ruby это не два идентичных термина.

Блок и лямбда-функция никогда и не могут быть идентичными терминами. Но Вы не доказали, что "lambda" в Ruby идентично термину лямбда-функция. А лексемы в языках программирования на термины и не претендуют.

Попробуйте также доказать, что в версии 1.9 оно стало лямбда-функцией.

>Как я говорил в https://www.opennet.ru/openforum/vsluhforumID3/43307.html#73: "Блок может быть использован только в качестве аргумента".

Прежде чем говорить, в качестве чего блок может быть использован, сначала нужно понять, что такое блок, чего Вы так и не поняли.

То есть здесь и в ниже следующих примерах Вы хотите сказать, что по-Вашему по тому, как нечто можно передать чисто синтаксически в функцию, можно по-Вашему сделать вывод, что же это на самом деле такое?

>Таким образом:
>def test &b; b.call end
>test { puts "hello world" } # => "hello world"
>test lambda { puts "hello world" } # => `test': wrong number of arguments (1 for 0) (ArgumentError)
>Хотя в этом случае всё в порядке:
>def test b; b.call end
>test lambda { puts "hello world" } # => "hello world"

Ну и Вы поняли, что здесь происходит? Чуть глубже синтаксиса. Учтите, Вы так еще и не доказали, что lambda{...} - это не блок.
К тому же, Вы так и не ответили, почему, если по-Вашему {...} - блок, то нельзя сделать так:
def test; p "hello"; {p "world"}; end

Вы просто пытаетесь сделать вид, что неудобных Вам вопросов не было, и пытаетесь зацепиться за что-то еще.

>В Ruby невозможно передать два блока:
>def test &b1, &b2; b1.call || b2.call; end

Вы их сами передали в своем же предыдущем сообщении. Если это не выглядит чисто синтаксически в точности так, как Вы хотите, это же не значит, что этого нет.

>Блок в Ruby это лишь некая синтаксическая конструкция, которая не имеет прямого отображения ни в один класс языка.

Это Ваши личные домыслы? А почему Вы не считаете, что блок не является семантической конструкцией? Ruby относится к высопорядковым языкам, а это означает, что блок в нем доступен не только программисту и транслятору, но и самой программе во время исполнения, в частности другому блоку. А это, в свою очередь означает, что понятие блока вовсе не синтаксическая конструкция. Чего Вы естественно не понимаете.

Кроме того, Вы все время давите на синтаксис. Вы в понимании языков не ушли дальше Pascal где все как пишется, так и происходит на внутреннем механическом уровне. В таких профессиональных языках, как Ruby синтаксис отделен от внутренних механизмов. Это делается для того, чтобы максимально приблизить синтаксис к решаемым задачам, а не к механизмам. Но это сразу сбивает с толку чайников при попытке делать выводы о внутренних механизмах языка.

Вы не ушли дальше школьного учителя по информатики, который несколько лет с трудом изучал какие-то механизмы языков программирования, но сидя в своей школе, оставался оторванным от решаемых с помощью языков задач.

Так Вы считаете или нет, как Вы говорили в начале, что в Ruby с блоками якобы был именно баг, а не ожидаемое поведене.

>Во всех остальных вопросах ты ходишь по кругу, надоедливо жужа:

Я хожу по кругу лишь в след за Вами, надоедливо Вам жужжу, и мешаю Вам делать вид, что Вы компетентны, в том, о чем говорите.

>забываешь указывать наезды двумя минусами

А что снова стало неудобно, сами без подсказок отделить не можете?
Нет, я не забыл. Я просто не стал это делать в ответ на Ваши сообщения, где началось уже откровенное коверкание смысла. Я лишь на какое-то время показал, что разбор Ваших фраз у меня по смыслу отделен от наездов на Вашу ламерскую личность. Больше так наглядно я это отделять не буду. Ищите сами, какая из фраз к чему относится. Я знаю, вам это трудно. Поэтому смотрите не ошибитесь, а то снова облажаетесь.

>которые иногда составляют болшую часть твоего сообщения.

Это уже мои проблемы, какую часть они составляют. Та меньшая часть с разбором Ваших высказываний уже достаточна, чтобы показать, что Вы ламер, а остальное просто Вам в догонку.

>С тобой обсуждать больше нечего.

Вам не удалось показаться тем, кем Вы хотели, поэтому обсуждать Вам действительно больше нечего. А что-то обсуждать Вы и не можете, что и пытались скрыть, но неудачно.

>"There will always be things we wish to say in our programs that in all known languages can only be said poorly". Alan Perlis.

Из всей фразы Вы видимо поняли только слово "poorly". Ну и какое отношение имеет данная фраза к Ruby?

>Я же предпочитаю более короткое, но не менее ёмкое высказывание: "Все языки программирования -- гавно". Но Ruby одно из лучших.

Во-первых. По смыслу Ваше высказывание никак не соотносится в вышеприведенным высказыванием.

Во-вторых. Вы здесь сами подтвердили то, что я раскусил в Вас в самом начале. Вам всегда с трудом давалось программирование, хотя и очень хотелось. Поэтому Вы все время ищите оправдания, почему не можете освоить очередной язык. Скорее всего, где-то на других форумах Вы точно также выискиваете ограничения языка Lisp.

В-третьих. Даже Вы подтвердили, что Ruby один из лучших языков.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру