k12th
+5

Такая же ошибка. ООП !== статическая типизация.


В остальном, в принципе, согласен.

k12th
+2
Но на JS плохой код писать проще, чем на языках с ООП.

Такое замечание сильно дискредитирует статью.

k12th
+1
Вот интересно, почему map/reduce медленнее циклов?

Да просто вызов функции это относительно дорого.
А еще все эти map/reduce/forEach делают кучу дополнительных проверок на каждом шагу, потому что должны работать с разреженными массивами, с массивами, в которых кто-то напихал кастомных свойства и прочими граничными случаями. Я не помню, как называлась либа, но там были на порядок более быстрые реализации всего этого дела — но которые работали только с «нормальными» массивами.


Ведь любой map можно разложить в эквивалентный ему цикл for
Теоретически можно транслировать map в for на лету

Мне кажется, это возможно только если итератор — чистая функция...


Ну ладно, map мы разложили в for автоматом, а если гений типа автора написал filter().map()? В общем, по хорошему, нужна поддержка частых ФП-паттернов, всяких там трансдьюсеров, и, возможно, у авторов движков дойдут до этого руки, если это станет достаточно частым сценарием.

k12th
0

Ну вот теперь, пожалуй, можно писать под Android.

k12th
+8

Конечно, я тоже люблю красивый код. Просто писать "смерть for" как-то тупо.

k12th
+14

Я сомневаюсь, что внутри несомненно любимого автором функциональненького React найдется так много map/reduce вместо циклов. Проблема в том, что безблагодатные императивные циклы существенно быстрее красивых трансдьюсеров, а, значит, в узких местах будут применяться они.


break это не goto, он не отправляет тебя в неизвестное произвольное место.

k12th
+3
загрузил в базу кода

заменёна чем-то немного более хорошим

Что случилось, у вас же были всегда хорошие переводы?

k12th
0

Странно советовать Debian+XFCE с формулировкой "проблемы с *.deb-пакетами". Если это действительно проблема, то есть же Xubuntu.

k12th
0

Понял. Я просто думал там есть какое-то общего назначения решение для логов.

k12th
0
k12th
0
купили parse и закрыли его

а что, кроме parse BaaS больше нету? firebase вот мелькает, была даже какая-то штука заточенная под игры (кто напомнит название)?

k12th
0

Осталось только научить датчики на МК сообщать, в цельсиях они температуру передают или в фаренгейтах.

k12th
–1

Еще говорят «в калидоре» и «ло́жить», да.

k12th
0

Скандинавского языка не существует:)

k12th
0

Вот это щас обидно было!


А вы вообще заметили, в каком месте он находится на графике?

k12th
+23

Как круто, автор наконец изобрел универсальную объективную метрику "красоты и естественности кода"! Ну вот теперь заживем, теперь-то узнаем, кто говнокодит, а кто рефакторингом занимается! Интересно, в чем она измеряется, в сусликах/1k LOC, или еще как-то? Хотелось бы так же узнать точные значения для js/perl/python/ruby и прочих неудачников из левого нижнего угла, чтоб выяснить раз и навсегда, кто наименее отстойный.

k12th
+5

Стильно.


Но… писать на clojure, чтобы потом писать в JVM-байткодах?

k12th
+1

Офигенное API. Но вроде бы работает, справедливости ради.

k12th
0
Вся ваша типизация ломается ровно тогда когда вы начинаете колбэки использовать

Видно, что вы даже не пробовали.


А решается эта типизация простым человеческим наименованием переменных.

Почитайте что Спольски пишет про венгерскую нотацию.

k12th
+1

В статье и говорится, что это compile-time проверка, а не run-time.

k12th
+2

Как раз венгерская нотация — самая вредная и бесполезная хрень в этом деле. Кое-где можно встретить JS с ней, это ужасно.

k12th
+1

На самом деле это удобно.
Я очень долго скептически относился к белкам-истеричкам из лагеря Java и ей подобных (потому что там это действительно ужасно), но по факту с современными инструментами очень удобно писать (и читать чужой) явно типизированный JS.

k12th
+3

Не уверен, что одобряю эту идею. Помнится, были предложения включать jQuery прямо в состав браузера — мол, все равно 95% сайтов его использует. Никто не стал этого делать, и слава богу.

k12th
+4

Да? И как там вывести дату в формате DD.MM.YYYY?

k12th
+1
На ES6+ писать намного приятней, чем на ES5.

Кто спорит?


https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart

Это можно и нужно было сделать еще в ES5, а попадет это только в ES2017.

k12th
+5

Мне кажется, что комитет слишком увлекся синтаксическими плюшками в ущерб стандартной библиотеке. async/await это здорово, конечно, но для вменяемой работы с датами надо до сих пор ставить сторонний пакет, а ведь это гораздо проще стандартизировать и полифиллить, чем новый синтаксис. Проблемы с left-pad можно было легко избежать, если бы этот метод был в стандартной библиотеке.

k12th
+2

При поиске по истории, повторное нажатие сtrl+r показывает предыдущий найденный результат.

k12th
0

Nope. Есть пила для пиления поперек волокон, есть пила для пиления вдоль и есть универсальные (пилят и так и эдак, но похуже). Но споров не будет — плотники-то знают, какая пила для чего.


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

k12th
0

Плотники зато знают, какая пила пилит быстрее:)

k12th
+4

Ну тогда у вас не должно быть проблем с 1ES.

k12th
0

TFS умрет, счастье-то какое.

k12th
+3

Оригинал 2013 года, в мире nodejs это геологическая эпоха.

k12th
+3

Прогресс заметный, но все равно. Должны быть очень веские причины тащить в проект 2.7 мега одног только рантайма.

k12th
+11

Не то что я особый поклонник React и ненавистник Scala, но не является ли это очередным случаем "я считаюсь fullstack, но ниасилил React и вообще фронт не люблю"?


что приложение на фреймворке Binding.scala содержит всего 154 строки кода

А сколько весит scala.js (имеется ввиду скаловский runtime)? Года три назад было 20 мегов.

k12th
+1

Спасибо, стало понятнее. А вершинные шейдеры тоже получают униформные переменные или как?

k12th
+2

Интересно, почему переменные называются юниформные? И откуда они берутся? Если их передает ShaderToy, то, получается, в голом JS без обвязки написанные шейдеры перестанут работать? Если нет, то где полный список?

k12th
+4

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

k12th
0

А webpack может в серверный рендеринг? Такой же точно вопрос.