The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлена начальная реализация версии фреймворка node.js для языка C++

18.02.2012 22:51

Дэниель Канг (Daniel Kang) представил первую экспериментальную реализацию фреймворка node.js для языка C++, позволяющую создавать высокопроизводительные приложения в стиле оригинального node.js, но ориентированный на выполнение скомпилированного кода на языке С++, без использования JavaScript.

Node.native представляет собой асинхронный I/O-фреймворк, архитектурно и идейно сходный с фреймворком node.js. Однако, в отличие от последнего он не использует JavaScript-движок V8 и предназначен исключительно для программирования на языке C++11, возможности параллельного программирования которого и вдохновили автора на создание проекта. Как и оригинальная реализация, node.native перекладывает работу по обслуживанию запросов ввода-вывода на отдельные потоки, благодаря чему удается достичь высокого уровня производительности приложений.

В данный момент проект находится в начальной стадии разработки и пока не может предоставить разработчикам всех возможностей node.js, но опережает его в производительности в синтетических тестах на 80%. Если верить словам автора, он продолжит активно работать над реализацией и совсем скоро выпустит полноценную версию фреймворка, сходную по функциональности с node.js.

Простейший пример веб-сервера на node.native выглядит следующим образом:



   #include <iostream>
   #include <native/native.h>
   using namespace native::http;

   int main() {
       http server;
       if(!server.listen("0.0.0.0", 8080, [](request& req, response& res) {
           res.set_status(200);
           res.set_header("Content-Type", "text/plain");
           res.end("C++ FTW\\n");
       })) return 1; // Failed to run server.

       std::cout << "Server running at http://0.0.0.0:8080/" << std::endl;
       return native::run();
   }


  1. Главная ссылка к новости (http://www.theregister.co.uk/2...)
  2. OpenNews: Основатель Node.js ушёл с поста лидера проекта
  3. OpenNews: Компания Joyent, развивающая Node.js и SmartOS, получила 85 млн долларов инвестиций
  4. OpenNews: Релиз Nide 0.2, интегрированной среды разработки для Node.js
  5. OpenNews: Релиз серверной JavaScript-платформы node.js 0.6
  6. OpenNews: Рейтинг наиболее активно внедряемых открытых проектов возглавили HBase, Node.js и nginx
Автор новости: Evgeny Zobnin
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33130-nodejs
Ключевые слова: nodejs, cpp, io
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (104) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, XVilka (ok), 00:11, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    хорошая новость.
     
     
  • 2.17, Аноним (-), 03:38, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачетненько. И ведь как компактно, а? :)
     
     
  • 3.24, Ptomaine (?), 07:41, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    да не только в компактности дело то. посмотрел я код сего поделия и надо признать, что достаточно грамматно написано. правда, проект зависит ещё от двух других: libuv и http-parser. но они малы по объёму и легко вписываются в данный проект. более  того, я думаю, что от них, позже, можно будет избавиться, переписав код также на С++11. ну, что добавить? Хорошая тенденция - Viva C++11.
     
     
  • 4.31, Df232z (ok), 10:39, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > да не только в компактности дело то. посмотрел я код сего поделия
    > и надо признать, что достаточно грамматно написано.

    Грамотно. Весь код в *.h файлах. *facepalm*
    > правда, проект зависит ещё
    > от двух других: libuv и http-parser.

    Зависит? Этот "проект" просто биндинги к libuv и все. *doble facepalm*
    >но они малы по объёму

    libuv это, внезапно, движок node.js


     
     
  • 5.42, Пожалуйста (ok), 11:52, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Грамотно. Весь код в *.h файлах. *facepalm*

    В С++ в библиотеках применяющие templates это естественный метод (по-другому будет сильно извращенно). Минус - это то что код библиотеки всегда компилируется. Плюсы: сгенерированный код всегда получается максимально эффективным для предоставленного типа через шаблоны.
    Среди библиотек (что вспомнил) которые от 90% до 100% в *.h файлах: STL, boost, OTL, agg

     
     
  • 6.43, mine (ok), 11:56, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > по-другому будет сильно извращенно

    По другому нельзя. Код шаблона должен быть виден компилятору в момент использования. Иначе он не сможет сгенерировать для него код.

     
     
  • 7.45, Пожалуйста (ok), 12:12, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> по-другому будет сильно извращенно
    > По другому нельзя. Код шаблона должен быть виден компилятору в момент использования.
    > Иначе он не сможет сгенерировать для него код.

    Если компилятор не поддерживает extern templates (а таких большинство), то вот пример:

    template<typename T> class MyClass {
         class MyClassImplementation *impl; //заметьте не шаблонный класс
      public:
         MyClass() : impl(new MyClassImplementation(sizeof(T))) {}
       // ну и т.д.
    }

    Одни задачи достаточно комфортно разрываются на реализацию и шаблонный-интерфейс, для других проще (но не-невозможно) оставить все в *.h-файле

      

     
  • 6.79, Ptomaine (?), 17:30, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  Минус - это то что код библиотеки всегда компилируется.

    это филосовский и религиозный вопрос. возможно это будет откровением для Вас, но код на JavaScript, тоже компилируется, правда, в байт код.

    пока архитектура современных ПК будет оставаться такой, какая она есть сейчас, идеального решения не будет. а всё остальные, выжившие решения, одинаково "почти" идеальны.

    "все в светлое будущее квантовых технологий!" )))

     
  • 5.78, Ptomaine (?), 17:20, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Грамотно. Весь код в *.h файлах. *facepalm*

    ))) я сказал про сам код. какая разница в какой логической единице он содержиться: cpp или h?

    > Зависит? Этот "проект" просто биндинги к libuv и все. *doble facepalm*

    ))) простите, а биндинги на сторонние проекты, это разве не зависимость от них? )))

    > libuv это, внезапно, движок node.js

    ))) неужели? а мужики то незнают. цитата: "libuv is a new platform layer for Node. Its purpose is to abstract IOCP on Windows and libev on Unix systems. We intend to eventually contain all platform differences in this library."

     
     
  • 6.89, Df232z (ok), 22:43, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > ))) я сказал про сам код. какая разница в какой логической единице
    > он содержиться: cpp или h?

    А какая разница между хорошо структурированным читаемым кодом и кашей?
    > ))) простите, а биндинги на сторонние проекты, это разве не зависимость от
    > них? )))

    Тогда следуя вашей логике:
    >Голова зависит ещё от мозга. Но он малы по объёму и легко вписываются в данный проект. более  того, я думаю, что от него, позже, можно будет избавиться.
    > ))) неужели? а мужики то незнают.

    Чего не знают мужики, английского?

     
     
  • 7.100, Ptomaine (?), 00:58, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не придумывайте того, чего нет где Вы там кашу усмотрели Понимание кода напрям... большой текст свёрнут, показать
     
  • 4.169, Orofarne (?), 14:29, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем избавляться и переписывать? они хорошо написаны и хорошо поддерживаются.
     

  • 1.2, Вереск (?), 00:17, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Я так понимаю, наконец-то начнут клепать сайты на нормальном Си, а не на интерпретируемых языках? Или что-то путаю?
    Drupal на C++...
     
     
  • 2.3, Аноним (-), 00:20, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что общего между событийно-ориентированным вреймворком и CMS?
     
  • 2.9, Аноним (-), 00:49, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Я так понимаю, наконец-то начнут клепать сайты на нормальном Си, а не на интерпретируемых языках? Или что-то путаю?

    Есть мнение, что вы слабо представляете себе, что такое node.js и зачем он нужен.

     
  • 2.28, ProfX (ok), 10:19, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Я так понимаю, наконец-то начнут клепать сайты на нормальном Си, а не на интерпретируемых языках? Или что-то путаю?
    >Drupal на C++...

    По идее сайты, уже давно можно клепать на С++ посредством Wt: http://www.webtoolkit.eu/wt, только не пойму почему этот тулкит пока так и не стал популярен.

     
     
  • 3.30, Df232z (ok), 10:35, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Внезапно сайты можно уже лет 15 клепать на с++ и cgi.
    Точно также как можно огород вскапывать вилкой.
    Только почему то этот метод не популярен.
    Наверное потому что есть более подходящие инструменты?

     
     
  • 4.77, ProfX (ok), 17:08, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Внезапно сайты можно уже лет 15 клепать на с++ и cgi.
    >Точно также как можно огород вскапывать вилкой.
    >Только почему то этот метод не популярен.
    >Наверное потому что есть более подходящие инструменты?

    В том то и дело что Wt - достаточно удобный фреймворк, очень похож на Qt.

     
  • 4.118, Аноним (-), 05:29, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Внезапно сайты можно уже лет 15 клепать на с++ и cgi.

    Только вот скорость работы CGI получается как-то не вкусной и не имеющей ничего общего с event-driven конструкциями. Небольшая разница.

     
  • 3.58, anonymous (??), 13:13, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >     только не пойму почему этот тулкит пока так и не стал популярен.

    Потому что GPL.

     
     
  • 4.119, Аноним (-), 05:29, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что GPL.

    На серваке это вообще до фени если это не AGPL... ;)

     
  • 2.62, бедный буратино (ok), 13:17, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А что мешало раньше?

    http://www.koanlogic.com/klone/

     

  • 1.10, Аноним (-), 00:49, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая вещь - иногда нужно прикрутить к приложению встроенный веб-сервер.
     
     
  • 2.12, develop7 (ok), 01:25, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    libsoup не?
     
     
  • 3.14, anonymous (??), 01:52, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а также http://code.google.com/p/mongoose/
     
  • 2.15, Аноним (-), 02:51, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Хорошая вещь - иногда нужно прикрутить к приложению встроенный веб-сервер.

    Не распарсил, уточните что вы имели ввиду: иногда необходимо встроить веб-сервер, или иногда необходимо прикрутить к приложению встроенный в исполняемую среду (чья и что за среда? (думается что операционная система - среда исполнения приложения)) веб-сервер (не тогда вопрос насчет приложения и его начальной формы)?

     

  • 1.21, анон (?), 04:47, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Не стоят эти "на 80%" того, чтобы связываться с С++
     
     
  • 2.22, ананим (?), 06:04, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё как стоят.
    Не говоря уже об экономии памяти.
     
     
  • 3.26, анон (?), 08:47, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Память нынче дешевая. Ей то как раз можно жертвовать ради производительности
     
     
  • 4.39, saNdro (?), 11:24, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    http://h10010.www1.hp.com/wwpc/ru/ru/sm/WF25a/15351-15351-4237916-4237917-423
    Сервачёк вполне себе симпатичненький, но 128Гб оперативки в него не войдут, да и ядер всего два...
     
  • 4.48, Аноним (-), 12:17, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Память нынче дешевая. Ей то как раз можно жертвовать ради производительности

    Разработчики ZFS тоже так думали. И теперь для нормальной работы продакшен-стореджа порой требуется столько памяти, что не влезает в стандартный сервак.

     
     
  • 5.68, Аноним (-), 14:16, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не трынди. Внезапно - на Соляре есть лимиты, позволяющие ограничить ARC - Это раз. Два - систему можно и нужно адекватно тюнить под задачу. И три - в стандартный сервак одноюнитовый можно запихнуть 64 Гб рамы. Если тебе этого мало - значит, у тебя не все в порядке с головой.
     
  • 2.120, Аноним (-), 05:30, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Не стоят эти "на 80%" того, чтобы связываться с С++

    Кроме случая когда вам надо из своего профита вычесть ценник в 2 раза большего парка серверов и подзатянуть пояса...

     

  • 1.25, grep (??), 08:47, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А ведь плюсам заметно полегчало после выхода С++11, вполне современный язык получился. Жаль, концепты зарезали
     
     
  • 2.33, Df232z (ok), 10:42, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –10 +/
    Ждем Сборщика мусора и удаление указателей. До этого момента использовать смысла нет.

     
     
  • 3.40, saNdro (?), 11:28, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ждем Сборщика мусора и удаление указателей. До этого момента использовать смысла нет.

    Не ждём. На ваши запросы полно других языков. Не знаете для чего применять язык программирования "среднего" уровня - юзайте исключительно "высокие".


     
     
  • 4.54, Аноним (-), 12:24, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не ждём. На ваши запросы полно других языков. Не знаете для чего
    > применять язык программирования "среднего" уровня - юзайте исключительно "высокие".

    Плохому танцору всегда что-то мешает. У таких IT-таджиков проблемы с любыми языками. Но дело всегда в языке, конечно же.

     
     
  • 5.60, Df232z (ok), 13:16, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Плохому танцору всегда что-то мешает. У таких IT-таджиков проблемы с любыми языками.
    > Но дело всегда в языке, конечно же.

    Тоже самое говорили любители ассемблера пока не исчезли.
    Время динозавров прошло. Это эволюция.

     
     
  • 6.66, x0r (??), 13:50, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Тоже самое говорили любители ассемблера пока не исчезли.
    > Время динозавров прошло. Это эволюция.

    Вы извините, но мы никуда не исчезли)

     
     
  • 7.67, Df232z (ok), 13:57, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • –7 +/
    А динозавры исчезли не единомоментно. Они просто стали проигрывать конкурентную борьбу, не смогли приспособится к изменившимся условиям и вымерли.
    Совсем как программисты на с++.

     
     
  • 8.71, noname (??), 14:38, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Простите, а на каком языке вы будете командовать процессору переслать содержимо... текст свёрнут, показать
     
     
  • 9.80, Аноним (-), 18:07, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы хорошую предметную область привели для демонстрации применения C C , но обсу... текст свёрнут, показать
     
     
  • 10.85, тоже Аноним (ok), 21:40, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Увеличение производительности имеет смысл, если это увеличение необходимо Если ... текст свёрнут, показать
     
     
  • 11.155, Аноним (-), 10:58, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Увеличить производительность помогает оптимизация главного алгоритма, а не оптим... большой текст свёрнут, показать
     
     
  • 12.167, тоже Аноним (ok), 13:55, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Иногда - да, но веб-сервер, как мне кажется, не относится к таким случаям Он, о... текст свёрнут, показать
     
  • 10.101, noname (??), 01:01, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Это был вопрос к комментатору о ненужности ассемблера ... текст свёрнут, показать
     
     
  • 11.107, Df232z (ok), 02:46, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А зачем он нужен в 2012 году ... текст свёрнут, показать
     
     
  • 12.124, Аноним (-), 05:40, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Посмотри сырцы x264, VP8, погоняй бенчи чисто севой версии и версии с асм-вс... текст свёрнут, показать
     
     
  • 13.156, Аноним (-), 11:01, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Эффективность алгоритма не зависит от языка - она зависит от самого алгоритма ... текст свёрнут, показать
     
     
  • 14.172, Crazy Alex (ok), 21:21, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Угу Сложность - ага, не зависит от языка Только кроме сложности есть ещё и кон... текст свёрнут, показать
     
  • 14.179, anonymous (??), 12:15, 21/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Алгоритм может предполагать оперирование регистрами процессора Для алгоритма вп... текст свёрнут, показать
     
  • 13.163, jklsuopiew (?), 11:16, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Друг, не оптимизируй ассемблером Лучше вообще не оптимизируй Иди плитку ложить... текст свёрнут, показать
     
     
  • 14.166, ананим (?), 12:04, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет слова ложить , есть слово класть ... текст свёрнут, показать
     
  • 14.168, Аноним (-), 14:21, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Заблуждение, крайне распространенное среди специалистов, не работавших близко к ... текст свёрнут, показать
     
  • 12.181, vle (ok), 12:50, 24/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Компиляторы с языков С и С не умеют максимально эффективно использовать аппара... текст свёрнут, показать
     
  • 10.116, Андрей (??), 04:53, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Так в том то и дело хотелось бы веб-фреймворк и в ардуино тоже иметь ... текст свёрнут, показать
     
  • 9.162, jklsuopiew (?), 11:14, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вы встраиваемые системы на Java не видели От вы темный, а Идет на сайт ... текст свёрнут, показать
     
  • 8.125, Аноним (-), 05:41, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я надеюсь что у тебя операционка то на правильном ЯП написана, да ... текст свёрнут, показать
     
     
  • 9.142, Df232z (ok), 08:13, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К сожалению нет Поэтому память течет, приложения крошатся, и эксплоиты лопатой ... текст свёрнут, показать
     
     
  • 10.148, Аноним (-), 10:42, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ась Ты уже написал кернель на чем-то правильном Нет Тогда срочно за дело А т... текст свёрнут, показать
     
     
  • 11.158, Аноним (-), 11:03, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть верифицированные микроядра, корректность которых доказана математически Он... текст свёрнут, показать
     
  • 11.164, Df232s (?), 11:20, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К вашему сведению linix ведет свою историю с сентября 1991 года, так что срок в... большой текст свёрнут, показать
     
     
  • 12.170, Аноним (-), 14:44, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    наверное имелся в виду Unix, который был первый на Си написан... текст свёрнут, показать
     
  • 10.173, Crazy Alex (ok), 21:23, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А, так еще и виндузятник, что ли Всё сходится - и эксплоиты выгребает, и движе... текст свёрнут, показать
     
  • 8.178, фтыш (?), 01:39, 21/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ололо попробуй напиши сложное приложение под iOS без плюсовых либ... текст свёрнут, показать
     
  • 6.126, Аноним (-), 05:44, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Тоже самое говорили любители ассемблера пока не исчезли.

    Они так исчезли, что в 2012 году ВНЕЗАПНО крайне люто комитят в репу кодека VP8. То что они не занимаются гoвнокодингом энтерпрайзных поделок - ну так правильно, для этого есть тупые и дешевые наемные боты типа тебя. Для телег с ломом и лошадей используют, простите, ломовых.

     
  • 5.159, jklsuopiew (?), 11:12, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ананим, а ананим, по твоей логике выходит у всех руки кривые, а языки плохими быть не могут, так? Прапорщик такой прапорщик
     
  • 3.50, Аноним (-), 12:19, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ждем Сборщика мусора и удаление указателей. До этого момента использовать смысла нет.

    Ждите. Возможно, эти костыли и исправят чью-то врожденную криворукость...
    А квалифицированные разработчики с некривыми руками кодят на сях уже сейчас.

     
     
     
    Часть нити удалена модератором

  • 5.70, ананим (?), 14:21, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хм. В соседней новости http://www.opennet.me/opennews/art.shtml?num=33097

    Зыж
    Нда. Чукча (даже со сборщиком мусора) не читатель.
    Да и писатель не важнецкий.
    Большинство ПО как разрабатывалось на С/С++, так и разрабатывается.
    Видимо большинство написанного быдлокодерами сразу уничтожается в gc.
    А если всё же выживает, то радует пользователей своими не повторимыми тормозами, глюками и мрсианским интерфейсом.

     
  • 3.57, Аноним (-), 13:04, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сборщиков мусора под C++ полно разных на любой вкус. Но ты об этом не знаешь, поскольку ни строчки кода на нем не написал
     
     
  • 4.61, Df232z (ok), 13:17, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Назовите пять работающих.


     
     
  • 5.149, Аноним (-), 10:43, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Назовите пять работающих.

    1. JavaScript. Или в нем не работает? Или движок не на си не написан? Ню-ню :)

     

     ....большая нить свёрнута, показать (38)

  • 1.36, justreader (ok), 11:01, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно лучше boost.asio?
     
     
  • 2.38, Аноним (-), 11:21, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ничем. На asio тоже можно заниматься кодосокоращательством, а еще он стабильнее.
     
  • 2.69, klalafuda (?), 14:21, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем оно лучше boost.asio?

    Ну это как бы несколько разного уровня проекты и сравнивать их некорректно. Чем wget лучше netcat-а? С другой стороны, было бы логично иметь asio на бакенде. Не знаю, что они там заюзали под это.

     
     
  • 3.73, Аноним (-), 14:45, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Опять теплое с мягким, э?
     

  • 1.74, mma (?), 16:51, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    отлично, лишь бы тут с "лапшой" не переборщили как в node.js.
     
     
     
    Часть нити удалена модератором

  • 3.86, develop7 (ok), 22:11, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > У node нет проблем с лапшой. Есть проблемы с программистами с java и с++ головного мозга, которые не могут асинхронный код.

    Ага. Мы просто назовём лапшу callbackов "The Node Way", а критиков («тяжело разбираться, т.к. нужно держать в уме все вложенные контексты», «мешает отловить утечку памяти» и пр.) — жалкими неасиляторами с C++ головного мозга. Потому как по сути возразить-то и нечего.

     
     
  • 4.87, Df232z (ok), 22:34, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Лапша где? Приведите примеры.
     
     
  • 5.92, develop7 (ok), 23:15, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Лапша где? Приведите примеры.

    на первой же страничке https://github.com/languages/JavaScript/most_watched:  раскрутите-ка https://github.com/isaacs/npm/blob/master/lib/init.js#L81
    страшно подумать, какой ад локалхоста творится в проприетарных проектах на nodejs, которые по очевидным причинам поддерживаются менее опытными (не квалифицированными, разработка под nodejs не имеет ничего общего с квалификацией) разработчиками, чем те, которые ведут популярные проекты на гитхабе.

     
     
  • 6.93, Аноним (-), 23:33, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > на первой же страничке https://github.com/languages/JavaScript/most_watched:  раскрутите-ка
    > https://github.com/isaacs/npm/blob/master/lib/init.js#L81
    > страшно подумать, какой ад локалхоста творится в проприетарных проектах на nodejs, которые
    > по очевидным причинам поддерживаются менее опытными (не квалифицированными, разработка
    > под nodejs не имеет ничего общего с квалификацией) разработчиками, чем те,
    > которые ведут популярные проекты на гитхабе.

    Да не объясняйте вы ему ничего, человек явно упорот до безобразия, коли предлагает выпилить из С++ работу с указателями и кидается во всех какашками из-за мифических утечек (ну не знает он про RAII, бывает такое). У таких, как он, память и в языке "без указателей и с GC" течь будет :)

     
     
  • 7.95, Df232z (ok), 23:46, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Мифических? 17 февраля 2017 в Thunderbird закрыто 12 дырок. Это в одной программе.
    А 30 страниц утечек, переполнений, форматной строки, не инициализированных указателей и прочих особенностей с/с++, не хотите? И это только с начала года.
    Я думаю за использование этих языков, давно пора наказывать, как за распространение вредоносного кода.

     
     
  • 8.99, develop7 (ok), 00:30, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Thunderbird Mozilla Thunderbird В которой b вообще вся b бизнес-логика писа... текст свёрнут, показать
     
     
  • 9.104, Df232z (ok), 02:29, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно Вся логика на js, а все дырки на с Смотрите сами, вышеупомянутые ... текст свёрнут, показать
     
     
  • 10.111, а.н.а.н.и.м (?), 03:19, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    вот так и имеют таких спецов во все щели, а он этого даже и не знает а если и у... текст свёрнут, показать
     
     
  • 11.138, Df232z (ok), 08:05, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Именно поэтому не стоит использовать некачественное программное обеспечение Под... текст свёрнут, показать
     
     
  • 12.143, тоже Аноним (ok), 08:41, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну что ж, вам осталось только выйти из браузера и ждать, пока его напишут на бол... текст свёрнут, показать
     
  • 8.103, Аноним (-), 01:53, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Про то, что в продуктах Mozilla практически всё написано на JS да-да, XUL, etc ... большой текст свёрнут, показать
     
     
  • 9.114, Crazy Alex (ok), 04:42, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да он совершенно оголтелый фанат JS,уже в нескольких тредах замечено И всё убеж... текст свёрнут, показать
     
     
  • 10.130, Аноним (-), 06:59, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пусть LZMA сначала на JS портанет, тогда поговорим ... текст свёрнут, показать
     
     
  • 11.133, Df232z (ok), 07:49, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    http lmgtfy com q LZMA js... текст свёрнут, показать
     
     
  • 12.151, Аноним (-), 10:51, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    О, натурально есть Правда код этой штуки выглядит довольно жутковато - половина... текст свёрнут, показать
     
     
  • 13.165, Df232s (?), 11:38, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Пожалейте русский язык Если вы хотите сравнить скорость работы реализаций то по... текст свёрнут, показать
     
     
  • 14.174, Crazy Alex (ok), 21:28, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Первый попавшийся - это код из веба В отличие от софта из репозиториев, от ра... текст свёрнут, показать
     
  • 6.94, Df232z (ok), 23:36, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Так где лапша?
     
     
  • 7.96, Df232z (ok), 23:56, 19/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    или стандартная конструкция
    promice()
    (...)
    (...)
    (...)
    Показалась лапшой?
    Лапша это большое количество вложенных конструкций. Например как тут
    https://github.com/torvalds/linux/blob/master/kernel/irq/autoprobe.c

     
     
  • 8.115, Crazy Alex (ok), 04:46, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Лапша - это потеря линейности кода Когда, взглянув на код, не видишь, в каком п... текст свёрнут, показать
     
     
  • 9.137, Df232z (ok), 08:01, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не надо пытаться совершить подлог Это старый устоявшийся термин, а совсем не то... текст свёрнут, показать
     
     
  • 10.175, Crazy Alex (ok), 21:30, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Кхх Ну вот оттуда цитата source code that has a complex and tangled control s... текст свёрнут, показать
     
     
  • 11.177, Df232z (ok), 01:32, 21/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вам, похоже, требуется перевод ... текст свёрнут, показать
     
     
  • 12.180, Crazy Alex (ok), 14:23, 21/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Могу и сам перевести Исходный код, имеющий сложную и запутаннуюю структуру, осо... большой текст свёрнут, показать
     
  • 3.146, Аноним (-), 10:21, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > и с++ головного мозга, которые не могут асинхронный код.

    То-то все кернелы сплошь забиты машинами состояний и асинхронщиной которая на одном проце который физически выполняет 1 поток инструкций умудряется реализовывать иллюзию многозадачности и уж конечно все воспринимают как данность что через сетевку висит 50 соединений хотя проц - один. Ты там кого лечить вздумал, клоун?

     
     
  • 4.154, Df232s (?), 10:57, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >с++
    >кернелы

    Я совершенно не знаю, что вы называете "кернелами", но подразумевая, что это ядро линукс, хочу отметить что с++ кода в нем нет, вообще нет.
    >которая на одном проце который физически выполняет 1 поток инструкций умудряется реализовывать иллюзию многозадачности

    Таненбаум молодец, кто спорит. Жаль что дальше пошла деградация.


     
     
  • 5.176, Crazy Alex (ok), 21:35, 20/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсов - нет. А  асинхронности - причём вменяемой - вагон.
    А Танненбаума вы вообще непонятно к чему приплели. Многозадачные операционки появились лет на 15 раньше того же миникса.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру