LINUX.ORG.RU
ФорумTalks

Ментальный вирус

 ,


0

4

Языки типа Ruby или Io — это тяжелые наркотики вирус, поражающий мозг.

Когда я пишу код на PHP, я думаю о том, насколько же компактнее и понятнее был бы такой же код на Ruby (или на Io).
Когда я пишу код на JS, я думаю о том, насколько же компактнее и понятнее был бы такой же код на Ruby (или на Io).
Когда я пишу код на Пейтоне (что случается раз в полгода, но всё же), я думаю о том, насколько же компактнее и понятнее был бы такой же код на Ruby (или на Io).
И даже когда я вижу случайную строчку кода на Перле, я думаю о всё том же.

Есть ли более тяжелые наркотики вирусные языки, чем Ruby? Лиспы пробовал курить — не штырит.

Ответ на: комментарий от Anatolik

Неужели первые два примера для вас выглядят читаемей?

Да.

KRoN73 ★★★★★
()
Ответ на: комментарий от geekless

array.select{|v|v[/someregexp/]}.each_slice(3).map{|v| «#{v[0]} blabla #{v[1]} blablabla #{v[2]}»}.join(«\n»)

Я пишу это так:

$array->pgrep("/regexp/")
    ->nslice(3)
    ->map(function($x) { return "{$x[0]} blabla {$x[1]} blablabla {$x[2]}"; })
    ->join("\n")

и?

KRoN73 ★★★★★
()
Ответ на: комментарий от Anatolik

Я же сказал выше: все сниппеты с ||

Вот, кстати, почему вы, рубисты, иногда пишете a.map do |b| blabla(b) end, а иногда a.map { |b| blabla(b) }? Зачем ломаете мне парсер каждый раз?

GateKeeper ★★
()
Ответ на: комментарий от GateKeeper

Я же сказал выше: все сниппеты с ||

Как насчет пролистать про замыкания? Там есть пример на Python.

А потом можно прочитать вот это. Автор очень хорошо пишет; подбирает такие ситуационные примеры, что выходит почти художественная литература.

Вот, кстати, почему вы, рубисты, иногда пишете a.map do |b| blabla(b) end, а иногда a.map { |b| blabla(b) }? Зачем ломаете мне парсер каждый раз?

У «do end» и «{}» различная очередность выполнения, однако если не используется «poetry mode», их можно считать синонимами. Подробней об этом смотрите по ссылке выше.

Значение зависит от конвенций проекта. Например, «do end» можно использовать там, где в блоке есть «side effect», а «{}» там, где блок просто возвращает значение.

Anatolik ★★
()
Ответ на: комментарий от Anatolik

Ну вот, ты прям очередной перл описал. Опять начинается свистопляска с side-effect: @arr, $arr как ref (и @{$arr} для обращения), \$arr, $#arr вместо scalar @arr (как я выше уже упоминал) и прочие плюшки.

GateKeeper ★★
()
Ответ на: комментарий от GateKeeper

Не знаю, где ты там узрел Perl. Возможно, у тебя просто словосочетание «side effect» с ним стойко ассоциируется.

Anatolik ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.