cookbook of the dead

Mar 18, 2008 02:31

наблюдение
Многие инструменты (например, языки программирования) постепенно обрастают сборниками рецептов. Эти шпаргалки слишком обширны для запоминания, а логика рецептов трудна для понимания, но незнание их обходится дорого. Ими вынуждены пользоваться не новички, но профессионалы.

гипотеза 1Инструмент недостаточно мощен в предметной области, где ( Read more... )

virtual, idea, communication

Leave a comment

Comments 28

tonybelol March 18 2008, 02:58:54 UTC
Ну, и "следствие" противоречит наблюдаемому, нет? ХТМЛ+ЦСС в легаси уходить не собираются. Ну, и переход пхп в легаси - тоже под очень большим сомнением.

Reply

9000 March 18 2008, 09:12:46 UTC
Ну, html+css я бы с удовольствием списал в легаси, когда бы было, чем их безболезненно заменить. потому пока без шансов :(

Однако КПД работы на html+css ужасно низок, как раз по причинам, изложенным по ссылке.

Reply

fyysik March 18 2008, 17:14:08 UTC
и поэтому все норовят ваять странички на flash/actionscript?

Reply

9000 March 24 2008, 01:42:22 UTC
И поэтому тоже. Всё же использовать html как динамический графический язык -- это very over-stretched use. Он несколько неоптимален для этого, хотя минимальное нужное, типа dom manipulation, есть.

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

Reply


vsopvs March 18 2008, 03:58:20 UTC
мне кажется, сложно сравнивать непроцедурные языки описательного плана с процедурными. html/css - не язык, по сути, а "приспособление", contraption. и отношение к нему у разработчиков соответствующее: "А ну-ка добавим вот еще такую штуку!" попробовали бы они так себя повести с C++ :)

Reply

9000 March 18 2008, 09:21:48 UTC
1. увы, html язык как язык. в том смысле, что на нём приходится писать, ориентируясь на формальные и неформальные стандарты.
2. увы, с C++ примерно так себя и вели -- только не столько силами производителей компиляторов, сколько комитетом.

Reply


dma March 18 2008, 05:34:24 UTC
Перловый кукбук, например, не потому сделан.
Нет, он есть и там есть набор частовстречающихся решений.
Но можно обходиться и без него. Просто зайти на CPAN, пошукать там нужный модуль, почитать к нему немножечко документации (обычно она уже и с примерами), и всё.

Reply

9000 March 18 2008, 09:23:02 UTC
"Но можно обходиться и без него" -- вот это ключевое.
Хотя перл к интуитивно понятным языкам отнести трудно, несмотря на противоположное стремление Ларри В.

Reply

alll March 18 2008, 09:52:42 UTC
Хм. Я бы сказал, что перл - он интуитивно понятен, но постфактум. Типа, когда понимаешь, как это делается, тогда же понимаешь, что это делается максимально удобным способом.

Reply

sab123 March 18 2008, 18:54:21 UTC
Перл - пожалуй самый интуитивно понятный язык. Противоположностью его можно назвать Питон, в котором все делается непременно самым черезжопным образом.

Reply


taraslive March 18 2008, 13:25:18 UTC
Наоборот HTML очень хорош и захватил кучу ниш которые не были предусмотрены создателями.
Теперь конечно надо делать новые языки в которых можно обходиться без рецептов.

Если на фирму большое количество негативных отзывов это еще не значит что она плохая, у неё может быть очень большой оборот.

Reply

9000 March 18 2008, 13:35:56 UTC
Хотя html ужасен (неоднозначен, беден, etc) в некоторых аспектах спецификации и реализован местами кто в лес, кто по дрова, всё остальное было несравнимо хуже. Вот html и захватил.

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

Кроме того, есть аспект совместимости: вещь, один раз ставшую популярной, трудно вытеснить, потому что все на неё заложились. Трудно выкинуть (или радикально переделать) HTML -- нельзя же сломать этим миллионы сайтов. Можно только по чайной ложке вводить, как это было с CSS, который очень улучшил дело. Но посмотрите на ajax: это ж не от хорошей жизни.

Reply


faceted_jacinth March 18 2008, 14:02:24 UTC
Инструмент недостаточно мощен в предметной области, где он требует "сборника рецептов"
---
Хм. Или наоборот слишком мощен? Я полагаю, рецепты рецептам рознь. Одно дело, когда в инструменте присутствует некий дефект, который, однако, можно хитроумно обойти. Другое -- когда одну и ту же вещь можно сделать миллионом способов, но среди них есть несколько наиболее клёвых, причём клёвость зачастую становится понятна только постфактум, в процессе поддержки и использования.

Тогда design patterns (да и алгоритмы в целом, если так посмотреть) -- "хорошие" рецепты (впрочем, непривязанные к языку).

Reply

9000 March 18 2008, 14:20:32 UTC
"Слишком мощен" -- это когда нужную вещь можно сделать за менее чем одну характерную операцию %)

А так -- можно написать ИИ на ассемблере чудовищным числом способов, и некоторые из них более клёвые, но всё равно недостаточно, по моим меркам.

Про паттерны -- да, кстати. Хотя это в равной инструмент исследования мышления и архитектуры, как и их определения.

Reply

faceted_jacinth March 18 2008, 14:32:45 UTC
Не, но Irreducible Complexity никто не отменял же. Вообще это, конечно, вопрос выбора метрики, как мы разделим программы на "полезные" и "бесполезные", такое количество полезных программ данной длины и получим. Если мы считаем, что полезных программ всего три -- квайн, хелловорлд и 99 бутылок пива, то язык HQ9 является безусловным лидером по оптимальности, практически идеалом.

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

Короче, мой основной поинт вот в чём: рецепт, компенсирующий _отсутствие_ хорошего решения, отличается от рецепта, демонстрирующего _неочевидное_ хорошее решение.

Reply

9000 March 18 2008, 14:36:15 UTC
В целом согласен.
Хотелось только обратить внимание на то, что и отсутствие, и неочевидность хорошего решения типичной задачи являются знаками неадекватности инструмента, хотя второй случай менее тяжёл.

Reply


Leave a comment

Up