В целом любопытно (оригинал пока не читал), но с пятым пунктом у них как-то странно. Во-первых, Ява зашибись портируется (это практика), во-вторых, у неё всё оч. хорошо с реальной переносимостью - уж поверьте практику, и, наконец, у неё всё хорошо с рефлексией. И позднего связывания на яве - жопой жуй. Я бы сказал, что если брать конкретный объём практически реализованного кода (а не теорий в журналах), то кода с поздним связыванием на яве в мире больше, чем на чём бы то ни было. reflections, динамически настраиваемые класслоадеры - это дядя просто не в теме.
Понимаешь, ява - это такой жупел. Про неё ходят легенды и принято считать, что это такой убогонькой язычок для кодеров-индусов. Эта песня раздувается дураками до такого масштаба, что иногда и умные верят. А начинаешь с ними разбираться конкретно - умолкают удивлённые. На сегодня это наиболее прогрессивный из практически пригодных языков
( ... )
1. Ему Ява жмет в том числе и тем, что там язык задан -- Ява. Он же считает, что языком нельзя пользователя ограничивать, язык должен быть расширяем
( ... )
Ой - да. И когда фанаты академических яву называют поп-культурой - это они себе льстят, Толь. Её делали люди, которые ох, как хорошо понимают в теории и практике программирования. А уж говорить про ДЮЖИНУ таргетов переноса какого-либо языка - типа сильно отстать от жизни. Сегодня некоторые embedded (!!) процессоры умеют яву исполнять _хардверно_ (с оговорками - часть в софте, да). А уж про порты под обычные операционки, в режиме мгновенной компиляции в процессе исполнения - и вообще вопросов нет.
Так что мужик-то типа токует - сахар был слаще, вода мокрее.
Ты неправ, когда говоришь о прошедшем времени. Я читаю список рассылки FONC. В этом списке все много веселее, вживую работают вполне современные коды, поддерживающие мультипарадигмальность. У тебя аспект-ориентированное программирование идет в режиме мгновенной компиляции в процессе исполнения? Контекст-ориентированное? Объект-ориентированное (в котором класс -- это тоже объект. И метод -- тоже объект ;)? У этих ребят все это поддерживается работающим кодом, описанным им самим (что позволяет легко портироваться с гарантией одинаковости исполнения на разных архитектурах, не более того. Ну, и еще понимать, что происходит в системе, не привлекая для этого понимания архитектуру подлежащего железа).
> У тебя аспект-ориентированное программирование идет в режиме мгновенной компиляции в процессе исполнения? Да, на современных виртуальных машинах Java это так. При том, даже не компиляция мгновенная, а динамическая рекомпиляция используется. :-)
Но тут Кей прямо заявляет, что рефлексия в Smalltalk тоже не сахар по сравнению с тем, что может быть обеспечена виртуальной машиной. Для примера того, о чем я говорю, можно поглядеть работу (выполняемую под его руководством): http://www.vpri.org/pdf/prototypes1.pdf (это, правда, больше про контексты, а не аспекты, тем не менее) и другие работы со странички http://www.vpri.org/html/words_links/
6. "Уравнения максвелла." ТОЛЯ! Сделать компактный базис - дураку гордиться! Ну одна константа и одна функция дают полный базис для дискретного мира ВООБЩЕ. Ну и хрен ли толку с этого? Это дрочилово для математиков - сесть у доски, и восхищаться изяществом. "Двое тащили чёрного козла и восхищались его фотогеничностью."
Чтобы что-то говорить об инструменте нужно сформулировать задачу. Без задачи ВООБЩЕ говорить об инструментах - нонсенс. А появление конкретной задачи ВСЕГДА вносит в идеальный мир математика искажения, которые приводят к тому, что инструмент обретает плоть, но перестаёт быть СТОЛЬ изящным. Только потому лисп и сдох, что повесить на стену и восхищаться им можно, "а шабашить лучше в телогрейке".
Ты говоришь очень близко к текстам Кея, который примерно так же отзывается о Лиспе (этот язык требует создания своего стиля программирования, что не под силу многим людям -- но это самый великий язык программирования, им нужно восхищаться).
Ты говоришь очень близко к текстам Кея, который так же говорит о профессии программиста -- она начинается с того, что обсуждается задача.
Компактный базис Кея интересует не сам по себе. И, заметь, он не удовлетворяется компактным базисом Лиспа, а пытается до сих пор изобрести и воплотить в жизнь иной компактный базис.
Я бы тебе посоветовал почитать вместе с этим постингом еще другие мои постинги из этой программистской серии (в частности, где я пишу про FONC).
То, о чем пишет Кей очень близко к моему программистскому опыту и ощущениям.
Ну, блин, слава богу. Отлегло. Стройный Ваш внутренний мир устоял - значит, я так понимаю, долго простоит. И лет в 70 хозяин (хозяин ли?) этого внутреннего мира будет говорить детям, как его соблазняли Явой, но он не поддался
( ... )
Лисп пишется на си/pl1 за два дня с отладкой, а точнее - скачивается и втыкается. Язык - инструмент. С появлением yacc (а это уж лет 30, нет?) сделать язык под задачу - работа трёх дней - отвечаю за базар.
Внятный проектировщик миксит и матчит. В ту же яву втыкается снизу си, сверху скриптинг, а уж инструментария для структуризации систем, позднего и очень позднего связывания (вплоть до, например, загрузки топологии объектов с указанием типов из БД), рефакторинга - жопой ешь.
Конечно, рефакторинг в яве и в лиспе - разные вещи, но это не имеет ничего общего с замшелой задачей переворотить 50 000 строк на pl/1 - сегодня внеязыковой инструментарий несравненно сильнее, и, собственно, язык без него сам по себе уже не котируется.
И почему ты приводишь в пример все время Лисп? Бери уж Smalltalk -- все эти рефакторинговые практики, паттерны дизайна, и само XP появились из софтовых проектов на этом языке. Который, кстати, изобрел и до сих пор развивает Кей сотоварищи. В сквике рефактор-браузер, например, есть.
"Знание принципов освобождает от знания фактов. Чем больше я об этом думаю, тем больше понимаю, каким должно быть образование будущего." - здесь тремя руками за. И хвостом.
Э, есть нюанс (С). :) Академически компактность хороша, желанна и маняща. Но если бы разработчики компьютеров всё делали из элементов 2И-НЕ, которых достаточно для всего, они бы застрелились. Поэтому практика всегда гадит теории в миску, добавляя в базис полезные необязательности, нарушающие красоту мира.
Это у тебя общие абстрактные заявления. Сквик в 230000 строк кода (2.8Мбайт) имеет полную (от интернет-браузера до графического интерфейса и редактирования аудиофайлов) систему, исполняющуюся на голых процессорах со странными архитектурами -- причем "в ноль" для разных портов. Другие языковые системы таким похвастаться не могут -- возьми хотя бы Форточки.
Comments 60
Reply
Reply
Reply
Reply
Так что мужик-то типа токует - сахар был слаще, вода мокрее.
Reply
Reply
Да, на современных виртуальных машинах Java это так. При том, даже не компиляция мгновенная, а динамическая рекомпиляция используется. :-)
Reply
Но тут Кей прямо заявляет, что рефлексия в Smalltalk тоже не сахар по сравнению с тем, что может быть обеспечена виртуальной машиной. Для примера того, о чем я говорю, можно поглядеть работу (выполняемую под его руководством): http://www.vpri.org/pdf/prototypes1.pdf (это, правда, больше про контексты, а не аспекты, тем не менее) и другие работы со странички http://www.vpri.org/html/words_links/
Reply
6. "Уравнения максвелла." ТОЛЯ! Сделать компактный базис - дураку гордиться! Ну одна константа и одна функция дают полный базис для дискретного мира ВООБЩЕ. Ну и хрен ли толку с этого? Это дрочилово для математиков - сесть у доски, и восхищаться изяществом. "Двое тащили чёрного козла и восхищались его фотогеничностью."
Чтобы что-то говорить об инструменте нужно сформулировать задачу. Без задачи ВООБЩЕ говорить об инструментах - нонсенс. А появление конкретной задачи ВСЕГДА вносит в идеальный мир математика искажения, которые приводят к тому, что инструмент обретает плоть, но перестаёт быть СТОЛЬ изящным. Только потому лисп и сдох, что повесить на стену и восхищаться им можно, "а шабашить лучше в телогрейке".
Я же говорю банальности, нет?
Reply
Ты говоришь очень близко к текстам Кея, который так же говорит о профессии программиста -- она начинается с того, что обсуждается задача.
Компактный базис Кея интересует не сам по себе. И, заметь, он не удовлетворяется компактным базисом Лиспа, а пытается до сих пор изобрести и воплотить в жизнь иной компактный базис.
Я бы тебе посоветовал почитать вместе с этим постингом еще другие мои постинги из этой программистской серии (в частности, где я пишу про FONC).
То, о чем пишет Кей очень близко к моему программистскому опыту и ощущениям.
Reply
но потом он себя выдал и уронил:
> Ну и хрен ли толку с этого? Это дрочилово для математиков
Всё со мной нормально, все мои убеждения стали на место.
Никакого противоречия: очередной полуграмотный фанат.
Reply
Reply
Лисп пишется на си/pl1 за два дня с отладкой, а точнее - скачивается и втыкается. Язык - инструмент. С появлением yacc (а это уж лет 30, нет?) сделать язык под задачу - работа трёх дней - отвечаю за базар.
Внятный проектировщик миксит и матчит. В ту же яву втыкается снизу си, сверху скриптинг, а уж инструментария для структуризации систем, позднего и очень позднего связывания (вплоть до, например, загрузки топологии объектов с указанием типов из БД), рефакторинга - жопой ешь.
Конечно, рефакторинг в яве и в лиспе - разные вещи, но это не имеет ничего общего с замшелой задачей переворотить 50 000 строк на pl/1 - сегодня внеязыковой инструментарий несравненно сильнее, и, собственно, язык без него сам по себе уже не котируется.
Reply
И почему ты приводишь в пример все время Лисп? Бери уж Smalltalk -- все эти рефакторинговые практики, паттерны дизайна, и само XP появились из софтовых проектов на этом языке. Который, кстати, изобрел и до сих пор развивает Кей сотоварищи. В сквике рефактор-браузер, например, есть.
Reply
Reply
Reply
Reply
Reply
Reply
Leave a comment