Как стать автором
Обновить

Комментарии 40

Шутки про PHP и 2023 уже были?

Что там?

Умер

PHP вместо Cлона пора поместить на лого Феникса.

Еще никто столько раз не умирал в интернете.

окончательно сдох, пойду обновлю...

Хоронили пхп, порвали два рубионрейлса..

Уже не актуально с RR, swoole и т.п.

Я слышал, Роскомнадзор окончательно запретил PHP. Ой нет, оказывается это была новость про запрет VPN.

На самом деле это Центробанк запретил PHP. Ой нет, оказывается это была новость про запрет USD.

Ну может хотя бы ФСБ запретит уже PHP. Кто-то же должен.

В нём уже есть репрезентативный JIT, или оставили на релиз PHP 9?

С 8 версии JIT на месте. В операциях, связанных с вычислениями, криптография особенно, буст довольно сильный. В моем случае в 3-5 раз как с куста.

Скажем, если запрос и так отрабатывал 1мс, то разницы не заметить, а вот если, скажем, был 200-300мс, то тут уже становится интереснее.

Я знаю, что он быстрый, я про новую версию, разработка которой независима от PHP, она построена на базе sea of nodes и обещает быть ещё быстрее, даже сохранять JIT код в файл, для последующего использования при перезагрузки машины и LLVM.

Пока жив вордпресс, будет и пхп жить

интересная мысль

ларавель: я для тебя шутка какая-то?

Наверное хотели сказать "пока живы 90% всех сайтов"

Я думаю жить он будет и без вордпресса, потому что вп - следствие. Следствие золотой середины между простотой и производительностью.

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

В чём преимущество перед другими языками в контекста создания десктопных приложений? Как человек, который много писал на PHP, предполагаю что PHP это далеко не самый удачный выбор для десктопа.

1) Относительно простая семантика языка и отсутствие лишних телодвижений. По сути программа может состоять из двух строчек. Проще только паскаль;

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

3) Динамическая типизация опять таки экономит время;

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

5) Наличие библиотек для работы с чем угодно. Хотите нарисовать пару кружочков ? Запросто. Хотите нарисованное записать в PNG ? Не вопрос. Хотите поработать с последовательным портом или i2c ? Без проблем. Распарсить INI-файл ? Как два пальца;

6) Приемлемая скорость работы. Тот код что я написал ниже - ранее был написан на python. Работает медленнее, строк занимает больше;

7) Более менее толковый дебаггинг, т.е. вывод об ошибках. Вербальный. С указанием на строку где произошла ошибка. Это весьма немаловажно.

ВСЕ десктопные приложения на нем конечно не напишешь. Думаю сложные, тяжелые, с использованием 3d-графики - нет. А вот всякие калькуляторы, блокноты, почтовые клиенты, календари, гуи к тулзам - запросто.

Относительно простая семантика языка и отсутствие лишних телодвижений. По сути программа может состоять из двух строчек. Проще только паскаль;

Но ведь реальные приложения не состоят из двух сточек... И про какие телодвижения Вы говорите?

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

Какие, например, операторы удобнее функции?

Динамическая типизация опять таки экономит время;

Это же очень спорный аргумент, разве нет? Отсутствие типизации позволяет быстрее написать приложение, в котором не будет кучи warning'ов о некорректном применении типа. Но поддерживать такое будет сложнее.

Низкий порог входа + распространенность.

По сравнению с чем? TS, C# и Kotlin+JavaFX тоже более менее распространены.

Наличие библиотек для работы с чем угодно. Хотите нарисовать пару кружочков ? Запросто. Хотите нарисованное записать в PNG ? Не вопрос. Хотите поработать с последовательным портом или i2c ? Без проблем. Распарсить INI-файл ? Как два пальца;

А в какой технологии из первых 50 языков TIOBE Index такого нет?

Приемлемая скорость работы. Тот код что я написал ниже - ранее был написан на python. Работает медленнее, строк занимает больше;

Это тоже спорный аргумент. Кого-то устроит и Electron, кто-то будет писать на более производительных языках/технологиях.

Более менее толковый дебаггинг, т.е. вывод об ошибках. Вербальный. С указанием на строку где произошла ошибка. Это весьма немаловажно.

А где такого нет?

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

Я могу судить в сравнении с С, Vala и python, поскольку пытался писать одно и то же (!), на всех трех, и на одном написал полноценно, на втором половину, на третьем 5%.

Разумно. Возьмём в пример C#.

Отлично.

Upwork C#: 997 open jobs. Upwork PHP: 5117 open jobs. Да, это не универсальное мерило популярности, но разницу более менее показывает верно.

Кстати по вашему же Tiobe index его популярность падает, а популярность PHP увеличивается.

Но ведь реальные приложения не состоят из двух сточек... И про какие телодвижения Вы говорите?

namespace HelloWorld
{
    class Hello {         
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}

vs

<?php
echo "Hello World!";

Какие, например, операторы удобнее функции?

А этого я не знаю, ведь C# не входит в gcc, и с другими платформами у него сложности.

По сравнению с чем? TS, C# и Kotlin+JavaFX тоже более менее распространены.

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

А в какой технологии из первых 50 языков TIOBE Index такого нет?

Ну я ведь PHP сравнивал не по "такому", а по одновременному соответствию всем приведенным пунктам. Такое есть даже в ассемблере, но есть один нюанс.

Это тоже спорный аргумент. 

Да. Поэтому подразумевается что скорость сравнивается со схожими по парадигме языками. Мы ведь не ставим на трек Ламборджини и Хаммер, правда? Зато ставим Ламборджини с Ферарри, а Хаммер с Джипом. Компилируемые языки разумеется будут быстрее скриптовых. А вот между питоном, пхп, руби - победитель очевиден.

А где такого нет?

Ну например python во время рантайма плюется не совсем понятными ошибками. У С так 80% ошибок вообще выглядят как "Segmentation fault".

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

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

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

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

Тогда преимущества ищутся в других областях языка. В удобстве, скорости, распространенности, лицензии, кроссплатформенности, etc.

Если вам нужно узнать преимущества данного языка - я их описал.

Если вам нужно защитить ваш язык - в этом я участвовать не буду, извините.

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

Всё таки с самого начала этой ветки речь шла про преимущества в написании десктопных приложений)

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

Язык это всего лишь инструмент, иногда он лучше, иногда хуже, но в большинстве своём решает сформировавшаяся инфраструктура из дополнительной обвязки вокруг языка которая помогает решать прикладные задачи, и за 25 лет у PHP вся эта обвязка была направлена в сторону Backend'a.

А вот PHP для декстопа это экзотика, приложения на нём пишут 2.5 энтузиаста, и соответственно в тех языках в которых все проблемы уже решены (например в C#), вам на PHP придётся придётся протаптывать весь этот тернистый путь с нуля.

Тогда преимущества ищутся в других областях языка. В удобстве, скорости, распространенности, лицензии, кроссплатформенности, etc.

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

Как там дела с DevelNext? или может с PHP-GTK? Как развиваются эти проекты?

Если вам нужно защитить ваш язык - в этом я участвовать не буду, извините.

Так вы сами тут столько расписали в защиту PHP на десктопах, а теперь говорите что в таком не участвуете)

Не упомянуты пара функций:

·       str_increment()

·       str_decrement()

<?php
  $str = 'ABC';
  var_dump(str_increment($str));
?>

Результат выполнения данного примера:

string(3) "ABD"

И новость для тех, кому зачем-то нужен PHP на Windows 7 – “ Минимальная поддерживаемая версия Windows увеличена до Windows 8 или Windows Server 2012.”

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

Минусувшим мой комментарий по поводу готовности к десктопным приложениям с графонием, хотел бы показать это:

Один из моих собственных примеров - графический конфигуратор для почти любого Linux DE, включая будущий: выбор тем с предпросмотром, созданием превью с базовыми виджетами на лету, определением наличия темной темы; выбор иконок; управление расцветкой тем (дефолтная, темная, адаптивная в зависимости от времени суток), расположение кнопок окна; выбор шрифтов поверхности, шрифтов темы, настроек сглаживания. 375 строк на PHP и неделя работы непрограммиста, по часу в день, включая изучение gtk-doc с нуля.

Так что нет, таки готов и для десктопа.

php-gtk?

Как устанавливать пользователю такую программу? Спрашиваю, потому что регулярно тулзы делаю всякие на php, но интерфейс - привычный веб, или терминал. Засунул в докер, и 80% вопросов с переносом решены. Но не очень удобно бывает. Как с процессом "установки" в вашем случае решаете вопрос?

Ещё nativephp гляньте

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

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

Когда ожидать официальные образы на Docker Hub?

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

Это вкусовщина, мне например на пхп эстетически приятнее чем питон и другие прямые конкуренты. Разве что js ещё, но он и отличается не особо сильно по синтаксису.

PHP - DSL, пытающийся стать языком общего назначения. А зачем?

Для каждой задачи пожбирается инструмент соответствующий. Если вам надо какую нить апишку которая просто преоьразует данные и отдаст вам то зачем вам апликуха на java которая 95%времени будет простаивать.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории