[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: