ailev.ru

Обсуждение

В архиве: 60 комментариев.

Читать и комментировать в ЖЖ ↗

dz · 30 марта 2007

Комментарий

В целом любопытно (оригинал пока не читал), но с пятым пунктом у них как-то странно. Во-первых, Ява зашибись портируется (это практика), во-вторых, у неё всё оч. хорошо с реальной переносимостью - уж поверьте практику, и, наконец, у неё всё хорошо с рефлексией. И позднего связывания на яве - жопой жуй. Я бы сказал, что если брать конкретный объём практически реализованного кода (а не теорий в журналах), то кода с поздним связыванием на яве в мире больше, чем на чём бы то ни было. reflections, динамически настраиваемые класслоадеры - это дядя просто не в теме.

dz · 30 марта 2007

Комментарий

Ой - да. И когда фанаты академических яву называют поп-культурой - это они себе льстят, Толь. Её делали люди, которые ох, как хорошо понимают в теории и практике программирования. А уж говорить про ДЮЖИНУ таргетов переноса какого-либо языка - типа сильно отстать от жизни. Сегодня некоторые embedded (!!) процессоры умеют яву исполнять _хардверно_ (с оговорками - часть в софте, да). А уж про порты под обычные операционки, в режиме мгновенной компиляции в процессе исполнения - и вообще вопросов нет. Так что мужик-то типа токует - сахар был слаще, вода мокрее.

dz · 30 марта 2007

Комментарий

Читаю дальше. Блин. Это ты зря купился. 6. "Уравнения максвелла." ТОЛЯ! Сделать компактный базис - дураку гордиться! Ну одна константа и одна функция дают полный базис для дискретного мира ВООБЩЕ. Ну и хрен ли толку с этого? Это дрочилово для математиков - сесть у доски, и восхищаться изяществом. "Двое тащили чёрного козла и восхищались его фотогеничностью." Чтобы что-то говорить об инструменте нужно сформулировать задачу. Без задачи ВООБЩЕ говорить об инструментах - нонсенс. А появление конкретной задачи ВСЕГДА вносит в идеальный мир математика искажения, которые приводят к тому, что инструмент обретает плоть, но перестаёт быть СТОЛЬ изящным. Только потому лисп и сдох, что повесить на стену и восхищаться им можно, "а шабашить лучше в телогрейке". Я же говорю банальности, нет?

dz · 30 марта 2007

Комментарий

8 - опять фигня. Лисп пишется на си/pl1 за два дня с отладкой, а точнее - скачивается и втыкается. Язык - инструмент. С появлением yacc (а это уж лет 30, нет?) сделать язык под задачу - работа трёх дней - отвечаю за базар. Внятный проектировщик миксит и матчит. В ту же яву втыкается снизу си, сверху скриптинг, а уж инструментария для структуризации систем, позднего и очень позднего связывания (вплоть до, например, загрузки топологии объектов с указанием типов из БД), рефакторинга - жопой ешь. Конечно, рефакторинг в яве и в лиспе - разные вещи, но это не имеет ничего общего с замшелой задачей переворотить 50 000 строк на pl/1 - сегодня внеязыковой инструментарий несравненно сильнее, и, собственно, язык без него сам по себе уже не котируется.

Анатолий Левенчук · 30 марта 2007

Комментарий

Ты говоришь очень близко к текстам Кея, который примерно так же отзывается о Лиспе (этот язык требует создания своего стиля программирования, что не под силу многим людям -- но это самый великий язык программирования, им нужно восхищаться). Ты говоришь очень близко к текстам Кея, который так же говорит о профессии программиста -- она начинается с того, что обсуждается задача. Компактный базис Кея интересует не сам по себе. И, заметь, он не удовлетворяется компактным базисом Лиспа, а пытается до сих пор изобрести и воплотить в жизнь иной компактный базис. Я бы тебе посоветовал почитать вместе с этим постингом еще другие мои постинги из этой программистской серии (в частности, где я пишу про FONC). То, о чем пишет Кей очень близко к моему программистскому опыту и ощущениям.

Ответ на комментарий

dz · 30 марта 2007

Комментарий

"Знание принципов освобождает от знания фактов. Чем больше я об этом думаю, тем больше понимаю, каким должно быть образование будущего." - здесь тремя руками за. И хвостом.

Анатолий Левенчук · 30 марта 2007

Комментарий

Слушай, ну ты же банальности говоришь. И почему ты приводишь в пример все время Лисп? Бери уж Smalltalk -- все эти рефакторинговые практики, паттерны дизайна, и само XP появились из софтовых проектов на этом языке. Который, кстати, изобрел и до сих пор развивает Кей сотоварищи. В сквике рефактор-браузер, например, есть.

Ответ на комментарий

dz · 30 марта 2007

Комментарий

Э, есть нюанс (С). :) Академически компактность хороша, желанна и маняща. Но если бы разработчики компьютеров всё делали из элементов 2И-НЕ, которых достаточно для всего, они бы застрелились. Поэтому практика всегда гадит теории в миску, добавляя в базис полезные необязательности, нарушающие красоту мира.

Ответ на комментарий

Анатолий Левенчук · 30 марта 2007

Комментарий

Это у тебя общие абстрактные заявления. Сквик в 230000 строк кода (2.8Мбайт) имеет полную (от интернет-браузера до графического интерфейса и редактирования аудиофайлов) систему, исполняющуюся на голых процессорах со странными архитектурами -- причем "в ноль" для разных портов. Другие языковые системы таким похвастаться не могут -- возьми хотя бы Форточки.

Ответ на комментарий

dz · 30 марта 2007

Комментарий

Понимаешь, ява - это такой жупел. Про неё ходят легенды и принято считать, что это такой убогонькой язычок для кодеров-индусов. Эта песня раздувается дураками до такого масштаба, что иногда и умные верят. А начинаешь с ними разбираться конкретно - умолкают удивлённые. На сегодня это наиболее прогрессивный из практически пригодных языков. Судя по некоторым характерным моментам я подозреваю, что умный товарищ не дал себе труда вдаться в тему. Уже одно заявление о том, что в яве плохо с рефлексией вызывает большое непонимание - то есть, да, у лиспа оно опять изящнее, но это потому, что он базисный, академичный. См. пост про то, что практическое уходит от чистой базисности. Отсюда у меня недоверие. Если я не понимаю - покажи, что. Толь, я много смотрю на дискуссию "убогая ява в телогрейке против хаскеля от кутюр". Она дурацкая. Мужик со времён PL/I мечтает о масштабном применении позднего связывания. Но ему нужно не просто позднее связывание, ему нужно позднее связывание в привычном ему языке. Он игнорирует тот факт, что в мире давно промышленно пишется гора поздносвязанного кода на яве - оно ему некошерно. Ну, то есть, надо читать, конечно, но если ты понимаешь, где ему ява жмёт - расскажи. Моё предположение - он просто проманкировал поразбираться.

Ответ на комментарий

Анатолий Левенчук · 30 марта 2007

Комментарий

Ты неправ, когда говоришь о прошедшем времени. Я читаю список рассылки FONC. В этом списке все много веселее, вживую работают вполне современные коды, поддерживающие мультипарадигмальность. У тебя аспект-ориентированное программирование идет в режиме мгновенной компиляции в процессе исполнения? Контекст-ориентированное? Объект-ориентированное (в котором класс -- это тоже объект. И метод -- тоже объект ;)? У этих ребят все это поддерживается работающим кодом, описанным им самим (что позволяет легко портироваться с гарантией одинаковости исполнения на разных архитектурах, не более того. Ну, и еще понимать, что происходит в системе, не привлекая для этого понимания архитектуру подлежащего железа).

Ответ на комментарий

dz · 30 марта 2007

Комментарий

И при этом, кажется, немного мёртв, нет? :) Мало быть. Надо быть удобным и решать чью-то задачу. И то, о чём ты пишешь, тоже сильно не ново - был форт, который обладает всеми заявленными как ценные в этой дискуссии свойствами - элементарная реализация, компактный интерпретёр, широко перенесённый - чуть ли не биосы на нём писали. Но не живёт. Ну - потому как писать на ём застрелишься. Отдельно отмечу, что функциональные и логические языки вообще плохо ложатся в наш мир. первый - в современные компьютеры, которые императивны, хоть ты их тресни. И потому общецелевой функциональный язык не имеет смысла - можно на императивном языке сделать уголок, где часть системы будет жить функционально. И будет это эффективно. В прологе вообще время имеет привычку назад ходить - у него проблемы совместимости со вселенной, как следствие. Непросто всё.

Ответ на комментарий

Анатолий Левенчук · 30 марта 2007

Комментарий

1. Ему Ява жмет в том числе и тем, что там язык задан -- Ява. Он же считает, что языком нельзя пользователя ограничивать, язык должен быть расширяем. 2. Хаскель от кутюр тут вообще не играет (и Кей его обычно не поминает). Система должна поддерживать функциональное программирование, а конкретный его язык может выбрать пользователь (и подхакать его под свои пользовательские задачки при желании) в рамках работающей уже системы, причем не выключая систему для необходимых для этого компиляций -- все должно происходить на лету. Более того, система должна поддерживать "разные программирования" (многие из которых требуют текстовых операций с байт-кодом -- например, так устроено аспект-ориентированное или контекст-ориентированное). 3. Кей имеет ввиду не просто "позднее связывание", а extreme late binding. 4. Ты не обратил внимание, что Кей пишет в том числе и про то, что у Smalltalk плохо с рефлексией?! А в последней работе он добавляет, что хотел бы к рефлексии добавить еще и свойство интроспекции. Ты читал дискуссии к предыдущим моим постам на эти темы? Хотя бы http://ailev.livejournal.com/466493.html

Ответ на комментарий

Имя не сохранено · 30 марта 2007

Комментарий

Чудесное сообщение. И dz очень правильно комментирует. Египетские пирамиды было бы сложно построить и сейчас, несмотря на то, что технология шагнула далеко. Ну не компактные они, ни лёгкие и не простые, и сочетают в себе труд большого количества людей разной квалификации. И всё же стоят. Точно также и современные программы. Одной из причин моего развода с математикой было осознание несовершенства того, что реально работает - лёгкими и красивыми бывают только решения олимпиадных задач.

Имя не сохранено · 30 марта 2007

Комментарий

Про закон Мура не в тему. Он все-таки не только о производительности, но и о цене.

Имя не сохранено · 30 марта 2007

Комментарий

> У тебя аспект-ориентированное программирование идет в режиме мгновенной компиляции в процессе исполнения? Да, на современных виртуальных машинах Java это так. При том, даже не компиляция мгновенная, а динамическая рекомпиляция используется. :-)

Ответ на комментарий

Анатолий Левенчук · 30 марта 2007

Комментарий

Сквик более чем жив, им пользуются по разным оценкам от сорока до пятидесяти тысяч человек. Я вот недавно купил для дитенка программу Plopp, написанную как раз на Сквике -- вполне работает. Ты, думаю, не в курсах насчет живости Smalltalk (а Сквик -- это только одна из множества реализаций). Ты прав, функциональные и логические языки плохо ложатся в наш мир. А вот объектно-ориентированные специально были придуманы антропоморфными. И ложатся много лучше. Ну, мультипарадигмальное программирование я уже поминал, как цель -- система должна поддерживать множество подходов, а не только один. Но при этом должна быть полная трассируемость: что где когда произошло, без извинений на то, какой подход выбрал юзер для данной подзадачи. В этой школе выделяют отдельно непосредственное манипулирование, отдельно скриптинг, отдельно собственно программирование. И много там есть еще "промежуточного". Ты как-то сильно прикипел к мейнстриму. А мне мейнстрим неинтересен обычно -- интересно то, что впереди. Вот, я унюхал очередную большую волну ;)

Ответ на комментарий