tag:blogger.com,1999:blog-654279083390275842.post3554348644848380428..comments2024-03-19T12:22:43.654+03:00Comments on Размышлизмы eao197: [prog.flame] Утренняя попытка прочесть статью о Lisp-е в журнале fprog #5eao197http://www.blogger.com/profile/17283739752119445290noreply@blogger.comBlogger17125tag:blogger.com,1999:blog-654279083390275842.post-76648858618796027302010-06-10T13:14:21.533+03:002010-06-10T13:14:21.533+03:002DM: у меня есть впечатление, что в fprog сейчас о...2DM: у меня есть впечатление, что в fprog сейчас очень низкие требования к статьям. Фактически, написал человек статью по своему разумению, ее (может быть) как-то между собой обсудили и, за неимением альтернатив, опубликовали.<br /><br />А следовало бы очень жестко относиться к статьям. Чтобы они были интересны, в первую очередь, не самим функциональщикам, а просто интересующимся. Соответственно, должны быть иные требования как к содержанию статьи, так и к ее стилю.<br /><br />Что до агрессивности -- так это да, феномен. Интересно, только в русскоязычных странах он проявляется или вообще :) И, надо сказать, лисперы здесь еще не самые оголтелые (за исключением Луговского).eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-83417323916071755632010-06-10T12:43:01.887+03:002010-06-10T12:43:01.887+03:00И ещё - сообщество "функциональщиков" у...И ещё - сообщество "функциональщиков" у нас элитарно-агрессивное - ИМХО :)<br />По лиспу есть же хорошая книга PCL - как раз таки простая и вполне конкретная.[DiMa]https://www.blogger.com/profile/10369858893408565902noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-13558525024360178172010-06-10T12:16:30.617+03:002010-06-10T12:16:30.617+03:00Журнал сам по себе - странный. Уже пятый выпуск - ...Журнал сам по себе - странный. Уже пятый выпуск - пролистываю и на этом все заканчивается. И уж Лиспом бы точно не заинтересовался после его прочтения.[DiMa]https://www.blogger.com/profile/10369858893408565902noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-27677295634282660412010-05-31T08:23:16.790+03:002010-05-31T08:23:16.790+03:00А я сейчас буду пытаться разбираться со Smalltalk....<i>А я сейчас буду пытаться разбираться со Smalltalk.</i><br /><br />Удачи! :)eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-57354982502524535702010-05-30T23:50:01.294+03:002010-05-30T23:50:01.294+03:00На Lisp я позже пытался смотреть, но меня Lisp ник...<i>На Lisp я позже пытался смотреть, но меня Lisp никогда не цеплял. Как и Smalltalk и Python.</i><br />А я сейчас буду пытаться разбираться со Smalltalk. Заинтриговал меня этот язык.Quakerhttps://www.blogger.com/profile/08892867659877597144noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-18523971404828019392010-05-28T14:39:24.486+03:002010-05-28T14:39:24.486+03:00>"Каждый хрюшонок имеет право, всем должно...<i>>"Каждый хрюшонок имеет право, всем должно быть хорошо" (c) Э. Успенский.</i><br /><br />Да тут все проще :)<br />Не нужно притягивать красивые идиомы из одного языка в другой. Например, не очень здорово в C++ вводить общий базовый класс Object, и требовать, чтобы все наследовались от него. Хотя в Java это прекрасно работает. Не нужно в Java пытаться использовать generic-и, как шаблоны в C++. Не нужно в Ruby пытаться имитировать статическую типизацию. А в C++ не следует увлекаться динамической типизацией. И т.д. Куча мелкий вещей из-за которых оказавается, что знание Ruby не сильно помогает программировать на C++ :)eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-30369974998653913582010-05-28T13:58:41.242+03:002010-05-28T13:58:41.242+03:00Аналогии хорошие, попробовал их продолжить, но зан...Аналогии хорошие, попробовал их продолжить, но заносит совсем в другую степь. :-)<br />Надо действительно отталкиваться от практики - no silver bullet, нет ничего идеального.<br />"Каждый хрюшонок имеет право, всем должно быть хорошо" (c) Э. Успенский.<br />Где-то так.Alexhttps://www.blogger.com/profile/06712081717722214061noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-9593902210500423042010-05-28T13:36:56.257+03:002010-05-28T13:36:56.257+03:002Alex: у нас в универе Lisp-а не было. Был Pascal,...2Alex: у нас в универе Lisp-а не было. Был Pascal, Assembler, FoxBase, Prolog, какой-то язык символьных вычислений. Это то, что нам читали. Сами мы изучали C, C++, SQL и еще чего-то там, что могли находить. На Lisp я позже пытался смотреть, но меня Lisp никогда не цеплял. Как и Smalltalk и Python. А вот Ruby чем-то зацепил.<br /><br />По поводу влияния. Сейчас я думаю так. Каждый язык -- это отдельный инструмент (молоток, рубанок, отвертка, стамеска и т.д.). Поэтому освоение другого языка (инструмента) не приводит к тому, что ты лучше начинаешь пользоваться старым инструментом (вряд ли освоение шуруповерта пригодится при использовании молотка). А вот узнать то, что задачу можно решить другим способом -- вот это ценно. Т.е. вместо того, чтобы делать углубление в доске отверткой и дрелью, лучше взять стамеску и молоток.<br /><br />Как-то так, хотя все аналогии ложны по определению :)eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-46047354862638148162010-05-28T13:23:09.266+03:002010-05-28T13:23:09.266+03:00P.S. Забыл подписаться на комментарииP.S. Забыл подписаться на комментарииAlexhttps://www.blogger.com/profile/06712081717722214061noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-80895664340729510662010-05-28T13:22:01.105+03:002010-05-28T13:22:01.105+03:00не к месту, наверное, но курс по Lisp во время учё...не к месту, наверное, но курс по Lisp во время учёбы в институте - одно из самых приятных воспоминаний.<br />В какой-то момент наступило озарение и всё стало очень красиво и приятно.<br />Про практическую сторону этих знаний говорить не приходится - это был muLisp/DOS, следы которого можно найти на Wikipedia.<br />единственное "но" - опыт самого разного программирования, включая языки/парадигмы и всё остальное в большинстве случаев помогают развитию программиста.<br /><br />eao197: Я не думаю, что освоение Ruby и его использование "испортило" программы на C++, но практически уверен, что новые знания добавили что-то к общему результату. А? :-)Alexhttps://www.blogger.com/profile/06712081717722214061noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-27866247482588500872010-05-28T10:05:56.064+03:002010-05-28T10:05:56.064+03:00Прочитат заключительную часть статьи ("Заключ...Прочитат заключительную часть статьи ("Заключение: с расширяемостью в уме"). Заявление, что Smalltalk вышел из Lisp-а -- это сильно, однако.<br /><br />"Главным достижением ОО-подхода, по нашему мнению, является концепция интерфейса, т. е. спецификации полиморфного набора функций, необходимых для решения какой-то задачи." -- еще сильнее. Насколько я помню, интерфейсы -- это часть концепции <a href="http://en.wikipedia.org/wiki/Abstract_data_type" rel="nofollow">Абстрактных Типов Данных</a>. ООП является всего лишь одним из пользователей данной концепции. Другой пользователь АДТ -- это, например, стандартные алгоритмы в STL (foreach), которые могут работать с разными типами контейнеров и не только контейнеров. Корни же STL-я растут из Scheme-овской функциональной реализации.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-58458766494243064452010-05-28T08:13:33.820+03:002010-05-28T08:13:33.820+03:002Quaker: ну бывает так -- человек хочет рассказать...2Quaker: ну бывает так -- человек хочет рассказать что-то интересное, но не получается у него. Не его это дело. В смысле: художник не обязательно должен уметь писать стихи. Так и программист не обязательно будет хорошим писателем.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-43351861805218183412010-05-27T22:12:18.216+03:002010-05-27T22:12:18.216+03:00Да и слово практика в названии журнала не совсем с...Да и слово практика в названии журнала не совсем соответствует действительности. Яркий пример - статьи Душкина, которые носят скорее теоретический характер. А сегодня зашел в книжный магазин и в течение 20 минут внимательно просмотрел его книгу "Практика работы на языке Haskell". Вместо языка в основном описывались вспомогательные инструменты (компилятор, интерпретатор и т.д.). Причем описание было в стиле справочника, зачастую по 3-4 страницы описаний параметров запуска тех или иных инструментов. В нормальных книгах сначала идет постановка конкретной задачи, потом описание решения, затем может быть обсуждение этого решения (сравнения с аналогами, выявление достоинств и недостатков и т.д.). А здесь ничего - ни целей, ни конкретных задач, последовательное энциклопедическое описание отдельных частей. И это называется практикой? Большинство того, что написано в этой книге, либо вообще не должно присутствовать (описание ключей компилятора можно найти), либо должно быть включено в приложение. В этом вопросе очень хорошая позиция у Бертрана Мейера, который считает, что даже самому языку нужно уделять как можно меньше времени, а больше уделять внимания самим концепциям ООП. Про инструменты с среды даже и говорить не приходится - максимум десять страниц в тысячестраничной книге.Quakerhttps://www.blogger.com/profile/08892867659877597144noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-40063865182714654002010-05-27T15:03:30.067+03:002010-05-27T15:03:30.067+03:00>В общем, почитать вполне можно,
Я бросил чита...<i>>В общем, почитать вполне можно,</i><br /><br />Я бросил читать, когда в начале статьи авторы начали показывать во что раскрываются какие-то макросы. Мне, как далекому от Lisp-а человеку, это сильно не понравилось. Я и в исходном фрагменте мало что понимал, а тут на тебе, еще лиспа. Что, зачем, почему? Имхо, как-то по другому нужно было показывать достоинства языка. А так получилась статья опытных лисперов для начинающих лисперов.<br /><br /><i>>А вот что было в конце статьи (стр. 158-160) - это ужас какой-то.</i><br /><br />Нужно будет почитать конец статьи.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-25040674686362964822010-05-27T14:56:34.807+03:002010-05-27T14:56:34.807+03:00На статью забил.
А вот что было в конце статьи (ст...<i>На статью забил.</i><br />А вот что было в конце статьи (стр. 158-160) - это ужас какой-то. Лисперы как прошлись по всем языкам: C, C++, Javscript, PHP, Python. Видите ли, им не нравится девиз языка Python "Батарейки в комплекте":<br />"Пакет, который попадает в стандартную библиотеку, стоит одной ногой в могиле". Затем попинали JavBeans, не забыв при этом бросить камни в сторону ООП. При этом всячески нахваливали протоколы в Лиспе (стр. 148). В общем, почитать вполне можно, пусть даже ради смеху :)Quakerhttps://www.blogger.com/profile/08892867659877597144noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-90163196251032981782010-05-27T12:43:18.421+03:002010-05-27T12:43:18.421+03:00>Лисп не мертв, подтверждаю :)
Лисп -- это иде...<i>>Лисп не мертв, подтверждаю :)</i><br /><br />Лисп -- это идея. Идеи не умирают :)<br /><br /><i>>Чем гомоморфность хуже, например, полиморфизма?</i><br /><br />Не хуже. Но когда я в начале 90-х читал общеобразовательные статьи об ООП, там на пальцах прямо в тексте объяснялось, что такое полиморфизм. Тогда о читателях как-то больше заботились, гугля не было, трава была зеленее, вода мокрее... :)))eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-16819740327619169802010-05-27T11:26:22.444+03:002010-05-27T11:26:22.444+03:00Лисп не мертв, подтверждаю :)
А что касается гомом...Лисп не мертв, подтверждаю :)<br />А что касается гомоморфности, вспоминается один из топиков на rsdn, где кто-то говорил, что программист умирает, когда перестает гуглить незнакомые слова. Чем гомоморфность хуже, например, полиморфизма? Тем что полиморфизм уже знаком, а гомоморфность - еще нет? Синдром первой освоенной технологии?Rigidushttps://www.blogger.com/profile/02673897146307330746noreply@blogger.com