The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Представлена начальная реализация версии фреймворка node.js ..., opennews (ok), 19-Фев-12, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


17. "Представлена начальная реализация версии фреймворка node.js ..."  +3 +/
Сообщение от Аноним (-), 19-Фев-12, 03:38 
Зачетненько. И ведь как компактно, а? :)
Ответить | Правка | Наверх | Cообщить модератору

24. "Представлена начальная реализация версии фреймворка node.js ..."  +2 +/
Сообщение от Ptomaine (?), 19-Фев-12, 07:41 
да не только в компактности дело то. посмотрел я код сего поделия и надо признать, что достаточно грамматно написано. правда, проект зависит ещё от двух других: libuv и http-parser. но они малы по объёму и легко вписываются в данный проект. более  того, я думаю, что от них, позже, можно будет избавиться, переписав код также на С++11. ну, что добавить? Хорошая тенденция - Viva C++11.
Ответить | Правка | Наверх | Cообщить модератору

31. "Представлена начальная реализация версии фреймворка node.js ..."  –2 +/
Сообщение от Df232z (ok), 19-Фев-12, 10:39 
> да не только в компактности дело то. посмотрел я код сего поделия
> и надо признать, что достаточно грамматно написано.

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

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

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


Ответить | Правка | Наверх | Cообщить модератору

42. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Пожалуйста (ok), 19-Фев-12, 11:52 
> Грамотно. Весь код в *.h файлах. *facepalm*

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

Ответить | Правка | Наверх | Cообщить модератору

43. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от mine (ok), 19-Фев-12, 11:56 
> по-другому будет сильно извращенно

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

Ответить | Правка | Наверх | Cообщить модератору

45. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Пожалуйста (ok), 19-Фев-12, 12:12 
>> по-другому будет сильно извращенно
> По другому нельзя. Код шаблона должен быть виден компилятору в момент использования.
> Иначе он не сможет сгенерировать для него код.

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

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

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

  

Ответить | Правка | Наверх | Cообщить модератору

79. "Представлена начальная реализация версии фреймворка node.js ..."  –1 +/
Сообщение от Ptomaine (?), 19-Фев-12, 17:30 
>  Минус - это то что код библиотеки всегда компилируется.

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

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

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

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

78. "Представлена начальная реализация версии фреймворка node.js ..."  +2 +/
Сообщение от Ptomaine (?), 19-Фев-12, 17:20 
> Грамотно. Весь код в *.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."

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

89. "Представлена начальная реализация версии фреймворка node.js ..."  –2 +/
Сообщение от Df232z (ok), 19-Фев-12, 22:43 
> ))) я сказал про сам код. какая разница в какой логической единице
> он содержиться: cpp или h?

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

100. "Представлена начальная реализация версии фреймворка node.js ..."  +2 +/
Сообщение от Ptomaine (?), 20-Фев-12, 00:58 
> А какая разница между хорошо структурированным читаемым кодом и кашей?

Не придумывайте того, чего нет. где Вы там кашу усмотрели?
Понимание кода напрямую зависит от образованности читаемого его.
Если Вы чего-то там усмотрели, не понимаете или не знаете, то это не каша, а RTFM.

> Тогда следуя вашей логике:

Вы не правильно провели аналогию. Не голова и мозг одного человека, а МОЯ голова и ЧУЖОЙ мозг. Или более реальная ассоциация: мой друг может взламывать только внешнюю защиту сетей, а я могу взламывать только компьютеры в самой сети. В один прекрасный день мой друг погиб. Я не смогу больше взламывать компьютеры без него, потому что не могу проникнуть через внешний файервол.

Проследуйте моей логике: уберите из Node.native, например, сторонний проект libuv и Вы не сможите скомпилировать Node.native. А убрать проект можно запросто - ОН ЧУЖОЙ, ОН СТОРОННИЙ.

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

Хорошо, я пререведу: "libuv это новая платформенная прослойка для Node. Её задача остагировать IOCP на Windows и libev на Unix системах. Мы хотим со временем реализовать все платформенные различия в этой библиотеке."

Я больше не хочу с Вами общаться Df232z на эту тему. Разговор получается пустой.

Ответить | Правка | Наверх | Cообщить модератору

169. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Orofarne (?), 20-Фев-12, 14:29 
А зачем избавляться и переписывать? они хорошо написаны и хорошо поддерживаются.
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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