- 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 быстрый. Да. Могу по слогам: бы-стрый. Для своей простоты и задач он божественно быстрый.
j123123 20.05.2020 01:20 # +2
Почему не питон, почему не Lua, почему не какое-нибудь еще скриптоговно? Кстати в Qt встроить JS уже додумались. Только PHP там еще не хватало.
j123123 20.05.2020 01:25 # 0
Можно ж еще сделать браузер, который чтоб помимо JS кода мог исполнять PHP код, и тогда все похапешники станут фуллстек-девелоперами, прямо как жабаскриптушки со своей ноде.жс
1024-- 20.05.2020 09:29 # +1
bormand 20.05.2020 09:41 # +1
Сейчас в моде конпеляция в жс. Странно, если для PHP такой транслятор ещё не сделали.
j123123 22.05.2020 10:49 # 0
Вообще, можно ж еще сам пыхоинтерпретатор откомпилировать в WASM и потом ему пыхоскрипты скармливать.
j123123 22.05.2020 10:59 # 0
ropuJIJIa 22.05.2020 11:33 # 0
Раньше можно было написать нативный плагин для ActiveX (для IE) или для NPAPI (для остальных браузеров). Теперь браузеры отказываются от плагинов. В белом списке новых браузеров только плагины PDF и Flash, да и то может оказаться, что ненадолго. Единственный движок, не отказывающийся от плагинов, это Goanna («Pale Moon», «Basilisk», «Borealis», «K-Meleon»), но у этих браузеров пользователей полтора человека.
jojaxon 22.05.2020 12:00 # +1
Надо будет пирфоманс померить.
j123123 22.05.2020 12:11 # 0
All your standard libraries will be assimilated into our JavaScript collective. Resistance is futile.
ropuJIJIa 22.05.2020 12:33 # 0
Вот реальный пример кода, который исполняется и на «PHP», и на «JS»:
https://govnokod.ru/18109
Удобно, на фронтенде и на бекенде можно использовать одни и те же сниппеты.
j123123 22.05.2020 12:50 # 0
ropuJIJIa 22.05.2020 12:55 # 0
BEKTOPHblu_nETyX 22.05.2020 13:01 # 0
j123123 22.05.2020 13:10 # 0
j123123 22.05.2020 13:11 # 0
BEKTOPHblu_nETyX 22.05.2020 13:19 # 0
guest8 22.05.2020 13:23 # −999
BEKTOPHblu_nETyX 22.05.2020 13:29 # 0
Да и веб глубоко залез в анус обратной совместимости, за попытку вытянуть его оттуда вас макаки какашками закидают.
guest8 22.05.2020 13:31 # −999
BEKTOPHblu_nETyX 22.05.2020 13:32 # 0
guest8 22.05.2020 13:33 # −999
BEKTOPHblu_nETyX 22.05.2020 13:37 # 0
guest8 22.05.2020 13:38 # −999
BEKTOPHblu_nETyX 22.05.2020 13:52 # 0
ropuJIJIa 22.05.2020 14:08 # 0
guest8 22.05.2020 14:11 # −999
BEKTOPHblu_nETyX 22.05.2020 14:34 # 0
guest8 22.05.2020 14:41 # −999
BEKTOPHblu_nETyX 22.05.2020 14:45 # +1
Куд-кудах! Ты чо, кок? Рамсы попутал, да? Кукарек!
guest8 22.05.2020 13:49 # −999
KO6EHHbIu_nemyx 22.05.2020 15:15 # 0
MAKAKA 20.05.2020 01:33 # +3
Человек, для которого lua и python сложны, как-то не вызывает желания читать дальше.
> И дело не только в когнитивной нагрузке при кодинге
Это он про помойку в стандартной библиотеке, где у двух похожих функций разный порядок аргументов?
Или это он вербозный синтаксис (более вербозный, чем даже джава)?
>до строгой типизации
Дурак не знает, что строгая типизация у нас в питоне?
Или дурак опять путает строгую и статическую?
Так статическая типизация в пыхе тоже говно: что-то проверяется, что-то нет.
>Swoole
Это как asyncio в питоне, корутины в lua и asynс с футурами в js?
Причем всё в стандартной либе
>PHP реализовал офигенский FFI (foreign function interface)
Куда уж ему до LUA, который р0вно для этого и делался.
>PHP быстрый. Да. Могу по слогам: бы-стрый
куда уж ему до Node с её JIT, который выпидарасен до блеска.
А напомните до речи, как там у PHP с профилировркой? Есть инструменты уровня хотя бы instruments или yourkit?
1024-- 20.05.2020 09:37 # 0
ropuJIJIa 20.05.2020 11:50 # +1
В пыхе нет статической типизации. В пых добавили только ассерты для аргументов функций. Т. е. через 10 лет работы программа может упасть с сообщением «вы передали в функцию строку вместо числа», причём это сообщение будет выведено прямо на страницу пользователю.
Fike 20.05.2020 13:24 # +1
А там хорошо, https://www.swoole.co.uk/
берем клиент, отправляем запрос, берем боди из клиента што блядь?
j123123 20.05.2020 01:39 # 0
> Второй конь – то же самое, но выводится с использованием QtWebApp.
> Вот такая пара, потому что эта заметка о замене Qt. Если кому-то хочется вспомнить что-то типа node.js, тогда вспоминайте в паре с чем-то типа Swoole, и в отдельной статье, пожалуйста, потому что здесь не про асинхронщину, а про простоту, к тому же Swoole порвёт ваш node.js как Тузик грелку это будет оффтопиком.
> Фрагмент на PHP
j123123 20.05.2020 01:39 # 0
> В итоге получили, что PHP выдаёт абстрактную фигню страницу даже в полтора раза быстрее.
Какой багор)))
MAKAKA 20.05.2020 01:43 # +2
Алсо, код получается поддерживаемый, тестируемый, и читаемый очень.
Напомниает язык парсер
MAKAKA 20.05.2020 01:48 # +2
ropuJIJIa 20.05.2020 11:54 # 0
jojaxon 20.05.2020 11:58 # 0
ropuJIJIa 20.05.2020 12:01 # 0
Кстати, QSqlQuery использует настоящие «prepared statements» или может клеить?
j123123 20.05.2020 12:27 # +2
j123123 20.05.2020 12:30 # 0
j123123 20.05.2020 12:35 # +4
> 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.
Какую только хуйню не придумают
j123123 20.05.2020 12:43 # +2
bormand 20.05.2020 12:50 # +2
MAKAKA 20.05.2020 13:27 # 0
https://docs.microsoft.com/en-us/sql/xquery/xquery-language-reference-sql-server?view=sql-server-ver15
jojaxon 20.05.2020 13:30 # 0
ropuJIJIa 20.05.2020 13:35 # 0
jojaxon 20.05.2020 13:37 # 0
guest8 20.05.2020 14:18 # −999
ropuJIJIa 20.05.2020 15:22 # 0
Хотя если посмотреть внимательно, то всё логично. Синтаксис вполне SQL. Вставки на XML оформлены как строковые литералы.
MAKAKA 21.05.2020 04:29 # 0
Как это лучше сделать?
XML со встроенным в SQL xpath выглядит как очень хорошее решение, нет?
bormand 20.05.2020 12:53 # 0
1024-- 20.05.2020 14:04 # 0
Вот потеха-то: эмуляция, интерфейсы и абстракции.
j123123 20.05.2020 16:49 # 0
Или же вообще управляют самой механикой жесткого диска напрямую, в явном виде указывая поворот коромысла последовательностью специальных инструкций.
guest8 20.05.2020 16:50 # −999
bormand 20.05.2020 17:04 # 0
MAKAKA 20.05.2020 17:06 # 0
bormand 20.05.2020 17:10 # 0
MAKAKA 21.05.2020 04:21 # 0
А рядом можно?
Хочу, чтобы мимокрод CPU хранился на NAND. Тогда мне не пришлось бы грузить его каждый раз из ОС. Чертов initrd бы выкинул наконец
bormand 21.05.2020 12:11 # 0
Напиши свой загрузчик, который засовывает микрокод в проц перед стартом ОС.
guest8 21.05.2020 14:03 # −999
bormand 21.05.2020 14:29 # +1
Fike 21.05.2020 23:20 # 0
1024-- 20.05.2020 18:07 # 0
Можно будет установить просто на ПК, тогда там добавится куча питушни для возни с устройствами, а можно под хостинговое окружение.
guest8 20.05.2020 18:11 # −999
1024-- 20.05.2020 20:42 # 0
Может быть, подсознание как раз на этой основе придумало.
MAKAKA 21.05.2020 04:17 # +1
Отсюда же и докер. Причем докер компост вообще про то, чтобы создать кучу сервисов (базу, мемкеш, веб сервер, пых или питон итд) одним файлом.
Никто не хочет пол недели настраивать окружение чтобы запустить приложение.
У AWS вообще есть fargate: там ты грузишь Dockerfile, и он запускается "где-то в облаке". То-есть у тебя даже нету виртуального сервера. Все твое приложение это Dockerfile.
Fike 21.05.2020 23:21 # 0
bormand 20.05.2020 12:43 # +1
ropuJIJIa 20.05.2020 12:51 # 0
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/
bormand 20.05.2020 12:52 # 0
ropuJIJIa 20.05.2020 13:00 # 0
https://www.percona.com/blog/category/mysql/
MAKAKA 21.05.2020 04:19 # 0
Кстати, на всякий случай напомню, что перкона, mariadb и mysql не нужны
ropuJIJIa 21.05.2020 12:05 # 0
Fike 21.05.2020 23:22 # 0
чтобы потом публично обсираться с "кокококо да не может нашаsql-распределенка данные проебывать"
Fike 20.05.2020 13:25 # 0
1024-- 20.05.2020 09:47 # 0
Schwule
bormand 20.05.2020 09:50 # +1
phpBidlokoder2 21.05.2020 17:04 # 0
Именно поэтому я за "Java Script"
Fike 21.05.2020 23:21 # 0