Re[15]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 11:37
Оценка:
Здравствуйте, FR, Вы писали:

FR>Там и си версия есть (Python re module) она шустрее явы.


Не надо нести пургу. Ты хотя бы почитал то на что даешь ссылку:

The lesson from these posts is not that you can or should write a practical and general regular expression module in this way – indeed, enhancing the algorithm to support more features of the re module would be a lot of work and it is also unclear what the speed results for more realistic regular expressions would be. However, it makes for a great case study of the JIT generator.


В прочем, убедил. Отныне мы будем считать, что Питон самый быстрый язык на свете (просто потому, что ты так хочешь). За ним идет Ява. Далее С++. А самый медленный язык это, конечно же, С.

Доволен? Такой маразм тебя устраивает.

ЗЫ

Кончай нести пургу. Тебя читают не только те кто уже сам понимает что к чему в компьютерном мире, но и новички.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 11:40
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Пожалй пояснию. Не уловил связи межу скоростью интерпретаторов и скоросью статических языков с джит-компиляцией (к которым относится RPython (сильно ограниченная реализация Python без динамизма времени исполнения и некоторых других возможностей (с) Википедия)). К тому же RPython-овский код был напичкан жуткими хинтами для джита.


FR>Так питон почти однозначно транслируется в RPython.


Ты читать то умеешь? Я же приводил тебе ссылку на Википедию.
Или тебе нужно основные мысли написанного выделить? ОК, пожалуйста:

RPython ... сильно ограниченная реализация Python без динамизма времени исполнения и некоторых других возможностей.


Какой это на хрен Питон? Тогда С — это тоже питон, но с указателями и скобочками вместо отступов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 14.10.10 11:42
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, FR, Вы писали:


FR>>Угу при этом слово рефакторинг придумали Smalltalk разработчики.

WH>Только их "рефакторинг" тупо переименовывал все вхождения имени в программе.
WH>Сравни с решарпером который может переименовать один из перегруженных методов.

Это было тогда сейчас в Smalltalk автоматический рефакторинг.

FR>>Кстати рефакторинг в питоне все-таки появился, года три назад он практически отсутствовал, я недавно смотрел питоные IDE

WH>Могут ли они надежно переименовать метод класса при условии что есть другой класс с таким же методом?
WH>Или они одно имя меняют на другое по всей программе?

Используется статическое AST http://rope.sourceforge.net/overview.html#static-object-inference
плюс динамически построенный http://rope.sourceforge.net/overview.html#dynamic-object-analysis

Другой подход по сути вывод типов
http://pystructure.ifs.hsr.ch/trac/
http://pystructure.ifs.hsr.ch/doc/thesis.pdf

FR>>хоть он и не идеален, но по моему уже лучше чем в C++.

WH>Нашол блин с чем сравнивать.
WH>Сравни с явой или шарпом.

Так раньше и такого не было, прогресс весьма существенный.
Re[15]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 11:46
Оценка:
Здравствуйте, FR, Вы писали:

FR>Там и си версия есть (Python re module) она шустрее явы.


С-версия там действительно есть. Только это "re module" — это не она. "re module" — это использование универсальной библиотеки. А вот реализация того же алгоритма полученная трансляцией RPython в С дала 720 килобайт в секунду, что почти в три раза медленнее аналогичной реализации на Яве (1 920 КБ/сек.).

Так что опять лож.

Скажи, тебе просто нравится врать и троллить? Зачем ты этим занимаешься?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 14.10.10 11:49
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Да ну? Где ж там Питон то?


Ну будет

VD>Нельзя же так нагло и беспардонно лгать в глаза?!


Нужно иначе не дадут денег.

VD>Код там написан на RPython. Вот что про него пишут в Википедии:

VD>

VD>RPython[70] — созданная в рамках проекта PyPy сильно ограниченная реализация Python без динамизма времени исполнения и некоторых других возможностей. RPython код можно компилировать во множество других языков/платформ — C, JavaScript, Lisp,

VD>Так что никакими скриптами тут и не пахнет. Мы имеем дело с языком который мало чем отличается от С. Разве что ли более ограниченный, так как с указателями не позволяет работать.

VD>Потом там идет какая-то трехэтажная химия с джитом. Так что назвать это JIT-компиляцией скрипта никак нельзя. Там имеет место JIT-компиляция языка регулярных выражений. А скорость работы самого Питона там берется за пяденицу. И она на порядки медленнее чем любая другая реализация.


Зато хорошо показали светлое будущее
Re[17]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 11:51
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Нельзя же так нагло и беспардонно лгать в глаза?!


FR>Нужно иначе не дадут денег.


Надо завести значок "Троллю!".

FR>Зато хорошо показали светлое будущее


Это конечно офигительный корм для тролей. Но вот показать этот материал ничего не может. Точнее он как раз показывает то что есть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: почему в вебе распространены именно динамические язы
От: WolfHound  
Дата: 14.10.10 12:03
Оценка:
Здравствуйте, FR, Вы писали:

FR>Это было тогда сейчас в Smalltalk автоматический рефакторинг.

Что ты под автоматическим рефакторингом подразумеваешь?
Может ли он вот это:

WH>>Могут ли они надежно переименовать метод класса при условии что есть другой класс с таким же методом?

FR>Используется статическое AST http://rope.sourceforge.net/overview.html#static-object-inference
FR>плюс динамически построенный http://rope.sourceforge.net/overview.html#dynamic-object-analysis
Просто шикарно

PyCore.run_module() runs a module and collects object information if perform_doa project config is set. Since as the program runs rope gathers type information, the program runs much slower. After the program is run, you can get better code assists and some of the refactorings perform much better.

А если выполнение не зашло в нужный нам уголок кода?

FR>http://pystructure.ifs.hsr.ch/doc/thesis.pdf

Это я еще почитаю но в чудеса я не верю.

FR>Так раньше и такого не было, прогресс весьма существенный.

Короче все ясно.
Глюкодром.
Рефактори что попало и где угодно.
Вместо того что надо.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[16]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 14.10.10 12:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, найди ссылку, тогда обсудим. А пока оставим эти инсинуации.


Лень искать, но флейм был пока longhorn пости полностью не урезали.

FR>>Понятно компиляторы лиспа и схемы мне приснились.


VD>Ты опять перевираешь чужие слова. Миф — это скорость получаемого кода. Я видел этот код (машинный). Он далек о того что может сделать даже дотнет с Явой. О сравнении его с хорошими оптимизирующими компиляторами С даже речи идти не может.


Конечно, ты споришь с самими собой. Я утверждал только что такие компиляторы есть и они существенно быстрее соответствующих интерпретаторов.

VD>К тому же пересометрия в этой области обычно проводится на примитивных примерах где в основном присутствует простенькая целочисленная арифметика. А вот когда дело доходит до компиляции реальных лисповских приложений, то как и в случае со Смотоком, все становится куда печальнее. Динамика есть динамика. Она всегда накладывает свой след. Получать быстрый код в общем случае не представляется возможным. Можно говорить только о его ускорении по сравнению с интерпретацией.


Со схемой не так печально, хотя тоже конечно медленнее статики.

VD>Так что кончай повторять эту ересь в сотый раз. Право, надоело.


Никакой ереси ты просто не читаешь что я пишу и споришь с виртуальным собеседником.
И вообще я в последнее время стал мирным малоспорящим и скромным человеком
Re[17]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 14.10.10 12:06
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>Так питон почти однозначно транслируется в RPython.


VD>Ты читать то умеешь? Я же приводил тебе ссылку на Википедию.

VD>Или тебе нужно основные мысли написанного выделить? ОК, пожалуйста:
VD>

VD>RPython ... сильно ограниченная реализация Python без динамизма времени исполнения и некоторых других возможностей.


VD>Какой это на хрен Питон? Тогда С — это тоже питон, но с указателями и скобочками вместо отступов.


А ассемблер в который транслируется в конечном счете все это шарп но без классов.
Какая разница во что транслируется питон.
Re[18]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 14.10.10 12:08
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Надо завести значок "Троллю!".


Обязательно. Только выдавать его голосованием, не исключая модераторов.
Re[16]: почему в вебе распространены именно динамические язы
От: Воронков Василий Россия  
Дата: 14.10.10 13:37
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так что как не крути это еще одна попытка выдать сказки за чудесную действительность.

VD>Я уже устал повторять. Чудес не бывает. Скрипты дико медленны и могу использоваться только как клей для компонентов созданных на более быстрых средствах разрабоки. Компиляция скриптов конечно может несколько их ускорить, но в общем случае это ускорение не будет очень значительным в следствии динамической природы самих язков.

Ты хочешь сказать, что если динамический язык компилируется, а не интерпретируется, то это не дает значительного ускорения?
Re[20]: почему в вебе распространены именно динамические язы
От: Mamut Швеция http://dmitriid.com
Дата: 14.10.10 13:41
Оценка:
M>>В начале двухтысячных Ericsson опросил своих клиентов, стоит ли вводить в Erlang статическую типизацию. Клиенты дружно послали их туда, где солнце не светит. Вот такая вот ошибка природы, ага.
WH>Демагогия. Аппеляция к общественному мнению.
WH>По существу есть что сказать?

1. Не демагогия, а факт
2. Куда еще более по сушеству? Людям, которые разрабатывают системы для телекома, важнее динамика, а не мифические бенефиты от статики.


dmitriid.comGitHubLinkedIn
Re[17]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 13:44
Оценка:
Здравствуйте, FR, Вы писали:

FR>Никакой ереси ты просто не читаешь что я пишу и споришь с виртуальным собеседником.


А кто же это все пишет то?

FR>И вообще я в последнее время стал мирным малоспорящим и скромным человеком


Ага. Такой тихий, мирный троленок .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 13:46
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Какая разница во что транслируется питон.


Никакой. Пока в коде будет метапрограммирование на базе метатипов и тотальная динамика, во что его не транслируй, все равно будет тормозить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 13:47
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Обязательно. Только выдавать его голосованием, не исключая модераторов.


Зачем? Достаточно чтобы тот кто хочет потраолить мог его указать. Чтобы окружающие не дергались.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 13:58
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Ты хочешь сказать, что если динамический язык компилируется, а не интерпретируется, то это не дает значительного ускорения?


Да. С оговоркой, что "значительное" можно интерпретировать по разному. Ускорение конечно будет. Но достичь сравнимых результатов с теми что можно достичь при компиляции не динамических (статически типизируется) языков невозможно.

И кому как не тебе об этом знать. Ты же представляешь как в динамических языках представляются переменные?

На самом деле единственный путь который может привести к тому что динамический язык будет компилироваться в код быстродействие которого будет примерно такое же как у шарпа и явы — это замена динамики на вывод типов.

Код с выводом типов очень похож на скрипты, так как не содержит аннотаций. Но по сути это уже не будет динамический код. Так что не во всех случаях можно это сделать. Везде где будут операции вроде возни с метаклассами компиляция не приведет к существенному ускорению кода.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: почему в вебе распространены именно динамические язы
От: Воронков Василий Россия  
Дата: 14.10.10 13:59
Оценка: +2
Здравствуйте, WolfHound, Вы писали:

ВВ>>Хитер. Ну ты покажи код, в котором используемые по ссылке типы объявляются, я посчитаю. А так-то что считать.

WH>Оверхед в коде.
WH>Его НЕТ.

А объявления классов, вариантов и проч. это уже не код? Удобно.

ВВ>>Я так понимаю, ты представляешь тут другое направление в споре динамика вс. статика. Т.е. пытаешься динамику выводом типов лечить.

WH>Я не пытаюсь лечить динамику.
WH>Эту ошибку природы личить не имеет смысла.

Понятно. Только начали беседовать — уже религиозные лозунги.
У меня уже начинает складываться впечатление, что у всех немерлистов есть строгая и неоспоримая позиция по всем, так сказать, вопросам жизни и смерти. А несогласие с этой позицией воспринимается чуть ли не как личное оскорбление. Надеюсь, это не заразно.

Кстати, пользуясь случаем, хотел бы спросить: что лучше — Кока-Кола или Пепси-Кола? А то я все как-то не решу

ВВ>>Так вот — лечить динамику выводом типов не надо. Динамика — это не болезнь . И вывод типов по большому счету ей ортогонален. Динамика — это прежде всего возможности самой системы типов, которая, благодаря позднему связыванию, обладает просто чудовищной гибкостью, на статически-типизированном языке недостижимой.

WH>Бред!
WH>Макры + вывод типов зарулят всю твою динамику в минуса.

И правда бред.
Я тебе говорю, что вывод типов есть штука по большому счету ортогональная динамической типизации. Ты мне в ответ про макросы. Причем тут макросы? Макросы прекрасно себя чувствует как в динамике, так и в статике.

А зарулить динамику невозможно в принципе. Динамика позволяет программисту делать любые допущения о типах на этапе создания программы. *Любые*.

ВВ>>Естественно, ничто не бывает бесплатным, и за гибкость приходится платить.

WH>Ага... платить дохрена (тормоза и баги) а выгоды по сравнению с правильными статически типизированными языками никакой.

Как объяснишь феномен людей, которые с удовольствием пишут на динамических и статических языках? При этом в числе последних могут быть и весьма мощные языки. FR, если я не путаю, пишет на Питоне и OCaml.
Впрочем, что я спрашиваю "как объяснишь". Наверняка в ответ будет что-нибудь нецензурное.

WH>А если вспомнить про рефакторинг... я вообще не представляю как рефакторить без статической типизации.

WH>Автоматический рефакторинг для динамики сделать нельзя. Вообще никак. В лучшем случае получится что-то типа текстовой замены когда одно имя заменяется сразу во всей программе.
WH>А перегрузка? А методы в разных классах?...
WH>Ручной рефакторинг тоже проблема.
WH>Что-то поменял и что дальше?
WH>Статически типизируемый язык покажет кучу мест где нужно поправить.
WH>А что делать с динамически типизируемым?

Ты либо в дурку играешь, либо я не знаю. С одной стороны сам же утверждаешь, что вывод типов позволяет писать практически такой же лаконичный код, как в динамике, с другой — рекламируешь крутые возможности рефакторинга для языков с выводом типов, а вот для динамики — ни-ни. Тебе самому не странно, нет?
В динамических языках для рефакторига и используется механизм, по принципу своей работы очень близкий к этому вашему выводу типов. Я бы сказал, что и сложность разработки рефактора для какого-нибудь Немерле, если у тебя нет доступа к исходникам компилятора, и для Питона в общем сравнительна.
Re[18]: почему в вебе распространены именно динамические язы
От: Воронков Василий Россия  
Дата: 14.10.10 14:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>Ты хочешь сказать, что если динамический язык компилируется, а не интерпретируется, то это не дает значительного ускорения?


VD>Да. С оговоркой, что "значительное" можно интерпретировать по разному. Ускорение конечно будет. Но достичь сравнимых результатов с теми что можно достичь при компиляции не динамических (статически типизируется) языков невозможно.


Я думаю, что ускорение при компиляции все же будет значительное. Ну положим, интерпретируемый динамический язык на 2 порядка медленнее компилируемого. Компилируемый динамический будет на порядок медленнее. Да и то ИМХО в худшем случае. Опять же это можно проверить. В качестве компилируемого динамического языка взять выбенет+страшные опшины или шарп+динамик и сравнить с JScript/VBScript. Я думаю, они некисло от них улетят.

А скорость "как у Си" не особо-то и требуется на самом деле. Типичные бизнес-приложения, много работы с БД, веб-сервисы, прочая хрень — на этом фоне, во-первых, практически весь код таких приложений идет под графом "клей", а во-вторых, и скорость особо и не требуется.

VD>И кому как не тебе об этом знать. Ты же представляешь как в динамических языках представляются переменные?


Ты что имеешь в виду под представлением переменных? Если динамический люкап, то это совсем не обязательное требование для языка с динамической типизацией и, собственно, никакого отношения к ней не имеет.
Кстати, как раз динамический люкап мне не очень нравится самому.

VD>На самом деле единственный путь который может привести к тому что динамический язык будет компилироваться в код быстродействие которого будет примерно такое же как у шарпа и явы — это замена динамики на вывод типов.


А зачем нужно это быстродействие в динамике?
Re[19]: почему в вебе распространены именно динамические язы
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.10.10 14:27
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Я думаю, что ускорение при компиляции все же будет значительное. Ну положим, интерпретируемый динамический язык на 2 порядка медленнее компилируемого. Компилируемый динамический будет на порядок медленнее. Да и то ИМХО в худшем случае.


Это высасывание цифр из пальца. В среднем разница между хорошим скриптом и средненьким компилятором — 10-30 раз, т.е. ~ 1 порядок. Компиляция дает (опять же в среднем) двух-, трех-кратное ускорение. Но на отдельных (обычно вырожденных) задачах можно достичь и более серьезного ускорения.

ВВ>Опять же это можно проверить. В качестве компилируемого динамического языка взять выбенет+страшные опшины или шарп+динамик и сравнить с JScript/VBScript. Я думаю, они некисло от них улетят.


А зачем брать "шарп+динамик"?
Потом, я тебе и так скажу, что там будет где-то ~ 20-и кратного отставания от компилированного варианта.

ВВ>А скорость "как у Си" не особо-то и требуется на самом деле.


Гы-гы. А нафиг тогда этот С (и особенно С++) сдался бы?

ВВ>Типичные бизнес-приложения, много работы с БД, веб-сервисы, прочая хрень — на этом фоне, во-первых, практически весь код таких приложений идет под графом "клей", а во-вторых, и скорость особо и не требуется.


Веб сервисы тоже время занимают. К тому же "типичными бизнес-приложениями" ПО не заканчивается.
В прочем, "Типичные бизнес-приложения" (тм) очень редко пишут на скриптах. Так что тут даже разговаривать не о чем.

VD>>И кому как не тебе об этом знать. Ты же представляешь как в динамических языках представляются переменные?


ВВ>Ты что имеешь в виду под представлением переменных? Если динамический люкап, то это совсем не обязательное требование для языка с динамической типизацией и, собственно, никакого отношения к ней не имеет.

ВВ>Кстати, как раз динамический люкап мне не очень нравится самому.

Я имею в виду рантаймное определение типов значений хранимых в переменных.

VD>>На самом деле единственный путь который может привести к тому что динамический язык будет компилироваться в код быстродействие которого будет примерно такое же как у шарпа и явы — это замена динамики на вывод типов.


ВВ>А зачем нужно это быстродействие в динамике?


Поставим вопрос по другому. А зачем она вообще нужна — эта динамика? А вот быстродействие полезно всегда. Я вот не представляю себе парсер написанного динамическом языке. Те же реализации Лиспа все же обычно пользуются парсерами написанными на низкоуровневых языках или специальных расширениях лиспа позволяющих указывать типы и получать тем самым приемлемый по производительности код. Или взять к примеру PyPy-шный парсер. Он как раз реализован на RPython-е который по сути статически типизируемый сабсэт питона. Это позволяет добиться приемлемой производительности.

Короче я дже не хочу обсуждать вопрос производительности динамики с ним давно все ясно. Реально высокая производительность достижима только в статике. Но если для ваших задач хватает и того что обеспечивает динамика (пусть даже с дижтом), то пользуйтесь ее. Я вот за что не возьмусь, так производительность почему-то становится одним из актуальнейших факторов.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: почему в вебе распространены именно динамические язык
От: Mamut Швеция http://dmitriid.com
Дата: 14.10.10 14:45
Оценка:
Л>Вообще, потребность в Domain Specific Language для веба достаточно очевидна. Но я б ручонки всем авторам динамических языков поотрывал. Могли бы ограничиться трансляторами со своего языка в сишный или плюсовый код. На самом C++ могли бы с помощью перегрузки операторов сделать DSL. Да и вообще, для веба нужен не столько функциональный язык, сколько HTML-шаблонизатор с возможностью подстановки данных из баз, интеграцией с веб-сервером.

Ггг. Для веба нужны точно такие же языки, как и для любой другой области.


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.