Комментарии 40
Шутки про PHP и 2023 уже были?
Пока жив вордпресс, будет и пхп жить
Хороший язык, в том числе и для написания десктопных приложений с графонием.
В чём преимущество перед другими языками в контекста создания десктопных приложений? Как человек, который много писал на 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_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% вопросов с переносом решены. Но не очень удобно бывает. Как с процессом "установки" в вашем случае решаете вопрос?
Еств люди будут минусить. Подавляющее большинство тех, кто с языком не работает, знают о нем из бородатых мемов, "статей-исповедей", датированных палеозоем, и юморных комментариев людей с тем же уровнем осведомленности. Они даже не в курсе, насколько их "понимание" отстает от реалий..
Когда ожидать официальные образы на Docker Hub?
Как только:
https://github.com/docker-library/php/pull/1464
так сразу
Язык должен вызывать эстетическое удовольствие у программиста. PHP к таким языкам явно не относится.
Это вкусовщина, мне например на пхп эстетически приятнее чем питон и другие прямые конкуренты. Разве что js ещё, но он и отличается не особо сильно по синтаксису.
рекомендуется всем кто php лет 10 не видел.
https://www.youtube.com/watch?v=WsnHWxO7Krw
PHP - DSL, пытающийся стать языком общего назначения. А зачем?
Для каждой задачи пожбирается инструмент соответствующий. Если вам надо какую нить апишку которая просто преоьразует данные и отдаст вам то зачем вам апликуха на java которая 95%времени будет простаивать.
Вышел PHP 8.3