Re: очень хочется squirrelsh
Alexey Boyko -> debian-russian@lists.debian.org @ Mon, 25 Jan 2010 23:04:08 +0200:
>> Если внутренней дисциплины нет - то да, конечно. Но написанная на
>> компьютере таким программистом программа вряд ли будет сильно лучше...
AB> Ой ну ладно... Чтобы не было черканины, нужно или придумать
AB> программу в уме, но тогда всё равно где её потом записывать, либо
AB> старательно переписывать изменения на новом чистом листке. Либо
AB> сразу писать программу без ошибок. Может и есть такие
AB> программисты, но я про таких не слышал. Лично мне удобнее думать,
AB> глядя на текст программы. Так легче удержать её в памяти.
Чтобы не было черканины, необходимо и достаточно придумать в уме ее
архитектуру. Если эта архитектура хороша, то черканины потом не будет.
>> >> -На бумаге затруднительно копипастить кусок за куском.
>>
>> AB> А я вот кстати, не вижу ничего плохого в копипасте. Это тоже метод
>> AB> повторного использования кода, со своими достоинствами и
>> AB> недостатками.
>>
>> Преимущественно - недостатками. Тем и плох.
AB> А также достоинствами - наилучшая гибкость среди всех методов.
Наилучшая гибкость - у полного переписывания. Для копипаста нужны как
минимум редактор, который его умеет, и носитель, на котором оно
возможно. А полное переписывание возможно даже дыроколом на перфоленте
:-)
>> Нет, бывают языки, на которых без него не обойтись - потому что
>> технически грамотный реюз окажется и более многословным, и более дорогим
>> в рантайме...
AB> Про языки не думал, но у меня в ембеддед иногда выгоднее
AB> скопировать кусок и подправить его по месту, чем придумывать способ
AB> заворачивания его в библиотеку. (Конечно, ещё зависит от куска
AB> программы. Некоторые легко заворачиваются, некоторые плохо). И да,
AB> реюзать часто дорого в рантайме оказывается.
Дорого ли реюзать в рантайме - это уже от способа реюза зависит. Вот
лисп, скажем, позволяет весьма гибко выбирать, будет это у тебя функция
или вставка кода по месту, или частично вставка, а частично вызов
функции - и при этом использующий этот блок код будет одинаковым, и
всегда (ну, при достаточном головном мозге) достаточно лаконичным, чтобы
копипаст оказывался невыгоден ни с какой точки зрения.
Конкретно лиспы, правда, традиционно эмбеддятся не слишком хорошо - хотя
первые из них работали _вместе с компиляцией_ (либо в режиме
интерпретации) на технике, по сравнению с которой большинство нынешней
эмбедщины - суперкомпьютеры. И я думаю, что и сейчас, если копнуть,
можно парочку вполне приемлемых найти, в которых defmacro уже есть...
--
Science is like sex: sometimes something useful comes out, but that's
not why we're doing it.
-- Richard Feynman
Reply to: