Re[14]: на чём писать бэкенд?
От: mogadanez Чехия  
Дата: 10.04.19 14:12
Оценка:
Здравствуйте, Calc, Вы писали:

C>а node.js научился слипы параллельно делать?


все еще сингл тред, потому что никому не нужно другое
Re[15]: на чём писать бэкенд?
От: Calc Россия  
Дата: 10.04.19 14:14
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, Calc, Вы писали:


C>>а node.js научился слипы параллельно делать?


M>все еще сингл тред, потому что никому не нужно другое


мне просто приходилось спасать проект, который был по незнанию написан как параллельные вычисления, но делались в одном потоке.
А почему никому не нужно другое? Много языков позволяют сделать просто fork или подключить человеческий Rx с очередями.
Re[16]: на чём писать бэкенд?
От: mogadanez Чехия  
Дата: 10.04.19 14:26
Оценка:
Здравствуйте, Calc, Вы писали:

C>мне просто приходилось спасать проект, который был по незнанию написан как параллельные вычисления, но делались в одном потоке.

C>А почему никому не нужно другое? Много языков позволяют сделать просто fork или подключить человеческий Rx с очередями.

потому что длинные вычисления в рамках веб сервера делать плохо,
если нужно делается нормальная очередь за пределами веб сервера
если нужно эффективнее использовать железо — просто запускается несколько процессов
Re[17]: на чём писать бэкенд?
От: Calc Россия  
Дата: 10.04.19 14:30
Оценка:
Здравствуйте, mogadanez, Вы писали:

M>Здравствуйте, Calc, Вы писали:


C>>мне просто приходилось спасать проект, который был по незнанию написан как параллельные вычисления, но делались в одном потоке.

C>>А почему никому не нужно другое? Много языков позволяют сделать просто fork или подключить человеческий Rx с очередями.

M>потому что длинные вычисления в рамках веб сервера делать плохо,

M>если нужно делается нормальная очередь за пределами веб сервера
M>если нужно эффективнее использовать железо — просто запускается несколько процессов

В рамках запрос-ответ согласен, вопрос тогда в WebScoket и socket.io, тут архитектура уже может подразумевать какие либо вычисления, смена статусов, слипы и т.д. Такие подключения тоже в одном потоке работают?
Re[18]: на чём писать бэкенд?
От: mogadanez Чехия  
Дата: 10.04.19 14:40
Оценка:
Здравствуйте, Calc, Вы писали:

C>В рамках запрос-ответ согласен, вопрос тогда в WebScoket и socket.io, тут архитектура уже может подразумевать какие либо вычисления, смена статусов, слипы и т.д. Такие подключения тоже в одном потоке работают?


ну формально во многих потоках т.к. в реальном средне нагруженном приложении более одного инстанса сервера

какое вычисление в смене статуса?

про слипы вообще не понял
Re[11]: на чём писать бэкенд?
От: novitk США  
Дата: 10.04.19 15:08
Оценка: +1 -1
Здравствуйте, Cyberax, Вы писали:

C>Scala? LOL.

C>Продуктивность определяется не тем, какие в языке есть средства метапрограммирования и мега-супер-фичи, а удобством обычной разработки и отладки.
Как в Яве с такой мегафичей "обычной разработки и отладки" как repl?
Динамика с метапрограммированием говоришь не нужно? А что делать когда она таки нужна "правильному джависту"? Правильно, используй IoC и еще кучу файлов на всех возможных форматах разметок и убогим синтаксисом для каждой библиотеки. Отладка? "методом тыка"! Навигация? Попросите JBrains, они может быть сделают для вас плагинчик. Неправильные джависты" еще используют Groovy и прочую гадость. Получился продуктивный зоопарк.

C>Т.е. как быстро подключить библиотеки, как делать навигацию по исходникам (простейший Find Usage спасает часы разработки) и как отлаживать.

Find Usage с аннотацией в Py3 работает нормально. find/grep никто не отменял. За время пока ту создашь нужное для поиска проблемы в Яве окружение, пэтч на питоне уже уйдет в продакшн.

C>Краткость написания list comprehensions — где-то на 20-м пункте по важности.

Для меня нет. Говнокод не нужен, но любителям Go не понять.
Re[11]: на чём писать бэкенд?
От: novitk США  
Дата: 10.04.19 15:32
Оценка:
Здравствуйте, Слава, Вы писали:

N>>Продуктивность по-сравнению с питоном садится в разы. Проверенно не на убогом Котлине, а на Скале.

С>Работать вообще надо меньше.

Безусловно, поэтому продуктивность очень важна. Теперь на компанию можно работать всего час в день, выполняя туже работу.
Re[12]: на чём писать бэкенд?
От: WolfHound  
Дата: 10.04.19 15:35
Оценка:
Здравствуйте, neFormal, Вы писали:

WH>>А вот с этого места подробнее.

WH>>Что же такого полезного могут динамически типизированные языки?
F>позволяют в коде менять поведение в зависимости от входных данных
Что? Примеры можно?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: на чём писать бэкенд?
От: WolfHound  
Дата: 10.04.19 15:35
Оценка: +1
Здравствуйте, Буравчик, Вы писали:

WH>>Что же такого полезного могут динамически типизированные языки?

Б>Могут все то же, что и статически типизированные.
А ещё машины Тьюринга может то же самое.

Б>Почему появилось много удобных библиотек? Наверное, потому что язык позволяет делать библиотеки удобнее, за счет динамичности и интерпретируемости.

Это ты откуда взял?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: на чём писать бэкенд?
От: Dair Россия https://dair.spb.ru
Дата: 10.04.19 20:20
Оценка: +1
Здравствуйте, AleksandrN, Вы писали:

AN>Какой стек технологий вместо LAMP используют? Про AJAX я слышал, а на стороне сервера чем запросы обрабатывают и в БД взаимодействуют?


Когда я познакомился с аббревиатурой LAMP, она означала Linux, Apache, MySQL, Perl.
Re[13]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 10.04.19 20:23
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>>>А вот с этого места подробнее.

WH>>>Что же такого полезного могут динамически типизированные языки?
F>>позволяют в коде менять поведение в зависимости от входных данных
WH>Что? Примеры можно?

банальный пример с гетерогенными списками
очень актуально для конфигов, где в одном списке могут лежать разные структуры данных
в некоторых статических языках это можно ещё быстро описать, но мейнстримовые требуют довольно много действий, и большинство программистов этого старательно избегают
а если события происходят в какой-то готовой системе, то там вообще нереально таким воспользоваться
в динамике с этим в разы проще, т.к. на лету можно понять, с чем ты работаешь
...coding for chaos...
Re[12]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 10.04.19 20:24
Оценка:
Здравствуйте, novitk, Вы писали:

N>Как в Яве с такой мегафичей "обычной разработки и отладки" как repl?


строго говоря, реплы для жявы есть, но это фактически то же самое, что написать коротенький скрипт. без main'а никуда
...coding for chaos...
Re[13]: на чём писать бэкенд?
От: AleksandrN Россия  
Дата: 10.04.19 20:28
Оценка:
Здравствуйте, Dair, Вы писали:

D>Когда я познакомился с аббревиатурой LAMP, она означала Linux, Apache, MySQL, Perl.


Потом буква P означала Perl/PHP. PHP вытеснил Perl из веб-разработки и я думал, что PHP остаётся основным языком для веб-разработки на стороне сервера. А в этой теме пишут, что это уже не так.
Отредактировано 10.04.2019 20:37 AleksandrN . Предыдущая версия .
Re[11]: на чём писать бэкенд?
От: neFormal Россия  
Дата: 10.04.19 20:29
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>>Половины этого уже точно нет, плюс половину того, что там написано никто не делает.

НС>Оставшейся половины вполне достаточно, чтобы признать PHP кошмаром. Тем более что про половину ты сильно преувеличил.

вообще у пхп есть своя хорошая ниша: контентные наработки
например, банальные форумы и прочие штуки лучше сделаны на пхп, поэтому для бизнеса оно быстрее и дешевле
...coding for chaos...
Re[12]: на чём писать бэкенд?
От: Ночной Смотрящий Россия  
Дата: 10.04.19 20:33
Оценка:
Здравствуйте, neFormal, Вы писали:

F>например, банальные форумы и прочие штуки лучше сделаны на пхп, поэтому для бизнеса оно быстрее и дешевле


Это не делает пхп хорошим языком.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[14]: на чём писать бэкенд?
От: Dair Россия https://dair.spb.ru
Дата: 10.04.19 20:36
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>Потом буква P означала Perl/PHP. PHP вытеснил Perl из веб-разработки и я думал, что PHP остаётся основным языком для разработки на стороне сервера. А в этой теме пишут, что это уже не так.


Ну как бы современный веб — это статический js-фронтенд (чаще всего на каком-нибудь React или Angular), который на бекэнд ходит за данными в формате json. PHP для этого ну вообще не нужен.
Re[15]: на чём писать бэкенд?
От: AleksandrN Россия  
Дата: 10.04.19 20:47
Оценка:
Здравствуйте, Dair, Вы писали:

D>Ну как бы современный веб — это статический js-фронтенд (чаще всего на каком-нибудь React или Angular), который на бекэнд ходит за данными в формате json. PHP для этого ну вообще не нужен.


Что в современном вебе в БД, при необходимости, лезет и как с фронтэндом общается, самостоятельно сервер поднимает или через Apache/nginx/IIS?
Re[12]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 10.04.19 21:33
Оценка:
Здравствуйте, neFormal, Вы писали:

C>>>Половины этого уже точно нет, плюс половину того, что там написано никто не делает.

НС>>Оставшейся половины вполне достаточно, чтобы признать PHP кошмаром. Тем более что про половину ты сильно преувеличил.
F>вообще у пхп есть своя хорошая ниша: контентные наработки
F>например, банальные форумы и прочие штуки лучше сделаны на пхп, поэтому для бизнеса оно быстрее и дешевле
Самый популярный сейчас форум (Discourse) написан на Ruby.
Sapienti sat!
Re[14]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 10.04.19 21:35
Оценка:
Здравствуйте, neFormal, Вы писали:

F>банальный пример с гетерогенными списками

F>очень актуально для конфигов, где в одном списке могут лежать разные структуры данных
1) Не надо так делать.
2) Какие проблемы-то?

F>в некоторых статических языках это можно ещё быстро описать, но мейнстримовые требуют довольно много действий, и большинство программистов этого старательно избегают

List<Object> — Java, []interface{} — Go, std::list<void*> — C++, ...
Sapienti sat!
Re[12]: на чём писать бэкенд?
От: Cyberax Марс  
Дата: 10.04.19 21:42
Оценка: +2 -1
Здравствуйте, novitk, Вы писали:

C>>Продуктивность определяется не тем, какие в языке есть средства метапрограммирования и мега-супер-фичи, а удобством обычной разработки и отладки.

N>Как в Яве с такой мегафичей "обычной разработки и отладки" как repl?
Есть. В самой удобной форме — можно остановиться на breakpoint'е и в отладчике выполнить произвольный код. Есть чистый REPL в виде JShell, но мало кому интересен.

N>Динамика с метапрограммированием говоришь не нужно?

Не нужно.

N>А что делать когда она таки нужна "правильному джависту"?

Не использовать метапрограммирование.

N>Правильно, используй IoC и еще кучу файлов на всех возможных форматах разметок и убогим синтаксисом для каждой библиотеки. Отладка? "методом тыка"! Навигация? Попросите JBrains, они может быть сделают для вас плагинчик. Неправильные джависты" еще используют Groovy и прочую гадость. Получился продуктивный зоопарк.

IoC можно делать без всяких фреймворков, я так и делаю в Golang, например. Навигация по Spring работает безупречно, так что на практике это не проблема.

Меня не интересуют теоретические возможности или невозможности, мне нужны практические инструменты, которые могут масштабироваться на проекты в миллионы строк.

C>>Т.е. как быстро подключить библиотеки, как делать навигацию по исходникам (простейший Find Usage спасает часы разработки) и как отлаживать.

N>Find Usage с аннотацией в Py3 работает нормально.
А с нормальными типами — ещё лучше.

N>find/grep никто не отменял. За время пока ту создашь нужное для поиска проблемы в Яве окружение, пэтч на питоне уже уйдет в продакшн.

Нет, пока я в IDE нажму Alt-F7 и напишу патч с тестами — в Питоне всё ещё будет разворачиваться venv, тщетно пытаясь скомпилировать код на Cython.

C>>Краткость написания list comprehensions — где-то на 20-м пункте по важности.

N>Для меня нет. Говнокод не нужен, но любителям Go не понять.
Это просто у тебя опыта работы нет. Иначе знал бы, что твоя собственная нетленка — это тот же говнокод.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.