The OpenNET Project / Index page

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



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

"Релиз языка программирования PHP 8.3"  +/
Сообщение от opennews (?), 23-Ноя-23, 21:29 
После года разработки представлен релиз языка программирования PHP 8.3. Новая ветка включает серию новых возможностей, а также несколько изменений, нарушающих совместимость...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=60172

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

Оглавление

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


1. Скрыто модератором  –4 +/
Сообщение от DEF (?), 23-Ноя-23, 21:29 
Ответить | Правка | Наверх | Cообщить модератору

66. Скрыто модератором  +5 +/
Сообщение от нах. (?), 24-Ноя-23, 09:45 
Ответить | Правка | Наверх | Cообщить модератору

2. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Дмитрий (??), 23-Ноя-23, 21:31 
Когда строгие коллекции??
Ответить | Правка | Наверх | Cообщить модератору

3. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Аноним (3), 23-Ноя-23, 21:44 
Для этого дженерики нужны. Можно, конечно, сделать только массивы, как в Golang, а потом страдать, но в пхп и так достаточно страданий
Ответить | Правка | Наверх | Cообщить модератору

9. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (9), 23-Ноя-23, 22:19 
Вроде в HHVM есть дженерики, может и в PHP когда-нибудь завезут, если решать что они там нужны
Ответить | Правка | Наверх | Cообщить модератору

10. "Релиз языка программирования PHP 8.3"  –6 +/
Сообщение от Вы забыли заполнить поле Name (?), 23-Ноя-23, 22:47 
> Для этого дженерики нужны.

А еще указание variance. Ибо если делать как в Java, то получается нетипобезопасно, потому что массивы коварианты. Хорошо хоть в golang инварианты.

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

50. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от Вы забыли заполнить поле Name (?), 24-Ноя-23, 07:59 
Так, например, след. код на java

class Main {
  public static void main(String[] args) {
    String strings[] = {"house", "daisy"};
    Object objects[] = strings; // covariant

    objects[1] = "cauliflower"; // works fine
    objects[0] = 5;             // throws exception
  }
}

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

52. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Вы забыли заполнить поле Name (?), 24-Ноя-23, 08:05 
>> Для этого дженерики нужны.
> А еще указание variance. Ибо если делать как в Java, то получается
> нетипобезопасно, потому что массивы коварианты. Хорошо хоть в golang инварианты.

Также есть хорошее сравнение по variance в одном из последниз PEP питона https://peps.python.org/pep-0695/#summary

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

60. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Vlad VIolentiyemail (?), 24-Ноя-23, 08:33 
Решается через PHPDoc и добавления анализаторов кода типа psalm и phpstan
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

179. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 12:36 
Не проще сразу другой язык выбрать?
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

4. Скрыто модератором  –7 +/
Сообщение от пох. (?), 23-Ноя-23, 21:49 
Ответить | Правка | Наверх | Cообщить модератору

5. Скрыто модератором  +4 +/
Сообщение от лютый арчешкольник... (?), 23-Ноя-23, 22:03 
Ответить | Правка | Наверх | Cообщить модератору

7. Скрыто модератором  –3 +/
Сообщение от Аноним (7), 23-Ноя-23, 22:17 
Ответить | Правка | Наверх | Cообщить модератору

8. Скрыто модератором  +3 +/
Сообщение от Аноним (8), 23-Ноя-23, 22:17 
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

32. Скрыто модератором  +1 +/
Сообщение от glad_valakas (?), 24-Ноя-23, 03:28 
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

11. "Релиз языка программирования PHP 8.3"  –17 +/
Сообщение от Аноним (11), 23-Ноя-23, 22:48 
кто знает, а пы-хы-пы такой же безопасный как раст или как си дидов?
Ответить | Правка | Наверх | Cообщить модератору

12. "Релиз языка программирования PHP 8.3"  –4 +/
Сообщение от Аноним (11), 23-Ноя-23, 22:51 
поставлю вопрос по другому, какой безопасный язык программирования использовать для веба?
Ответить | Правка | Наверх | Cообщить модератору

13. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от Смузихлёб (ok), 23-Ноя-23, 23:02 
> какой безопасный язык программирования использовать для веба

Будто у тебя есть выбор. Ответ на моей аватарке.

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

82. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (82), 24-Ноя-23, 11:47 
тут спрашивают про безопасный, а не про язык для смузихлёбов
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (14), 23-Ноя-23, 23:03 
Пых уязвимей ассемблера, если ты хотел об этом знать.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

15. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (15), 23-Ноя-23, 23:05 
F#
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

17. "Релиз языка программирования PHP 8.3"  +5 +/
Сообщение от Тот_ещё_аноним (ok), 23-Ноя-23, 23:51 
На вебне эксплуатируют кривизну поделки или браузера и от языка сервера это мало зависит.
Вордпресс и битрикс на пыжике например, вспотеешь обижать, если(ага) правильно стоят.
За жабаскрипт или го? Да так же точно всё.

А бебезопастность памяти? Так уборщик мусора есть.

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

24. "Релиз языка программирования PHP 8.3"  +5 +/
Сообщение от Аноним (24), 24-Ноя-23, 01:33 
Для веба нужно HTML.
Ещё немного (НЕМНОГО Я СКАЗАЛ!) css.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

69. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от BlackRot (ok), 24-Ноя-23, 09:56 
Html, css, Javascript а ещё уметь юзать графические редакторы, бек на php тож не лишним будет
Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз языка программирования PHP 8.3"  +/
Сообщение от nox. (?), 24-Ноя-23, 07:01 
Можно попробовать C (например, с фреймворком Wt). Но в любом случае безопасность упирается в WEB сервер.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

130. "Релиз языка программирования PHP 8.3"  +/
Сообщение от vitektm (?), 24-Ноя-23, 18:22 
Вопрос в  другом,  напишет какой-то Васян на безопасном языке, а его поезд собъёт. Владельцу бизнеса искать еще одного Васяна???

Так в России поездов больше, чем не криворуких модно-кодеров.
Бизнесу на твою моду как то наплевать. Бизнесу  прибыль нужна!
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

147. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 00:34 
> поставлю вопрос по другому, какой безопасный язык программирования использовать для веба?

Поставлю вопрос иначе. Большинство приложений в мире сейчас сервируют веб. Так нахера его писать на жручих тормозных "безопасных" есыках, если даже на них обезьяна с гранатой всё равно напишет что-то опасное? Капиталисты убивают планету ставя печки для исполнения этого тормозного кода лишь бы не нанимать кодеров, способных писать безопасный код на "опасных" есыках!

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

51. "Релиз языка программирования PHP 8.3"  +6 +/
Сообщение от Аноним (51), 24-Ноя-23, 08:04 
А кто сказал, что раст безопасный?
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

55. "Релиз языка программирования PHP 8.3"  +7 +/
Сообщение от Аноним (55), 24-Ноя-23, 08:12 
какие-то маркетологи
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз языка программирования PHP 8.3"  –15 +/
Сообщение от nonon (?), 24-Ноя-23, 00:35 
Думаю пора этот язык не развивать. А рекомендовать переходить на другие ЯП.

На Пайтон. Он куда более универсальный, хоть и похож
На модный go
Та даже на JS

Жаль что до сих пор когда гуглишь какой первый ЯП учить натыкаешься на PHP

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

20. "Релиз языка программирования PHP 8.3"  +9 +/
Сообщение от alchekalin (ok), 24-Ноя-23, 00:42 
Думаю, сэр немного заблуждается. Так что не жаль.
Ответить | Правка | Наверх | Cообщить модератору

22. "Релиз языка программирования PHP 8.3"  +4 +/
Сообщение от Александр (??), 24-Ноя-23, 01:12 
Из динамически типизируемых скриптовых PHP по структуре как раз больше всего подходит для бэкенда. То есть, это такой баланс: когда проект достаточно здоровый, чтобы писать его на python, но и нет необходимости скорости, чтобы переходить на шарпы/джаву. В целом, свою нишу занимает. 8-ой не трогал, писал на 7-ом. За исключением пары исторических моментов, язык понравился.
Js в беке имхо тот ещё мазохизм. Тогда уж лучше Ts
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

35. "Релиз языка программирования PHP 8.3"  +7 +/
Сообщение от Другой Александр (?), 24-Ноя-23, 05:46 
Надо ввести жёсткую модерацию на попытки уместить в одном предложении слова "скорость" и "джава".
Ответить | Правка | Наверх | Cообщить модератору

90. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 12:57 
Или познакомиться с продуктами JetBrains, давно развенчавшими этот стереотип.
Ответить | Правка | Наверх | Cообщить модератору

129. "Релиз языка программирования PHP 8.3"  +5 +/
Сообщение от Вы забыли заполнить поле Name (?), 24-Ноя-23, 17:55 
У вас ошибка, должно быть подтвердившими
Ответить | Правка | Наверх | Cообщить модератору

212. "Релиз языка программирования PHP 8.3"  +/
Сообщение от MT (ok), 27-Ноя-23, 01:42 
Если только не видел PhpED.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

217. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 27-Ноя-23, 11:39 
Win-only IDE в 2023? Не видел и не увижу.
Ответить | Правка | Наверх | Cообщить модератору

218. "Релиз языка программирования PHP 8.3"  +/
Сообщение от MT (ok), 27-Ноя-23, 12:53 
Речь не об ОС, а о быстродействии.
Ответить | Правка | Наверх | Cообщить модератору

219. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 27-Ноя-23, 13:26 
> Речь не об ОС, а о быстродействии.

Если что-то летает, но только под Мак - мне от этого ни горячо, ни холодно.

И если вы подозреваете, что я за тридцать лет программирования ничего, кроме Шторма, не видел и поэтому хвалю JetBrains - боюсь, вы заблуждаетесь.
Я хорошо помню, как MSVS С++ летала в версии 2008 года и как она же стала диким тормозом в 2010, например. Хотя язык отнюдь не менялся... просто эти рyкoжoпы загнали анализ кода в свою монструозную БД. Никакие Кресты и Шарпы от этого, внезапно, не спасли.

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

221. "Релиз языка программирования PHP 8.3"  +/
Сообщение от MT (ok), 27-Ноя-23, 15:31 
Java-продукция JetBrains работала заметно медленнее версии PhpED, выпущенной в то же время. Это и понятно — managed-язык закономерно медленнее компилируемого.
Ответить | Правка | Наверх | Cообщить модератору

222. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 27-Ноя-23, 15:41 
> Это и понятно — managed-язык закономерно медленнее компилируемого.

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

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

223. "Релиз языка программирования PHP 8.3"  +/
Сообщение от MT (ok), 27-Ноя-23, 15:43 
PhpED был быстрее не в теории, а на практике. В одно и то же время, в одной и той же ОС.
Ответить | Правка | Наверх | Cообщить модератору

224. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 27-Ноя-23, 15:57 
А Notepad++ был еще быстрее. Переходите уже на него и не делайте мне голову.
Ответить | Правка | Наверх | Cообщить модератору

225. "Релиз языка программирования PHP 8.3"  +/
Сообщение от MT (ok), 27-Ноя-23, 16:08 
У ПО одного класса в одно и то же время обычно паритет по функциональности.
Ответить | Правка | Наверх | Cообщить модератору

226. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от тоже Анонимemail (ok), 27-Ноя-23, 16:35 
> У ПО одного класса в одно и то же время обычно паритет по функциональности.

Я, наверное, мало знаю IT. Не могу припомнить ни одного примера, подтверждающего это заявление.

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

175. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Александр (??), 26-Ноя-23, 01:26 
В сравнении с чем? С каким-нибудь python и думаю PHP быстрее
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

37. "Релиз языка программирования PHP 8.3"  –4 +/
Сообщение от Аноним (37), 24-Ноя-23, 06:24 
Нишу дохлого легаси занимает успешно, да. Кол-во вакансий не даст соврать.
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

176. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Александр (??), 26-Ноя-23, 01:31 
И что мне должно сказать количество вакансий? То, что сейчас у каждой компании по 3-х страничному сайту? Это и без количества вакансий понятно. Компаний много, всем нужен интернет магаз на коленке собранный или лендинг какой-нибудь. Тут и заходят все эти python, node.js и PHP. Считай их ниша. Для чего-то по серьёзнее (что, понятно, нужно реже) берут C#, java. В совсем нагруженных случаях вообще C++. От сюда и получаем такую статистику по вакансиям, а вовсе не от того, что легаси
Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз языка программирования PHP 8.3"  –7 +/
Сообщение от Аноним (67), 24-Ноя-23, 09:52 
«Больше всего подходит для бэкенда» и переменные, мутирующие от того, что на них косо посмотрят, в одном предложении…
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

177. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Александр (??), 26-Ноя-23, 01:33 
А в python или js всё ровно с этим? Особенно в js
Ответить | Правка | Наверх | Cообщить модератору

25. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от Аноним (24), 24-Ноя-23, 01:35 
Не то, чтоб я за пхп, но в чём преимущество питона в вебе?
Ну чем оно лучше? Нет, можно и питон, но чем он лучше?
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

44. "Релиз языка программирования PHP 8.3"  –4 +/
Сообщение от Аноним (44), 24-Ноя-23, 07:23 
Он быстрее пыха вот в чём.
Ответить | Правка | Наверх | Cообщить модератору

53. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от Аноним (51), 24-Ноя-23, 08:07 
Сомнительно, а с учетом того, что PHP где нужна скорость компилируется JIT, то и неверно.
Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз языка программирования PHP 8.3"  +6 +/
Сообщение от Сталин (?), 24-Ноя-23, 08:14 
Нет, не быстрее )
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

58. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от Аноним (58), 24-Ноя-23, 08:27 
А вот тут по подробнее. Пхп с версии 7 вроди как нехило так ускорился, за счет использования jit компиляции и обошел по скорости питон, причем значительно. Не?
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

73. "Релиз языка программирования PHP 8.3"  +4 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 10:05 
JIT в 8
Но тем не менее 7 нехило так ускорилась, в частности за счёт прекращения копирования части структур до момента, пока их не поменяют.
Ответить | Правка | Наверх | Cообщить модератору

59. "Релиз языка программирования PHP 8.3"  +9 +/
Сообщение от Бывалый смузихлёб (?), 24-Ноя-23, 08:31 
настолько быстрее что в разы медленнее
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

70. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от User (??), 24-Ноя-23, 10:01 
Учитывая, что на голом что Пыхе, что змеюке под веб никто почитай и не пишет - то сравнивать надо не "языки", а конкретные фреймворки умножая на коэффициент руко...крылости разработчиков и тут возможны разнообразные варианты. Впрочем, для большинства проектов голый пырформантц в первую тройку критериев для выбора не попадает.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

91. "Релиз языка программирования PHP 8.3"  +6 +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 12:59 
Производительность веб-проекта - что на пыхе, что на питоне, да даже на жабоскрипте - в основном зависит от того, насколько хорошо разработчик знает... SQL.
Ответить | Правка | Наверх | Cообщить модератору

101. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от User (??), 24-Ноя-23, 14:05 
> Производительность веб-проекта - что на пыхе, что на питоне, да даже на
> жабоскрипте - в основном зависит от того, насколько хорошо разработчик знает...
> SQL.

Вообще да, но нет ). Или вернее, от того, насколько хорошо SQL знает разработчик ORM\framework'а - поскольку в большинстве случаев будет примерно дефолт :).

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

106. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 14:19 
> насколько хорошо SQL знает разработчик ORM\framework

Эти ребята обычно все-таки разбираются, и проблемы с конечным разработчиком.
Например, запрос можно сформировать с пагинацией, а можно без. На тестовых объемах разница незаметна, а вот через несколько лет работы полумиллионная таблица, которую чисто для вывода первых 20 записей запрашивают целиком... ну, не будем о Битриксе ;)


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

190. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (-), 26-Ноя-23, 13:32 
вы про что? limit 20 нет в запросе? логика там какая - чтобы без доп запроса показать всё по требованию? where пользоваться под нужный диапазон тоже не научились?)
Ответить | Правка | Наверх | Cообщить модератору

192. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 26-Ноя-23, 14:35 
> вы про что?


#bitrix/modules/sale/admin/transact_admin.php
-$dbTransactList = CSaleUserTransact::GetList(array($by => $order), $arFilter, false, false, array("*"));
+$dbTransactList = CSaleUserTransact::GetList(array($by => $order), $arFilter, false, array("nPageSize" => CAdminUiResult::GetNavSize($sTableID)), array("*"));

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

196. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Нанонимус53 (?), 26-Ноя-23, 14:55 
Вообще-то нет. CRUD какой-нибудь сильно на производительность не влияет, а сложные запросы всё равно приходится писать на SQL, просто оборачивая результаты их работы в объекты ORM. Так что действительно тут больше зависит от знания SQL и оптимизации базы данных.

Часть логики, если она сильно влияет на производительность, пишется модулями на C, и тогда в целом тоже всё равно - это модуль для PHP или для Питона. Мы так писали например функции для работы с географическими данными, типа рассчёта расстояния между точками на карте с учётом кривизны планеты, быструю выборку из нескольких близких точек и т.п.

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

213. "Релиз языка программирования PHP 8.3"  +/
Сообщение от User (??), 27-Ноя-23, 07:29 
Хм. У нас на последнее postgis воткнут - в общем-то хватает, впрочем задач крупнее городской теплосети пожалуй что и нет.
Ответить | Правка | Наверх | Cообщить модератору

92. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от YetAnotherOnanym (ok), 24-Ноя-23, 13:21 
> голый пырформантц в первую тройку критериев для выбора не попадает

Это временно. Пока начальство не вызвало и не попросило объяснить счета за хостинг и/или почему всё так тормозит.

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

100. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от User (??), 24-Ноя-23, 13:58 
>> голый пырформантц в первую тройку критериев для выбора не попадает
> Это временно. Пока начальство не вызвало и не попросило объяснить счета за
> хостинг и/или почему всё так тормозит.

АБСОЛЮТНОЕ большинство веб-проектов до этого светлого момента просто никогда естественным образом не дорастает, вот в чем фокус.

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

128. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от YetAnotherOnanym (ok), 24-Ноя-23, 17:27 
Да и фиг с ними. Главное, что кодер на модном язычке получит свой гонорар и свалит в следующий стартап.
Ответить | Правка | Наверх | Cообщить модератору

136. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от User (??), 24-Ноя-23, 21:10 
> Да и фиг с ними. Главное, что кодер на модном язычке получит
> свой гонорар и свалит в следующий стартап.

Клиент получает требуемую функциональность, разработчик - гонорар, win-win практически. А то, что через три года у клиента _могут_ возникнуть проблемы с производительностью... ну в общем "клиент типовой, резиновый" не готов ждать на полгода дольше и платить в три раза больше, чтобы _возможно_ не иметь проблем в будущем. Как-то так оно в реальном мире устроено.

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

152. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 01:02 
Ну вообще в реальном мире бизнес борется за живучесть и задаётся вопросами техподдержки. Кто не задаётся такими вопросами со временем всё равно отомрёт, даже если приложение спроектировано грамотно.
Ответить | Правка | Наверх | Cообщить модератору

173. "Релиз языка программирования PHP 8.3"  +/
Сообщение от User (??), 25-Ноя-23, 19:28 
> Ну вообще в реальном мире бизнес борется за живучесть и задаётся вопросами
> техподдержки. Кто не задаётся такими вопросами со временем всё равно отомрёт,
> даже если приложение спроектировано грамотно.

Ну в общем да. Стоимость поддержки решения в критериях выбора - есть. Тыр-пыр-формантца (Который, заметим, с этой "стоимостью" некоторым образом в контрах) - нет. Нет, если говрить о чисто IT'шных бизнесах - то тут возможны варианты, и то не факт - мордокнига смотрит на вас с определенным недоумением.

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

154. "Релиз языка программирования PHP 8.3"  +/
Сообщение от YetAnotherOnanym (ok), 25-Ноя-23, 01:15 
Клиент планирует посещаемость своих сервисов и сейчас, и через год, и через три года, и если он не прописал в договоре требования к производительности и масштабируемости, и не определил методику тестирования, а просто ограничился проверкой сервиса со своего клиентского устройства, принял и оплатил работу, а при мало-мальской нагрузке сервис лёг - ну, не повезло, связался с мошенником, а мозгов разоблачить его на хватило.
Ответить | Правка | К родителю #136 | Наверх | Cообщить модератору

172. "Релиз языка программирования PHP 8.3"  +/
Сообщение от User (??), 25-Ноя-23, 19:25 
> Клиент планирует посещаемость своих сервисов и сейчас, и через год, и через
> три года, и если он не прописал в договоре требования к
> производительности и масштабируемости, и не определил методику тестирования, а просто
> ограничился проверкой сервиса со своего клиентского устройства, принял и оплатил работу,
> а при мало-мальской нагрузке сервис лёг - ну, не повезло, связался
> с мошенником, а мозгов разоблачить его на хватило.

Айтишники-такие-айтишники. За первые два года закрывается больше половины бизнесов в России - но инструмент для создания сайт-визитки надо выбирать исходя из требований к производительности и масштабируемости. Да. Такъ победiмъ!

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

178. "Релиз языка программирования PHP 8.3"  +/
Сообщение от YetAnotherOnanym (ok), 26-Ноя-23, 10:57 
Однодневки-прачечные, как правило, обходятся без сайтов, даже одностраничных визиток. Для прочих видов бизнеса желательно умение смотреть чуть дальше собственного носа.
Ответить | Правка | Наверх | Cообщить модератору

181. "Релиз языка программирования PHP 8.3"  +/
Сообщение от User (??), 26-Ноя-23, 12:49 
Ну, надеюсь что "про it" вы знаете хоть чуть-чуть больше, чем "про бизнес", да.
Ответить | Правка | Наверх | Cообщить модератору

203. "Релиз языка программирования PHP 8.3"  +/
Сообщение от YetAnotherOnanym (ok), 26-Ноя-23, 16:09 
Вы своё знание и того, и другого продемонстрировали. Так что да, надежда - это всё, что Вам остаётся.
Ответить | Правка | Наверх | Cообщить модератору

102. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от nonon (?), 24-Ноя-23, 14:06 
Если учитывать что писать на нескольких языках такое себе.. типа прыгать с одного на другой так себе удовольствие..

На пайтоне можно писать скрипты, программы для десктопа. машинное обучение, нейронные сети, ну и бекенд..
На пхп только бекенд. Если нет у вас в планах писать всю жизнь бекенд, мне кажется вы освоете новый ЯП который вам понравится больше не для бека, для других целей, но начнете писать на нем так же и бекед) Хех)
Там на гошке, либо еще на чем-то

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

30. "Релиз языка программирования PHP 8.3"  +7 +/
Сообщение от OpenEcho (?), 24-Ноя-23, 02:12 
> Думаю пора этот язык не развивать.

Обоснуй, а то звучишь так авторитетно, прям так и хочется поверить

> На Пайтон. Он куда более универсальный, хоть и похож

Ты по скорости не пробовал его с сабжем сравнивать?

> На модный go

Го - значительно больше низкоуровневый, не всегда это надо

> Та даже на JS

Сорри, но жoпy с пальцем сравнивать, JS - асинхронный, управляемый событиями, когда  PHP - синхронный.

> Жаль что до сих пор когда гуглишь какой первый ЯП учить натыкаешься на PHP

Use the right tool for a job

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

43. "Релиз языка программирования PHP 8.3"  +/
Сообщение от лул (?), 24-Ноя-23, 07:13 
Юзай Swoole, ежели асинхронщину желаешь.
Ответить | Правка | Наверх | Cообщить модератору

80. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 11:18 
Ну, у меня допустим ныне свой стек короутин для PHP. Линейный (в отличие от реакта, который заставляет строить ужасающие своим размахом деревья), очень коротенький (тысячи 2 строк на всё про всё включая сахар), простой и пристойный. Будет время - выложу в паблик, хотя смузям не зайдёт.
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

81. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 11:20 
И да, с не***ческим перформансом - ~10000000/s переключений задач на 3.4GHz ядре, если задачи на генераторах. Это всего ничего - ~350 тактов на переключение. Если на файберах - в ~1.6-1.8 раза больше тактов, меньше задач.
Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от Аноним (38), 24-Ноя-23, 06:35 
>рекомендовать переходить на другие ЯП.

На Пайтон. Он куда более универсальный, хоть и похож

А какая универсальность яп тебе нужна для веба? Сайты должны загружать страницы и все. Как бы я не любил php, но с этим он отлично справляется, собственно для этого его и создавали.

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

57. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от Аноним (55), 24-Ноя-23, 08:17 
php после 4й версии закончился
Сейчас мы наблюдаем какую-то химеру
Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (58), 24-Ноя-23, 08:37 
Его бы немного почистить от лишнего, создается впечатление что уж больно много всего в языке. Создается впечатление что внем функции под каждый чих...(утрированно)
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

89. "Релиз языка программирования PHP 8.3"  +/
Сообщение от OpenEcho (?), 24-Ноя-23, 12:51 
> создается впечатление что уж больно много всего в языке.

Классический вариант, когда подхватывается корпоративно

> Создается впечатление что внем функции под каждый чих...(утрированно)

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

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

93. "Релиз языка программирования PHP 8.3"  +4 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 13:33 
И вот в этом его прелесть. Для простейшей задачи не надо тащить 100500 зависимостей из разных npshit'ов.
Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

103. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 14:10 
> в нем функции под каждый чих

Это пугает только новичков, которые в панике представляют, что это все надо вызубрить.
На самом деле, это как раз приятная особенность пыха: в его стандартной библиотеке куча оптимального кода на С, которым можно воспользоваться, как только тебе понадобилась эта оптимальность - вызвав одну из этих многочисленных функций (собственно, просто оберток над вызовом библиотечной функции).
Например, недавно при обсуждении одного довольно ресурсоемкого алгоритма, реализованного на чистом пыхе, мне подсказали функцию, о существовании которой я и не подозревал, хотя давно пишу на РНР. С минимальными изменениями алгоритма замена одного из его блоков на эту функцию ускорила его в 25 раз!

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

131. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от vitektm (?), 24-Ноя-23, 18:23 
Озвучьте функцию все равно аноним
Ответить | Правка | Наверх | Cообщить модератору

133. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 19:01 
А смысл? Это не какая-то серебряная пуля, которая сделает любому быстрее и лучше.
Это оптимальная реализация конкретного алгоритма, который мне подходил по логике.
Ответить | Правка | Наверх | Cообщить модератору

184. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 12:52 
В пыхе нынешнем конечно есть свои idiosyncrazy с производительностью, если надо в качестве ЯОН.

Например вот этот вот сахар вокруг статических типов - прилично увеличивает стоимость вызова. Лишняя проверка при каждом вызове.

Вызов функции или метода - очень дорогой. На критичных участках кода, выполняющихся десятки тысяч и более раз - лучше избегать в пользу развёртывания. Эдакий лютый привет любителям овердекомпозиции :) Инлайна в динамическом языке нет, естественно. Причём не только своих методов, вызовы рантайма тоже очень дорогие.

switch с case $this::const или class::const менее производителен, чем switch с case "string". Если аргумент switch - строка и более-менее постоянен (внутренний хеш формируется для каждой строки 1 раз), например редко меняемая property - вместо констант класса в критичных участках кода в switch лучше использовать строки напрямую.

И т.п.

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

104. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от noc101 (ok), 24-Ноя-23, 14:11 
> На Пайтон. Он куда более универсальный, хоть и похож

Пару букв схожи? Рукалицо
Почему униварсальность значит лучше?

>На модный go

Го немного про другое. Хотя и на нем есть веб, но все таки он про другое

>Та даже на JS

А где он выполняется, ты знаешь? А где РНР? Разницу объяснять?

>Жаль что до сих пор когда гуглишь какой первый ЯП учить натыкаешься на PHP

Жаль что есть такие люди как ты, которые крестовой отверткой гвозди забивают и кричат что микроскоп с этим справится лучше.

РНР не зря лучший веб язык для написания ВЕБа разного уровня.
Работает быстро. Работает прозрачно. Обучение дешевое и быстрое. Универсальный.

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

146. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Ivan_83 (ok), 24-Ноя-23, 22:44 
Пыхтон - обречённый язык из за dependency hell.
Он ещё кое как работает обмазанный venv и докерами, но всё больше скатывается к состоянию: "работает только на машине разработчика".
Учитывая то что там часть пакетов - биндинги которым нужны либы из системы, то оно не поддерживаемое для больших проектов.

JS - там проще, всё написано на самом JS, это сразу на порядок меньше головняков у тех кто это использует и обслуживает.

GO - всё нужное опять же носит с собой.

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

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

148. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 00:45 
Язык-то красивый сам по себе, только тормоз. Питон тоже тормоз. JS тоже тормоз. Go - ну если не загружать его по новой на каждый запрос, будет быстрее. Но он тоже "безопасный", то бишь обработка строк, из которых чуть более чем полностью состоит веб, будет в разы дороже "опасных" языков. Тормоза - это не только user experience,  это ещё затраты на более мощное железо, на электричество для этого железа в датацентрах, на электричество для кондиционеров для отвода тепла выработанного железом в датацентрах в атмосферу нашей планетки. Т.н. "безопасные" языки программирования опасны для человечества.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

150. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 25-Ноя-23, 00:51 
На современном веб-сайте обычно работают три языка-посредника.
JS на фронте - между пользователем и веб-сервером.
РНР на бэке - между веб-сервером и сервером БД.
и SQL в БД - между тем, что понадобилось сайту, и реальностью его хранения.
Вот последний бывает критичен по производительности, а чаще - по умению на нем писать.
Два других же, как правило, не играют в скорости работы сайта решительно никакой роли, если писал на них не совсем уж жoпopук.
Ответить | Правка | Наверх | Cообщить модератору

153. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 01:10 
> JS на фронте - между пользователем и веб-сервером.

От всей души желаю _некоторым_ разработчикам _некоторых_ сайтов пользоваться RaspberryPi для их просмотра. Иногда страница пару минут грузится. Это говорит от том, сколько бесполезной нагрузки (в т.ч. для экологии) они несут.

> На современном веб-сайте обычно..
> РНР на бэке - между веб-сервером и сервером БД.

Думаю, что похапе - это не обычно. Если считать не по количеству сайтов, а по количеству запросов.

> и SQL в БД - между тем, что понадобилось сайту, и реальностью его хранения.

Вот да, и никакого кеширования между похапэ и БД.

> Вот последний бывает критичен по производительности, а чаще - по умению на нем писать.

Естественно заход в базу дорого обходится. Но _обычно_ данные кешируются. Не у васянов, конечно. Следующий уровень сложности - обеспечение транзакционной целостности не только в БД, но и в кеше. Чот не видел в опенсорце :)

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

169. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 25-Ноя-23, 13:16 
Нынешние малинки несут на себе четыре ядра и восемь гигов памяти. Уделывая значительное число офисных машинок ;)
Ответить | Правка | Наверх | Cообщить модератору

170. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 13:53 
Именно такой я и пользуюсь. Некоторые сайты тормозят нещадно.
Ответить | Правка | Наверх | Cообщить модератору

171. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 25-Ноя-23, 14:31 
Ну, там скорее не кривые скрипты, а визуальные вытребеньки типа параллаксов и видеоподложек.
Есть в этом мире вещи настолько кривые, что выпрямить их можно только единственным способом...
Ответить | Правка | Наверх | Cообщить модератору

186. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 13:11 
Тормоз в PHP начинается тогда, когда идёт совершеннейшее непонимание принципов его работы.
Овердекомпозиция с методом на каждые 10 строк - одно из таковых. Вызов метода в PHP - удовольствие ОЧЕНЬ дорогое.
Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

191. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 26-Ноя-23, 14:35 
> Тормоз в PHP начинается тогда, когда идёт совершеннейшее непонимание принципов его работы.
> Овердекомпозиция с методом на каждые 10 строк - одно из таковых. Вызов
> метода в PHP - удовольствие ОЧЕНЬ дорогое.

Разрабочиков Nextcloud сложно заподозрить в совершенном непонимании пыха, однако как же он тормозит!

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

201. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 15:14 
Вы внутрь Nextcloud заглядывали?
Тут не то, что заподозрить, тут как раз таки всё "на лице".
Так можно писать исключительно на компилируемом языке.
Ответить | Правка | Наверх | Cообщить модератору

214. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 27-Ноя-23, 10:38 
> Вы внутрь Nextcloud заглядывали?
> Тут не то, что заподозрить, тут как раз таки всё "на лице".
> Так можно писать исключительно на компилируемом языке.

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

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

215. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 27-Ноя-23, 10:40 
И я о том же. Выбирают PHP, а пишут как на жабах.
Ответить | Правка | Наверх | Cообщить модератору

228. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 27-Ноя-23, 16:45 
> И я о том же. Выбирают PHP, а пишут как на жабах.

Тут не понял. Насколько я знаю, в пыхе Zend-оптимизатор компилирует текст программы и потом уже исполняет байткод, т.е. практически как в джава. С чего бы ему быть медленнее?

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

230. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 27-Ноя-23, 23:15 
Так, да не совсем. В жабе типы и структуры анализируются предварительно, и собранный байт-код работает с фиксированными знаниями о том, что прилетит в тот же вызов, с фиксированными структурами, определяющими, какие у класса есть свойства и каких типов, и т.п. Большая часть сборки осуществляется один раз на этапе трансляции в байт-код. У PHP же вся сборка - динамическая, каждый загружаемый файл, каждый создаваемый класс - всё это парсится и транслируется в рантайме. Да, кешируется в opcache, но всё равно часть трансляции есть даже при взятии из opcache.
Ответить | Правка | Наверх | Cообщить модератору

232. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 28-Ноя-23, 00:23 
> Так, да не совсем. В жабе типы и структуры анализируются предварительно, и
> собранный байт-код работает с фиксированными знаниями о том, что прилетит в
> тот же вызов, с фиксированными структурами, определяющими, какие у класса есть
> свойства и каких типов, и т.п. Большая часть сборки осуществляется один
> раз на этапе трансляции в байт-код. У PHP же вся сборка
> - динамическая, каждый загружаемый файл, каждый создаваемый класс - всё это
> парсится и транслируется в рантайме. Да, кешируется в opcache, но всё
> равно часть трансляции есть даже при взятии из opcache.

Мне даже такие детали не важны. Важен сам факт, что пых тормознее даже джавы. Дело не только в латентностях. Тупо в ненужных вычислениях, на которые тратится электричество и кремний.

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

235. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (235), 01-Дек-23, 00:48 
Строчить и строчить однотипные комменты в вебе.
Хватить тратить такты и кремний! Кончай издеваться над природой!
Ответить | Правка | Наверх | Cообщить модератору

216. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 27-Ноя-23, 10:41 
И не "такое", а "так", не путайте.
Попытка перенести подходы с компилируемых языков на динамический обречены быть унылым тормозом.
Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

227. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 27-Ноя-23, 16:43 
> И не "такое", а "так", не путайте.
> Попытка перенести подходы с компилируемых языков на динамический обречены быть унылым тормозом.

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

Но он и для простых проектов непригоден - не всё ли равно на чем навалять простенький код? Совершенно необязательно это должен быть похапэ. Зачем интерпретировать байткоды на каждый запрос, когда можно сконпелять во время разработки?

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

231. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 27-Ноя-23, 23:16 
Если вкратце - то да, при овердекомпозиции пых - плохой выбор.
Ответить | Правка | Наверх | Cообщить модератору

23. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Sw00p aka Jerom (?), 24-Ноя-23, 01:26 
>> // Было array (-5 => 'a', 0 => 'b') // Стало array (-5 => 'a', -4 => 'b')

ухх, а если пихнуть -0?

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

27. "Релиз языка программирования PHP 8.3"  +5 +/
Сообщение от Тот_ещё_аноним (ok), 24-Ноя-23, 01:46 
Imho -0 equ 0
Ответить | Правка | Наверх | Cообщить модератору

40. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от nox. (?), 24-Ноя-23, 07:04 
В математическом смысле нет. Да и в программировании с плавающей точкой тоже.
Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Sw00p aka Jerom (?), 24-Ноя-23, 08:42 
-0 в пхп нет кажись (
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

134. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от Тот_ещё_аноним (ok), 24-Ноя-23, 19:19 
"динамическая типизация" жеж
Он "-0" возьмет как аргумент "знаковое целое" по синтаксису и приведёт к "индекс массива", "-" в процессе отпадёт

А жаль)

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

88. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Lost Inside (ok), 24-Ноя-23, 12:47 
В чем смысл пихания -0, если можно пихнуть просто 0? Я имею в виду - практический смысл, а не трансцендентные фантазии иррационалистов от разработки.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

109. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Sw00p aka Jerom (?), 24-Ноя-23, 14:36 
> В чем смысл пихания -0, если можно пихнуть просто 0? Я имею
> в виду - практический смысл, а не трансцендентные фантазии иррационалистов от
> разработки.

я его явно не пихаю, он у меня может быть результатом вычисления индекса, к примеру (x / y) где x = 0, а y = -5, а в пхп как выше указали, -0 === 0

https://ru.wikipedia.org/wiki/%E2%88%920_(�...)

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

113. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от Lost Inside (ok), 24-Ноя-23, 15:04 
> он у меня может быть результатом вычисления

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

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

120. Скрыто модератором  +/
Сообщение от Sw00p aka Jerom (?), 24-Ноя-23, 15:32 
Ответить | Правка | Наверх | Cообщить модератору

180. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 12:40 
У IPU SF - это просто копия старшего бита результата, поэтому про -0 можно забыть.
В FPU ситуация немножко иная.
Посколько в данном случае индексы у PHP приводятся к строке через целые числа - про -0 можете забыть.
Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

158. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (158), 25-Ноя-23, 02:57 
$ php -r 'echo 0 / -100, "\n";'
0

$ php -r 'echo 0 === -0 ? "true" : "false", "\n";'
true

У меня какой-то другой пхп стоит?

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

167. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Sw00p aka Jerom (?), 25-Ноя-23, 12:14 
-0 нет в пхп
Ответить | Правка | Наверх | Cообщить модератору

94. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 13:35 
Интересно, кто-то вообще этим как-то пользовался?
В смысле задефайнить номер первого элемента, но не остальные.
Это ж прямой путь налететь на грабли.
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

118. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Sw00p aka Jerom (?), 24-Ноя-23, 15:19 
> Интересно, кто-то вообще этим как-то пользовался?
> В смысле задефайнить номер первого элемента, но не остальные.
> Это ж прямой путь налететь на грабли.

индекс первого элемента - 0 (в обычном понимании плоского "сишного" массива), -0 по сути должен был быть индексом последнего элемента, а в пхп нет понятия плоского "сишного" массива, там ключ-значение. Индексы "нумерического массива" даже в пхп это ключ-значение.  

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

141. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 21:54 
В PHP все массивы - ассоциативные, то есть хеши, да.
Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от 11111001010 (?), 24-Ноя-23, 01:51 
Чот он каким-то монстром стал, давно на нём не писал ничего.
Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (31), 24-Ноя-23, 03:17 
Да, старые версии на 98 винде работают и поддерживают Utf-8. Если не гоняться за дизайном, можно  PHP сайты с IE5 подружить.
Ответить | Правка | Наверх | Cообщить модератору

33. "Релиз языка программирования PHP 8.3"  +/
Сообщение от 11111001010 (?), 24-Ноя-23, 04:17 
Зачем ты утрируешь? 😠😡
Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз языка программирования PHP 8.3"  +4 +/
Сообщение от hshhhhh (ok), 24-Ноя-23, 12:23 
пхп сайты можно даже с lynx и wap подружить.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

149. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от x3who (?), 25-Ноя-23, 00:48 
Только непонятно при чем тут ЯП воще :)
Ответить | Правка | Наверх | Cообщить модератору

46. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (46), 24-Ноя-23, 07:29 
Это же php с классами, а значит php++. Странно что js с классами тоже не назвали js++.
Ответить | Правка | Наверх | Cообщить модератору

54. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (51), 24-Ноя-23, 08:08 
Есть (был, выкуплен) Objective-J.
Ответить | Правка | Наверх | Cообщить модератору

62. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (58), 24-Ноя-23, 08:42 
О! Вопрос. А вот язык Юля(Julia), что думает о вэбе?
Слышал что ей восхищались, вот интересно стало...
Ответить | Правка | Наверх | Cообщить модератору

64. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (64), 24-Ноя-23, 08:56 
Юля больше не вставляет.
Ответить | Правка | Наверх | Cообщить модератору

65. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от Аноним (58), 24-Ноя-23, 09:19 
Mojo?
Ответить | Правка | Наверх | Cообщить модератору

74. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (74), 24-Ноя-23, 10:09 
This
Ответить | Правка | Наверх | Cообщить модератору

220. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (220), 27-Ноя-23, 14:08 
Только Julia в отличии от Mojo существует в реальности.
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

68. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от Анонусemail (?), 24-Ноя-23, 09:53 
> Разрешено создание замыканий из методов и передачи именованных аргументов в эти замыкания.

господи какой трэш и ужас щас начнется

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

76. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от YetAnotherOnanym (ok), 24-Ноя-23, 10:48 
> Override

Для Эллочки-людоедочки со словарным запасом в 30 слов.
> генерация отдельных исключений (...) в случае проблем, возникающих в операциях работы с датами и временем
> генерация исключения при попытке передачи объектов, ресурсов или массивов в переменных, определяющих границы диапазона

Это же не по пхп-шному! Тру-пхп-вэй - это молча интерпретировать полученную переменную хоть как-нибудь, выдать хоть какое-нибудь значение, непредсказуемое, не укладывающееся ни в какую человеческую логику, но выдать и работать с ней дальше.

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

77. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 11:13 
Учитывая что мой код состоит процентов на 15 из обработки ошибок, могу сказать, что проблемы были, но не столь существенные. Зато выброс исключений где не надо прилично увеличит объём этого кода бесполезными зажимами try { ... } catch (\Exception $e) { }, просто чтобы оно не проваливалось по стеку. Потому что кроме исключения можно получить например false.
Ответить | Правка | Наверх | Cообщить модератору

78. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 11:15 
А делать из PHP жабу, где все эти цепочки исключений отрабатываются фиг знает где, и в итоге всё равно осыпаются тут и там - я вообще не знаю, чем поколение смузи думает. Нормальная C-подобная отработка ошибок: получил false или другой код ошибки - отработал.
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

79. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 11:15 
(и только если не хочешь отрабатывать на месте - вот тогда бросил исключение. САМ)
Ответить | Правка | Наверх | Cообщить модератору

95. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 13:39 
Ну вот #[Override] - это извращение.
Почему бы просто override не добавить.
Типа public override function xyzzy().
Куда-то оно не туда после 8.1 сворачивать начало совсем...
Ответить | Правка | Наверх | Cообщить модератору

96. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 13:40 
Анонимные классы - это тоже какой-то 3.14дец. Зачем??? Вся суть определений классов в их статичности.
Ответить | Правка | Наверх | Cообщить модератору

116. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от Аноним (116), 24-Ноя-23, 15:16 
Зачем вообще в вебе классы, когда задача в 90 % случаев просто сделать запрос к базе и вернуть результат.
Ответить | Правка | Наверх | Cообщить модератору

155. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 01:17 
> Зачем вообще в вебе классы, когда задача в 90 % случаев просто
> сделать запрос к базе и вернуть результат.

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

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

168. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Sw00p aka Jerom (?), 25-Ноя-23, 12:18 
ага, тенденция микросервисов и классов :))
Ответить | Правка | Наверх | Cообщить модератору

182. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (-), 26-Ноя-23, 12:50 
это вид сарказма такой? а типовые взаимодействия с бд, что и является основой, каждый раз вручную что-ли кодить? в них же все обработки/чеки и по типизации, кста. автолоадером легко подхватывается и прекрасно работает. помимо них, ещё куча, которая с массивами работает, вычисления проводит и передаёт их предыдущим. нууу... 2/3 процедурных простыней в моём проекте, примерно, скрыто так. чяднт?
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

97. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 13:41 
Не, я понимаю, что это очередная попытка решить проблему отсутствия множественного наследования - теперь можно на ходу лепить ***ту из классов, но лучше бы первое сделали.
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

156. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 01:20 
> Не, я понимаю, что это очередная попытка решить проблему отсутствия множественного наследования
> - теперь можно на ходу лепить ***ту из классов, но лучше
> бы первое сделали.

Множественное наследование - это извращение. Сам унаследуй и от папы и от мамы - тогда поймешь по реакции окружающих :) Интерфейсы рулят, и, судя по статье, они в пыхе есть.

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

161. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 25-Ноя-23, 09:27 
Сразу видно дальше хеллоуврота или сборки из всяких pypinpm'ов не писавших...
Ответить | Правка | Наверх | Cообщить модератору

183. Скрыто модератором  +/
Сообщение от Аноним (-), 26-Ноя-23, 12:52 
Ответить | Правка | К родителю #97 | Наверх | Cообщить модератору

98. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 13:43 
А того, чего не хватает - так и нет.
А не хватает
- Множественного наследования (уже упомянул)
- Перегрузки базовых операторов
- Перегрузки методов (варианты наборов аргументов), ну и заодно к ним сахарка темплейтов под типы, последнее для тех, кто очень любит типизацию и смузи
Ответить | Правка | К родителю #95 | Наверх | Cообщить модератору

105. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (64), 24-Ноя-23, 14:14 
иди со своими перегрузками и множественным наследованием сам знаешь куда
Ответить | Правка | Наверх | Cообщить модератору

107. "Релиз языка программирования PHP 8.3"  +3 +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 14:25 
> А не хватает

Пришел в Пых из Крестов, где этого есть. Но и там не пользовался, и здесь не вижу необходимости.
Множественное наследование - признак неудачной архитектуры ООП. Интерфейсы в РНР есть.
Перегрузки и прочий синтаксический сахар не решает никаких реальных проблем, только затрудняет чтение кода.
Вот более жесткой типизации, конечно, не хватает. Но тут бытие определяет - пых постоянно работает с внешними данными, которые, как правило - строки. Все равно приводить и валидировать самому.

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

115. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (116), 24-Ноя-23, 15:15 
> Пришел в Пых из Крестов

А чего сразу не в Бейсик?

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

121. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 15:36 
Опять он здесь. Пропал тред.
Ответить | Правка | Наверх | Cообщить модератору

123. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от YetAnotherOnanym (ok), 24-Ноя-23, 16:54 
> и там не пользовался, и здесь не вижу необходимости

Речь не мальчика, но мужа. Респект.

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

157. "Релиз языка программирования PHP 8.3"  +/
Сообщение от x3who (?), 25-Ноя-23, 01:32 
> Вот более жесткой типизации, конечно, не хватает. Но тут бытие определяет -
> пых постоянно работает с внешними данными, которые, как правило - строки.
> Все равно приводить и валидировать самому.

Вот в классе и валидировать  - подходят ему эти данные или нет

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

185. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (-), 26-Ноя-23, 13:08 
+

правда, чеки/конвертеры стоит иногда в отдельные классы выделять, чтобы массив, одними, правильно собрать с инпута и отдать другим на передачу в бд. в хеллоувордах всё это не проблема, конечно же))

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

117. "Релиз языка программирования PHP 8.3"  +/
Сообщение от подрывник (?), 24-Ноя-23, 15:17 
Наследование реализации — корень всех зол.
Да и не надо его, когда есть интерфейсы классов и подмешивание через "include".
Ответить | Правка | К родителю #98 | Наверх | Cообщить модератору

142. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Tron is Whistling (?), 24-Ноя-23, 21:55 
Подмешивание через include - это пять.
...
Я даже не знаю.
Похоже не только пых свернул куда-то не туда. Шею.
Ответить | Правка | Наверх | Cообщить модератору

165. "Релиз языка программирования PHP 8.3"  +/
Сообщение от нах. (?), 25-Ноя-23, 10:16 
какие разработчики, такие и технологии.
Ответить | Правка | Наверх | Cообщить модератору

187. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (-), 26-Ноя-23, 13:13 
да композицией, агрегацией это всё решается внутри, не надо ничего подмешивать. классы с неймспейсами легко же тянутся
Ответить | Правка | К родителю #117 | Наверх | Cообщить модератору

194. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 14:50 
Архитектурно есть у тебя сокеты например.

У разных сокетов например (ну, сокетная асинхронная либа у меня) - разные варианты реализации. Есть потоковые, где можно фигачить любыми блоками и доступно чтение любого размера. Есть датаграммы, где надо читать датаграмму целиком. У типичного датаграммного UDP ещё и адрес надо читать. У TCP есть OOB. Есть псевдосокеты сообщений, которые аналогичны датаграммам, но может быть адрес и ID сообщения. И т.п. У разных сокетов есть разные эвенты, которые они пуляют слушателям при событиях.

Сейчас приходится всё это счастье подмешивать через превращение опций в interfaces + traits и цепочке наследования через прототипы, но это такие жёсткие костыли, что блин хочется всё это взять и вырезать. Множественное наследование решило бы проблему полностью,  но нет, приходится костылить.

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

195. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 14:53 
Как пример жёсткого костылинга

class PollingSocketPrototype implements \ATL\ITask { use \ATL\TTask; } # bring in Task class first as first level parent

class PollingSocketPrototype2 extends \ATL\Socket\PollingSocketPrototype implements \ATL\ISocket { use \ATL\TSocket; } # bring in base Socket class as second level parent

abstract class PollingSocket extends \ATL\Socket\PollingSocketPrototype2 implements \ATL\Socket\IPollingSocket { use \ATL\Socket\TPollingSocket; }


abstract class StreamBasePrototype extends \ATL\Socket\PollingSocket implements \ATL\Socket\Capabilities\IBulk { use \ATL\Socket\Capabilities\TBulk; }

abstract class StreamBase extends \ATL\Socket\StreamBasePrototype
{
...
}

abstract class StreamPrototype extends \ATL\Socket\StreamBase implements \ATL\Socket\Capabilities\IReadBytes, \ATL\Socket\Capabilities\IDelimitedReads
{
    use \ATL\Socket\Capabilities\TReadBytes; # bring in readBytes capability
    use \ATL\Socket\Capabilities\TDelimitedReads; # bring in delimited reads capability
}

class Stream extends \ATL\Socket\StreamPrototype
{
...
}

Всё вот это вот решилось бы множественным наследованием легко и просто.

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

198. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 15:00 
Я понимаю, что ты в линейной вебне, которая в основном банальная модель и шаблонизатор - вряд ли это встретишь, но PHP уже давно вышел за рамки вебни, и поэтому вместо вот этого всего странного #[Override] сахарка хотелось бы чего-то серьёзного :)
Ответить | Правка | К родителю #194 | Наверх | Cообщить модератору

236. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (235), 01-Дек-23, 00:58 
Открой для себя композицию, делегирование и стратегии. Помогает от этой вот лажи, что ты пишешь, и множественного наследования избавиться.
Ответить | Правка | К родителю #194 | Наверх | Cообщить модератору

237. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 01-Дек-23, 14:22 
Попей смузи, и расслабься.
Когда нечем композировать - композировать нечем. Такие дела.
Ответить | Правка | Наверх | Cообщить модератору

197. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 14:58 
Ну и да, множественное наследование - это как раз часть композиции-агрегации, которой нет, и это печально.
Ответить | Правка | К родителю #187 | Наверх | Cообщить модератору

199. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 15:01 
Причём реализовать-то уже просто - эмуляция выше легко бы могла быть сделана через use Class хотя бы, не Trait, а класс, который затягивает все интерфейсы и прочее содержимое эквивалентно Trait. Но нет, приходится костылять.
Ответить | Правка | Наверх | Cообщить модератору

200. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 15:07 
class Stream
{
    inherit \ATL\Task; # ATL socket is a task
    inherit \ATL\Socket\PollingSocket; # we are a polling socket
    inherit \ATL\Socket\StreamBase; # use PHP Stream socket base
    inherit \ATL\Socket\Capabilities\ReadBytes; # support readBytes
    inherit \ATL\Socket\Capabilities\DelimitedReads; # support delimited reads
}

Специально написал inherit вместо use - как бы это могло быть. Красивенько, да, по сравнению с костылями выше?

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

202. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от тоже Анонимemail (ok), 26-Ноя-23, 15:22 
А решить это заменой наследования композицией - точно не вариант?
Начиная с socket is not a task but task has a socket.
Ответить | Правка | Наверх | Cообщить модератору

204. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 16:18 
Никак там не решишь, у разных типов сокетов разные включения, они могут частично перекрываться.
Часть включений перекрывает некоторые единичные методы родителей, но прекрасно использует все остальные.

С таском тоже не выйдет - таск не обязательно сокет, это асинхронный таск вообще для всего. Корутина и её минималистичная обвязка, которая даёт возможности не задумываться о том, как оно вообще всё работает асинхронно, передаёт аргументы и получает результаты, и т.п. + управление, обработка эксепшнов по стеку тасков и т.д. и т.п.

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

205. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 16:23 
Just for fun покажу минимальный тест сокета.

class Test extends \ATL\Task
{
    public function main()
    {
        Log::msg("Main task started");
        yield true;

        try {
            Log::msg("Creating socket");
            $this->taskAddChildTask($socket = new \ATL\Socket\TCP('192.168.77.10', 80, 15));
            yield true;

            Log::msg("Waiting for socket to connect");
            if (($result = yield ($wait = new \ATL\Socket\WaitForConnect($socket))) !== true) {
                if (is_array($result)) throw new \Exception("Socket error {$result[0]} while connecting: {$result[1]}");
                throw new \Exception("Socket timed out while connecting");
            }
            Log::msg("Socket connected");
            Log::msg("Local name: ".$socket->socketLocalName);
            Log::msg("Remote name: ".$socket->socketRemoteName);

            Log::msg("Writing HTTP request to the socket");
            $socket->writeBulk([
                "GET /test.php HTTP/1.1\r\n",
                "Host: alex-at.net\r\n",
                "Connection: close\r\n",
                "\r\n",
            ]);

            Log::msg("Waiting for write data to be flushed down");
            if (($result = yield ($wait = new \ATL\Socket\WaitForWriteFlush($socket, 5))) !== true) {
                if (is_array($result)) throw new \Exception("Socket error {$result[0]} while writing: {$result[1]}");
                throw new \Exception("Socket timed out while waiting for write");
            }

            Log::msg("Reading from socket");
            $wait = new \ATL\Socket\Read($socket, 5);
            $fout = fopen(__DIR__.'/socket_test.out', 'wb');
            do {
                if (($result = yield $wait) !== true) {
                    if (is_array($result)) throw new \Exception("Socket error {$result[0]} while reading: {$result[1]}");
                    throw new \Exception("Socket timed out while reading data");
                }
                if ($wait->readData !== null)
                    fwrite($fout, implode('', $wait->readData));
            } while ($wait->readData !== null);
            fclose($fout);

            Log::msg("Waiting for socket to disconnect");
            if (($result = yield ($wait = new \ATL\Socket\Disconnect($socket, 5, true))) !== true) {
                if (is_array($result)) throw new \Exception("Socket error {$result[0]} while disconnecting: {$result[1]}");
                throw new \Exception("Socket timed out while waiting for disconnect");
            }
        } catch (\Exception $e) {
            Log::msg("ERROR: ".$e->getMessage());
        }

        if (!$socket->isDisconnected()) {
            Log::msg("Aborting socket");
            $socket->abort();
            yield true;
        }

        Log::msg("Main task ended");
    }
}

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

208. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 26-Ноя-23, 18:28 
Не знаком с используемой библиотекой, но в приведенном коде таски с сокетами смешиваются только в одной строчке. В которой точно так же можно использовать дочерний класс таска с членом-сокетом.
И не гневать святую Барбару..
Ответить | Правка | Наверх | Cообщить модератору

209. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 20:57 
В конкретной реализации - не можно.
Данный сокет, повторюсь, живёт своей жизнью, и к конкретному таску, кроме своего - не прибит.
Ещё есть сокеты-ендпоинты, которые вообще не таски.
Ответить | Правка | Наверх | Cообщить модератору

210. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 21:11 
И да, член у сокета есть, но ему кроме него надо ещё в зависимости от типа затянуть поллинг или нет, стримы или прочие обёртки, дополнительные фичи. Нет, можно всё это замечательно дублировать CTRL-C CTRL-V из класса в класс, ну или вот так извращаться, как выше. Про не-тасковые ендпоинты уже выше писал, они API Socket вполне себе реализуют, но не Task.
Ответить | Правка | К родителю #208 | Наверх | Cообщить модератору

211. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 27-Ноя-23, 00:32 
Я говорил про тот код, который увидел. В нем сокет используется как таск только в одном месте, причем в этом месте нужен таск, а не сокет.

> CTRL-C CTRL-V

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

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


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

206. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 16:39 
Сокет вообще как таск живёт своей жизнью - он не обязательно прибит к конкретному родителю, всё зависит от задачи. В самом простом случае родитель - это таск протокола, но в сложных случаях там могут быть дочки, которые выполняют одну задачу в рамках конкретного протокола. Например разобрал команду SMTP в протокольном модуле - отдал сокет приёмнику данных, отработает - вернёт сокет.
Ответить | Правка | К родителю #204 | Наверх | Cообщить модератору

207. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 26-Ноя-23, 16:42 
Ну или например увидел в начале PROXY-протокол - отдал разбирать PROXY, разобрал, отдал SMTP.
И т.д. и т.п.
Ответить | Правка | Наверх | Cообщить модератору

111. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Аноним (111), 24-Ноя-23, 14:37 
Все это доживает последние дни. Ведь слышим веб, подразумеваем JS, причем, как бэкэнд, так и фронтэнд.
Ответить | Правка | Наверх | Cообщить модератору

112. "Релиз языка программирования PHP 8.3"  –3 +/
Сообщение от тоже Анонимemail (ok), 24-Ноя-23, 14:51 
> слышим веб, подразумеваем JS

Вы - да. Просто не торопитесь обобщать свой хайп до мейнстрима.
Сейчас лично для меня самое неудобное в создании сайтов - это то, что все инструменты для сборки фронта работают на JS, причем постоянно подпрыгивают за новинками и поэтому работают через жoпу.

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

114. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от Аноним (116), 24-Ноя-23, 15:13 
> Сейчас лично для меня самое неудобное в создании сайтов

Это твои проблемы. П.с. слово "сайты" лишь говорит, что к коммерческой разработке ты имеешь отношение примерно никакое.

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

188. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (-), 26-Ноя-23, 13:16 
соглашусь, но, другого же способа рилтайм обновления веба и нет никакого иного, ведь так? меня вот, если честно, тож наламывает что надо жс учить, чтоб свой бэк на пыхе актуализировать, а что делать?
Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

193. "Релиз языка программирования PHP 8.3"  +/
Сообщение от тоже Анонимemail (ok), 26-Ноя-23, 14:40 
> тож наламывает что надо жс учить

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

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

122. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (122), 24-Ноя-23, 16:31 
Да-да-да. Пыхыпэ переехал Перл, АСП, ЖСП, КолдФьюжен, Руби. Скоро и Нода туда же отползет.
Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

162. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 25-Ноя-23, 09:32 
Отползёт, но не до конца - с нодой удалось попасть в хитрую нишу, когда фронтендщики начали костылить прочее из того, что умеют. Другое дело, что всё это исполняется на по сути моновендорном, да ещё и браузерном, движке кривого-косого по сути своей JS, и поэтому представляет из себя феерический костыль как по рахитектуре так и по перспективам.

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

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

164. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от нах. (?), 25-Ноя-23, 10:14 
> Отползёт, но не до конца - с нодой удалось попасть в хитрую нишу, когда фронтендщики начали
> костылить прочее из того, что умеют.

как будто им на пехепе кто-то мешал?

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

> и поэтому представляет из себя феерический костыль как по рахитектуре так и по перспективам.

напомню, чем в (поделке на игого) grafana заменили (внезапно, ставший неподдерживаемым лефтпад) создавалку, фак... снапшотов графичков?

А тут - всего лишь js от него. Все, расслабься - для современной индус-трии именно такие решения и являются наиболее оптимальными.

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

166. "Релиз языка программирования PHP 8.3"  +/
Сообщение от ptr (??), 25-Ноя-23, 11:22 
Ну COBOL уже лет 40 хоронят, а 6.4 вышел в мае прошлого года. Legacy он такой, не убиваемый.
Ответить | Правка | К родителю #111 | Наверх | Cообщить модератору

132. "Релиз языка программирования PHP 8.3"  +2 +/
Сообщение от Аноним (132), 24-Ноя-23, 18:41 
На PHP не программировал лет 10. Там наверно уже изменений как у инопланетных технологий. Верно?
Ответить | Правка | Наверх | Cообщить модератору

135. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Gemorroj (ok), 24-Ноя-23, 19:49 
так-то да. пытается на java похожим быть.
единственная реальная проблема в php - отсутствие искоробочной асинхронщины/параллельщины. ну и типизация массивов пригодилась бы.
Ответить | Правка | Наверх | Cообщить модератору

189. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (-), 26-Ноя-23, 13:26 
> типизация массивов пригодилась бы

в классах это всё делается - инпут обрабатывать и бд правильную архитектуру - это все равно ручками всё

> отсутствие искоробочной асинхронщины/параллельщины

да, так бы и не было повального жс везде

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

137. "Релиз языка программирования PHP 8.3"  +1 +/
Сообщение от Аноним (137), 24-Ноя-23, 21:36 
Скорее подход поменялся. Если раньше, во времена 4 пыхи, она была шаблонизатором, то теперь это монструозное нечто, где фреймворк на фреймворке фреймворком погоняет.
Ответить | Правка | К родителю #132 | Наверх | Cообщить модератору

163. "Релиз языка программирования PHP 8.3"  –1 +/
Сообщение от Tron is Whistling (?), 25-Ноя-23, 09:53 
Пых это как раз то место, где вообще фреймворки не нужны по сути.
Но мир смузи без монструозных конструкций не умеет.
Ответить | Правка | Наверх | Cообщить модератору

139. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (137), 24-Ноя-23, 21:41 
Последний раз писал на PHP4, застав ещё PHP3. Но потом вернулся обратно на Perl, благо, работы хватит до пенсии, тем более, осталось не много :)
Ответить | Правка | Наверх | Cообщить модератору

151. "Релиз языка программирования PHP 8.3"  –2 +/
Сообщение от фыаыаафыа (?), 25-Ноя-23, 00:58 
Лучший язык снова обновился, а это значит я не умру с голоду, и буду дальше получать 5к евро, чисто благодаря тому что пхп существует.
Ответить | Правка | Наверх | Cообщить модератору

229. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (229), 27-Ноя-23, 17:05 
Граждание, почему PHP не используется в банковской отрасли? Или используется?
И второй вопрос, если PHP так стремится быть похожим на Java, сможет ли он её где-нибудь потеснить?
Ответить | Правка | Наверх | Cообщить модератору

233. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (64), 28-Ноя-23, 09:20 
А зачем тащить это хлам в финансовую сферу? В энтерпрайзе рулит c#.
Ответить | Правка | Наверх | Cообщить модератору

234. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Аноним (229), 29-Ноя-23, 03:01 
Почему сразу хлам-то?
Ответить | Правка | Наверх | Cообщить модератору

238. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 01-Дек-23, 14:30 
Потому что сертификацию будет пройти очень сложно.
Но для вебни - используется, почему нет.
Ответить | Правка | К родителю #229 | Наверх | Cообщить модератору

239. "Релиз языка программирования PHP 8.3"  +/
Сообщение от Tron is Whistling (?), 01-Дек-23, 14:32 
Те же payment gateways и вёб-платёжки на пыхе встречаются.
Ответить | Правка | К родителю #229 | Наверх | Cообщить модератору

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

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




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

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