The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз языка программирования PHP 8.0

26.11.2020 15:07

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

Ключевые улучшения в PHP 8.0:

  • Включение JIT-компилятора. PHP транслирует исходные тексты PHP-скриптов в промежуточное представление (байткод), которое затем выполняется в виртуальной машине Zend VM. JIT поможет дополнительно поднять производительность за счёт преобразования байткода в специфичный для текущей аппаратной платформы машинный код, который может напрямую исполняться процессором, минуя интерпретатор байткода в Zend VM.

    Выигрыш от использования JIT заметен при выполнении конструкций, для которых основное значение имеет производительность CPU, например, интенсивные математические вычисления или обработка в циклах данных, находящихся в оперативной памяти. В некоторых синтетических тестах применение JIT привело к повышению производительности в 2-3 раза. В отдельных вычислительных приложениях наблюдается рост производительности в 1.5–2 раза, но в типовых web-приложениях производительность не сильно отличается от PHP 7.4, так как узким местом является ввод/вывод.

  • Поддержка именованных аргументов функций, позволяющих передававать в функцию значения в привязке к именам, т.е. можно передавать аргументы в произвольном порядке и определять необязательные аргументы. Например, "array_fill(start_index: 0, num: 100, value: 50)".
  • При вызове методов разрешено применение оператора "?", который позволяет обойтись без отдельных условных проверок объектов на значение null. Если один из элементов в цепочке "?->" не может быть вычислен, выполнение цепочки прерывается и для всей цепочки возвращается значение null. Например, "$dateAsString = $booking->getStartDate()?->asDateTimeString()";
  • Поддержка union-типов, определяющих коллекции из двух и более типов (например "public function foo(Foo|Bar $input): int|float;").
  • Поддержка атрибутов (аннотаций), позволяющих привязать метаданные (например, сведения о типах) к классам без использования синтаксиса Docblock.
  • Поддержка выражений match, которые в отличие от switch могут возвращать значения, поддерживают комбинирование условий, используют строгое сравнение типов и не требуют указания "break".
    
       $result = match($input) {
           0 => "hello",
           '1', '2', '3' => "world",
       };
    
  • Сокращённый синтаксис определения классов, позволяющий объединить определение конструктора и свойств.
  • Новый тип возвращаемых значений - static.
  • Новый тип - mixed, который может применяться для определения приёма функцией параметров с разными типами.
  • Выражение throw для обработки исключений.
  • WeakMap для создания объектов, которыми можно пожертвовать при сборке мусора (например, для хранения необязательных кэшей).
  • Возможность использования выражения "::class" для объектов (аналог вызова get_class()).
  • Возможность определения в блоке catch исключений, не привязанных к переменным.
  • Возможность оставления символа запятой после последнего элемента в списке параметров функции.
  • Новый интерфейс Stringable для идентификации любых строковых типов или данных, которых можно преобразовать в строку (для которых доступен метод__toString()).
  • Новая функция str_contains(), упрощённый аналог strpos для определения вхождения подстроки, а также функции str_starts_with() и str_ends_with() для проверки совпадений в начале и конце строки.
  • Добавлена функция fdiv(), выполняющая операцию деления без вывода ошибки в случае деления на ноль.
  • Изменена логика соединения строк. Например, выражение 'echo "sum: " . $a + $b' ранее интерпретировалось как 'echo ("sum: " . $a) + $b', а в PHP 8 будет обработано как 'echo "sum: " . ($a + $b)'.
  • Ужесточена проверка арифметических и битовых операций, например, выражения "[] % [42]" и "$object + 4" будут приводить к ошибке.
  • Реализован стабильный алгоритм сортировки, в котором при разных запусках сохраняется порядок следования одинаковых значений.
  • Изменено поведение при сравнении строковых и числовых типов.

    Операция PHP 7.4 PHP 8.0
    0 == "0" TRUE TRUE
    0 == "0.0" TRUE TRUE
    0 == "foo" TRUE FALSE
    0 == "" TRUE FALSE
    42 == " 42" TRUE TRUE
    42 == "42foo" TRUE FALSE


  1. Главная ссылка к новости (https://www.php.net/archive/20...)
  2. OpenNews: Доступен Composer 2.0.0, менеджер зависимостей для PHP
  3. OpenNews: Microsoft не станет заниматься поддержкой PHP 8.0 для Windows
  4. OpenNews: Выпуск Psalm 3.12, статического анализатора для языка PHP. Альфа выпуск PHP 8.0
  5. OpenNews: Выпуск Snuffleupagus 0.5.1, модуля для блокирования уязвимостей в PHP-приложениях
  6. OpenNews: Релиз языка программирования PHP 7.4
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54151-php
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (364) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, leibniz (ok), 18:15, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +48 +/
    Ни на йоту не знаю пхп, но искренне поздравляю всё пхп-подмножество опеннета.
     
     
  • 2.10, мимокрокодиляяя (?), 18:25, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –25 +/
    Охох залетело тебе чувак по самые не балуй
     
     
  • 3.338, Odalist (?), 18:47, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    О мои лесные боги, куда катиться мир. Где мой перл, где паскаль, где я? Надо сделать ретуал!
     
     
  • 4.365, jt3k (ok), 19:56, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    перл там в соседней новости))
     
  • 2.94, Аноним (94), 21:13, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пхп-подмножество

    похапешников же! Вообще браво, обтекаемо выразился)

     
  • 2.264, Влик_Валик (?), 14:39, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Динамический HTML изжил себя, как и технология flash от Adobe. Ждем полноценной замены дырявого языка.
     
     
  • 3.381, Аноним (381), 17:43, 03/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так это раст жы!
     
  • 2.377, Аноним (-), 14:22, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ни на йоту не знаю пхп,

    Ни на йух он не нужен

     
     
  • 3.379, Аноним (379), 21:26, 01/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это ты ни на йух не нужен никому, кроме своей мaмки
     

  • 1.2, Аноним (2), 18:15, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –14 +/
    Когда заменит PHP 5?
     
     
  • 2.5, hshhhhh (ok), 18:16, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    пхп 5 уже несколько лет deprecated
     
     
  • 3.332, Аноним (332), 15:12, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в понимании ПХП, deprecated - это не состояние, а функция, причем сильно с побочными эффектами и неявными аргументами через глобальный контекст (зато теперь даже с именованными и в произвольном порядке!)
     
     
  • 4.340, hshhhhh (ok), 19:43, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > в понимании ПХП, deprecated - это не состояние, а функция, причем сильно
    > с побочными эффектами и неявными аргументами через глобальный контекст (зато теперь
    > даже с именованными и в произвольном порядке!)

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

     
  • 2.15, IdeaFix (ok), 19:00, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    К сожалению уже. Столько сделано чтобы 5.6 нельзя было использовать, что... жаба гадюку, или гадюка жабу - уже без разницы.
     
  • 2.48, Аноним (48), 19:51, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Я пока продолжаю новые проекты писать на PHP 5.2, изучать новые перделки тупо лень.
     
     
  • 3.58, Аноним (58), 19:58, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Не заметил большой разницы между 5.x и 8.x, если не извращаться с UB/half-UB.
    Назад вот да, уже прыгнуть сложно. А вперёд, если код не ногами писан - обычно мелочёвка.
     
     
  • 4.333, Аноним (332), 15:17, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Окуджава (сам говорил) в начале знал три аккорда, а в конце целых семь!

    Что поделаешь, талантливый поэт!
    ... а большой разницы между аккордами все равно нет, главное успеть пальцы переставить!

     
  • 3.66, Аноним (58), 20:14, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Другое дело что с семёрки начиная в синтаксис аккуратненько добавили офигительное количество всяких плюшек, ради которых кое-что даже охватывающий рефакторинг прошло, потому что они реально позволяют и количество кода сократить, и производительность оптимизировать.
     
     
  • 4.202, _hide_ (ok), 10:32, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не подскажите каких? Как по мне, только синтаксис попортили неканоническими конструкциями особо не поменяв ничего.
     
     
  • 5.309, Аноним (58), 09:14, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Подскажу. Берёте Upgrade Notes с 5.6 до 7.0, далее до 7.1, 7.2, 7.3, 7.4, 8.0 - внимательно читаете.
    Тут перечислять выйдет целая портянка.
     
     
  • 6.319, _hide_ (ok), 12:58, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Открыл https www php net manual en migration70 new-features php 1 Scalar type... большой текст свёрнут, показать
     
     
  • 7.354, Аноним (354), 10:48, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Настоящим программистам все эти возможности статической типизация не нужны. Они всегда могут запустить var_ dump и проверить что передаётся, а что возвращается
     
     
  • 8.373, Фотошоп лучше (?), 00:23, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы не справились с интерфейсом сайта и ответили не в ту ветку или ещё не научили... текст свёрнут, показать
     
     
  • 9.380, Аноним (379), 21:31, 01/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Задай себе этот вопрос ... текст свёрнут, показать
     
  • 7.367, Аноним (58), 22:26, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле уже null coalescing и spaceship очень сильно сокращают код, это не беря более серьёзные изменения. Сейчас ещё аналогичный сахар для вызова методов добавили - тоже очень сильно свернёт if (... === null)'ы.
     
     
  • 8.374, Фотошоп лучше (?), 00:25, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А давайте на каждый случай придумаем особый вариант синтаксиса А все отдельный ... текст свёрнут, показать
     
  • 3.79, Аноним (79), 20:38, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Shame on you!
     
  • 3.133, Аноним (133), 00:29, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Аналогично, только пишу на 5.3 (у 5.2 какие-то проблемы были с совместимостью с 7.x).

    И работает как на старом 5.3, так и на 7.4 с быстрым opcache. Ну да, вместо '[]' пишу 'array()', но вообще не напрягает.

     
  • 3.171, qweqwe (?), 08:13, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Рекомендую перейти на PHP 4! Тебе будет ещё удобней и приятней.
     

  • 1.3, A.Stahl (ok), 18:15, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Вот он -- Питон и Баш в одном флаконе и с адекватным синтаксисом. То, чем почему-то не стал Перл. Лучшее что вообще происходило в интерпретируемом говноболоте.
     
     
  • 2.20, Аноним (-), 19:18, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    ожидаемый уровень высказываний местного иксперта
     
  • 2.34, анонимуслинус (?), 19:36, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    питон посерьезней пхп будет. любой из версий. но ты там продолжай верить. и да перл он не заменит, как и компилируемые языки. но может быть доиграются jit, что в скором на несистемные и важные вещи начнут клепать поделки вот на этом)))
     
     
  • 3.127, анонимуслинус (?), 23:41, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и что у людей столько злобы. за правильные слова минусуют сразу. я ведь не сказал, что он неприменим в веб. я сказал , что чисто технически он слабее того же питон. у них изначально разное направление . пхп веб-сервера, питон скриптовой язык общего пользования. естественно питон универсальнее и обладает более широкими возможностями. хотя сейчас стали делать "сайт- как -приложение". так что тут вопрос небольшой.  скриптовой язык общего назначения(вплоть до написания программ целиком и язык чисто веб и сервисов. вы ужж когда минусуете подумайте хоть мозгами. а то типичные анонимы опеннета.)))
     
  • 2.40, Аноним (40), 19:45, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Уже 8 версия, а так и не стал perl, как ни старается.
     
     
  • 3.42, Аноним (58), 19:46, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В смысле перла не стало.
    Это да.
     
  • 2.95, Аноним (94), 21:15, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дуся, ты так толсто троллишь?
     
  • 2.111, Аноним (111), 22:37, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > То, чем почему-то не стал Перл.

    Потому что это язык вуду. И написанный на нем ког дерез некоторое время не понимает даже его автор.

     
  • 2.129, rshadow (ok), 23:50, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так с перлом сравнивать как теплое с мягким. Там скорее разная идеология, синтаксис это уже последствия.
     
     
  • 3.145, Аноним (40), 02:02, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > скорее разная идеология

    Скорее наличие идеологии в perl и отсутствие её в php. Хотя отсутствие идеологии тоже можно считать идеологией… Но первый постмодернистский язык всё равно — perl.

     
  • 2.183, Матцумото (?), 09:17, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    хуже пхп только джаваскрипт
     

  • 1.4, Аноним Анонимович Анонимов (?), 18:15, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    12 лет уже применяю данный язык в своём труде. Лично для меня идеальный инструмент. Рад, что развивается!
     
     
  • 2.27, Аноним (58), 19:30, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Аналогично, только лет уже 20.
    JIT вообще то, чего ждалось очень долго - теперь критичные куски кода будут выполняться очень шустро.
     
     
  • 3.76, Аноним (76), 20:31, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очень шустро, примерно аж на 10% шустрее. Наверно жит всё-таки не бесплатный, значительные накладные расходы идут в довесок. Вот что шустро, это часть кода переписать на си.
     
     
  • 4.146, Аноним (40), 02:04, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, насчёт накладных расходов очень интересно. За эти сомнительные 10%, небось, придётся заплатить 400% ОЗУ?
     
  • 4.207, Аноним (207), 10:47, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    0-10% шустрее для типичного похапе с ассоциативными массивами и отсутствием типизации. Если же писать код в современном стиле, с явной типизацией и включенными strict_types - выигрыш будет существенный. Накладные расходы можно свести к нулю через opcache.preload.

    В целом, прогресс очень значительный, и на этом уже можно комфортно программировать большие проекты.

     
     
  • 5.213, Аноним (207), 10:56, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Добавлю, чего действительно не хватает, чтобы PHP стал нормальным языком.

    Не хватает двух вещей:

    1. Удобного способа создания типизированных иммутабельных структур. final свойств (как в Java) или readonly свойств (как в C# или typescript) нет, приходится генерировать геттеры. Хорошая IDE позволяет это упростить, но все равно эта куча бойлерплейт-кода изрядно раздражает. Отличным решением было бы позаимствовать data classes из Kotlin.

    2. Дженериков. Без них невозможно реализовать обобщенные типизированные структуры данных - да даже типизированные коллекции сделать нельзя.

    Все остальное уже вполне неплохо (да, неконсистентность стандартной библиотеки никуда не делась, но с этим можно жить, если привык).

     
  • 3.78, Sw00p aka Jerom (?), 20:35, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >теперь критичные куски кода будут выполняться очень шустро

    Такс это какие ещё куски? Мат вычисления на пхп?

     
     
  • 4.84, Аноним (58), 20:45, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Обработка данных.
    Биллинг мобильной связи между операторами с цепочкой "до абонента" как пример годится?
    Там и вычислений прилично, и разбора CDR, и обработки всяких опций типа пакетов данных.
     
     
  • 5.104, Sw00p aka Jerom (?), 21:39, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Биллинг мобильной связи между операторами с цепочкой "до абонента" как пример годится?

    Вы серьезно? аккаунтинг, статистика, агрегация, анализ, машинное обучение раз уж на то пошло?
    Биг-дейта и пхп разве совместимы?

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

    Серьезно? это в каких масштабах? Там где нужно со всякими хадупами решать вопрос вы будете решать с помощью пхп?

    пс: на картинке из новости, нет ни одного теста с работой на больших данных (статистика, агрегация и т.д.), заявлено только "например, интенсивные математические вычисления или обработка в циклах данных, находящихся в оперативной памяти." - они что там ускорили foreach? ну хоть на этом спасибо.


     
     
  • 6.116, Аноним (58), 23:11, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хадупы в биллинге трафика лишние. Там допустим любой пакет с общим счётчиком на большую группу абонентов поставит всё это хадупство колом, потому что общий счётчик сериализует.
     
     
  • 7.126, Sw00p aka Jerom (?), 23:41, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Хадупы в биллинге трафика лишние.

    Учет (аккаунтинг) и аналитика - разные задачи.

     
  • 5.108, Sw00p aka Jerom (?), 22:09, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > и разбора CDR

    по ссылке ниже очевидный юзкейс, не представляю как пхп решит поставленные задачи.

    https://www.itu.int/en/ITU-D/Emergency-Telecommunications/Documents/2017/Repor

     
     
  • 6.115, Аноним (115), 23:10, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Решение какой именно задачи ты не можешь представить?
     
  • 6.119, Аноним (58), 23:18, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эээээ секундочку Географический анализ от биллинга отличается тем, что - 1005... большой текст свёрнут, показать
     
     
  • 7.130, Sw00p aka Jerom (?), 23:59, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спорное утверждение, зависит от задачи Выше я отметил, что учет и аналитика - р... большой текст свёрнут, показать
     
     
  • 8.189, Аноним (58), 10:20, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У нас задача учёт, да Аналитика вторична, но она тоже на PHP D Абсолютно Оно ... большой текст свёрнут, показать
     
     
  • 9.224, Sw00p aka Jerom (?), 12:07, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот отлично, работает - значить имеет место быть, главное результат удовлетво... текст свёрнут, показать
     
     
  • 10.254, agent_007 (ok), 13:37, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Обычно это либо сказки, либо лютый говнокод просто был переписан язык тут не ва... текст свёрнут, показать
     
  • 5.172, qweqwe (?), 08:18, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Без ассинхронности и многопоточности это бесполезно.

    Если делать это имеющимися средствами, то PHP неимоверно жрёт ресурсы (больше жабы) и постоянно течёт. Был опыт - больше не надо...

    Если писать быстрые решения, то на golang и ему подобных.

     
     
  • 6.190, Аноним (58), 10:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Давно уже не течёт, примерно с 5.6 начиная - всё вылизали почти до блеска.
    Тот же биллинг месяцами ворочается без перезапуска, и нигде не протекает.
     
  • 4.86, Аноним (58), 20:49, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Формирование международных тарифов на основании тарифных данных от нескольких апстримов, и загрузка итоговых маршрутов и планов тарификации в софтсвитчи. Там из десятка исходных XLS получаешь в базу больше миллиона префиксов, которые надо обсчитать, вычислить оптимальный маршрут, тариф для абонента, потом это дело свернуть так, чтобы на свитче база раком не вспухла, и залить в свитч. А ещё отдать мобильному тарификатору, когда он попросит тариф для вызванного номера XXX. Тоже как пример.
     
     
  • 5.184, Матцумото (?), 09:20, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А на нормальных языках это делать строго запрещено?
     
     
  • 6.191, Аноним (58), 10:23, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если хочется нагородить велосипедов - то почему бы и нет.
    Биллинг в основном, как ни странно, работа с текстом и околотекстом.
    Даже arbitrary precision math - по сути "текст" (байтовые массивы).
    И с map'ами для всего и вся, причём набор атрибутов в объектах map'ов может быть динамическим.
    PHP для этой задачи с его хеш-массивами (которые map'ы и есть) как нельзя лучше подходит.
     
  • 6.193, Аноним (58), 10:24, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У нас CRM на .NET. Я вижу, как они с ним трахаются, с жёсткой типизацией, с необходимостью динамические проперти отдельными мапами держать, и всегда думаю - перешли бы на PHP, этих проблем, которые у вас есть, вообще не было бы.
     
     
  • 7.196, Аноним (58), 10:26, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пришёл блджад null вместо данных в пакете обмена - вся апликуха сдропнулась в Exception.
    Потому что разборщик в объекты сторонний, и nullable типы не умеет.
     
     
  • 8.197, Аноним (58), 10:28, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В PHP ты json_decode, и дальше у тебя особых проблем с типами нет Валидируешь в... текст свёрнут, показать
     
  • 7.334, Andrey (??), 15:25, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > У нас CRM на .NET. Я вижу, как они с ним трахаются, с жёсткой типизацией

    Жесткая в смысле сильная или статическая? Если статическая, то при желании можно использовать dynamic. Если сильная, то другой и не должно быть, потому как ловить баги уровня 0 == 'foo', себя не уважать. В любом случае шарп как язык на голову выше php.

     
  • 4.87, Аноним (58), 20:53, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Формирование базы перемещения номеров для тех же свитчей.
    Тянем с местной базы LNP/MNP списки операторов с маршрутными кодами. Списки префиксов с маршрутными кодами по умолчанию. Историю портирования номеров от оператора к оператору инкрементно. Вычисляем так же инкрементно, какой номер куда заруливается после применения последнего инкремента из базы. Сопоставляем маршрутные коды. Сопоставляем идентификаторы стыков, которые каждый конкретный оператор имеет свои и разные. Заливаем на свитч.

    И т.д. И т.п.

     

     ....большая нить свёрнута, показать (27)

  • 1.7, Аноним (2), 18:19, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    >Возможность оставления символа запятой после последнего элемента в списке параметров функции.

    Больше граммар макак

     
     
  • 2.12, leibniz (ok), 18:30, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Больше граммар макак

    Вы про солидную часть комментаторов опеннета?

     

  • 1.8, InuYasha (??), 18:19, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Хотел пыхнуть, но поперхнулся - от обилия сахара прям тошно стало. :-|
    (читать голосом Гинтоки) Эй, разрабоччеги! Если программисты подхватят диабет - что будете делать, аа? Настоящий самурай не остановится ни перед ?wtf:null, ни перед скобкой! Если вы такие крутые, то почему не приняли инициативу P++? Если есть время городить синтаксический сахар, не лучше ли потратить его на строгую типизацию, а??
     
     
  • 2.9, Аноним (9), 18:21, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Строгая типизация и пых это оксюморон.
     
  • 2.29, Аноним (58), 19:30, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    За строгой типизацией вам в другое место.
    PHP нестрогой типизацией и хорош, в том числе.
     
     
  • 3.35, InuYasha (??), 19:38, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Навоз запахом и хорош, в том числе.

    fixed

     
  • 2.175, Аноним (354), 08:29, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В строгая типизация появилась в php 7.0 и включается директивой declare(strict_types=1)
     

  • 1.11, КО (?), 18:28, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Jit показали.
    Табличку с графиками показали.
    Циферки показали.
    Знать бы что это за циферки.
     
     
  • 2.21, Страшный аноним (?), 19:19, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как что? - Попугаи
     
  • 2.44, Аноним (58), 19:48, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Соотношения это.
    Либо числа запросов, либо обратное времени выполнения.
    Вот то, что не указали - это да, конечно, сиди и гадай, что из двух.
     
  • 2.278, Секрет (?), 18:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это они dotnet догоняют. В энтерпрайзе сейчас C# очень неплохо в вебе обосновывается, и нововведения прям из этого монстра взяты. Но из-за наследия и культуры, только хуже сделают, кто хотел, ушёл уже на C#.
     
     
  • 3.360, Аноним (360), 15:49, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    C# и в геймдеве прочно обосновался и на виндлвом дестопе ему нет альтернатив по скорости и удобству гуи приложух(Qt не беру в расчет ибо сложно)
     

  • 1.13, nomad__ (ok), 18:36, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Число равно строке? Они там обкурились что ли?
     
     
  • 2.14, Аноним (14), 18:48, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    А что не так? Очень интуитивно, всегда этим пользуюсь.
     
     
  • 3.23, nomad__ (ok), 19:22, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    не так то, что строка - это не число. Даже если эта строка состоит из этого числа. И ни разу это не интуитивно. Конвертни её в число и сравнивай на здоровье.
     
     
  • 4.26, Annoynymous (ok), 19:26, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что, привык к строгой типизации, теперь рвётся шаблон? Терпи.
     
     
  • 5.32, Аноним (32), 19:33, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Шаблон тут ни при чем. В середине 90 имел довольно сомнительное удовольствие познакомится с lisp, там встречались "странности" и похлеще, но они были уместны согласно области применения языка. А вот зачем подобный выворот сознания нужен в языке, основное и единственное назначение которого - служить инструментом для быстрого ваяния веб-интерфейсов - ... ? вот это вопрос столетия.
     
     
  • 6.38, nomad__ (ok), 19:41, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    лисп тоже не считает строку равной числу
     
     
  • 7.168, Аноним (32), 07:29, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну в лиспе фактически вообще нет ни чисел, ни строк...
    И я немного не о том.
    Да, наверное, неудачное сравнение подобрал...
     
  • 6.39, Аноним (58), 19:44, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    - основное и единственное назначение которого - служить инструментом для быстрого ваяния веб-интерфейсов
    Это только в вашей голове. На деле же это уже некомпилируемый язык общего назначения ныне, который подходит для широченного круга задач.
     
     
  • 7.45, nomad__ (ok), 19:49, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > - основное и единственное назначение которого - служить инструментом для быстрого ваяния
    > веб-интерфейсов
    > Это только в вашей голове. На деле же это уже некомпилируемый язык
    > общего назначения ныне, который подходит для широченного круга задач.

    Году в 2010 работал в одной конторе, где на PHP писали системные скрипты. Не на питоне или перле, а на пхп. Извращенцы.

     
     
  • 8.50, Аноним (58), 19:51, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему извращенцы У нас вся почти инфраструктура на нём, кроме CRM И то потому... текст свёрнут, показать
     
     
  • 9.51, nomad__ (ok), 19:52, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что питон и перл в системе уже есть, а пхп еще поставить надо И ради нес... текст свёрнут, показать
     
     
  • 10.54, Аноним (58), 19:54, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    yum install - это очень сложно Перла ныне кстати тоже нет уже Питон ещё есть ... текст свёрнут, показать
     
     
  • 11.55, Аноним (58), 19:55, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То есть если хочешь что-то свежее 5-летней давности - всё равно самому накатыват... текст свёрнут, показать
     
  • 11.56, nomad__ (ok), 19:57, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ага, а давайте еще что-нибудь поставим Давайте один скрипт на питоне, другой на... текст свёрнут, показать
     
     
  • 12.59, Аноним (58), 19:59, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот у нас всё на PHP именно потому, что без давайте Интерфейсы на PHP Бэк... текст свёрнут, показать
     
     
  • 13.61, nomad__ (ok), 20:01, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну так и ради бога Но когда пишешь дистриб для POS-терминалов, у которого даже ... текст свёрнут, показать
     
     
  • 14.63, Аноним (58), 20:06, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    PHP ныне давно уже есть даже в маленьких роутерах и телефонах SIP Так что м... текст свёрнут, показать
     
     
  • 15.64, nomad__ (ok), 20:08, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    у меня в десктопной системе его нет На рабочих серверах, где ведется разработка... текст свёрнут, показать
     
     
  • 16.65, Аноним (58), 20:12, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У меня в десктопной системе нет из коробки ни PHP, ни питона, ни перла Потому ч... текст свёрнут, показать
     
  • 16.138, Аноним (138), 01:10, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неудачник ... текст свёрнут, показать
     
     
  • 17.160, nomad__ (ok), 05:44, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Наоборот, мне несказанно повезло Реально крутыми и интересными вещами занимаюсь... текст свёрнут, показать
     
     
  • 18.302, Led (ok), 00:59, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Целыми днями тупишь на опеннете ... текст свёрнут, показать
     
     
  • 19.307, nomad__ (ok), 06:48, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Компилятор на SML готовлюсь писать До этого писал симулятор сетей Петри на Эрла... текст свёрнут, показать
     
  • 11.96, Аноним (40), 21:18, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чего это развалится-то Не, если ты привык от рута и в корень всё ставить, то ра... текст свёрнут, показать
     
     
  • 12.120, Аноним (58), 23:21, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Речь была о том, что ничего то накатывать то для перла с пихтоном не надо В о... текст свёрнут, показать
     
     
  • 13.147, Аноним (40), 02:09, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да не надо никакого отдельного окружения Если не хватает в дистрибутиве каких-т... текст свёрнут, показать
     
  • 6.53, Annoynymous (ok), 19:53, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Шаблон тут ни при чем. В середине 90 имел довольно сомнительное удовольствие
    > познакомится с lisp, там встречались "странности" и похлеще, но они были
    > уместны согласно области применения языка. А вот зачем подобный выворот сознания
    > нужен в языке, основное и единственное назначение которого - служить инструментом
    > для быстрого ваяния веб-интерфейсов - ... ? вот это вопрос столетия.

    За тем же, почему в bash и posix shell тоже можно сравнивать строки с числами.

    Для скорости разработки.

     
     
  • 7.80, Ordu (ok), 20:40, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нельзя В posix shell нет чисел от слова совсем, там всё строки То, что отсутст... большой текст свёрнут, показать
     
     
  • 8.110, Sw00p aka Jerom (?), 22:31, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а автор сего мифа кто ... текст свёрнут, показать
     
     
  • 9.131, Ordu (ok), 00:15, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Аристотель, я полагаю, у кого ещё хватит ума такой бред придумать ... текст свёрнут, показать
     
     
  • 10.132, Sw00p aka Jerom (?), 00:20, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Будьте добры, ответить и тут https yandex ru q question aristotel_pisal_o_t... текст свёрнут, показать
     
     
  • 11.135, Ordu (ok), 00:48, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я не знаю, в каком труде он писал об этом, я знаю, что Бертран Рассел глумился н... большой текст свёрнут, показать
     
     
  • 12.139, Sw00p aka Jerom (?), 01:13, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    О спасибо, но при всем уважении к Расселу, я склоняюсь вот к этому утверждению ... текст свёрнут, показать
     
     
  • 13.142, Ordu (ok), 01:30, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чё это Я в древнегреческом не понимаю, поэтому единственный для меня способ оце... текст свёрнут, показать
     
     
  • 14.151, Sw00p aka Jerom (?), 02:28, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А чего ему верить Он по факту пересказал то, что перевел Скалигер, разве не так... текст свёрнут, показать
     
     
  • 15.153, Ordu (ok), 02:54, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты сейчас выполняешь ad hominem атаку на Рассела и Скалигера, что могло бы иметь... большой текст свёрнут, показать
     
     
  • 16.169, Sw00p aka Jerom (?), 08:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    чет я не вижу противоположности достоверности - опровержения И чет я не вижу у ... большой текст свёрнут, показать
     
     
  • 17.265, Ordu (ok), 15:17, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это слишком абстрактный вопрос, чтобы дать на него ответ Может быть и так, и эд... большой текст свёрнут, показать
     
     
  • 18.289, Sw00p aka Jerom (?), 20:04, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а как же аксиома непрерывности а как еще судят кхммм а вы знакомы с fuzzy logi... большой текст свёрнут, показать
     
     
  • 19.293, Ordu (ok), 21:11, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как и любая аксиома -- это лишь аксиома То есть некоторое допущение, которое де... большой текст свёрнут, показать
     
     
  • 20.303, Sw00p aka Jerom (?), 02:59, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ага допущение чисел нет в реальности нету понятия сомнительной истины, есть исти... большой текст свёрнут, показать
     
  • 21.306, Ordu (ok), 05:00, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если в реальности нет чисел, то в ней нет и истины То есть никакой -- ни сомнит... большой текст свёрнут, показать
     
  • 22.363, Sw00p aka Jerom (?), 17:16, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    желания не осталось вести дискуссию, приведу просто пример абсолютно истины - пр... текст свёрнут, показать
     
  • 23.364, Ordu (ok), 18:45, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Этот принцип работает только тогда, когда ты ввёл в употребление целые числа, то... большой текст свёрнут, показать
     
  • 8.221, Annoynymous (ok), 11:56, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот именно В bash, впрочем, есть declare -i, страхующая от некоторых проблем ... большой текст свёрнут, показать
     
     
  • 9.285, Аноним (40), 19:51, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для скорости запрягания, хочешь сказать Ехать медленно будете 8230 ... текст свёрнут, показать
     
  • 5.33, nomad__ (ok), 19:35, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да мне наплевать как там в пхп, я его не знаю и никогда на нем не писал. Из языков с динамической типизацией пишу на Erlang'е и там такой фигни нет.
     
     
  • 6.72, тоже Аноним (ok), 20:26, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы, видимо, даже не в курсе, что пишут на РНР.
    95% чисел, которые надо с чем-то сравнивать - это, внезапно, данные из БД или из форматов типа XML.
    То есть строки.
    Остальные 5% - это JSON, там как повезет.
     
     
  • 7.75, Аноним (58), 20:29, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да не только данные из БД. CDR, пользовательский ввод, данные от внешних приложений и из файлов. В основном это строки. Если бы язык был строго типизированным - были бы целые полчища тайпкастов. А так, возможность строку как число использовать и наоборот - это очень удобно. Хотя где надо, конечно всё равно делаются тайпкасты, иначе неоптимально.
     
     
  • 8.83, банан (?), 20:44, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    я езжу с заглушкой за место ремня безопасности, очень удобно, и машина не пищит... текст свёрнут, показать
     
     
  • 9.88, Аноним (58), 20:55, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, я обязательно на ходу проверяю ремень безопасности каждый 13 секунд Зато о... текст свёрнут, показать
     
     
  • 10.310, банан (?), 09:39, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем ремень безопасности не требует, чтобы его проверяли Типизация экономит ... текст свёрнут, показать
     
  • 8.89, YetAnotherOnanym (ok), 20:59, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пофиксил ... текст свёрнут, показать
     
     
  • 9.90, Аноним (58), 21:02, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если у вас есть неприятные неожиданности - значит вы чего-то не учли Прежде чем... текст свёрнут, показать
     
     
  • 10.243, Аноним (40), 13:16, 27/11/2020 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 9.91, Аноним (58), 21:03, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    если вы всерьёз полагаетесь на то, что тайпкасты спасут вас от проблем - это уж... текст свёрнут, показать
     
     
  • 10.229, YetAnotherOnanym (ok), 12:33, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы всерьёз полагаете допустимым прибегать к этой отмазке вместо того, чтобы... текст свёрнут, показать
     
  • 9.93, Аноним (58), 21:13, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Простейший пример Прилетают данные в JSON от нескольких источников, которые мне... текст свёрнут, показать
     
     
  • 10.97, Аноним (40), 21:26, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, а потом ты сам сериализуешь данные в JSON как получится, потому что тебе по... текст свёрнут, показать
     
     
  • 11.121, Аноним (58), 23:23, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Всё проще Конкретно у меня на выходе API только строки в JSON, во избежание пот... текст свёрнут, показать
     
  • 10.137, Ordu (ok), 01:10, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Про схему json никто из вас не слышал, конечно У вас вообще вся система выстрое... большой текст свёрнут, показать
     
     
  • 11.140, Аноним (138), 01:16, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Алл 235 , данные приходят от внешних систем, которые делали другие люди и купле... текст свёрнут, показать
     
     
  • 12.143, Ordu (ok), 01:34, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я выше описал как действовать в такой ситуации Разбирай json в типизированную с... текст свёрнут, показать
     
     
  • 13.198, Аноним (58), 10:30, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, сейчас вот такую вот портянку нагорожу, просто чтобы JSON разобрать Прощ... текст свёрнут, показать
     
     
  • 14.201, Аноним (58), 10:32, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Задача-то простая взять произвольный JSON Разобрать Проверить наличие конкрет... текст свёрнут, показать
     
     
  • 15.223, Аноним (223), 12:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В каждом слове ложь и передергивание Когда Вы приступаете к разбору, Вы берете ... большой текст свёрнут, показать
     
  • 13.239, Аноним (239), 13:08, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Смешной ты, Ordu Решил на OpenNET объяснить человеку, что такое сериализация ... текст свёрнут, показать
     
  • 12.222, YetAnotherOnanym (ok), 12:01, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кто платит, тот и заказывает музыку Если купили фекалию, то кто ж вам виноват ... текст свёрнут, показать
     
  • 11.226, Sw00p aka Jerom (?), 12:28, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так типы на то и служат, что необходимы при валидации данных А что есть тип, ка... текст свёрнут, показать
     
     
  • 12.246, Аноним (40), 13:22, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Шта В JSON, вообще-то, есть типы данных, отличные от текста Те же, что и в JS,... текст свёрнут, показать
     
     
  • 13.260, Sw00p aka Jerom (?), 14:02, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нету никаких типов, есть только нотация key1 value , key2 , ke... текст свёрнут, показать
     
     
  • 14.272, Аноним (40), 16:46, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так на фига ты используешь строковый тип, если тебе надо складывать числа ... текст свёрнут, показать
     
     
  • 15.275, Sw00p aka Jerom (?), 18:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это не я использую строковый тип, это js приводит текстовые переданные данные со... большой текст свёрнут, показать
     
     
  • 16.292, Аноним (40), 20:26, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    171 Значение в кавычках 187 имеет строковый тип Без кавычек 8212 числово... большой текст свёрнут, показать
     
     
  • 17.304, Sw00p aka Jerom (?), 03:27, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а я о чем общепринято ведь не мне это надо говорить, я допускаю, что ко мне эт... текст свёрнут, показать
     
     
  • 18.357, Аноним (40), 13:11, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Работаешь с нестабильными API, не имея возможности повлиять на разработчиков Со... текст свёрнут, показать
     
     
  • 19.362, Sw00p aka Jerom (?), 17:10, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а может все таки использовать более строгую типизированную структуру и язык ... текст свёрнут, показать
     
  • 11.280, Аноним (280), 19:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это что же получается Из-за какой-то придури какого-то кодера которому приспичи... текст свёрнут, показать
     
     
  • 12.283, Ordu (ok), 19:44, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Отмечу, ты не первый, кто выдирает эту фразу из контекста ты можешь почитать ко... большой текст свёрнут, показать
     
  • 10.215, Аноним (223), 11:05, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Прилетают данные в JSON от нескольких источников, которые мне неподконтрольны Т... большой текст свёрнут, показать
     
  • 10.314, банан (?), 10:08, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У вас по ходу разные поставщики с вами по разным протоколам общаются Грустная с... текст свёрнут, показать
     
  • 7.159, nomad__ (ok), 05:37, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы, видимо, даже не в курсе, что пишут на РНР.
    > 95% чисел, которые надо с чем-то сравнивать - это, внезапно, данные из
    > БД или из форматов типа XML.
    > То есть строки.
    > Остальные 5% - это JSON, там как повезет.

    Сайты пишут, это все, что я про него знаю.
    А данные из БД, XML, JSON или еще откуда разбирают на всех языках. Я, например, на Эрланге этим занимаюсь, до этого на Go этим же занимался. Могу этим же заниматься на SML, C, Расте или Лиспе. И ни один из этих языков почему-то не приравнивает строку к числу. Так чем ПХП такой особенный?

     
     
  • 8.164, Аноним (164), 06:46, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он спроектирован левой ногой его автора, чтобы побырому непрофессионал наброса... текст свёрнут, показать
     
  • 8.225, тоже Аноним (ok), 12:17, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тем, что на нем, в отличие от перечисленного вами вороха, Всегда ваш, К О ... текст свёрнут, показать
     
     
  • 9.227, nomad__ (ok), 12:29, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага, а теперь определим, что понимается под сайты пишут Бэкенды Ну так я на ... текст свёрнут, показать
     
     
  • 10.233, тоже Аноним (ok), 12:46, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Например, так есть прорва готовых инструментов и библиотек, и не требуется изоб... текст свёрнут, показать
     
     
  • 11.234, nomad__ (ok), 12:54, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А кто сказал, что Эрланг предназначен для веб-разработки Он вообще-то для друго... текст свёрнут, показать
     
     
  • 12.244, тоже Аноним (ok), 13:19, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Никто не говорил А Пых - предназначен, это вам любой скажет О чем вообще спори... текст свёрнут, показать
     
     
  • 13.245, nomad__ (ok), 13:22, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А кто-то спорит Я говорю про то, что считать строку равной числу - извращение ... текст свёрнут, показать
     
     
  • 14.252, тоже Аноним (ok), 13:34, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А я считаю обобщающие суждения в отрыве от контекста ярким маркером идиота Но ... текст свёрнут, показать
     
  • 12.294, YetAnotherOnanym (ok), 21:15, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Nitrogen, Chicago Boss, например ещё А Zotonic - да, шикарная вещь Единственно... текст свёрнут, показать
     
  • 7.180, Аноним (180), 08:38, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Из-за таких webM вчера наткнулся на прочерк в поле цена, который зачем-то varchar помножить не мог, а ещё это тормозит проц.
     
  • 3.77, Алексей (??), 20:34, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы тебя черти в аду раскаленным говном кормили за это.
     
  • 2.16, Аноним (32), 19:01, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да этот цирк с "==", "===", "!==" и т.п. давно пора было свернуть...
    Нигде более не встречал подобного безумия...

    и ЧСХ - кто-то ведь этим безумием пользовался...

     
     
  • 3.74, тоже Аноним (ok), 20:28, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это где это вы увидели "было"? Его по-прежнему пора свернуть, "ждите оргазма...".
     
  • 3.173, Аноним (14), 08:19, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Да этот цирк с "==", "===", "!==" и т.п. давно пора было свернуть...

    Почему? Это очень удобно же. Сравни:
    Python:

    if isinstance(a, int) and a==5:
        do_something()

    PHP:
    if($a===5)
        do_something()

     
     
  • 4.230, Аноним84701 (ok), 12:33, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Почему? Это очень удобно же. Сравни:
    > Python:
    > if isinstance(a, int) and a==5:
    >     do_something()
    > PHP:
    > if($a===5)
    >     do_something()

    Получается какое-то сравнение теплого с мягким:
    в питоне строгая типизация и 5 == '5' будет False, в отличие от. Ппоэтому проверять при сравнении еще и тип, обычно совершенно не нужно.

     
     
  • 5.297, банан (?), 22:43, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > в питоне строгая типизация и 5 == '5'

    строгая типизация это когда у вас такое выражение не компилируется.

     
     
  • 6.300, Аноним84701 (ok), 23:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> в питоне строгая типизация и 5 == '5'
    > строгая типизация это когда у вас такое выражение не компилируется.

    Это называется "статической" типизацией и имеет смысл именно там.
    В динамической типизации возможность сравнить  что-то без автоприведения, получая для _разных_ типов всегда "False"
    > objects of different types always compare unequal

    вполне вписывается в концепт "строгой" типизации.

     
  • 6.320, анонизмус (?), 13:04, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты путаешь строгую типизацию со статической. В php тоже есть режим строгой типизации. Включается директивой declare(strict_types=1);
     
  • 3.174, Аноним (14), 08:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Да этот цирк с "==", "===", "!==" и т.п. давно пора было свернуть...

    JS ещё. Первый по популярности язык. 👅

     
  • 3.195, Аноним (354), 10:25, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В javascript
    Ещё в kotlin, но там другой смысл
     
     
  • 4.249, Аноним (40), 13:27, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А ==== ещё нигде не придумали?
     
     
  • 5.290, Sw00p aka Jerom (?), 20:13, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А ==== ещё нигде не придумали?

    придумали, Воистину равно :)

     
     
  • 6.322, тоже Аноним (ok), 14:01, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Отнюдь. Это оператор присвоения, если нельзя, но очень надо.
    Например, $object ==== TRUE; // тестируем обвал всей системы
     
  • 3.204, Аноним (354), 10:36, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это лучше чем в java где нужно метод equals вызвать, а перед этим проверять что не null чтобы не бросило npe
     
  • 2.18, Аноним (18), 19:13, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я после нескольких лет работы на Oracle SQL только недавно у джуниора увидел, что можно number в кавычки делать.
     
     
  • 3.36, Страшный аноним (?), 19:39, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вы еще javascript не видели, где (6 + '6') === "66"
     
     
  • 4.47, menangen (?), 19:51, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А точнее 2 плюс строка “6” будет новая строка «26» - всё логично, не в число же строку «6» конвертить - кто его знает что там в твоей строке закодировано- это ж просто набор байт
     
     
  • 5.57, Страшный аноним (?), 19:57, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Просто использовать для конкатенации в строки отличный знак от знака "+". Например в древнем Visual Basic это "&", в PL/SQL - "||"
     
     
  • 6.92, Lex (??), 21:10, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Одно - булевы операции, другое - логические

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

    Собсно, от того и «видов» проверки равенства несколько - с автоприведением к типу( т.е просто проверка по значению ) и с проверкой равенства самого типа

     
     
  • 7.113, Sw00p aka Jerom (?), 22:41, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Одно - булевы операции, другое - логические

    И "одно" и "другое" - одно и тоже.


     
     
  • 8.167, Lex (??), 07:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ЖС-кудах, ты ли это 5 124 2 0b00000101 124 0b00000010 0b00000111 ... большой текст свёрнут, показать
     
     
  • 9.177, Аноним (180), 08:35, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы хотели сказать битовые операции... текст свёрнут, показать
     
     
  • 10.199, Lex (??), 10:30, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, в одном из случаев очепятка Но сути не меняет, что в жс 124 и 124 124... текст свёрнут, показать
     
  • 9.182, Sw00p aka Jerom (?), 08:53, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На досуге https ru wikipedia org wiki D0 91 D0 B8 D1 82 D0 BE D0 B2 D0 B0 D1 ... текст свёрнут, показать
     
  • 7.114, Страшный аноним (?), 23:04, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Придуряешься или на самом деле? В VB и PL/SQL операторы сравнения - "AND" и "OR".
     
     
  • 8.166, Lex (??), 07:19, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Придурящеься тут только ты Кого волнует, как оно в вб и прочем мусоре написано,... текст свёрнут, показать
     
     
  • 9.218, Страшный аноним (?), 11:29, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как все запущено Оказывается что на самом деле Ты так и не понял посыл, что в ... текст свёрнут, показать
     
     
  • 10.232, Sw00p aka Jerom (?), 12:44, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так ведь он не виноват, что создатель языка допустил такое трактование как м... текст свёрнут, показать
     
  • 5.85, банан (?), 20:49, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >  всё логично

    только в реальности вы не увидите такого кода

    (6 + '6') === "66"

    вы увидите такой

    (money1 + money2) === money3

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

     
     
  • 6.187, Туретта Хуюндберг (?), 09:55, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > я вообще, если честно, бил бы палкой людей, которые убеждают окружающих что приведение типов в js логично

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

     
  • 5.98, Аноним (40), 21:29, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Единственное, что в такой ситуации было бы логично, это кинуть исключение. Потому что код написан jопой и явно будет делать не то, чего от него ожидали.
     
  • 4.214, Аноним (354), 11:02, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А так же мы не видели java, c# и т.д. где тоже самое
     
     
  • 5.284, банан (?), 19:47, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А так же мы не видели java, c# и т.д. где тоже самое

    приведите пример пожалуйста, только чтобы без вот такой вот петушни

    (6 +  (int)'6') == (int) (object) "66"

     
  • 2.107, th3m3 (ok), 22:05, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для пехэпешников это норма.
     

     ....большая нить свёрнута, показать (125)

  • 1.17, rvs2016 (ok), 19:04, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > а также несколько изменений, нарушающих совместимость

    И нравится ж кому-то этот язык!
    Ну в 98-м году я его использовал только потому, что у меня тогда ещё не было доступа к ваянию сайтов на перле. Но это было в 98-м году и только по указанной причине! Но не сейчас же! :-)

     
     
  • 2.22, Аноним (-), 19:20, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    так вон сверху там местный иксперт, не предъявивший ни разу примеров своего кода, поет оду этому архитектурному выкидышку
     
  • 2.24, Аноним (24), 19:24, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Причем тут нравиться заказчики хотят подешевле вот и используют кучу сначала каких-то бесплатных решений вроде Joomla, а потом нанимают программиста для решения всех проблем.

    А как вот малому бизнесу расти сразу нанимать Java команду из 5 человек что бы они пол года кушали бюджеты?

    Отличное решение для компаний - букашек.

     
     
  • 3.231, Аноним (231), 12:44, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >А как вот малому бизнесу расти сразу нанимать Java команду
    >из 5 человек что бы они пол года кушали бюджеты?

    Так им ведь нужны простые формошлёпы. От них требуется только склейка компонентов написанных кемто другим. Не нужно понимать устройство компьютера или паттерны проектирования, только перебрасывание данных по примеру из Гугла.

     

  • 1.19, Rodegast (ok), 19:14, 26/11/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (2)

  • 1.25, Аноним (24), 19:25, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Подскажите оно уже может самостоятельно работать или все еще необходимо встраивание в сервер приложений?
     
     
  • 2.31, Аноним (58), 19:33, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Оно с самого начала самостоятельно работало.
    Из cli работает, какой ещё самостоятельности вы хотите?
     
  • 2.37, hshhhhh (ok), 19:40, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А вы что-то запускаете без вебсервера и сразу же вешаете приложение на 80 порт?
     
     
  • 3.41, Аноним (58), 19:45, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И тянет для этого тонну ногами деланных зависимостей от Васянов с очередного npm...
     
     
  • 4.68, hshhhhh (ok), 20:21, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > И тянет для этого тонну ногами деланных зависимостей от Васянов с очередного
    > npm...

    Какое отношение зависимости имеют к вебсерверу?

    В каком языке вы не тянете сотни тысяч непонятных зависимостей?

     
     
  • 5.70, Аноним (58), 20:23, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В PHP очень мало тяну. В рантайме есть почти всё, что нужно.
     
     
  • 6.71, hshhhhh (ok), 20:25, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В PHP очень мало тяну. В рантайме есть почти всё, что нужно.

    Вам очень повезло что вы не пользуетесь фреймворками.

    Но с другой стороны -- повезло ли вам?

     
     
  • 7.81, Аноним (58), 20:41, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    MVC фреймворки хороши, когда они оправданы.
    Допустим биллингу MVC без надобности.
    Или допустим самый мелкий CodeIgniter - это уже 100500 разрозненных классов. Их загрузка и инициализация, даже с учётом opcache, может небольшое, но нагруженное приложение просто убить по производительности.
     
     
  • 8.82, Аноним (58), 20:43, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Очень хорошо в тесте JIT это видно У мега-фреймворков от JIT толку вообще ник... текст свёрнут, показать
     
  • 3.43, Аноним (43), 19:47, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Какой-нибудь Node.js только так и работает.
     
     
  • 4.69, hshhhhh (ok), 20:22, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Какой-нибудь Node.js только так и работает.

    В интернетах пишут что Node.js прекрасно работает за nginx'ом, не говоря уже про varnish

     
     
  • 5.286, Аноним (239), 19:59, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если вы пишете приложение на node js, которое не является ни консольным, ни микр... большой текст свёрнут, показать
     
  • 4.73, hshhhhh (ok), 20:27, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Какой-нибудь Node.js только так и работает.

    Кстати, а это правда что 80 порт из коробки только доступен только для root?

     
     
  • 5.99, Аноним (40), 21:34, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все привилегированные (<1024) порты доступны только root (или процессу с CAP_NET_BIND_SERVICE, ели речь о linux). Коробки тут ни при чём.
     
     
  • 6.101, hshhhhh (ok), 21:37, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Все привилегированные (<1024) порты доступны только root (или процессу с CAP_NET_BIND_SERVICE,
    > ели речь о linux)

    Я к тому что запускать node.js приложения без вебсервера -- это интересно выглядящее занятие.

     
     
  • 7.105, Аноним (40), 21:40, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > запускать node.js приложения -- это интересно выглядящее занятие

    Так достаточно.

     
  • 7.162, Аноним (162), 06:39, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >запуск ноды на 80 порту

    sudo node app, но зачем? Пхп тоже без проксирования nginx такое себе запускать. Обычно пхп под апачем за nginx работает.

     
     
  • 8.203, Аноним (58), 10:35, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    nginx тут лишнее ... текст свёрнут, показать
     
     
  • 9.251, Аноним (40), 13:32, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лишний тут давно уже апач ... текст свёрнут, показать
     
  • 8.241, hshhhhh (ok), 13:10, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эм, это обычно было лет 10 назад, теперь пхп обычно работает за nginx через php-... текст свёрнут, показать
     
     
  • 9.267, Аноним (58), 16:18, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Неплохо бы страну уточнять nginx имеет такое частое применение в полутора стран... текст свёрнут, показать
     
     
  • 10.291, Аноним (40), 20:13, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    По всему миру На большой выборке apache httpd и nginx примерно на равных, а есл... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (21)

  • 1.28, Аноним (28), 19:30, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    он уже похож на питон?
     
     
  • 2.46, Аноним (58), 19:50, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +9 +/
    В смысле, надо ли считать пробелы?
    К счастью, нет.
     
     
  • 3.103, ИмяХ (?), 21:38, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    В чём проблема табом пользоваться? И не надо считать.
     
     
  • 4.122, Аноним (58), 23:27, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Spaces are not treated as equivalent to tab"
    Dixi, по сути. Да и вроде ж в пыхтоне 3 табы считаются не комильфо, а если к табам пробел добавить - то и вообще не взлетит.
     
     
  • 5.144, анонимуслинус (?), 01:57, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    когда пишешь код на питоне хотя бы в том же kate или kwrite отступы считать не надо. Там знаешь ли поддержка питона из коробки, как подсветка синтаксиса, так и правильные отступы при переходе на новую строку. Я уж не говорю про нормальные IDE. прежде чем поливать что то грязью разберитесь хотя бы. я понимаю когда всю жизнь пишешь только со скобками , потом весьма непривычно, но это беда не языка, это беда пользователя. и не сравнивайте компилируемые языки со скриптовыми.
     
     
  • 6.250, Аноним (250), 13:31, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    гоу сдавать вступительный экзамен по инфе на питоне! да, тот, что на бумаге
     
     
  • 7.262, анонимуслинус (?), 14:13, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    сам писал в kate скрипты на питоне и знаешь ли не испытал ни одной проблемы.  а информация о питоне есть на их сайте зайди и почитай. если интересно. питон хороший язык, но он скриптовый язык и у него должна быть своя зона применения, а не целиком писать на нем. по крайней мере я всегда считал плюсы основным, а питон оберткой.
     

  • 1.52, menangen (?), 19:53, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Кроме нового тормозного JIT - ничего нового, и эти дурацкие $имена $переменных - господи, они так неумело перл копировали, что всё говнецо спёрли в свой пхп
     
     
  • 2.60, Страшный аноним (?), 20:00, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не кинешь нам на посмотреть ссылочку на твою правильную копию perl-а?
     
  • 2.62, Аноним (58), 20:03, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    $ в именах переменных - это слегка непривычно, но в конечном счёте очень удобно.
    Во-первых, снимает проблему насчёт того, окажется твой $xor ($throw, $define, нужное вписать) ключевым словом или нет.
    Во-вторых, есть такой концепт, как обращение к методу или свойству по динамическому имени. $object->$namedProperty. Позволяет не городить map'ы.
     
     
  • 3.67, Аноним (58), 20:17, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А реальная причина в том, что парсеру так проще, он получается эффективнее. Для не-компилируемого языка это тоже немаловажно. В чём допустим проблема, что у вротпресса и симфоней от JIT толку нет? Они 100500 файлов кода затаскивают дольше, чем этот код выполняют, любители "классики" и "разбить на 100500 классов по 1 методу в каждом" игрались.
     
     
  • 4.155, Аноним (155), 04:25, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Бред, не имеющий ничего общего с реальностью. Симфони компилирует ди-контейнер + опкеш умеет подгружать небольшие файлы + есть прелоад
     
     
  • 5.205, Аноним (58), 10:43, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    1 Для загрузки каждого класса срабатывают загрузчики классов самого скрипта 10... большой текст свёрнут, показать
     
  • 2.102, Аноним (40), 21:38, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они когда неумело копировали perl, не удосужились подумать, для чего там что было сделано. В итоге получилось намного хуже, но без полной ломки обратной совместимости уже не исправить (да и зачем, если есть perl?).
     
  • 2.228, анон (?), 12:30, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Проблема даже не в дурацком синтаксисе - этот язык не предназначен для чего-либо... большой текст свёрнут, показать
     
     
  • 3.268, Аноним (58), 16:20, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > концепция php где он выполняет работу и умирает плохо подходит

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

     
     
  • 4.296, анон (?), 22:28, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    О чем речь? Вызов метода в "классической" парадигме - эквивалент полному циклу работы php. Много мозгов не нужно чтобы это понять, а вот перестроиться под нормальную работу после php мозгу какраз тяжело. И для современного веба это плохо подходит - постоянные уведомления в веб приложениях, и прочий интерактив. Я не говорю что php надо хоронить, но крупные проекты доставляют неудобства не только самим пхпшникам и решение проблем и детских болезней php занимает уже значительное время в разработке.
     

  • 1.100, ИмяХ (?), 21:36, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А нафига этому языку математические операции? Он же для показа текста и картинок на сайте, на ней же не пишут чисдодробилки.
     
     
  • 2.117, Аноним (231), 23:11, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На JS тоже большая часть кода вовсе не числодробилки, но, что будет если отключить ему JIT?
     
     
  • 3.134, Аноним (134), 00:32, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лучше просто отключить JS
     
  • 3.148, Аноним (40), 02:17, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Перестанет жрать память как не в себя?
     
  • 2.124, Аноним (58), 23:32, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Внезапно в Web для показа текста и картинок HTML+JS.
    А PHP уже давно и всерьёз обсчитывает всё, что эти HTML+JS показать должны.
     
     
  • 3.125, Аноним (58), 23:35, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    CSS забыл, но вы меня поняли.
     
  • 3.149, Аноним (40), 02:19, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Всерьёз обсчитывает — это читает с диска и вытягивает из СУБД, после чего сляпывает вместе и отправляет клиенту? Да, в таких серьёзных обсчётах без JIT никак.
     
     
  • 4.206, Аноним (58), 10:46, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как насчёт обсчитать игровую ситуацию например? Клиент послал "я хожу влево", теперь мне надо послать сообщеньице бэкенду. Далее в бэкенде понять, с какими из 100 объектов в локации он взаимодействует, триггернуть каждому эвент по взаимодействию, если таковые нашлись, сохранить результат, послать клиентской части в ответ сообщеньице с результатами сего действия: "вы налетели на детские грабли и они больно стукнули вас, -100 HP, -50 STR в течение 15 минут".
     
     
  • 5.253, Аноним (40), 13:36, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А теперь, пожалуйста, пример такой игрушки, написанной на похапе.
     
     
  • 6.335, Аноним (335), 17:41, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Minecraft Bedrock Edition. Наиболее популярная реализация сервера на PHP.
     
  • 2.178, Аноним (354), 08:36, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У нас биллинг на php
     
  • 2.181, Аноним (354), 08:46, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз плохо что в php нету типов для финансовых операций типа decimal128 или BigDecimal
    Есть только расширение bc-math которое со строками работает и мало операций
     
     
  • 3.209, Аноним (58), 10:47, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    gmp
     
     
  • 4.236, Аноним (236), 12:56, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    оно уже научилось дробные числа?
     
     
  • 5.269, Аноним (58), 16:21, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Fixed point вас устроит?
    Если мы о финансовых операциях, floating point вообще мимо и называется "вы делаете это совершенно через задницу".
     
     
  • 6.273, Аноним (236), 17:12, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ну расскажите что же сломается если считать в floating point decimal128
     
  • 5.281, Аноним (231), 19:11, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > оно уже научилось дробные числа?

    gmp_div_qr даст Вам остаток от деления. Целое, остаток и делитель это и есть полноценная дробь бесконечной точности. Как написать простенькие функции работы с такими дробями на на основе gmp, Вас должны были учить в школе на уроке алгебры.

     
     
  • 6.287, Аноним (354), 20:00, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    То есть нет и нужно писать велосипед.
    А если не дай бог ошибусь, оно ерунду начинает вместо баланса
     
  • 6.288, Аноним (354), 20:03, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И это при том что есть готовое расширение bc-math
    А лучше java.math.BigDecimal
     

  • 1.106, Gogi (??), 21:55, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    похапэха - это ПАРОДИЯ на язык, не путайте!
     
  • 1.109, Аноним (-), 22:26, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Операция PHP 7.4
    0 == "0" TRUE
    0 == "0.0" TRUE
    0 == "foo" TRUE
    0 == "" TRUE
    42 == " 42" TRUE
    42 == "42foo" TRUE

    ----------------

    о боже! как это развидеть?

     
     
  • 2.128, Аноним (115), 23:44, 26/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А что именно тебе не нравится? В документации описаны все правила сравнения и логика их работы
     
     
  • 3.150, Аноним (40), 02:20, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Задокументированная нелогичность не есть логика.
     
     
  • 4.154, Аноним (115), 02:57, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    У тебя получилось рекурсивное определение. Что ты имеешь в виду под нелогичностью (первое упоминание этого слова в твоём сообщении)?

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

     
     
  • 5.255, Аноним (40), 13:38, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не определение, это отрицание.
     
     
  • 6.263, Аноним (263), 14:32, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в общем стандартный хейтерок. За 3 комментария не смог объяснить ни что конкретно не нравится, ни почему. Уверен, ты вообще не программируешь
     
     
  • 7.271, Аноним (40), 16:37, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в общем, стандартный фанбой. Не смог даже подсчитать, что моих сообщений в этом треде было два (это третье). Но рад, что у тебя подгорело.
     
  • 2.179, Аноним (354), 08:38, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Используйте ===
     
  • 2.217, HolyHell (ok), 11:26, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Есть строгое сравнение, оно более "логичное"
     
     
  • 3.261, Аноним (261), 14:10, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нестрогое сравнение бывает более забавным...
     
  • 2.345, Аноним (360), 21:51, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Строгое сравнение === учитывает тип, а то что ты вбросил кусок говно родок с перла
     
     
  • 3.366, Аноним (40), 22:20, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В perl таких граблей нет, в нём разные операторы для сравнения строк (eq) и чисел (==).
     

  • 1.118, Аноним (134), 23:12, 26/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    О, свежая JSON молотилка. iPony, налетай. Новые модные технологии.
     
  • 1.141, Аноним (138), 01:28, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ура! Блестящему языку - блестящее будущее!
     
     
  • 2.238, Аноним (238), 13:07, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > несколько изменений, нарушающих совместимость

    Причина не использовать.

     

  • 1.152, Аноним (152), 02:28, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень замечательно. Развивается и так держать.
     
  • 1.157, Иваня (?), 05:14, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    PHP forever!
     
  • 1.161, Ананоним (?), 06:04, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Творцы в поисках занятий выпускают версии языков как бешенный принтер. Ох не к добру это, не к добру.
     
     
  • 2.186, Аноним (49), 09:36, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ...И сказал Господь: вот, один народ, и один у всех язык; и вот что начали они делать, и не отстанут они от того, что задумали делать; сойдём же и смешаем там язык их, так чтобы один не понимал речи другого. И рассеял их Господь оттуда по всей земле; и они перестали строить город...
     

  • 1.163, Аноним (163), 06:40, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вы еще на js ругаетесь с их нулл-обработкой.
     
     
  • 2.301, n242name (?), 23:17, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    JS один хрен бешеная собака, которую давно надо было пристрелить
     

  • 1.170, b0r1s (ok), 08:10, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Дождались. Хороший интерпретатор. Использую для прототипирования и написания сайтов, скриптов. Была даже своя CMS. Подкупают $переменные и include для написания самодостаточных приложений.

    Скрипты некоторых интерпретаторов при деплое часто в репозитории лезут, на PHP при разработке напихал зависимостей в архив через composer и в деплой.

    Если Чебурнет врубят, удаленные репозитории сразу накроются, никакого деплоя кода завязанного на них не будет. C PHP тоже будет проблема поддержания актуальности зависимостей, но это уже не так критично как невозможность деплоя.

    Чтоб небыло проблем с удаленными репозиториями можно свой дистриб GNU/Linux замутить на базе LFS и менеджер пакетов использовать на базе PHP сайта.

     
     
  • 2.266, Аноним (266), 16:02, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Толсто
     

  • 1.176, dalco (ok), 08:29, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Новая версия - это, конечно, круто, вот только бОльшая часть PHP-прог из моего хозяйства с версией 8.0 работать отказались. А в issues к ним куча воплей - "отключили давным-давно deprecated функцию XXX, негодяи!"

    В общем, как сидел на 7.4, так и продолжу ближайшие пол-годика :)

     
     
  • 2.185, Аноним (49), 09:32, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > с версией 8.0 работать отказались

    Как же не поломать всё :) это просто цель изготовителей апдейтов.

     
  • 2.235, Аноним (236), 12:55, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >В общем, как сидел на 7.4

    какой ты модный. Нормальные люди сидят на 5.5 или 5.2

     

  • 1.194, Аноним (261), 10:25, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как не умело в Unicode на уровне языка, так и не умеет без mbstring.
     
     
  • 2.242, Аноним (231), 13:14, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как не умело в Unicode на уровне языка, так и не умеет
    > без mbstring.

    То, что Вы называете строками это не более чем массивы байтов, там можно с чистой совестью хранить бинарные структуры. И только строковые функции относятся к этим массивам как к строкам. Это позволяет работать с любой кодировкой без постоянных перекодирований и парсер php не обязан преобразовать весь исходник в UTF-32 перед работой. И позволяет хранить и обрабатывать служебные строчки вроде имён переменных и ключей в словарях, как ANSI. То есть наиболее производительным образом.

     
     
  • 3.257, Аноним (40), 13:42, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > То, что Вы называете строками это не более чем массивы байтов, там можно с чистой совестью хранить бинарные структуры.

    И чё, на '\0' не споткнётся?

     
     
  • 4.258, Аноним (231), 13:44, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > И чё, на '\0' не споткнётся?

    Нет.

     
  • 4.270, Аноним (58), 16:22, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Внезапно нет.
     
  • 3.274, Аноним (164), 18:06, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это ты сейчас предложил переизобрести строку внутри строки? В сях этого добра нажрались, а ты в динамическом языке предлагаешь.
     
     
  • 4.279, Аноним (231), 18:25, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А в PHP нет иного способа делать это. Всякие fread оперируют "строками" но это не значит, что ему доступна работа только с текстом. Он может читать и выводить любые данные, например формируя картинку, офисный документ или архив. Если мой склероз мне не изменяет, то в Perl точно так же. А он в свою очередь эту логику вероятно унаследовал от Си.
    Но лучше так, чем как в JS, где нормальных массивов долгое время не было вовсе.
     

  • 1.200, Аноним (200), 10:32, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    отдайте уже этот трупик вордпрессу, посадите в теслу, теслу в ракету маска и отправьте куда-нить на Плутон
     
     
  • 2.298, Аноним (298), 22:58, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "Плутон" - это средство для создания блокнотиков на Julia
     

  • 1.210, Аноним12345 (?), 10:53, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Наверно хороший язык
     
     
  • 2.342, Аноним (342), 20:30, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Поверь мне - НЕТ
     
     
  • 3.375, Каконикал (?), 03:14, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Обоснуй
     

  • 1.216, Аноним (216), 11:10, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что за бред написан про nullsafe?

    > При вызове методов разрешено применение оператора "?", который позволяет инициировать вызов только, если метод присутствует

    При чём тут "метод присутствует"?

    Оператор ?-> в отличие от -> можно применять к null-объекту и получать на выходе null. Всё. Других отличий от -> нет.

     
     
  • 2.220, HolyHell (ok), 11:35, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо тот кто писал не посмотрел на пример с документации

    $country =  null;
    if ($session !== null) {
        $user = $session->user;

        if ($user !== null) {
            $address = $user->getAddress();

            if ($address !== null) {
                $country = $address->country;
            }
        }
    }

    И если цель стоит $country выставить значение то можно написать как $country = $session?->user?->getAddress()?->country;

    Ну и
    $foo = null;
    $foo?->bar()->baz();

     
     
  • 3.295, Аноним (49), 21:56, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сколько же здесь ошибок проектирования...
     
     
  • 4.308, Аноним (58), 09:12, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только одна - собственно постом выше вот этого.
     

  • 1.219, HolyHell (ok), 11:31, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Как минимум теперь будет проще передавать параметры в методы (public function foo(name: 'test'){}). Ну и Union Types тоже хорошо.
     
  • 1.237, Аноним (237), 12:57, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пишу на PHP время от времени. Страшно. С каждой новой версией на 1 адекватное изменение 10 безумных.
     
     
  • 2.240, Аноним (238), 13:09, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Зато куча народа при деле. Ну хотя бы переписать WordPress и все плагины к нему.
     

  • 1.247, Аноним (360), 13:25, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Нормас... пых развивается, а не деградирует в отличии от некоторых
     
     
  • 2.277, Аноним (-), 18:15, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пых развивается, а не деградирует

    если бы это было так..

     
     
  • 3.311, Аноним (360), 09:48, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты на на гоу, жабу, педарт, недокотлин посмотри вот где пипец
     

  • 1.248, Аноним (360), 13:26, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Java все?
     
     
  • 2.259, Аноним (261), 13:58, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    GraalVM пыху запускает в том числе.
     
     
  • 3.341, Аноним (360), 20:00, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но зачем?
     
     
  • 4.349, Аноним (261), 01:15, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы бизнес логика финансов работала в правильных языкам программирования.
     
     
  • 5.358, Аноним (360), 14:24, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Есть COBOL и его дитя ABAP который пилился как раз для программирования бизнес процессов, зачем натягивать жабу на бизнес если она является ЯП общего назначения примерно как C++, C#, Python и прочие...

    Влажные фантазии жаберов про язык для кофеварок и энтерпрайз чаще всего взаимоисключают друг друга

     

  • 1.276, Аноним (-), 18:12, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Эффективность математических вычислений, в PHP. Пишу коммент по букве, после нажатия на кнопку - каждый раз проваливаюсь под стол от смеха.
     
  • 1.282, Аноним (282), 19:21, 27/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вау, на пхп еще кто-то пишет? Не, я сам писал пол-года, но это было десять лет назад.
     
     
  • 2.299, Аноним (298), 23:00, 27/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я писал на PHP 20 лет назад..... Однако она самый распространённый ЯП в вебе по числу внедрений. И конкурентов пока нет.
     
     
  • 3.305, Аноним (49), 04:06, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Язык мебмакак, самых низкооплачиваемых рабов и... Ой, простите, ведомых и людей с инвалидностями.
     
     
  • 4.312, Аноним (360), 09:52, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лол, но Java это такие же веб-макаки со своим Spring, и такие же рукожопы не осилившие SQL со своим hinernate, да и зп у жаб выше пыхарей тыщ на 30, а вот говнокода с стиле jee в разы больше
     
     
  • 5.316, Аноним (298), 10:36, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У автора комментария, видимо, ни в PHP нет опыта, ни в Java. Области примерения соверщенно разные. К тому же, веб-интерфейсы на Spring сейчас не пишут. А для написания бизнес-логики Java весьма надёжна. Как по языку, так и по средствам вокруг языка. Начиная от статических валидаторов, заканчивая различными профилировщиками. Плюс вся Big Data живёт на Java.
     
     
  • 6.325, Аноним (360), 14:07, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Смузи у тебя по губам течет при слове бизнес-логика или бигдата? А если сказать проще... бэкэнд для веба, твой энтерпрайзный мир разрушится?
     
     
  • 7.327, Аноним (327), 14:22, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи прямо - Java не осилил. И вообще, плохо представляешь технологические средства для решения современных задач.
     
     
  • 8.328, Аноним (360), 14:30, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А че его осиливать Быдло язык для несоливших C ... текст свёрнут, показать
     
  • 4.315, Аноним (-), 10:33, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Питон уже вовсю борется с php за роль самого дешевого. Впрочем, у питона одна проблема - не факт, что количество внедрений на нём приблизится к PHP. Технологичность у PHP таки выше.
     
     
  • 5.324, Аноним (360), 14:05, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Пистон пыху не конкурент, ведь пых царь в своем царстве веба и не лезет в системное по, матан и ии
     
  • 3.313, Аноним (360), 09:53, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это говорит о том что пых понастоящему нужный язык, тут смузи языки пару лет немогут выдержать после релиза, а пыху уже за 20
     
     
  • 4.317, Аноним (-), 10:38, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Возраст - не показатель. Питону - 30. На каждом столбе предлагают ему поучиться, но никто не хочет тащить его в прод.
     
     
  • 5.321, Аноним (360), 13:59, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пых как бы не смузи, а для дела
     
     
  • 6.337, Аноним (261), 18:42, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для забивания микроскопом отверстий.
     
     
  • 7.368, Аноним (58), 22:29, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Расскажите, какие отверстия вам забили микроскопом.
     
  • 5.356, Аноним (237), 12:41, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я попробовал и больше желания не возникает.
     

  • 1.318, Ilya Indigo (ok), 11:10, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Изменено поведение при сравнении строковых и числовых типов.

    Ну наконец-то! Я уже даже не ожидал этого, и смирился с этим косяком и костылём ===.
    А тут наконец-то в PHP сделали по-человечески!

    P.S. Может, когда-нибудь, и это (int)(1.001*1000) = 1000 исправят.

     
     
  • 2.326, Аноним (326), 14:21, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >P.S. Может, когда-нибудь, и это (int)(1.001*1000) = 1000 исправят.

    тебе это никогда не исправят, потому что число 1.001 не имеет точного представления в двоичной системе счисления

     
     
  • 3.331, Ilya Indigo (ok), 14:59, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>P.S. Может, когда-нибудь, и это (int)(1.001*1000) = 1000 исправят.
    > тебе это никогда не исправят, потому что число 1.001 не имеет точного
    > представления в двоичной системе счисления

    Подобное говорили и про '1st' == 1, мол это эквивалентно (int)('1st') == 1, и если нужно без приведения типов, то используй костыль ===, как я и делал.
    Но ведь исправили!
    А про fdiv() я вообще молчу! Извращенцы!

     
  • 2.329, Аноним (326), 14:34, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    (PHP 4, PHP 5, PHP 7) bcmul — Умножение двух чисел с произвольной точностью

    <?php
    var_dump(((int) bcmul(1000, "1.001")) == 1000);

    bool(false)

     
     
  • 3.330, Ilya Indigo (ok), 14:56, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> (int)(1.001*1000)
    > bcmul(1000, "1.001")) == 1000);

    Это делается ещё проще стандартными методами
    round(1.001*1000)

     
     
  • 4.336, Аноним (261), 18:42, 28/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Валяюсь под столом от пыхи
     
     
  • 5.351, Аноним (354), 01:46, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Float и double во всех языках и на всех процессорах работают одинаково
    Пыха здесь вообще не причём
     
     
  • 6.353, Аноним (49), 04:10, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Float и double во всех языках и на всех процессорах...

    Давай, расскажи ещё больше сказок. А ещё лучше попробуй сделать round(2.5) в разных языках - вот ты удивишься! Ты, поди, не в курсе, что интел использует бухалтерское округление, когда round(2.5)=2? Из-за чего некоторые проги используют софтовую реализацию математического округления, чтобы получать 3.

     
     
  • 7.355, Аноним (326), 11:12, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Кроссплатформенный ассемблер пойдет?
    #include <stdio.h>
    #include <math.h>
    int main() {
        printf("Result: %f", round(2.5));
        return 0;
    }


    Result: 3.000000

     

  • 1.343, Аноним (343), 20:52, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Добавлена функция fdiv(), выполняющая операцию деления без вывода ошибки в случае деления на ноль.

    Хм...
    В документации:
    > PHP Function List
    > fdiv() doesn't exist.

    В ченджлоге 0 упоминаний.

     
  • 1.347, Аноним (360), 21:53, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Смотрю и поражаюсь как же корежит жаберов от пыха, примерно так же как плюсовиков корежит от жаберов
     
  • 1.348, СССР (?), 23:16, 28/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Изменено поведение при сравнении строковых и числовых типов"
    мдааа, весьма печльно когда от версии меняется поведение выполнения скрипта при операциях сравнения ((
     
     
  • 2.350, Синьоры смотрители борделей (?), 01:17, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пыха всегда была легкого поведения
     
  • 2.352, Аноним (49), 04:03, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    и это они делают в 8-ой версии!
     

  • 1.359, Аноним (360), 14:26, 29/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нахрена вам точность в языке который в 99.9% случаев работает со строками символов как CMS?
     
     
  • 2.361, Аноним (361), 16:27, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Он и деньги из базы предоставляет как текст
     
     
  • 3.369, Аноним (58), 22:31, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это лучшее представление для денег, поверьте.
    Нет, можете конечно сразу в float запихать... но после этого деньги вам доверять будет так себе.
     
     
  • 4.371, Аноним (361), 22:45, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Php json там не только float делает
     
  • 3.370, Аноним (58), 22:38, 29/11/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут забавный случай. На днях посмотрел (ради интереса, какие ещё можно плюхи реализовать в своём) на один маститый биллинг телефонный известный (не российской разработки, нет), написанный бородатыми свитерастами аж на сях, аж без плюсов. Обнаружил забавное. У них на вычислениях денег самый настоящий float, мало того - так ещё и есть округления на промежуточных шагах до двух знаков после точки - и не регулируется, из-за этого у меня на очень небольшом тестовом сете (реально небольшом, не более суток по одному абоненту) набежало ошибок округления туда-сюда евроцентов на несколько. Поплевался, решил, что вот такая фича нам точно не нужна :D Название не скажу, чтобы не подрывать репутацию.
     
     
  • 4.378, Прокоповна (?), 14:25, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > На днях посмотрел написанный бородатыми свитерастами аж на сях, аж без плюсов.

    Страсть как люблю такие драммы !

     

  • 1.372, Аноним (372), 23:03, 29/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот смотрю на код пыха, вижу все эти $ и становится грустно.
     
     
  • 2.376, Каконикал (?), 03:20, 30/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    пойди поплачь в уголочке, полегчает
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру