уповноважений по милицях в Дарницькі печери
  • Чем мне нравится JavaScript

    Я б не ставил perl «в один ряд с», кабы не одна ситуация — рассказываю именно в таком виде, как сам столкнулся, чтобы живее было:) VoIP свич, конфигуратор передаёт правила раутинга. Управляющий код на Perl, трансфер правил в YAML. Тестеры говорят «нихрена не работает», идём разбираться... тестовые префиксы номеров вида 000999 передаются в свич в виде... 999! Пока YAML dumper’у не сказали, что все скаляры считать строками, он не начал правильно посылать. Оказалось, что средствами самого языка нельзя отличить скаляр — число от скаляра — представления этого числа в виде строки... на уровне C и работы со структурой SV — можно, да кто ж туда пойдёт возиться. То, что операции разделены — уже хорошо — не такой кошмар, но невозможность различить типы скаляра местами очень вредит. А хохмы типа «0» как false, но «00» как true? Это из той же оперы:( В Питоне сделано лучше — любая непустая строка это true, а если предполагается число — зовите int() явно.

  • Чем мне нравится JavaScript

    LOL, спасибо:))

  • Чем мне нравится JavaScript

    Ценителю кривых недоязычков надо бы научиться различать строгую и статическую типизацию, чтобы не выглядеть банальным невеждой. Для работы данного примера нужна динамическая типизация. Динамическая типизация — это как в Python, Ruby, Erlang, LISP и ещё куче мест, где тип переменной не задаётся и может быть любым из известных, но операции с ним всё равно такие. какие позволены типу. А вот когда (хрестоматийный пример про JS) ’5’-3==2, но ’5’+3==53, это никакой динамикой не объяснить, это банальный бред, мокрая рваная тряпка вместо строгой типизации.

    JS отвратителен не динамической типизацией, не поддержкой DOM, не JSON, не замыканиями и ничем подобным, но 1) слабой типизацией с непресказуемыми эффектами, 2) кучей дебильных решений по синтаксису, которые взрываются самым неожиданным образом, 3) аналогичных проблемах с библиотечными функциями. В этом он близок PHP (ещё один выбредок веба) и Perl, который всего лишь старался быть «лучший шелл, чем шелл, и лучший awk, чем awk», но его неизбежные проблемы были раздуты и подняты на флаг как принципиальные решения.

    Простейшее гугление по «weird javascript feature» показывает сотни таких примеров. Вот небольшая выборка со StackOverflow:

    2 == [[[2]]]
    a[[[["abc"]]]] === a["abc"]

    Сравнения — некоммутативные и нетранзитивные:

    ’’ == ’0′ // false
    0 == ’’ // true
    0 == ’0′ // true
    false == ’false’ // false
    false == ’0′ // true
    false == undefined // false
    false == null // false
    null == undefined // true
    " \t\r\n" == 0 // true

    Неупорядочённый синтаксис разделения операторов, когда два оператора, валидных по отдельности, рядом через ’;’ становятся синтаксической ошибкой. Странные и неочевидные правила automatic semicolon insertion, при отсутствии возможности явно исключить его на стыке строк, как сделано во всех нормальных языках с построчным синтаксисом (Python, Occam, BASIC образца MS, и так далее).

    Молчаливая конверсия между числами и строками с местами неочевидными и неуправляемыми правилами.

    Восьмеричные константы по ведущему ’0′ и молчаливое игнорирование проблем с ними (parseInt("08″) == 0), а как общий подход для библиотеки — вообще тенденция на максимальное маскирование ошибок вместо показа их как исключений (опять-таки, общее с PHP и Perl).

    Кривые правила видимости переменных (например, явно объявленная во вложенном блоке будет видна снаружи от него).

    Возможность грязного хака с заменой значения для undefined, Infinity, NaN (общая проблема с PHP и старыми Питонами, но эти хоть в новых версиях такое правят).

    Бездумное копирование свойств старых проблемных API (например, работа с датами — год минус 1900, январь как 0).

    void как префиксный оператор.

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

  • Чем мне нравится JavaScript

    «И как приятно, где нас нет, какая чистота...» :)

  • Умные люди выбирают Intel?

    Вот про 99% и есть «мечты и домыслы». 90% — ещё готов поверить (учитывая реальный уровень запросов тех, кому компьютер нужен для ютуба и вконтактика), но вряд ли больше. А если учесть офисный мир, в котором по факту каждый второй компьютер, то может оказаться, что и меньше.
    Через год всё увидим — расширение мира смартфонов уже остановится.

  • Умные люди выбирают Intel?

    PC по любому не уйдёт в ноль, и вряд ли скатится ниже 10%. Просто из-за принципиальных ограничений характеристик карманного изделия по сравнению даже с лаптопом. А уж тем более классы типа «рабочая станция» и «сервер» останутся нетронутыми. А ещё надо учесть, что сейчас смартфон — это новая мода, и пока идёт поток запросов первичных обладателей. Когда он схлынет, будет некоторая регрессия.
    Я вот жду, когда же авторы интерфейсов перестанут ориентироваться на телефон как основную цель и поймут, что десктоп надо делать иначе, чем телефон...

  • Сон разума украинских проектов

    Ну уж... Кошмаръ аццкій циникъ, а Егор не станет таким хотя бы из-за религии. И это скорее хорошо — при всём опыте Кошмара он на моей памяти ни разу не выдал такого концентрата конструтивных утверждений и положительного опыта, который потянул бы хотя бы на два абзаца. (Для примера вспомним хабр — примитивизм последнего не так важен, как именно общая конструктивная направленность статей.)

    Підтримав: anonymous
  • Сон разума украинских проектов

    Хм, логично:) По крайней мере соответствует вопросу.

    Підтримали: Mike Gorchak, Andrey Khavryuchenko
  • Сон разума украинских проектов

    PHP может быть неустранимым внешним требованиям. Некоторые, как я, могут позволить себе занять позицию «у меня PHP неприменим нигде и ни под какими условиями», но для веб-разработчика это проигрышная позиция. А статья очень хорошая, если Вам не понравилась — значит, Вы или гений и можете сказать лучше (и где тогда?), или нифига не поняли (тогда перечитывайте до просветления).

  • Сон разума украинских проектов

    Ну я в 14 уже работал (первая реальная программа — драйвер графического адаптера для ДВК-3), и это ещё в 80-х. Что мешает работать в 14 лет сейчас?

    Підтримали: Mike Gorchak, Andrey Khavryuchenko
  • Умные люди выбирают Intel?

    Уже смешно:)

  • Умные люди выбирают Intel?

    Вы заняли первое место на районной олимпиаде по солипсизму.

    Hint: Itanium.

  • Умные люди выбирают Intel?

    А почему машина разработчика не должна быть надёжной? ;)

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

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

  • Умные люди выбирают Intel?

    А на самом деле у вас память битая, или конденсатор какой потек.

    Пожалуйста, перестаньте путать кванторы. Я в этой дискуссии не рассматриваю потёкшие кондёры или битую память.

    При том, что частота процессора и так была занижена производителем на 40% из маркетинговых соображений.

    Примеры такого за последние лет 5 в основной линейке продуктов (не в Extreme и т.п.)?

  • Смена профессии

    Жаль, пара вариантов сразу не проходит.

  • Умные люди выбирают Intel?

    А если же есть проблемы со стабильностью — то замедление и в два раза может не помочь.

    Если бы это было так, то любой процессор можно было бы разгонять до бесконечности:)

  • Умные люди выбирают Intel?

    Если у Вас нет образования в области радиоэлектроники — я не смогу это объяснить за доступное мне время. Так что просто поверьте.

  • Умные люди выбирают Intel?

    Усиленная гарантия надёжности за счёт ухода из области проблемных частот.
    Производители делают большинство моделей процессоров на едином процессе и разделяют готовые изделия по скорости в результате тестов корректности работы. Но эти тесты фактически однократные и не учитывают физическое старение техники. Поэтому работа на номинальной частоте означает повышение вероятности проблем через некоторое время (месяцы).
    Реально это проявляется у нескольких процентов. Но ситуация типа «в собранном и отданном юзеру перевернулся один битик, поэтому оно глючит в неподходящие моменты», мягко говоря, неадекватна. Замедление уменьшает долю таких ситуаций до ничтожной.

    Альтернатива — техника со сквозным контролем целостности данных (хотя бы ECC), она обычно исправляет одиночные однократные ошибки молча. Но это типично для серверов, а вот для настольной машины (даже разработчика) это слабо реально — никто такое не купит. Проще заказать какую-то круть типа Corei7 и чуть замедлить.

    Підтримав: Mike Gorchak
  • Умные люди выбирают Intel?

    Разгон это для хомячка. Машине разработчика такое противопоказано. Лучший вариант — она должна быть замедлена процентов на 10 от номинальной скорости.

  • Умные люди выбирают Intel?

    2004? Товарищ взял P4? Речь о играх или обычной работе, включая разработку? Если последнее и цена равна — извините, не верю, Вы что-то путаете. Если вы взяли что-то сильно дешёвое, типа дюрона — верю, но это уже не сравнение.

← Сtrl 1... 401402403404405...408 Ctrl →