- 1
- 2
https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
https://habr.com/ru/post/501798/
> C++/Qt: пора валить?.
Выбор небогат – это PHP. Да, я сказал PHP. И мне не стыдно.
Ещё раз напомню, о каком типе приложений идёт речь: о тех, где сложная логика, требующая вычислительной производительности, реализована на C/C++, а к ним в пару нам нужен как можно более простой открытый язык/экосистема для общения с внешним миром и связи компонентов между собой. А если будет C-подобный синтаксис – вообще хорошо. И тут мы ставим галочки напротив каждого пункта наших требований.
Главное – PHP прост. При том круге задач, которые он (и экосистема) может решать — он божественно прост. И дело не только в когнитивной нагрузке при кодинге и переключении контекста. Простота ещё и в развёртывании, администрировании и минимальном количестве вариантов, которыми можно решить одну задачу.
PHP медленно, без резких движений, ползёт в правильную сторону, от увеличения производительности в 3 раза, до строгой типизации, решая задачи простым способом. И обрастая по пути крутыми штуками типа Swoole.
PHP реализовал офигенский FFI (foreign function interface) к C. Офигенский в том контексте, о котором идёт речь — сочетании простоты и возможностей. Вы только наберите в гугле «PHP: Basic FFI usage».
В PHP кругом $, а кто по нынешнему курсу их не любит...
PHP быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
Почему не питон, почему не Lua, почему не какое-нибудь еще скриптоговно? Кстати в Qt встроить JS уже додумались. Только PHP там еще не хватало.
Можно ж еще сделать браузер, который чтоб помимо JS кода мог исполнять PHP код, и тогда все похапешники станут фуллстек-девелоперами, прямо как жабаскриптушки со своей ноде.жс
Сейчас в моде конпеляция в жс. Странно, если для PHP такой транслятор ещё не сделали.
Вообще, можно ж еще сам пыхоинтерпретатор откомпилировать в WASM и потом ему пыхоскрипты скармливать.
Раньше можно было написать нативный плагин для ActiveX (для IE) или для NPAPI (для остальных браузеров). Теперь браузеры отказываются от плагинов. В белом списке новых браузеров только плагины PDF и Flash, да и то может оказаться, что ненадолго. Единственный движок, не отказывающийся от плагинов, это Goanna («Pale Moon», «Basilisk», «Borealis», «K-Meleon»), но у этих браузеров пользователей полтора человека.
Надо будет пирфоманс померить.
All your standard libraries will be assimilated into our JavaScript collective. Resistance is futile.
Вот реальный пример кода, который исполняется и на «PHP», и на «JS»:
https://govnokod.ru/18109
Удобно, на фронтенде и на бекенде можно использовать одни и те же сниппеты.
Да и веб глубоко залез в анус обратной совместимости, за попытку вытянуть его оттуда вас макаки какашками закидают.
Куд-кудах! Ты чо, кок? Рамсы попутал, да? Кукарек!
Человек, для которого lua и python сложны, как-то не вызывает желания читать дальше.
> И дело не только в когнитивной нагрузке при кодинге
Это он про помойку в стандартной библиотеке, где у двух похожих функций разный порядок аргументов?
Или это он вербозный синтаксис (более вербозный, чем даже джава)?
>до строгой типизации
Дурак не знает, что строгая типизация у нас в питоне?
Или дурак опять путает строгую и статическую?
Так статическая типизация в пыхе тоже говно: что-то проверяется, что-то нет.
>Swoole
Это как asyncio в питоне, корутины в lua и asynс с футурами в js?
Причем всё в стандартной либе
>PHP реализовал офигенский FFI (foreign function interface)
Куда уж ему до LUA, который р0вно для этого и делался.
>PHP быстрый. Да. Могу по слогам: бы-стрый
куда уж ему до Node с её JIT, который выпидарасен до блеска.
А напомните до речи, как там у PHP с профилировркой? Есть инструменты уровня хотя бы instruments или yourkit?
В пыхе нет статической типизации. В пых добавили только ассерты для аргументов функций. Т. е. через 10 лет работы программа может упасть с сообщением «вы передали в функцию строку вместо числа», причём это сообщение будет выведено прямо на страницу пользователю.
А там хорошо, https://www.swoole.co.uk/
берем клиент, отправляем запрос, берем боди из клиента што блядь?
> Второй конь – то же самое, но выводится с использованием QtWebApp.
> Вот такая пара, потому что эта заметка о замене Qt. Если кому-то хочется вспомнить что-то типа node.js, тогда вспоминайте в паре с чем-то типа Swoole, и в отдельной статье, пожалуйста, потому что здесь не про асинхронщину, а про простоту, к тому же Swoole порвёт ваш node.js как Тузик грелку это будет оффтопиком.
> Фрагмент на PHP
> В итоге получили, что PHP выдаёт абстрактную фигню страницу даже в полтора раза быстрее.
Какой багор)))
Алсо, код получается поддерживаемый, тестируемый, и читаемый очень.
Напомниает язык парсер
Кстати, QSqlQuery использует настоящие «prepared statements» или может клеить?
> PL/php is a procedural language with hooks into the PostgreSQL database sytem, intended to allow writing of PHP functions for use as functions inside the PostgreSQL database. It was written by Command Prompt, Inc. and has since been open sourced and licensed under the PHP and PostgreSQL (BSD) licenses.
Какую только хуйню не придумают
https://docs.microsoft.com/en-us/sql/xquery/xquery-language-reference-sql-server?view=sql-server-ver15
Хотя если посмотреть внимательно, то всё логично. Синтаксис вполне SQL. Вставки на XML оформлены как строковые литералы.
Как это лучше сделать?
XML со встроенным в SQL xpath выглядит как очень хорошее решение, нет?
Вот потеха-то: эмуляция, интерфейсы и абстракции.
Или же вообще управляют самой механикой жесткого диска напрямую, в явном виде указывая поворот коромысла последовательностью специальных инструкций.
А рядом можно?
Хочу, чтобы мимокрод CPU хранился на NAND. Тогда мне не пришлось бы грузить его каждый раз из ОС. Чертов initrd бы выкинул наконец
Напиши свой загрузчик, который засовывает микрокод в проц перед стартом ОС.
Можно будет установить просто на ПК, тогда там добавится куча питушни для возни с устройствами, а можно под хостинговое окружение.
Может быть, подсознание как раз на этой основе придумало.
Отсюда же и докер. Причем докер компост вообще про то, чтобы создать кучу сервисов (базу, мемкеш, веб сервер, пых или питон итд) одним файлом.
Никто не хочет пол недели настраивать окружение чтобы запустить приложение.
У AWS вообще есть fargate: там ты грузишь Dockerfile, и он запускается "где-то в облаке". То-есть у тебя даже нету виртуального сервера. Все твое приложение это Dockerfile.
https://dev.mysql.com/doc/refman/8.0/en/handler.html
https://mariadb.com/kb/en/handler/
Есть ещё «HandlerSocket», он позволяет обойтись вообще без «SQL»:
https://mariadb.com/kb/en/handlersocket/
https://www.percona.com/blog/category/mysql/
Кстати, на всякий случай напомню, что перкона, mariadb и mysql не нужны
чтобы потом публично обсираться с "кокококо да не может нашаsql-распределенка данные проебывать"
Schwule
Именно поэтому я за "Java Script"