The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки PHP, opennews (ok), 12-Фев-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


7. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –5 +/
Сообщение от Ilya Indigo (ok), 12-Фев-19, 12:10 
Надеюсь, следом за Hack, PHP8 будет тоже двигаться в сторону статической типизации и выкинет несовместимые с этим особенности, функции и языковые конструкции.
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –5 +/
Сообщение от тоже Анонимemail (ok), 12-Фев-19, 12:17 
Вы так говорите, как будто это что-то плохое.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –5 +/
Сообщение от Аноним (9), 12-Фев-19, 12:21 
Динамическая типизация?
Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от тоже Анонимemail (ok), 12-Фев-19, 13:12 
На практике - вредная и ненужная вещь. Достаточно простых переводов в строку и обратно на уровне языка, и статика наведет порядок там, где сейчас его можно упустить просто по небрежности.
Пока РНР был языком тяп-ляп функций, как JS, динамика была критичной.
Сейчас, когда все всерьез и через ООП, она больше мешает.
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –2 +/
Сообщение от Junior frontend developer (?), 12-Фев-19, 15:12 
Проблема не в том, что она не нужна, а в том, что это куда больше выразительной силы, чем обычно нужно пользователю, что создает дополнительную сложность и когнитивную нагрузку. Да тот же ООП в большинстве случаев предоставляет куда больше динамизма, чем нужно.
Использовать конструкции языка, предоставляющие минимально нужную выразительную силу — хорошая практика.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +5 +/
Сообщение от Аноним (22), 12-Фев-19, 15:31 
Проблема пыха не динамическая типизация, а легаси и слабая типизация.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +1 +/
Сообщение от тоже Анонимemail (ok), 12-Фев-19, 15:45 
Проблема еще и в том, что тем, кто продолжает писать это легаси, не подается 220В на клавиатуру.
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +2 +/
Сообщение от Онаним (?), 13-Фев-19, 09:47 
Угу. Лепим ООП к месту и не к месту, получая на выходе одноразовый тормозной говнокод.

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

Сначала сделал рабочий PoC "легаси" - на хэшах и просто массивах. Потом вспомнил, что сейчас модно ООП, сконвертил префиксы в объекты, объявил проперти параметров, геттеры-сеттеры, методы прохода к ветвям и расчёта, "всё как надо". Накладные расходы по памяти на формирование дерева оказались таковы, что пришлось всё это счастье выкинуть, и вернуться к ассоциативным массивам.

Мораль: забивать гвозди отвёрткой - вредно.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

52. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от тоже Анонимemail (ok), 13-Фев-19, 10:39 
Внезапно, именно статическая типизация могла уменьшить потребление памяти в вашем случае.
Если, конечно, не дурить и не строить деревья из объектов без всякой на то необходимости.
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Онаним (?), 13-Фев-19, 22:54 
Необходимость в деревьях там 100%, в процессе обработки нужно выхватывать произвольные субдеревья с наследованием параметров и перечислением индексов как наличествующих, так и отсутствующих листьев. Листьев - семь с половиной миллионов. Параметров в дереве не много, но они ближе к началу-середине, и реже - на листьях. Там вариантов банально нет.
Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Forthemail (ok), 24-Апр-20, 16:18 
Некропостнул.
Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от KonstantinB (??), 13-Фев-19, 22:40 
А, геттеры-сеттеры это у нас ООП, понятно. Сдуру можно и буй сломать. Бегом читать Фаулера и Эванса, в частности про антипаттерн anemic model.
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

66. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +1 +/
Сообщение от Онаним (?), 13-Фев-19, 22:52 
Дурак выхватил из рассказа два малозначительных слова, и на основании них начал делать свои далеко идущие выводы. Впрочем, на то он и дурак.
Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –1 +/
Сообщение от KonstantinB (ok), 14-Фев-19, 14:33 
См. "правило тринадцатого удара". Если часы пробили 13 раз, то следует усомниться в верности каждого удара часов.

Впрочем, я вас особо не виню: то, что сейчас популяризировано в качестве ООП, и то, что на самом деле им является - это две большие разницы. Критикуют обычно первое и вполне справедливо.

Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –1 +/
Сообщение от vitalif (ok), 12-Фев-19, 13:09 
Надеюсь, что нет. Идите на хрен со своей типизацией "пока в вилларибо настраивают сборку, в виллабаджо уже сделали MVP"
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

16. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от тоже Анонимemail (ok), 12-Фев-19, 13:15 
... на Ноде, которой ничего такого - вроде статической типизации или широкого использования в серьезных проектах - не грозит.
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –6 +/
Сообщение от Junior frontend developer (?), 12-Фев-19, 15:06 
Все серьезные проекты давно на TS
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –3 +/
Сообщение от сцукенберг (?), 12-Фев-19, 16:00 
ну оооок, у меня, значит, несирьозный, понял-понял...
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +3 +/
Сообщение от KonstantinB (ok), 12-Фев-19, 17:06 
Серьезный или несерьезный, а типизация очень хорошо помогает не накосячить тупейшим образом. У меня есть что сравнивать: вот под рукой два проекта (оба одинаково серьезные), старый написан на чистом ES5, а новый на Typescript. Если с Typescript почти все ошибки вида "забыл обязательное поле или опечатался в имени ключа в цепочке map/filter/reduce" ловятся уже на этапе компиляции, то с чистым ES5 такая же ошибка приводит к получасу мучительной отладки.
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –2 +/
Сообщение от Аноним (31), 12-Фев-19, 19:09 
> Если с Typescript почти все ошибки [...] на этапе компиляции

Сколько раз вам нужно запустить компиляцию, чтобы исправить реально все обнаруженные ошибки? Сколько это по времени, помноженное на время компиляции?

Ничего не имею против строгой типизации, но вся это маята с компиляциями из одного языка в другой, потом ещё 10 раз, потом ещё интерпретатор с jit... не проще ли сразу взять нормальный язык типа c++? Компилироваться будет столько же, но хоть при выполнении не будет жрать как не в себя.

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –1 +/
Сообщение от Антон (??), 12-Фев-19, 20:52 
чтобы отлавливать ошибки не нужно запускать компиляцию, это делает IDE.
Компиляция tsс только для билда, а там не только типы, но и трансляция фич, не существующих в js.

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

С++ не даст вам такой гибкости.

Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –2 +/
Сообщение от KonstantinB (ok), 13-Фев-19, 00:22 
> Сколько раз вам нужно запустить компиляцию, чтобы исправить реально все обнаруженные ошибки?

Вручную - 0 раз, все ошибки видно сразу в IDE.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

44. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Онаним (?), 13-Фев-19, 07:37 
А, ну то есть синтаксис верный - можно и в продакшн. Ферштейн.
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –1 +/
Сообщение от KonstantinB (ok), 13-Фев-19, 10:58 
Типичный аноним Опеннета не в состоянии удержать контекст обсуждения глубиной более одного комментария, да?

Речь шла, внимание, об ошибках несовпадения типов, которые ловит компилятор. Надо приглашать Капитана Очевидность, который разъяснит, какие еще ошибки бывают?

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Онаним (?), 13-Фев-19, 07:36 
> типизация очень хорошо помогает _криворучкам_ не накосячить тупейшим образом

Fixed

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

79. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Junior frontend developer (?), 15-Фев-19, 19:24 
>> типизация очень хорошо помогает _криворучкам_ не накосячить тупейшим образом
> Fixed

А хорошим программистам позволяет форсировать так же и логическую корректность кода.

Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +2 +/
Сообщение от Аноним (62), 13-Фев-19, 17:16 
Дорогой друг. Я понимаю что ты ахринеть разработчик. Но у меня за плечами, 7 лет си, 5 лет php, 2 года js, 5 лет ruby и 3года golang. И если ты говоришь что тебе статическая типизация нужна что бы не косячить то ты даун. Твои проблемы от нестрогой типизация. А статическая типизация добавляет проблем при нереиспользовании кода. Конечно если ты веб макака пишущая круды на готовом фреймворке то тебе это мало о чем скажет.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

68. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Онаним (?), 13-Фев-19, 22:55 
Поддерживаю.
Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от KonstantinB (ok), 14-Фев-19, 14:17 
Дорогой друг! Во-первых, если уж меряться, то у меня за плечами опыта в 3 раза больше твоего. Во-вторых, если ты внимательно перечитаешь мой комментарий, я вообще нигде не упоминал конкретные категории типизации. Предлагаю самостоятельно выяснить, к какой категории относится типизация в Typescript как по параметру строгая/нестрогая, так и по параметру статическая/динамическая. (Вопрос с подвохом, между прочим).
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

27. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от KonstantinB (ok), 12-Фев-19, 17:18 
На подмножестве PHP уже сейчас можно писать строго. Выкидывать там ничего не будут хотя бы потому, что тогда придется переписать примерно весь Wordpress, но самому себе никто не мешает запретить использовать "опасное" подмножество PHP. Есть линтеры, есть настройки анализатора кода в IDE, есть, в конце концов, code review.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

33. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –1 +/
Сообщение от Ilya Indigo (ok), 12-Фев-19, 19:42 
> На подмножестве PHP уже сейчас можно писать строго.

Строго - это когда ты определяешь в любом месте кода:
int a;
и теперь a можно присвоить только число в определённом диапазоне.
А когда ты можешь это указать только в параметрах ф-ий и м-ов - то это вообще ничто!

> ...тогда придется переписать примерно весь Wordpress,

И чё!?

Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от KonstantinB (ok), 13-Фев-19, 00:23 
> А когда ты можешь это указать только в параметрах ф-ий и м-ов - то это вообще ничто!

На самом деле, при должной декомпозиции (когда нет простыней по сто строк кода) на практике получается почти то же самое.

> И чё!?

То, что никто это делать не будет.

Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от Онаним (?), 13-Фев-19, 09:38 
Вот сразу видно, когда "классики" лезут в язык с динамической сборкой. В итоге при попытке притащить свои паттерны и "декомпозицию" по 5 строчек кода на класс / функцию, размазанных по 100500 отдельным файлам, у них внезапно начинаются проблемы, потому что динамическая сборка не дружит с подходами кодэ-макак, неспособных удерживать в голове более трёх строк одновременно (оставшиеся две - название функции с агрументами и закрывающая скобка).
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –1 +/
Сообщение от KonstantinB (ok), 13-Фев-19, 10:54 
Это вы лихо всех авторов общепризнанных паттернов проектирования ПО в кодомакак записали. :-)

Нет, кодомакаки это как раз писатели простынок с цикломатической сложностью over 100500 методом копипаста со stack overflow.

Проблем с декомпозицией нет никаких вообще, динамика ей не мешает никак, с чего бы?

Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +2 +/
Сообщение от Онаним (?), 13-Фев-19, 22:57 
С того бы, что PHP вынужден каждый раз всю эту портянку подгружать и парсить. На каждый, сцуко, запуск. Сейчас opcache слегка спасает, но и он не всесилен.

А мозговой стэк оверфлоу при чтении кода - это как раз у горе-декомпостеров ради декомпоста, без цели и смысла.

Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от KonstantinB (ok), 14-Фев-19, 14:29 
В php времен 4/5 opcache из коробки не было по одной простой причине - чтобы Zend мог продавать свой коммерческий кэшер опкодов. Без той или иной реализации opcode cacher никто в здравом уме PHP не использовал.

А начиная с семерки opcache в PHP из коробки.

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

Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +1 +/
Сообщение от Онаним (?), 14-Фев-19, 22:28 
Когда у кодомакак ломается паттерн - это хорошо. Потому, что учиться думать самостоятельно - хорошо безусловно.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

54. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +/
Сообщение от RNZ (ok), 13-Фев-19, 10:51 
https://github.com/lakwarus/wordpresshhvm

Никогда не говори...

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

57. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +1 +/
Сообщение от KonstantinB (ok), 13-Фев-19, 10:59 
3 commits, 6 years ago. Сразу видно, проект живет и развивается!
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –3 +/
Сообщение от Coocosemail (?), 12-Фев-19, 19:36 
Какой смысл в ПХП со статической типизацией если есть Java с отлаженным JIT, богатым выбором библиотек и отсутствием геммороя со сборкой расширений.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

34. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  +2 +/
Сообщение от Ilya Indigo (ok), 12-Фев-19, 19:46 
> Какой смысл в ПХП со статической типизацией если есть Java с отлаженным
> JIT, богатым выбором библиотек и отсутствием геммороя со сборкой расширений.

Какой смысл в жабе с её виртуальной машиной, если есть C++ с отлаженной кросплатформенной компиляцией, богатым выбором библиотек и отсутствием геморроя с докупкой оперативной памяти?

Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –2 +/
Сообщение от coocosemail (?), 13-Фев-19, 10:40 
Такой что требуется значительно больше времени тратить на разработку вместо того чтобы купить память.
Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск виртуальной машины HHVM 4.0 с прекращением поддержки ..."  –2 +/
Сообщение от Аноним (62), 13-Фев-19, 17:23 
Отсутствие ручного выделения памяти для вас уже недостаточно? Или вы по причине своей не компетентности не понимаете что для каждого яп свои задачи?
Ответить | Правка | К родителю #34 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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