metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-06-24 03:03 pm

Лямбды и Firebird, ад продолжается

А теперь, внимание, бородатая женщина будет есть червей мнение разработчика Firebird о лямбда-функциях:

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

[identity profile] freiksenet.livejournal.com 2011-06-24 12:26 pm (UTC)(link)
Ну по-моему грамотный программист должен знать и понимать лямбда исчеление и функциональный подход к программированию даже если он пишет на С. Такое отвратительное нежелание разобраться в проблеме помноженное на ЧСВ его совсем не красит.

[identity profile] metaclass.livejournal.com 2011-06-24 12:27 pm (UTC)(link)
Вообще да, желательно. Особенно если заниматься внутренностями БД и всякими оптимизаторами - там всякая математика и прочее совсем не помешает.

[identity profile] aamonster.livejournal.com 2011-06-24 12:54 pm (UTC)(link)
На самом деле совершенно необязательно. Понимание таких вещей позволяет тратить меньше времени на закат солнца вручную, но и только.

[identity profile] freiksenet.livejournal.com 2011-06-24 12:55 pm (UTC)(link)
Даже если это единственный бенефит, он уже делает разработчика более эффективным и значит что он больше (хорошего) кода напишет за меньшее время. И код, вероятно, будет меньше по объему.

[identity profile] aamonster.livejournal.com 2011-06-24 01:13 pm (UTC)(link)
Ну да. Для работника это хорошо (когда пройдёт начальный этап привыкания и он станет эффективен + сумеет показать это начальству и добиться бОльшей зарплаты). Но с точки зрения разработки - в большинстве случаев можно нанять кодеров, которые сделают то же самое вручную (больше кода, реализующего функционал за те же деньги... теоретически его труднее поддерживать, но на практике проще нанять человека, который способен на это).

Хотя, конечно, если проводить градацию между программистом и кодером... Хороший программист должен вообще стараться понять всё, что попадает в его поле зрения =).

[identity profile] volodymir-k.livejournal.com 2011-06-24 01:38 pm (UTC)(link)
> грамотный программист должен знать и понимать лямбда исчеление

Представляется, как Джон Маккартни принимает у такового грамотея экзамен и в конце, вздыхая, протягивает зачётку со словами: "приходите, голубчик, на пересдачу, когда выучите не путать комбинаторы и сможете доказывать теорему Чёрча."



Традиции Юникс-программирования на Си ни в зуб ногой не используют лямбду и совершенно от этого не страдали последние 30 лет. Керниган неграмотный, да?

[identity profile] freiksenet.livejournal.com 2011-06-24 01:39 pm (UTC)(link)
Керниган думаю знает лямбда исчисление.

[identity profile] volodymir-k.livejournal.com 2011-06-24 01:46 pm (UTC)(link)
Знает, но не пользуется.

[identity profile] freiksenet.livejournal.com 2011-06-24 01:59 pm (UTC)(link)
Ну напрямую и я им не пользуюсь, хотя пишу на Common Lisp %)

[identity profile] kurilka.livejournal.com 2011-06-24 01:44 pm (UTC)(link)
Маккарти наверное?

[identity profile] volodymir-k.livejournal.com 2011-06-24 01:49 pm (UTC)(link)
И Вас с пятницей!
Извините за неразбрчивй пчрк.

[identity profile] berezovsky.livejournal.com 2011-06-24 08:38 pm (UTC)(link)
пол макккартни

[identity profile] nivanych.livejournal.com 2011-06-24 01:44 pm (UTC)(link)
Мнооого лет было так, что у людей не было ни канализации, ни электричества...
И они не страдали от этого!
;-)

[identity profile] volodymir-k.livejournal.com 2011-06-24 01:48 pm (UTC)(link)
Можно подумать, вы прямо сейчас работаете на ОС, основанной на ФП, и используете таковой же браузер. Не используете, потому что таких нет.
Вся культура софта последних 20 лет императивная.

[identity profile] nivanych.livejournal.com 2011-06-24 01:54 pm (UTC)(link)
Ну если без шуток, то основной проблемой было сделать нормальный язык для работы с низкоуровневым.
Почему-то, до сих пор, мало такого появилось. Может быть, что относительно недавно стали пытаться широко использовать зависимые типы.
Тем не менее, очень много элементов современных функциональных языков можно было бы с большим успехом запихать в низкоуровневые императивные.
А что культура императивная, ну так это очень плохо.
Поскольку, в большинстве ситуаций, не связанных с постоянной работой с низкоуровневым, уже довольно давно, вполне так можно было пользовать функциональщину, но с сишными вставками, для производительности.

[identity profile] permea-kra.livejournal.com 2011-06-26 08:43 am (UTC)(link)
По-моему, этой проблемы до сих пор не решили,

[identity profile] nivanych.livejournal.com 2011-06-26 09:04 am (UTC)(link)
Какой именно проблемы?
Язык высокого уровня с удобной работой с низкоуровневым?
Ну, теоретически, решили. Практически, пока не очень.
Запихивать элементы функциональных языков в низкоуровневые?
Ну, если говорить о "проблеме", то решили.
Но вот, имплементаций нормальных нет.

[identity profile] permea-kra.livejournal.com 2011-06-26 09:42 am (UTC)(link)
Проблемы вменяемого (т.е. нормальный параметрический полиморфизм с удобным синтаксисом и хвостовой рекурсией) языка для работы с сырой памятью, низким оверхедом и легким рантаймом.

[identity profile] blackyblack.livejournal.com 2011-06-26 06:24 pm (UTC)(link)
Да, не сделали. Для функциональных языков расход памяти плохо считается. Но скорее решат проблему нехватки памяти, чем сделают правильный язык.

[identity profile] theiced.livejournal.com 2011-06-24 06:19 pm (UTC)(link)
традиции юникс программирования последних десятков лет - это - внезапно - гну в основном. емаксы там и прочие гайлы.

[identity profile] permea-kra.livejournal.com 2011-06-26 08:44 am (UTC)(link)
Да, от этого лиспового позора сложно отмыться.

[identity profile] mudasobwa.livejournal.com 2011-06-24 02:11 pm (UTC)(link)
Ох, как я это люблю. Грамотный программист должен уметь все, да.

Грамотный программист еще должен быть грамотным, тогда уж, и уметь написать слово «исчисление» без пары ошибок.

На самом деле, грамотный программист на КОБОЛе (если не ошибаюсь, самая высокооплачиваемая на сегодняшний день профессия в мире IT), должен понимать совсем иное. А когда придет лямбда и всех порешит — грамотный программист должен будет знать другое.

Вы путаете «интересующегося студента» и «специалиста в узкой области». Если разработчики СУБД начнут тратить время на мю- и пи- мезоны — у нас с вами будут не базы данных, а конструкторы ЛЕГО.

[identity profile] freiksenet.livejournal.com 2011-06-24 02:17 pm (UTC)(link)
Я почти десять лет живу в другой стране, так что я думаю мне простительно делать ошибки в русском языке, особенно в терминах которые я изначально учил на английском ;)

Грамотный кодер на любом языке вполне может знать этот единственный язык. Грамотный программист будет знать и много языков, и математику, и theoretical computer science. Кодер будет всю жизнь писать опердень. Программист будет писать интересные проекты на любимых языках.

[identity profile] mudasobwa.livejournal.com 2011-06-24 02:20 pm (UTC)(link)
Я почти 40 лет живу в родной стране, и считаю, что мне непозволительно делать ошибки в тех трех языках, которым я обучился. Ну да ладно. Каждому — свое.

Зачем знать много языков человеку, которому интересна оптимизация БД? Зачем человек, которому не интересна оптимизация БД — владельцу БД?

[identity profile] theiced.livejournal.com 2011-06-24 06:12 pm (UTC)(link)
даже на си можно лямбды сделать... ну почти ;)