Re[48]: почему в вебе распространены именно динамические язы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.10.10 09:14
Оценка:
Здравствуйте, Mamut, Вы писали:

AVK>>Воплей здесь не было. И таки да, динамика тормозит. Не ерланг, или питон там, а именно динамика. И если конкретный кусок кода на конкретном языке удается превратить в статический и рантайм это умеет, то потенциальных проблем на этом куске получить производительность компилятора нет. Только это уже не будет динамикой.


M>А это уже не суть важно.


Именно это и важно.

AVK>>Языки — могут, динамика — нет.


M>С точки зрения пользователя (программиста) — фиолетово.


Не совсем.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[35]: Про Ur
От: Mamut Швеция http://dmitriid.com
Дата: 20.10.10 12:09
Оценка:
AVK>>Получение html/sql/xml/etc путем конкатенации строки, это, хм..., не очень хорошая практика, скажем так. Соответственно пример на редкость негодный.
WH>Да нет там никакой текстовой конкатенации.
WH>Там хитрый код который на этапе компиляции смотрит какой тип у данных и соответствующим образом трансформирует их в XML.
WH>Собственно XML оставляет без изменений все остальное конвертирует в строку и эскейпит.

Учитывая, что на этапе компиляции неизвестно, что же у нас будет в базе данных во время работы программы, в чем профит? Оставить XML без изменений, а остальное конвертнуть в строку и ескейпнуть я и в динамике смогу.

WH>Тк все делает робот нет никаких шансов ошибиться.


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

Если я не ошибаюсь, «магическая» реализация заключается тут (привожу только кусок):
        case e of
            EApp (
            (EApp (
             (EApp (
              (EApp (
               (ECApp (
                (ECApp (
                 (ECApp (
                  (ECApp (
                   (ECApp (
                    (ECApp (
                     (ECApp (
                      (ECApp (
                       (EFfi ("Basis", "tag"),
                        loc), given), _), absent), _), outer), _), inner), _),
                   useOuter), _), useInner), _), bindOuter), _), bindInner), _),
               class), _),
              attrs), _),
             tag), _),
            xml) =>
            (case attrs of
                 (ERecord xets, _) =>
                 let
                     val (xets, s) =
                         ListUtil.foldlMap (fn ((x, e, t), s) =>
                                               let
                                                   fun tagIt' (ek, newAttr) =
                                                       let
                                                           val (e', s) = tagIt (e, ek, newAttr, s)
                                                           val t = (CFfi ("Basis", "string"), loc)
                                                       in
                                                           (((CName newAttr, loc), e', t), s)
                                                       end
                                               in
                                                   case x of
                                                       (CName "Link", _) => tagIt' (Link, "Link")
                                                     | (CName "Action", _) => tagIt' (Action ReadWrite, "Action")
                                                     | _ => ((x, e, t), s)
                                               end)
                                           s xets
                 in
                     (EApp (
                      (EApp (
                       (EApp (
                        (EApp (
                         (ECApp (
                          (ECApp (
                           (ECApp (
                            (ECApp (
                             (ECApp (
                              (ECApp (
                               (ECApp (
                                (ECApp (
                                 (EFfi ("Basis", "tag"),
                                  loc), given), loc), absent), loc), outer), loc), inner), loc),
                             useOuter), loc), useInner), loc), bindOuter), loc), bindInner), loc),
                         class), loc),
                        (ERecord xets, loc)), loc),
                       tag), loc),
                      xml), s)
                 end
               | _ => (e, s))

          | EFfiApp ("Basis", "url", [(ERel 0, _)]) => (e, s)


Ну, таким образом можно гарантировать валидность XML'я и в javascript'е с PHP


dmitriid.comGitHubLinkedIn
Re[49]: почему в вебе распространены именно динамические язы
От: Mamut Швеция http://dmitriid.com
Дата: 20.10.10 12:12
Оценка:
AVK>>>Воплей здесь не было. И таки да, динамика тормозит. Не ерланг, или питон там, а именно динамика. И если конкретный кусок кода на конкретном языке удается превратить в статический и рантайм это умеет, то потенциальных проблем на этом куске получить производительность компилятора нет. Только это уже не будет динамикой.

M>>А это уже не суть важно.


AVK>Именно это и важно.



Но пользоваться динамическими языками ты мне не запрещаешь, надеюсь?

AVK>>>Языки — могут, динамика — нет.


M>>С точки зрения пользователя (программиста) — фиолетово.


AVK>Не совсем.


Это наверное как-то связано со скоростью?


dmitriid.comGitHubLinkedIn
Re[21]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 20.10.10 12:49
Оценка:
Здравствуйте, WolfHound, Вы писали:

FR>>Я ту же эволюцию проделал, тем кто не прошел бесполезно объяснять, любимый парадокс Влада в действии.

WH>Может тогда ты объяснишь в чем профит динамики?

Нет, единственно могу посоветовать попробовать на ней немного пописать.
Re[21]: почему в вебе распространены именно динамические язы
От: Воронков Василий Россия  
Дата: 20.10.10 12:54
Оценка: +2
Здравствуйте, WolfHound, Вы писали:

FR>>Я ту же эволюцию проделал, тем кто не прошел бесполезно объяснять, любимый парадокс Влада в действии.

WH>Может тогда ты объяснишь в чем профит динамики?

Заметь, какая забавная ситуация получается. Вот к вам время от времени заглядывают люди с вопросами вроде "объясните, в чем профит Немерле". Казалось бы кто, как ни вы, должен этот самый "профит" разложить по полочкам. Однако что-то я не припомню, чтобы подобные темы часто заканчивались "обращением" в ваш стан. Как правило — превращаются просто во флейм, а то и в срач.
Что мы наблюдаем и здесь, собственно.
Re[50]: почему в вебе распространены именно динамические язы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.10.10 13:29
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Но пользоваться динамическими языками ты мне не запрещаешь, надеюсь?


Ты опять воюешь с мельницами. Я тебе и не пытался запретить.

AVK>>>>Языки — могут, динамика — нет.


M>>>С точки зрения пользователя (программиста) — фиолетово.


AVK>>Не совсем.


M>Это наверное как-то связано со скоростью?


Это связано с тем, что обсуждают здесь не конкретные языки, а собственно динамику. Какой смысл в этом контексте рассматривать JIT или рантайм, если в обоих случаях никакой динамики нету? Не нравится тебе, когда не так говорят про ерланг (хотя ты сам его в топик засунул) — возьми б-гомерзкий C# 4. Суть от этого не изменится.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[22]: почему в вебе распространены именно динамические язы
От: WolfHound  
Дата: 20.10.10 14:03
Оценка: :)
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Заметь, какая забавная ситуация получается. Вот к вам время от времени заглядывают люди с вопросами вроде "объясните, в чем профит Немерле". Казалось бы кто, как ни вы, должен этот самый "профит" разложить по полочкам. Однако что-то я не припомню, чтобы подобные темы часто заканчивались "обращением" в ваш стан. Как правило — превращаются просто во флейм, а то и в срач.

Те кто способен слушать "обращаются" в наш стан.
Но для того чтобы слушать должно быть что слушать. И оно у нас есть.

ВВ>Что мы наблюдаем и здесь, собственно.

Нет. Здесь мы наблюдаем полное отсутствие технических аргументов в пользу динамической типизации.
Есть только вопли о том что преимущества статики никому нахрен не нужны.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: почему в вебе распространены именно динамические язы
От: WolfHound  
Дата: 20.10.10 14:03
Оценка:
Здравствуйте, FR, Вы писали:

FR>Нет, единственно могу посоветовать попробовать на ней немного пописать.

Я с нее начинал.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[42]: почему в вебе распространены именно динамические язы
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 20.10.10 14:11
Оценка: :))
Здравствуйте, Mamut, Вы писали:

M>>>А на немерле уже есть веб-сервер, который по производительности приближается или равен nginx'у?


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


M>Я так и знал, что этот аргумент возникнет


M>У РНР рантайм написан на С, но РНР, как известно, достаточно медленный язык. Гуано

M>У Ruby рантайм написан на С (емнип), но Ruby, как известно, достаточно медленный язык. Гуано
M>У Python'а рантайм написан на С (емнип), но Python для местных гуру достаточно медленный язык. Гуано
M>У JavaScript'а рантайм написан на С/C++, но Javascript для местных гуру достаточно медленный язык. Гуано
M>У _любимы_скриптовый_язык_ рантайм написан на скорее_всего_с_или_другой_язык_со_статической_типизацией, но динамика по определению тормозит, ага. Гуано.

M>И только у Erlang'а рантайм написан на С (статически типизированый язык), поэтому его скорость — это заслуга рантайма.


Ну, чисто статистически, когда-нибудь, у кого-то, должен же был получиться хороший рантайм на С?

P.S: Афигеть, что противостояние систем типизации делает. Сторонник C# защищает Nemerle от нападок сторонника Python, размахивающего здесь Erlang'ом Мне даже попкорн в рот не лезет
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[43]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 20.10.10 14:18
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>P.S: Афигеть, что противостояние систем типизации делает. Сторонник C# защищает Nemerle от нападок сторонника Python, размахивающего здесь Erlang'ом Мне даже попкорн в рот не лезет


Блин вот мне придется наверно разорваться я тут пишу на питон + ocaml.
Re[23]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 20.10.10 14:21
Оценка:
Здравствуйте, WolfHound, Вы писали:

FR>>Нет, единственно могу посоветовать попробовать на ней немного пописать.

WH>Я с нее начинал.

VB?
Re[43]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 20.10.10 14:24
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Ну, чисто статистически, когда-нибудь, у кого-то, должен же был получиться хороший рантайм на С?


Ну тут эрланг не один такой, лиспы, J и все APL'образная компания, OCaml ( интерпретатор ) lua, ему и фору могут кое-где дать.
Re[51]: почему в вебе распространены именно динамические язы
От: FR  
Дата: 20.10.10 14:27
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Это связано с тем, что обсуждают здесь не конкретные языки, а собственно динамику. Какой смысл в этом контексте рассматривать JIT или рантайм, если в обоих случаях никакой динамики нету? Не нравится тебе, когда не так говорят про ерланг (хотя ты сам его в топик засунул) — возьми б-гомерзкий C# 4. Суть от этого не изменится.


Можно взять интерпретируемые статические языки (OCaml байткод, раннюю яву, да и даже у моно если не путаю есть режим интерпретации)
и посмотреть виновата ли только динамика.
Re[44]: почему в вебе распространены именно динамические язы
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 20.10.10 14:31
Оценка: :)
Здравствуйте, FR, Вы писали:

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


KV>>P.S: Афигеть, что противостояние систем типизации делает. Сторонник C# защищает Nemerle от нападок сторонника Python, размахивающего здесь Erlang'ом Мне даже попкорн в рот не лезет


FR>Блин вот мне придется наверно разорваться я тут пишу на питон + ocaml.


А я — на python + nemerle
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[43]: почему в вебе распространены именно динамические язы
От: Mamut Швеция http://dmitriid.com
Дата: 20.10.10 14:49
Оценка:
AVK>>>Вот только заслуга в этом не динамики, а хорошо реализованного рантайма. Написанного, замечу, совсем не на динамическом языке.

M>>Я так и знал, что этот аргумент возникнет


M>>У РНР рантайм написан на С, но РНР, как известно, достаточно медленный язык. Гуано

M>>У Ruby рантайм написан на С (емнип), но Ruby, как известно, достаточно медленный язык. Гуано
M>>У Python'а рантайм написан на С (емнип), но Python для местных гуру достаточно медленный язык. Гуано
M>>У JavaScript'а рантайм написан на С/C++, но Javascript для местных гуру достаточно медленный язык. Гуано
M>>У _любимы_скриптовый_язык_ рантайм написан на скорее_всего_с_или_другой_язык_со_статической_типизацией, но динамика по определению тормозит, ага. Гуано.

M>>И только у Erlang'а рантайм написан на С (статически типизированый язык), поэтому его скорость — это заслуга рантайма.


KV>Ну, чисто статистически, когда-нибудь, у кого-то, должен же был получиться хороший рантайм на С?


А то

KV>P.S: Афигеть, что противостояние систем типизации делает. Сторонник C# защищает Nemerle от нападок сторонника Python, размахивающего здесь Erlang'ом Мне даже попкорн в рот не лезет




Да ладно Я сам последнее время 50/50 на обоих системах пишу. Тяжела и неказиста жизнь простого программиста


dmitriid.comGitHubLinkedIn
Re[51]: почему в вебе распространены именно динамические язы
От: Mamut Швеция http://dmitriid.com
Дата: 20.10.10 15:01
Оценка: :)
M>>>>С точки зрения пользователя (программиста) — фиолетово.
AVK>>>Не совсем.
M>>Это наверное как-то связано со скоростью?

AVK>Это связано с тем, что обсуждают здесь не конкретные языки, а собственно динамику. Какой смысл в этом контексте рассматривать JIT или рантайм, если в обоих случаях никакой динамики нету?


AVK>Не нравится тебе, когда не так говорят про ерланг (хотя ты сам его в топик засунул)


Мне не нравится, когда размахивают лозунгами «тормозит», «скорость не та» абсолютно без привязки к чему-либо. Так, сферовакуумные тормоза сферовакуумной скорости.

Когда показываешь, что нет, не тормозит, начинаются рассуждения о рантайме

Понятно, конечно, что компилятор/интерпретатор будет стараться выводить типы — это никто и не оспаривал Но ВНЕЗАПНО оказалось, что вывод этих типов и всякий там JIT доступен не только для статически-типизированых языков И что скорость у них может быть не ниже

Как там Wolfhound сказал, «статическая типизация — оптимизация и для человека и для компилятора». ВНЕЗАПНО оказалось, что не всегда это нужно, так как компилятор (как случае с Erlang'ом) и сам справится Про оптимизацию для человека тоже можно поспорить(ПМ рулит, ага ).


dmitriid.comGitHubLinkedIn
Re[52]: почему в вебе распространены именно динамические язы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 20.10.10 15:47
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Понятно, конечно, что компилятор/интерпретатор будет стараться выводить типы — это никто и не оспаривал Но ВНЕЗАПНО оказалось, что вывод этих типов и всякий там JIT доступен не только для статически-типизированых языков \


Опять языков? Извини, но ты зря обвиняешь других в размахивании флагом — ты сам это делаешь здесь куда больше остальных.

M> И что скорость у них может быть не ниже


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

M>Как там Wolfhound сказал, «статическая типизация — оптимизация и для человека и для компилятора».


Обрати внимание — типизация. Еще раз — не язык, а типизация.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476 on Windows 7 6.1.7600.0>>
AVK Blog
Re[23]: почему в вебе распространены именно динамические язы
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.10.10 19:23
Оценка:
Здравствуйте, WolfHound, Вы писали:

ВВ>>Что мы наблюдаем и здесь, собственно.

WH>Нет. Здесь мы наблюдаем полное отсутствие технических аргументов в пользу динамической типизации.
WH>Есть только вопли о том что преимущества статики никому нахрен не нужны.

О! Гениальная иллюстрация того тезиса, что если держать в руках молоток, то всё вокруг кажется гвоздями.
Сначала мы тихой сапой вводим тезис, что аргументы должны быть технические (что бы это ни значило). Затем из всех технических аргументов выбираем сферовакуумную ((с) Mamut) скорость и удобство управления наиболее простыми и декларируемыми в коде свойствами. И вуаля — с помощью такого двойного тулупа создан чёткий образ.

WH>Те кто способен слушать "обращаются" в наш стан.


Я так и знал, что это религия.

WH>Но для того чтобы слушать должно быть что слушать. И оно у нас есть.


У последователей Распятого оно тоже есть, и что немаловажно — у обратившихся даже в основном работает.
The God is real, unless declared integer.
Re[24]: почему в вебе распространены именно динамические язы
От: WolfHound  
Дата: 20.10.10 19:32
Оценка:
Здравствуйте, netch80, Вы писали:

WH>>Те кто способен слушать "обращаются" в наш стан.

N>Я так и знал, что это религия.
Ну да конечно. Цепляемся к слову которое еще и не я сказал и переводим все в тупой флуд.
Что по существу совсем нечего сказать?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[25]: почему в вебе распространены именно динамические язы
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.10.10 19:33
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


WH>>>Те кто способен слушать "обращаются" в наш стан.

N>>Я так и знал, что это религия.
WH>Ну да конечно. Цепляемся к слову которое еще и не я сказал и переводим все в тупой флуд.

Уж кто бы говорил про тупой флуд...

WH>Что по существу совсем нечего сказать?


По существу я достаточно сказал рядом.
The God is real, unless declared integer.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.