The OpenNET Project / Index page

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



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

Оглавление

Выпуск io.js 2.0, форка серверной JavaScript-платформы Node.js , opennews (??), 05-Май-15, (0) [смотреть все]

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


6. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +17 +/
Сообщение от Аноним (-), 05-Май-15, 19:48 
Прошло столько лет, а я так и не понял зачем писать сервера на джаваскрипте o_0 .
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +7 +/
Сообщение от Онотоле (?), 05-Май-15, 20:18 
Так и умрете не просвещенным.
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +3 +/
Сообщение от th3m3 (ok), 05-Май-15, 20:20 
Я вот попробовал недавно. Был ярым противником этого. Стал изучать и что-то втянулся.
Ещё одна технология. У каждого есть выбор, это хорошо. Раньше кстати на Python/Django сидел.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

12. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 20:38 
В интернетах говорят, что первый сервер на js появился в 1998 Ж)
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

15. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  –5 +/
Сообщение от Аноним (-), 05-Май-15, 21:31 
Nonblocking (неблокирующий) I/O. Хотя, не уверен, что вы понимаете, что значат эти слова.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

17. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +4 +/
Сообщение от Аноним (-), 05-Май-15, 21:41 
fcntl(2): F_SETFL, O_NONBLOCK. Хотя, не уверен, что вы понимаете, что значат эти слова.
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 21:45 
Круто, осталось понять, как это относится к написанию сервера.
Или вы любитель забивать гвозди микроскопом?
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +4 +/
Сообщение от Аноним (-), 05-Май-15, 21:52 
Микроскоп - это сервер. Я любитель микроскопы делать из деталей микроскопов, а не из кирпичей, как нынче принято.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +1 +/
Сообщение от Аноним (-), 05-Май-15, 22:07 
Как бы вам попроще объяснить. В ноде на JS пишется высокоуровневая часть сервера, а вся сетевая часть и VM уже написаны на тех самых сях и доступны через API. Функционально-событийная асинхронная модель JS (и снова не уверен, что вы знаете что это значит) отлично ложится на неблокирующий IO, позволяя делать Highload решения. Реального конкурента в этом я вижу только GO.
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +1 +/
Сообщение от Аноним (-), 05-Май-15, 22:36 
> Реального конкурента в этом я вижу только GO.

Erlang, Java, Dart

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

34. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:48 
>> Erlang

Согласен, про старичка то я и забыл.

>> Java

JAVA.nio? Сомнительный монстр. Paypal выкладывали графики сравнения производительности, после того, как переписали бэкенд с JAVA на Node.js.

>> Dart

Жаль не получил распространения, лучше бы он заменил собой JS :)

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

49. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 01:51 
>JAVA.nio?

Netty. NIO2. Алсо есть vertx.io.

>Paypal выкладывали графики сравнения производительности, после того, как переписали бэкенд с JAVA на Node.js.

Слышал где звон, да не знаешь где он.

http://developer-blog.cloudbees.com/2013/12/about-paypal-nod...

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

52. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 02:17 
>> Слышал где звон, да не знаешь где он.

Почел по ссылке. Какой-то демагог, не имеющий никакого отношения к paypal, попытался выгородить свою любимую JAVA. Целый пост неочемного бла-бла-бла из серии "вы все врёте!". Так что там со звоном, м?

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

70. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  –1 +/
Сообщение от Аноним (-), 06-Май-15, 13:57 
>Целый пост неочемного бла-бла-бла из серии

Ну что поделать, не все способны понимать прочитанное.

>"вы все врёте!"

Пи..шко проекции. Цитату из текста на "врёти".

>Так что там со звоном, м?

Там же, всё звенит.

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

71. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +2 +/
Сообщение от Аноним (-), 06-Май-15, 14:00 
Не имею желания спорить с фанатиком. С фанатиком JAVA тем более.
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 01:43 
Это всё для челяди..
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

31. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:43 
В сях также возможны функционалы - указатели на функции, которые позволяют выполнит ту же асинхронную модель, когда обработчик передаётся в аргументах некоей функции и вызывается ею тогда, когда приходит подходящей для этого момент. Это раз.
Два: описание "асинхронной модели JS" даётся с первых страниц введения в программирование на JS. Если вам и удалось их осилить, не следует считать это исключительным достижением: будьте уверены, люди в России знают, что такое асинхронная, что такое модель и что такое JS.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

35. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  –1 +/
Сообщение от Аноним (-), 05-Май-15, 23:09 
Функционалы это круто, но JS из коробки реализует уже готовый event loop, который никогда не блокируется (да-да, я знаю про рудиментарные sync методы).

"Сервер на сях" уже стал лакмусовой бумажкой на хеллвордщиков, которые никогда не поднимали хайлоды в продакшене.

Я не спорю, иногда сервера на сях почти без вариантов (те же варгейминги с их обработкой всей игровой логикой на сервере), но для большинства серверов это маразм. Даже FB с их ресурсами сидит на унылой связке Apache+Hack(JIT PHP). Или Wikipedia, которая свой хайлоад базирует на Apache+PHP+Memcache и не бежит срочно переписываться на сях.

Повторюсь еще раз - пример реального хайлоада на ноде - бэкэнд paypal и система мгновенных сообщений (личка) вконтакте.

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

44. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  –1 +/
Сообщение от ДругойАноним (?), 06-Май-15, 00:31 
>>Повторюсь еще раз - пример реального хайлоада на ноде - бэкэнд paypal и система мгновенных сообщений (личка) вконтакте.

как-то маловато...на питоне instagram, pinterst, mozilla, mail.ru

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

46. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 00:55 
А если дополнить список с нодой?
Yahoo!, Academia.edu, eBay, General Electric, Microsoft (да-да, эти даже здесь успели отметиться), Palm/HP и даже некоторые сервисы Wikipedia.

Вот список, где компании сами отмечались, что использую Node у себя в продакшене - https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node

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

53. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +1 +/
Сообщение от Crazy Alex (ok), 06-Май-15, 04:15 
Вообще-то если нет реалтайма то пофиг на чём хайлоад делать - 99.9% работы берёт на себя пяток уровней кэширования. А под ним может жить бакэнд любой степени тормозности и уродства. Поэтому в общем случае использование в хайлоаде - не показатель качества софтины. Поэтому википедия и может жить как живёт - с апачем и тормозной MediaWiki - сплошная кэшированная статика.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

67. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +3 +/
Сообщение от anonymous (??), 06-Май-15, 09:59 
Ну тут ты не прав. На работе сервер - система сдачи в аренду процессинга другим банкам на c++ со своим самодельным аналогом стандартной библиотеки. Не так уж и сложно поддерживать/расширять и работает по пол года без перезапуска и то перезапуск по причине доработки. А вот в другом отделе другая приблуда сходной загруженности на ноде так ее несколько раз в неделю перестартовуют из за утечек памяти.
Справедливости ради на пользователях системы на ноде эти перезапуски практически не сказываются.
Из того, что мне очевидно из достоинств ноды: просто найти разработчика, хотя коллега, который ей занимается говорил, что она течет по памяти из-за того, что разботчики "простые".
Мне кажется, что можно и на ноде и на сях хорошо написать: был бы персонал нормальный. А свои плюсы и минусы везде будут.
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

69. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 12:30 
>> А вот в другом отделе другая приблуда сходной загруженности на ноде так ее несколько раз в неделю перестартовуют из за утечек памяти

Бить по рукам больно! Пускай собирают heapdump с продакшена и изучают кучу для поиска. Не удивлюсь, если у них сессии/кэш хранятся в памяти процесса, а не во внешнем storage).
Чтобы не перезапускать сервер - мастер процесс должен делать форк кластера и завершать предыдущий. Тогда все работает бесшовно.

>> Мне кажется, что можно и на ноде и на сях хорошо написать: был бы персонал нормальный. А свои плюсы и минусы везде будут.

Согласен.

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

32. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:44 
> Как бы вам попроще объяснить. В ноде на JS пишется высокоуровневая часть
> сервера, а вся сетевая часть и VM уже написаны на тех
> самых сях и доступны через API. Функционально-событийная асинхронная модель JS (и
> снова не уверен, что вы знаете что это значит) отлично ложится
> на неблокирующий IO, позволяя делать Highload решения. Реального конкурента в этом
> я вижу только GO.

И все это будет работать в вакууме, а не в ОС, написанной на Сях, верно?

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

64. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  –1 +/
Сообщение от Аноним (-), 06-Май-15, 09:39 
>Реального конкурента в этом я вижу только GO.

C++

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

65. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +2 +/
Сообщение от Evolve32 (ok), 06-Май-15, 09:55 
Mojolicious на Perl.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

81. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +1 +/
Сообщение от arisu (ok), 06-Май-15, 18:10 
> Как бы вам попроще объяснить. В ноде на JS пишется высокоуровневая часть
> сервера, а вся сетевая часть и VM уже написаны на тех
> самых сях и доступны через API. Функционально-событийная асинхронная модель JS (и
> снова не уверен, что вы знаете что это значит) отлично ложится
> на неблокирующий IO, позволяя делать Highload решения. Реального конкурента в этом
> я вижу только GO.

сколько унылого бреда. «Функционально‐событийная асинхронная модель» в ноде — это идиотские мегакостыли с колбэками. потрясающий своей силой дебилизм. smalltalk и scheme с нормальными continuations, D с файберами из коробки — все печально смотрят на ребёнка‐дауна «ноду.жысы».

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

100. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от Crazy Alex (ok), 09-Май-15, 03:54 
А в D появились файберы? Там же вроде только "настоящие" потоки были - или я что-то упустил?
Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от arisu (ok), 09-Май-15, 04:17 
> А в D появились файберы? Там же вроде только "настоящие" потоки были
> - или я что-то упустил?

давно достаточно появились, прямо в фобосе. и vibe.d как раз на их основе построен.

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

102. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от arisu (ok), 09-Май-15, 04:21 
> А в D появились файберы? Там же вроде только "настоящие" потоки были
> - или я что-то упустил?

p.s. собственно, даже генераторы на файберах в std.concurrency уже запихали.

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

97. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +1 +/
Сообщение от Анонимус11111 (?), 08-Май-15, 08:39 
Python + twisted/gevent. И все то же самое будет.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

20. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 21:46 
> Nonblocking (неблокирующий) I/O. Хотя, не уверен, что вы понимаете, что значат эти
> слова.

А чё, на Сях нельзя создать неблокирующий файловый дескриптор?

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

23. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:02 
Можно: если грубо, то так: fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) | O_NONBLOCK).
Но это дорого - надо искать специально обученного человека. Тогдка как для написания на JS достаточно найти средненького школьнега-фрилансера или оторвать от работы уже найденного.
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:09 
Да-да. Посадить школьников, и пусть пишут свой школо код на JS. Иногда получится что-то, отдаленно напоминающее сервер.
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:14 
Обоим икспертам™ по сям рекомендую глянуть на paypal, продакшен которого в данный момент работает на node.js (если еще не закончили переход на io, объявленный в феврале). Куда им лохам до анонимов с опеннета!
Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +3 +/
Сообщение от Аноним (-), 05-Май-15, 22:46 
никто не утверждает, что на node.js нельзя написать дельный сервер. утверждвается, что для того, чтобы сервер был дельным, писатель должен быть грамотным, с чем и наблюдается проблема у людей, не способных написать сервер на сях.
Потому что кто способен написать его на сях, способен написать его и на js, и на питоне, и на заборе мелом.
Программистов с синдромом туррета, понятно, не рассматриваю.
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +2 +/
Сообщение от Crazy Alex (ok), 06-Май-15, 04:19 
Ну вот кто был способоен и написали сервер на сях - ноду. А теперь поверх него прикладники пишут свою прикладуху. Не понимаю, о чём стон? Вы ж не требуете, чтобы каждый, кто в файлы пишет, сам реализовывал ФС?

JS - всё равно убогий язык, конечно (хотя, судя по всему, версии к восьмой его таки приведут в порядок) - но возмущаться тем, что кто-то использует готовую низкоуровневую часть - вы не охренели ли, господа?

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

61. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 07:48 
никто не возмущается использованием готового. речь о минусах повального увлечения высокоуровневыми языками: грамотного специалиста найти сложнее, поэтому один из критериев - способность работать на уровне алгоритмов отдельно от языка, или, что звучит иначе, но по-сути то же самое: накидать (хотя бы) функциональный каркас простого сервера на сях, апи которого будет построен так, что не придётся прибегать к низкоуровневому программированию. при умении строить такое апи и понимать уже построенные высокоуровневость значения не имеет.

как пример безграмотности, что царила 15 лет назад с сиплюсплюсами, можно привести неспособность отличить работу с шаблонами от работы с классами/методами/функциями. Это приводит к очень тяжёлым проектам.

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

76. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Crazy Alex (ok), 06-Май-15, 16:53 
Чепуха. 90% знаний, нужных для написания хоть как-то вменяемого сервера на сях - это специфика работы OS, нюансов работы TCP, умение разумно управлять памятью, писать те самые event loops с приличной производительностью, плюс уметь бороться с убогими возможностями C, который даже исключений толко не умеет. К умению писать бизнес-логику всё это практически не имеет отношения.

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

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

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

37. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 23:28 
Очень сомневаюсь, что PayPal нанял для этого орду школьников. :-)

А сам по себе nodejs - инструмент нормальный, вот только было обидно, когда, получив пачку денег от мелкософта, выпилили posix-врапперы, не сделав человеческой замены.

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

50. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 01:53 
>А сам по себе nodejs - инструмент нормальный, вот только было обидно, когда, получив пачку денег от мелкософта, выпилили posix-врапперы, не сделав человеческой замены.

У вас тут взаимоисключающие параграфы, или шизофрения.

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

77. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 17:14 
Ну почему, выкрутился, портировав код из предыдущих версий в с++-расширение. Это несложно было, просто обидно от самого факта такого отношения.
Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 17:15 
Ну почему, выкрутился, портировав код из предыдущих версий в с++-расширение. Это несложно было, просто обидно от самого факта такого отношения. А так-то пользоваться можно было.

А позже они и сами подтянулись, сделали типа-кроссплатформенно все то же.

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

16. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 21:33 
> Прошло столько лет, а я так и не понял зачем писать сервера на джаваскрипте o_0 .

не искать дабы программеров на сях. чисто бизныс.

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

21. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 21:46 
Сервер напрямую на сях? Ох уж эти диванные аналитики с опеннета.
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 22:05 
закляните в сквид.
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +2 +/
Сообщение от Аноним (-), 05-Май-15, 22:42 
Автор Postfix`а, Nginx Inc, Apache Foundation сейчас все разом вздрогнули.
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

36. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 23:24 
Я бы посмотрел на огромный проект с полноценной бизнес логикой на голом NGINX. Разницу между фронтенд (nginx) и бэкенд (node) не ощущаем? Они, кстати, отлично уживаются в одной связке - первый играет роль балансировщика.

В Apache на сях столько же когда, сколько и в node - вся core часть. А вот логика в обоих случаях пишется уже на скриптовых языках.

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

38. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +1 +/
Сообщение от Аноним (-), 05-Май-15, 23:40 
Писать бизнес-логику на JS - та еще радость.

Для описания развесистой бизнес-логики ничего лучше классического Java-style ООП не придумано. TypeScript и прочие Dart - шаг в верном направлении (введение типизации), но при программировании чистой бизнес-логики не должно быть необходимости думать о всяких callbacks, promises, yield и async, с чем пока что проблемы.

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

39. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 05-Май-15, 23:56 
>> не должно быть необходимости думать о всяких callbacks, promises, yield и async

Э... что? Аснхронность - главный плюс JS, а если приходится от "этом" думать, значит кто-то пишет бестолковый лапшакод. Кривые руки программиста не спасет ни одна парадигма/язык.

>> Java-style ООП не придумано

Читать до просветления - https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/
Прототипное ООП ничем не хуже, единственное - в JS нужно больше времени уделять типизации.

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

41. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 00:00 
Асинхронность - это свойство инфраструктуры, а не бизнес-модели. Если разница не ясна, читайте Эванса. До просветления, да. :-)

В JS проблема не в прототипности, а в отсутствии типизации и понятия интерфейса. Читайте Эванса, опять же.

Все эти проблемы, конечно же, относятся именно к уровню domain model - с инфраструктурным кодом проблем нет, он прекрасно пишется на JS.

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

43. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +2 +/
Сообщение от Аноним (-), 06-Май-15, 00:27 
>> Асинхронность - это свойство инфраструктуры, а не бизнес-модели.

А и не говорил обратного. Не надо демагогии.

>> а в отсутствии типизации

1. Типизация не может отсутствовать, она там как минимум динамическая (утиная).
2. Про проблемы типизации я писал, читайте внимательней.
3. Проблемы с типизацией в критичных местах обходятся с помощью shema типов в геттерах/сеттерах конструктора.

>> понятия интерфейса

В общем: больше классов богу классов, или когда ООП становится самоцелью?

>> Читайте Эванса

Кстати, лапшакод всегда быстрее ООП (Линус не даст соврать!), но это не руководство к действию, а просто информация к размышлению...

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

58. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 07:22 
я конечно другой аноним, но ты реально нубко.
> Кстати, лапшакод всегда быстрее ООП(Линус не даст соврать!)

если ты не понял ты сейчас оскорбил много программистов,
которые кодят гораздо лучше тебя.
> В общем: больше классов богу классов, или когда ООП становится самоцелью?

вы даже не понимаете походу зачем нужно ооп я правильно понимаю?
> 1. Типизация не может отсутствовать, она там как минимум динамическая (утиная).

с понятием типизации тоже у тебя тоже плохо, расскажи мне какая типизация у ассемблера или форта?

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

72. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 14:05 
Надергал цитат из контекста, дабы переврать изначальный смысл фразы? Поздравляю, теперь ты полноценный демагог. А теперь беги делать уроки.
Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +2 +/
Сообщение от arisu (ok), 06-Май-15, 18:21 
> Кстати, лапшакод всегда быстрее ООП

а также лучше, удобней и читаемей. код существ с ООП черепа нечитаем в принципе: чтобы понять, что делает myobj.mymethod(), надо отследить всё до момента, когда этот самый myobj создаётся — и только тогда можно узнать, какой же конкретно из перекрытых mymethod'ов вызвался.

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

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

86. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  –1 +/
Сообщение от Crazy Alex (ok), 07-Май-15, 01:22 
Э... вот ты иногда как сморозишь, сорри. В ООП есть ровно два варианта - либо у тебя с кодом в данной точке трабл, и тогда лог/отладчик прекрасно покажут, какой именно у тебя объект. Либо трабла нет, и тебе по определению должно быть пофигу, какой метод вызвался - ибо инкапсуляция - лишь бы класс свои контракты вополнял.

Ну нет там проблемы "непонятно, что за метод вызвался". Вообще нет. Во всяком случае, пока в ход не пошли извращения вроде прототипного наследования в JS - но это совсем-совсем другая песня.

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

92. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от arisu (ok), 07-Май-15, 10:35 
> Ну нет там проблемы "непонятно, что за метод вызвался". Вообще нет.

ну да, потому что опп‐код никто не читает.

а вообще — прекрасная иллюстрация, спасибо. чтобы прочитать и понять ооп‐код, без отладчика не обойдёшься. я столько писал‐писал, а ты одним предложением мегагвоздь вбил.

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

98. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от Crazy Alex (ok), 09-Май-15, 03:47 
Я, конечно, ООП-шник тот ещё - больше на сях с перлом писал, чем на плюсах или, тем более, джаве (а на плюсах - больше шаблоны гонял, чем наследование) - но проблемы "непонятно какой метод" не видел ни сам, ни вокруг себя. Вообще. По самой методологии ты и не должен знать, какой объект вызывается - пока он выполняет контракт. а если нет - то это проблемы того, кто объект тебе отдал. А если ты его сам создал - то ты знаешь точно, какой там тип, а уж что у него за методы - любая IDE тебе радостно покажет, если оно такое развесистое, что со взгляда не видно.

Это в JS тебе может через 20 коллбеков прилететь невесть что и через полчаса обвалить программу так как не имеет нужного метода или поля. А там, где обычные статически определённые классы/объекты - всё прозрачно. Вот в том же D  с его метапрограммированием - там да, что откуда взялось - не всегда понятно, и то больше с непривычки.

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

104. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от arisu (ok), 09-Май-15, 04:29 
> По самой методологии
> ты и не должен знать, какой объект вызывается - пока он
> выполняет контракт. а если нет - то это проблемы того, кто
> объект тебе отдал.

я, как уже говорил, с удовольствием бы жил в таком мире.

> Вот в том же D  с его метапрограммированием - там
> да, что откуда взялось - не всегда понятно, и то больше
> с непривычки.

в D обычно проще, потому что классами злоупотребляют только новички, остальные предпочитают структуры. поэтому достаточно попасть в call site, и там видно тип обычно.

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

93. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от Аноним (-), 07-Май-15, 10:37 
Если такие проблемы возникают, это плохой ООП-код, негодный. Злоупотребление наследованием вместо делегирования.
Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

94. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от arisu (ok), 07-Май-15, 10:40 
> Если такие проблемы возникают, это плохой ООП-код, негодный. Злоупотребление наследованием
> вместо делегирования.

я бы с удовольствием жил в мире, где все пишут только хороший код, но не знаю, как туда попасть. а при одинаковой рукожопости быдлокодера ООП разобрать сложнее, чем обычный процедурный — просто потому, что приходится больше листать.

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

99. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от Crazy Alex (ok), 09-Май-15, 03:52 
Вот не сказал бы. Объекты хочешь-не-хочешь, а заставляют хоть как-то код организовать. Как раз для рукожопых различие хорошо видно. Что до листания - один хрен в большой куче кода приходится пользоваться какими-то средствами навигации - хотя бы ctags, а лучше всё же чем-то, что синтаксис разумеет. А там всё равно всё в одном прыжке.
Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск io.js 2.0, форка серверной JavaScript-платформы..."  +/
Сообщение от arisu (ok), 09-Май-15, 04:26 
> Вот не сказал бы. Объекты хочешь-не-хочешь, а заставляют хоть как-то код организовать.

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

> Как раз для рукожопых различие хорошо видно. Что до листания -
> один хрен в большой куче кода приходится пользоваться какими-то средствами навигации
> - хотя бы ctags, а лучше всё же чем-то, что синтаксис
> разумеет. А там всё равно всё в одном прыжке.

в том‐то и дело, что не в одном. это в процедурном в одном: шмяк по имени — и попал в код. а вот в объектном… шмяк по имени — и попал в дурацкую заглушку в суперклассе. отлично, прелестно, великолепно. и бесполезно. после чего начинаются поиски, кто же нас сюда привёл, какими путями, и что же за объект в конце концов поступает. без отладчика — сизифова работа. то есть, без отладчика ооп нечитаем.

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

90. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 07-Май-15, 02:04 
>Я бы посмотрел на огромный проект с полноценной бизнес логикой на голом NGINX

Неосилятор

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

62. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от Аноним (-), 06-Май-15, 07:54 
>>> Прошло столько лет, а я так и не понял зачем писать сервера на джаваскрипте o_0 .
>> не искать дабы программеров на сях. чисто бизныс.
> Сервер напрямую на сях? Ох уж эти диванные аналитики с опеннета.

критерий тролля: переход с разумных доводов на эмоции.

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

66. "Выпуск io.js 2.0, форка серверной JavaScript-платформы Node...."  +/
Сообщение от LU (?), 06-Май-15, 09:58 
Вот и я не пойму, к чему это извращение?...
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

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

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




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

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