Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
Мне кажется что перфекционизм это когда твоя программа состоит из минимума букв.
24 май 20, 14:08    [22138529]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
mayton
Мне кажется что перфекционизм это когда твоя программа состоит из минимума букв.


Ни в коем случае.

Стремление к минимуму букв, к экономии каждого тика процессора, каждого байта передачи, это всё к перфекционизму ну никак не относится.

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

Перфекционизм, скорее, это отсутствие костылей, кривых решений, полумеров и аккуратный код.
25 май 20, 01:45    [22138738]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
mayton,

Ох, хочется прокомментировать :)


mayton
Ну а json - это вообще эпика. Можно отдельный тип данных вводить сразу. Что вобщем-то
в JavaScript реально хорошо сделано так это нативная интеграция ООП и JSON. Это то
чего другие языки должны заимстовать.


Не могу согласиться. JSON это лишь текстовый формат передачи данных, и не интегрирован в JavaScript. Прошу почитать внимательно: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/JSON

Ты наверное имеешь в виду словари. Так они везде есть в современных языках, ничуть не хуже и даже лучше. Кроме этого в других языках есть настоящие объекты в виде экземпляров классов, в то время, как в JavaScript ООП нету, но есть неплохая его имитация (с оговорками). Да и вообще это просто эпическое сборище костылей. Так что восхищаться можно только тем, как это чудовище выжило, дожило до наших дней, да ещё и обрело такую популярность :)


mayton
Ну и новые веяния в подходах к параллелизму. Класические вычислительные модели
на потоках - полностью провалились. Их заменяют на что-то лайтовое. Асинки. Уступчивые
функции. Тонкие потоки-фиберы.


Не совсем понял, почему провалились, да её и полностью. Откуда дровишки?
25 май 20, 02:00    [22138742]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
hVostt
Ты наверное имеешь в виду словари. Так они везде есть в современных языках, ничуть не хуже и даже лучше

Со стат типизацией там в общем случае будет что-то типа jackson:
int z = x.get("a").get("b").asInt() + y.get("a").get("b").asInt();

вместо
var z = x.a.b + y.a.b;


hVostt
Кроме этого в других языках есть настоящие объекты в виде экземпляров классов

А в js экземпляры объектов фальшивые?


hVostt
, как в JavaScript ООП нету

Что нельзя реализовать из ООП на js? В яве, например, нету множественного наследования. Совсем. В js это можно легко приделать.
25 май 20, 04:32    [22138761]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
hVostt
Не совсем понял, почему провалились, да её и полностью. Откуда дровишки?

От того, что сложна и рядовой кодер скорее обделается, устроит дедлоков, трудноуловимых ошибок и пляски с переключением контекста чем выдаст что-то рабочее.
25 май 20, 04:35    [22138762]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
hVostt

mayton
Ну и новые веяния в подходах к параллелизму. Класические вычислительные модели
на потоках - полностью провалились. Их заменяют на что-то лайтовое. Асинки. Уступчивые
функции. Тонкие потоки-фиберы.


Не совсем понял, почему провалились, да её и полностью. Откуда дровишки?

Это мой старый боян который еще не порван. Топик назывался Тяпничная мультипоточность....
Не могу его найти чет.
25 май 20, 11:40    [22138923]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
hVostt

Ты наверное имеешь в виду словари. Так они везде есть в современных языках, ничуть не хуже и даже лучше. Кроме этого в других языках есть настоящие объекты в виде экземпляров классов, в то время, как в JavaScript ООП нету, но есть неплохая его имитация (с оговорками). Да и вообще это просто эпическое сборище костылей. Так что восхищаться можно только тем, как это чудовище выжило, дожило до наших дней, да ещё и обрело такую популярность :)

Словари-то есть. Но они не всегда по синтаксису удобны для конструирования in-place. Согласись JavaScript удобнее.

Как это чудовище выжило? Я думаю это был мягкий пластилин из которого можно было лепить любые
структуры данных (наподобие Lisp (Ха... кстати вспомнил еще один исторический факт где судьбы
Js и Lisp переплетались)) и благодаря этой мягкости мы имеем сегодя 100500 фреймворков на JavaScript
и хотя большая часть из них не покидает девелоперских инкубаторов - тем не менее она продуктивнее
чем Java по количеству форков и коммитов в ГитЛабе. Ну так было по состоянию на 2015-17 год. Как щас не знаю.
25 май 20, 11:46    [22138929]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
Вот этот боян.

https://www.sql.ru/forum/1303834/tyapnichnaya-budushhaya-multipotochnost

Уж прошу вас - зайдите да порвите его вконец. Он уже и мне надоел.
25 май 20, 11:48    [22138931]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
crutchmaster
hVostt
Кроме этого в других языках есть настоящие объекты в виде экземпляров классов

А в js экземпляры объектов фальшивые?


По сути да. Фальшивые.

crutchmaster
Что нельзя реализовать из ООП на js? В яве, например, нету множественного наследования. Совсем. В js это можно легко приделать.


И на Си можно реализовать ООП и какое угодно наследование.
По секрету вам скажу, что и в Яве можно легко реализовать множественное наследование через декоратор.


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

Которые в JavaScript лишь имитируются и держатся исключительно на честном слове. Это одновременно и слабость и сила языка. При разработке крупных enterprise приложений, это не просто слабость, это полный буллшит, который грозит крупными проблемами, что недопустимо. Поэтому он в этой сфере не популярен (на стороне бекенд).
26 май 20, 00:03    [22139385]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
crutchmaster
hVostt
Не совсем понял, почему провалились, да её и полностью. Откуда дровишки?

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


Тогда рядовому кодеру JavaScript вообще в руки давать нельзя. Там чего только нельзя сделать ))
26 май 20, 00:03    [22139386]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
mayton
и благодаря этой мягкости мы имеем сегодя 100500 фреймворков на JavaScript


Я думаю, что дело не в мягкости.

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

Я вот провожу собеседования фронтенд и бекенд разработчиков.
Что интересно. При одном уровне ЗП (примерно), средний бекенд разработчик на 2-3 головы выше с точки зрения знания принципов, основ и методологий разработки ПО, вообще программирования, и глубины в понимании работы программ (любых).
Это не 100% так, но в абсолютном большинстве.
Просто фронтам это не нужно.

Сообщение было отредактировано: 26 май 20, 00:10
26 май 20, 00:11    [22139390]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 556
глубже всего понимание даёт C/C++
фронтендам они недоступны
26 май 20, 04:00    [22139431]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
hVostt
Тогда рядовому кодеру JavaScript вообще в руки давать нельзя. Там чего только нельзя сделать ))

Трудно с вами на согласиться, чёрт возьми.
26 май 20, 04:13    [22139435]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
hVostt
Но Java гарантирует

Ну так то гарантии, а не возможности. Ява с рефлексией тоже начинает гарантировать меньше.
hVostt
При разработке крупных enterprise приложений, это не просто слабость, это полный буллшит

Ну как. Кто-то разрабатывал по крупному, но там были микросервисы и всё что касалось контрактов ушло на уровень выше. Монолит конечно, не стоит писать на таких языках, их особенности форсят делать вот эти все микросервисы и микромодули.

Сообщение было отредактировано: 26 май 20, 05:25
26 май 20, 05:25    [22139441]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
Алексей Роза
глубже всего понимание даёт C/C++
фронтендам они недоступны

Понимание чего?

У этих ребят задача - рисовать divы и cssы.

Какое такое сакральное знание вы хотите им открыть?
26 май 20, 08:28    [22139464]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
mayton,

А еще обрабатывать события, ловить исключения, делать адаптивную вёрстку и поддерживать старых ишаков. В плюсах, по сравнению с этим, всё просто и понятно.
26 май 20, 08:45    [22139472]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
crutchmaster
hVostt
Но Java гарантирует

Ну так то гарантии, а не возможности. Ява с рефлексией тоже начинает гарантировать меньше.


Я просто хотел сказать, что обеспечение гарантии -- это и есть возможность :)
Это не значит, что на JavaScript совсем нельзя обеспечить гарантии. Их просто руками нужно будет сделать, много лишних проверок, которые не могут быть обеспечены на уровне языка.
26 май 20, 10:23    [22139526]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
hVostt

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

Интеренно что идеи прототипирования и декорирования Js очень тесто переплетаются с идеями Егора Бугаенко
под Java. (Он - автор книги Elegant Objects если кто не в курсе).
26 май 20, 10:43    [22139534]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
hVostt
Member

Откуда:
Сообщений: 17937
mayton
Интеренно что идеи прототипирования и декорирования Js очень тесто переплетаются с идеями Егора Бугаенко
под Java. (Он - автор книги Elegant Objects если кто не в курсе).


Я бы не стал это так тесно увязывать с языком. В этих трудах можно легко разглядеть GOF, Александревски, Фаулера и многих других.
26 май 20, 11:02    [22139547]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
hVostt
Я просто хотел сказать, что обеспечение гарантии -- это и есть возможность :)

Я просто столкнулся с тем, что это всё никакого особого выхлопа не даёт. Во-первых в большом приложении легко устроить сильную связанность всего со всем. Т.е. вроде бы это и хорошо, что есть контракты и что когда что-то где-то меняешь проект просто не соберётся, но сильно легче от этого не становится. Когда переезжают на микросервисы смысл стат. типизации вообще теряется.

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

Ну, по факту и на жабке приходится всё, кроме типа, проверять руками, начиная с null. А если работаешь с микросервисами, то вообще пропадает смысл возиться с типами.
26 май 20, 11:04    [22139549]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 556
mayton
Алексей Роза
глубже всего понимание даёт C/C++
фронтендам они недоступны

Понимание чего?

У этих ребят задача - рисовать divы и cssы.

Какое такое сакральное знание вы хотите им открыть?

hVostt
Я вот провожу собеседования фронтенд и бекенд разработчиков.
Что интересно. При одном уровне ЗП (примерно), средний бекенд разработчик на 2-3 головы выше с точки зрения знания принципов, основ и методологий разработки ПО, вообще программирования, и глубины в понимании работы программ (любых).


Сообщение было отредактировано: 26 май 20, 11:12
26 май 20, 11:13    [22139558]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
crutchmaster

Ну, по факту и на жабке приходится всё, кроме типа, проверять руками, начиная с null. А если работаешь с микросервисами, то вообще пропадает смысл возиться с типами.

Не согласен насчет проверок руками. В контексте сравнения с groovy, мы имеем определённые законы
и гарантии касающиеся фазы компилляции. Компилляция прошла успешно - мы можем говорить что
типизацию мы не сломаем нигде. Разумеется даункастинг и рефлексию мы рассматриваем
пристально. Под сквозь призму Sonar/PMD/FindBug. И по каждому warning принимем решение.
Либо ставим соотсв @SuppressWarning("...") либо исправляем возможные последствия.
26 май 20, 11:14    [22139559]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
Алексей Роза. Я еще раз повторю свой вопрос. Что изменится после того как ты
откроешь такому фронт-кодеру весь пласт знаний про шаблоны проектирования и прочее?

А.. наверное ты хотел сделать его back-разработчиком? Наверное у тебя - бесконечный поток
кадров и ты - эдакий благородный ресурсный менеджер? Ты способствуешь быстрой текучке?

Зачем тебе это?

Сообщение было отредактировано: 26 май 20, 11:16
26 май 20, 11:17    [22139561]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1491
mayton
типизацию мы не сломаем нигде.

Если кодовая база огромная, это да, играет роль. А если сервисы маленькие, то типизацию мы и так не сломаем, т.к. всё на виду. В любом случае всё сразу всплывёт на модульных тестах, которые и так делают везде.
Причём, "сломать" типизацию можно невалидным входным запросом, поэтому нет смысла вообще заворачиваться.
26 май 20, 11:26    [22139572]     Ответить | Цитировать Сообщить модератору
 Re: Создатель Node.js: Для серверов я не могу представить другой язык кроме Go  [new]
mayton
Member

Откуда: loopback
Сообщений: 47949
Ну мне как-то микросервисы попадались не как декомпозиция монолита. А как скорее
уже отдельные проекты и в них были свои задачи. И если ставить такое упрощение
что 1EC2 instance == 1 microservice или 1 docker instance то они в силу архитектурных
обстоятельств стремятся заполнить своим телом все доступное пространство. И как следствие
они были не такие уж микро. По сути экземпляры бизнес-процессов которые имели как минимум
1 ендпоинт. И типизация им была все равно нужна.

Ну разве что в лямбдах можно где-то схитрить и написать лямбду на Node.Js.
26 май 20, 11:35    [22139580]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
Все форумы / Программирование Ответить