Pull to refresh
42

Инженер

15
Subscribers
Send message
М… Есть другие варианты?
Точно так. См. п. 1 озвученной выше позиции.

Потому что количество комментариев оставленных пользователем — это целое число. Их не может быть 2.5 или 0.349. Если в счётчике дискретных событий любая другая хрень приложение должно упасть и указать на причину ошибки, а не корчить из себя Deep Blue приводя, парся и генерируя случайные числа.

Проблема JS в том, что он а) не позволяет корректно моделировать такие объекты, б) навязывает эту проблему всему окружению.
Много на чём (: Конкретно падавший компонент на Scala.
Я уже около года потихоньку отсматриваю Introduction to Algorithms. Счётчик просмотра ведёт себя точно так же. На первой лекции около 11 000, на 13 (не ржать, я же говорю потихоньку отсматриваю) уже около 2 000. В общем с упорством и последовательностью у людей плохо.

PS Я что одни связался с DB классом?
Ок. С начала. Есть mongodb, милая такая база данных с одним маленьким дефектом, дефолтная её консоль реализована как JS интерпретатор.

В силу кривизны рук в одну из записей просачивается неверное целое значение, которое надо быстро исправить.

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

Моя позиция:
1. 1 — должно быть целым числом. В любом случае, всегда, это базовое условие для существования добра во вселенной.
2. Если это невозможно из-за совместимости со стандартом 15 летней давности должна быть возможность оперировать с целыми числами хотя бы хреново с конструкциями вроде Integer(2)+Integer(5).
3. Интерпретатор должен предупреждать что собрался проинтерпретировать ввод пользователя чрез жопу.
И что в них не полноценно?
Это не важно. Важно что простой и очевидный способ исправить ошибку привёл к полному обрушению приложения.
Всё, кроме «нативной асинхронной модели» есть в Python, Ruby(хотя я его тоже недолюбливаю), многочисленных LISP'ах, Lua.
Что такое «нативная асинхронная модель» я не знаю :(
Реальный пример: при миграции БД произошла ошибка и в один _очень важный счётчик_ записалося 0 вместо 1. Я пишу db.records.update( {_id: <bla-bla-bla>}, {$set: {my_counter: 1}}). Что бы Вы думали? Правильно! Всё нах поломалось!
Почему? Потому что в «мощный объектно-ориентированный язык» не в курсе про целые числа. Ваще. Их нельзя создать, ими нельзя оперировать, их по-человечески нельзя даже отправить наружу.
Теперь все служебные скрипты я пишу на Python.
Большая. Но я озвучил выше за что её платят. Не берусь сравнить её с С, но некий смысл прослеживается. За что конкрено платят в JS?
В C++ можно посмотреть ассемблер на выходе, подумать что в нём не нравиться и сделать так чтобы нравилось. На нём можно при необходимости выжимать из железок абсолютно всё. Я не фан оптимизации и не пишу на C++, но я могу понять людей которые его терпят за такую возможность. А что такого предлагает JS что в нём терпят многие сотни возможностей отстрелить себе ногу я не понимаю.
Не ничего, всё хорошо. Непредсказуемый результат == это как раз то, что нужно для быстрого и качественного программирования.
Господибожемой. Да при чём тут производительность и прототипы. Почитайте wtfjs и подумайте сколько за каждым из постов убитых человекочасов. А потом (только без соплей про обретённую в замен мощь и гибкость) переведите в деньги.
> Уже отвечая на вопросы после доклада случился форс-мажор
Неправда. На вопросы после доклада отвечал тоже я, а никакой не форс-мажор.
Так, а это что такое? А ну не расслабляемся, троллим тонко, вкусом, не портим топик.
> Если вы вызываете функцию с невалидными параметрами — это одно. Это не исключительная ситуация, это исключительно кривые руки.
Да ни при чём тут руки. Интерфейсы в живых программа меняются. Валидное вчера может не быть таковым сегодня. И стать снова валидным завтра. В большом проекте вызов функции из соседнего модуля не многим надёжнее запроса по сети к БД.
Я призываю лишь внимательно читать, прежде чем писать ответ.
> хотелось бы услышать ваши комментарии по данному методу оценки знаний
Вспухший от безделья министр решил освоить ещё пару миллиардов. Не обращайте внимания, на местах ничего не изменится :)

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity