>>JavaScript, CSS...
>>Вы купили новый Core Quadro и не знаете, чем его загрузить?
>
>Меня поражает упертость в области построения интерфейсов. В web все летает на
>динамических языках, обслуживая сотни одновременных коннектов на одной машине, смеются над
>теми, кто начинает _все_ переписывать на Си, а не только критические
>участки.Извините, но вы кажется про web сервер.
Я согласен, что переписывать на Си в большинстве случаев не рационально.
И даже объясню почему (мое видение).
Создание web странички - это, большей частью, генерация и обработка текста.
Писать генератор/обработчик текста на Си - удовольствие ещё то.
Нужно часто и много резервировать память под текстовые переменные неизвестной длинны.
Много времени будет уходить на код, относящийся к этому делу.
Ну и плюс, если частенько изменять код, то постоянно перекомпилировать программу - ещё одна потеря времени на перекомпиляцию.
Если веб проект большой, потери времени растут.
perl в своей время явился неплохой панацеей от этого.
php, python, ruby и прочие - тоже.
Там удобно работать с большим количеством строк текста неизвестной заранее величины.
Хотя, я так понимаю, сейчас главным аргументом является второе (не нужно компилировать программу).
А для работы со строками появилось много инструментов и в компилируемых языках.
Так вот.
Сервер != десктоп.
JS != perl, python, ...
JS загружает не сервер, он загружает десктоп.
И до недавнего времени он тормозил на десктопе.
Потом вышел google chrome, потом подтянулись другие браузеры.
И до сих пор что-то там оптимизмруют.
Но...
Вы когда-нибудь пользовались google mail?
Ну или любым другим проектом, где очень активно используется JS.
Могу сказать, что в google mail задержка есть.
Где-то, чуть менее секунды.
Сразу скажу, что пинг до mail.google.com лично у меня 50-60 мс.
Но до сих пор есть задержка.
Мы к ней инстинктивно привыкаем в вебе, но если попробовать работать с веб приложениями, как с рабочем столом, то она сразу видна.
Грубо говоря, JS - тормоз ещё тот.
И мне бы не хотелось пользоваться программами на этом языке у себя на десктопе.
К слову сказать, я уже знаю, как мне не пользоваться им у себя.
В gentoo это делается легко.
Указать "-javascript", где надо и все)
А остальные будут смотреть на тормоза и думать "что такое? почему мой core quadro тормозит?".
> В области создания пользовательского интерфейса выполняемые задачи очень
>похожи, даже проще, но отношения к динамическим языкам противоположное.
>
>Будущее за динамическими языками, а если вам не сказать, что программа на
>Python или JavaScript, то вы даже этого не заметите.
На своем ноутбуке с gentoo я замечаю.
У меня на десктопе висит график загрузки процессора, и очень часто висит консоль с "top".
А ещё я люблю ставить процессор в режим экономии энергии (по 800 Мгц на ядро).
Именно из-за этого я поразился тому, как много программ в gnome сейчас написаны на python.
И, да, тормозит даже построение и сортировка дерева зависимостей.
Хотя могу предположить, что там сначала скрипт открывает кучу мелких файлов портежей и читает информацию о зависимостях.
И только потом строит дерево зависимостей.
P.S.
Если кому интересно, сначала unix был написан на ассемблере.
Потом его переписали на Си.
Потеря производительности составила 15%.