The OpenNET Project / Index page

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



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

Оглавление

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

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


74. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от mma (?), 19-Фев-12, 16:51 
отлично, лишь бы тут с "лапшой" не переборщили как в node.js.
Ответить | Правка | Наверх | Cообщить модератору
Часть нити удалена модератором

86. "Представлена начальная реализация версии фреймворка node.js ..."  +1 +/
Сообщение от develop7 (ok), 19-Фев-12, 22:11 
> У node нет проблем с лапшой. Есть проблемы с программистами с java и с++ головного мозга, которые не могут асинхронный код.

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

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

87. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 19-Фев-12, 22:34 
Лапша где? Приведите примеры.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

95. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 19-Фев-12, 23:46 
Мифических? 17 февраля 2017 в Thunderbird закрыто 12 дырок. Это в одной программе.
А 30 страниц утечек, переполнений, форматной строки, не инициализированных указателей и прочих особенностей с/с++, не хотите? И это только с начала года.
Я думаю за использование этих языков, давно пора наказывать, как за распространение вредоносного кода.

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

99. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от develop7 (ok), 20-Фев-12, 00:30 
> Мифических? 17 февраля 2017 в Thunderbird закрыто 12 дырок. Это в одной программе.
> А 30 страниц утечек, переполнений, форматной строки, не инициализированных указателей и прочих особенностей с/с++, не хотите? И это только с начала года.
> Я думаю за использование этих языков, давно пора наказывать, как за распространение вредоносного кода.

Thunderbird? Mozilla Thunderbird? В которой вообще вся бизнес-логика писана на Javascript, а на сишечке/плюсцах только интерпретатор этого самого JS + зависимости вроде libxml?

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

104. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 20-Фев-12, 02:29 
>Thunderbird? Mozilla Thunderbird? В которой вообще вся бизнес-логика писана на Javascript, а на сишечке/плюсцах только интерпретатор этого самого JS + зависимости вроде libxml?

Вот именно! Вся логика на js, а все дырки на с++.
Смотрите сами, вышеупомянутые дырки:
CVE-2011-3659
incorrect AttributeChildRemoved notifications
CVE-2012-0442
memory corruption and application crash
CVE-2012-0443
memory corruption and application crash
CVE-2012-0444
memory corruption and application crash
CVE-2012-0447
do not properly initialize data for image/vnd.microsoft.icon
Продолжать?

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

111. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от а.н.а.н.и.м (?), 20-Фев-12, 03:19 
вот так и имеют таких спецов во все щели, а он этого даже и не знает.
а если и узнает, то ждёт пока ему более умные заплатку вставят.
Ответить | Правка | Наверх | Cообщить модератору

138. "Представлена начальная реализация версии фреймворка node.js ..."  –1 +/
Сообщение от Df232z (ok), 20-Фев-12, 08:05 
Именно поэтому не стоит использовать некачественное программное обеспечение.
Под некачественным, я понимаю, написанное на с/с++.


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

143. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от тоже Анонимemail (ok), 20-Фев-12, 08:41 
Ну что ж, вам осталось только выйти из браузера и ждать, пока его напишут на более правильном языке.
А потом еще подождать, когда таким браузером можно будет пользоваться.
Ответить | Правка | Наверх | Cообщить модератору

103. "Представлена начальная реализация версии фреймворка node.js ..."  +3 +/
Сообщение от Аноним (-), 20-Фев-12, 01:53 
Про то, что в продуктах Mozilla практически всё написано на JS (да-да, XUL, etc.) тебе уже сказали. Про то, что в продуктах Mozilla (по крайней мере в Firefox), используется так любимый тобой сборщик мусора ты решил скромно промолчать? И, о сенсация, если статистику расхода памяти посмотреть, то частенько текут именно JS объекты в сайтовых скриптах.

Почему же сборщик мусора не помогает-то, а? Может, прежде чем на "высокоуровневом" языке писать, надо всё-таки понимать, что память таки под капотом выделяется где угодно, что циклические ссылки будут создавать утечку и при наличии GC? Кодовая база Firefox кстати тянется со времен Netscape. Ты не поверишь, но за это время в С++ произошли достаточно серьезные изменения, и то, что наблюдается в Firefox, не совсем правильно экстраполировать на новые проекты.

И еще одно, болезный. Как-бы ты тут не распинался, но JS - язык с динамической типизацией. Для "fire and forget" скриптов это хорошо, но есть одно большое но. Попробуй как-нибудь написать на этом node.js несколько десятков а то и сотен тысяч строк асинхронной лапши, да развивай свой проект лет 5-7. Ты потом в психушку попадешь, так как рефакторить код на динамически типизированных языках - это лютое зло, рефакторить же тонну асинхронного динамически типизированного кода - еще большее зло. У тебя юнит тестов будет написано больше, чем кода твоего приложения.

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

114. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Crazy Alex (ok), 20-Фев-12, 04:42 
Да он совершенно оголтелый фанат JS,уже в нескольких тредах замечено. И всё убеждал,что статическая типизация не нужна.
Ответить | Правка | Наверх | Cообщить модератору

130. "Представлена начальная реализация версии фреймворка node.js ..."  +1 +/
Сообщение от Аноним (-), 20-Фев-12, 06:59 
> Да он совершенно оголтелый фанат JS,уже в нескольких тредах замечено. И всё
> убеждал,что статическая типизация не нужна.

Пусть LZMA сначала на JS портанет, тогда поговорим.

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

133. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 20-Фев-12, 07:49 
http://lmgtfy.com/?q=LZMA+js
Ответить | Правка | Наверх | Cообщить модератору

151. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Аноним (-), 20-Фев-12, 10:51 
> http://lmgtfy.com/?q=LZMA+js

О, натурально есть. Правда код этой штуки выглядит довольно жутковато - половина кода вышло борьбой с искусственными трудностями, любезно предоставленными JS. Кстати как, не хочешь побенчить скорость работы относительно нативной версии и вместе поржать над тем что получится? :)

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

165. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232s (?), 20-Фев-12, 11:38 
>побенчить

Пожалейте русский язык.
Если вы хотите сравнить скорость работы реализаций то пожалуйста, только сравнивать нужно в равных условиях. А так как реализация на js по умолчанию безопасна, а реализация на с/с++ нет, то запускать "нативную" реализацию необходимо, хотя бы в контейнере Рутковской. Мы ведь не хотим дарить свой компьютер первому попавшемуся?

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

174. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Crazy Alex (ok), 20-Фев-12, 21:28 
"Первый попавшийся" - это код из веба. В отличие от софта из репозиториев, от разработчиков с многолетней репутацией. Поэтому для первого приходится городить параноидальную матрешку из песочниц, а второй моно просто запустить в своей системе. Впрочем, если месье не понимает, что всегда есть tradeoff между удобством/дешевизной (куда и скорость включена, конечно) и безопасностью - то что тут сказать. А в номре надежность линукс-систем вполне достаточна.
Ответить | Правка | К родителю #165 | Наверх | Cообщить модератору

94. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 19-Фев-12, 23:36 
Так где лапша?
Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

96. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 19-Фев-12, 23:56 
или стандартная конструкция
promice()
(...)
(...)
(...)
Показалась лапшой?
Лапша это большое количество вложенных конструкций. Например как тут
https://github.com/torvalds/linux/blob/master/kernel/irq/aut...

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

115. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Crazy Alex (ok), 20-Фев-12, 04:46 
Лапша - это потеря линейности кода. Когда, взглянув на код, не видишь, в каком порядке он исполняется. А для вложенных конструкций - сюрприз! - этот порядок виден с первого взгляда, хотя бы за счёт отступов. Ну да что с вами спорить, если вы не понимаете, выгодно скоращать количество возможных ошибок в коде за счёт статической типизации.
Ответить | Правка | Наверх | Cообщить модератору

137. "Представлена начальная реализация версии фреймворка node.js ..."  –1 +/
Сообщение от Df232z (ok), 20-Фев-12, 08:01 
> Лапша - это потеря линейности кода. Когда, взглянув на код, не видишь,
> в каком порядке он исполняется. А для вложенных конструкций - сюрприз!
> - этот порядок виден с первого взгляда, хотя бы за счёт
> отступов. Ну да что с вами спорить, если вы не понимаете,
> выгодно скоращать количество возможных ошибок в коде за счёт статической типизации.

Не надо пытаться совершить подлог. Это старый устоявшийся термин, а совсем не то что вы нафантазировали.
http://lmgtfy.com/?q=Spaghetti+code&l=1

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

175. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Crazy Alex (ok), 20-Фев-12, 21:30 
Кхх. Ну вот оттуда цитата: "source code that has a complex and tangled control structure, especially one using many GOTOs, exceptions, threads, or other "unstructured" branching constructs. It is named such because program flow tends to look like a bowl of spaghetti, i.e. twisted and tangled". Это и относится к тому чуду, которое вы мне показали. Или хотите сказать, что там поток исполнения понятен и прозрачен?
Ответить | Правка | Наверх | Cообщить модератору

177. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Df232z (ok), 21-Фев-12, 01:32 
Вам, похоже, требуется перевод?
Ответить | Правка | Наверх | Cообщить модератору

180. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Crazy Alex (ok), 21-Фев-12, 14:23 
Могу и сам перевести: Исходный код, имеющий сложную и запутаннуюю структуру, особенно использующий много GOTO, исключений, потоков или других "неструктурированных" конструкций ветвления. Он так назван потому что поток управления имеет склонность выглядеть как куча спагетти, т.е. переплетенным и иискривленным.

напомню, речь идет вот об этом: https://github.com/isaacs/npm/blob/master/lib/init.js#L81

Окей, если не понимаете, что там не так - объясняю.

Маоло того, что функцию надо бы разбить на куски просто из соображений размера, так еще и набор странно отформатированных коллбеков там, где хватило бы линейного кода, управляющего последовательностью запросов. Асинхронность (и, соотвественно, promice) там не нужна вообще - это утилита, в данной точке control flow в принципе не способная ничего сделать, пока не получит весь ввод от пользователя.

А еще лучше было бы не просто заменить promiseChain на последовательность циклов ввода, а выделить каждую функцию проверки отдельно (можно внутри основной) и дать ей имя, сделать явный массив со структурами "приглашение + функция проверки", а в основной функции просто сделать цикл по нему. И вместо этого "кто на ком стоял" была бы абсолютно самодокументированная конструкция, понятная с первого взгляда на первой секунде.

Вообще дурацкая джаваскриптовая традиция кучу всего объявлять in place (да еще неименованным) сильно мешает читабельности. Я еще (кое-как) понимаю, когда это делается для браузера с целью уменьшения размера кода, но на сервере такое применять - идиотизм.

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

146. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Аноним (-), 20-Фев-12, 10:21 
> и с++ головного мозга, которые не могут асинхронный код.

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

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

154. "Представлена начальная реализация версии фреймворка node.js ..."  –1 +/
Сообщение от Df232s (?), 20-Фев-12, 10:57 
>с++
>кернелы

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

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


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

176. "Представлена начальная реализация версии фреймворка node.js ..."  +/
Сообщение от Crazy Alex (ok), 20-Фев-12, 21:35 
Плюсов - нет. А  асинхронности - причём вменяемой - вагон.
А Танненбаума вы вообще непонятно к чему приплели. Многозадачные операционки появились лет на 15 раньше того же миникса.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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