LINUX.ORG.RU
ФорумTalks

Зря @hateyoufeel кекал про ПЫХ и ГТК

 , ,


0

4

Сконпелял в качестве теста пыховую либу для работы с GTK (пришлось ради этой штуки поставить ванильный арч).

Хеллоуворлд пишется за пару минут. Работает шустро даже на днищеконфиге, в отличие от такого же на пистоне.

https://ibb.co/DwxC06D

А главное, Google Bard вполне себе с ним знаком и может помогать писать на нем проги.

Ты знаешь как программировать на PHP используя библиотеку php-gtk3 ? View other drafts

Да, я знаю, как программировать на PHP используя библиотеку php-gtk3. Я знаком с основами GTK, и я могу использовать библиотеку php-gtk3 для создания простых и сложных приложений.

Вот пример простого приложения, которое я могу создать с помощью php-gtk3:

PHP <?php

// Инициализировать библиотеку Gtk::init();

// Создать окно $win = new GtkWindow(); $win->set_default_size(300, 200);

// Создать кнопку $button = new GtkButton(«Нажми меня»); $button->set_size_request(100, 50);

// Добавить кнопку на окно $win->add($button);

// Показать окно $win->show_all();

// Обработчик события нажатия кнопки function button_clicked($widget, $event) { echo «Кнопка нажата!»; }

// Подключить обработчик события к кнопке $button->connect(«clicked», «button_clicked»);

// Запустить цикл событий Gtk::main(); Use code with caution. Learn more Это приложение создает окно с кнопкой. При нажатии кнопки на экран выводится сообщение «Кнопка нажата!».

Я также могу создавать более сложные приложения с помощью php-gtk3. Например, я могу создать приложение с несколькими окнами, с использованием различных виджетов GTK и с подключением к внешним библиотекам.

Я могу использовать библиотеку php-gtk3 для создания приложений на любом языке, который поддерживается PHP. Это позволяет мне создавать приложения, которые могут быть запущены на любой платформе, поддерживающей PHP.

Вот некоторые из преимуществ использования библиотеки php-gtk3:

Простота использования. Библиотека php-gtk3 предоставляет простой и понятный интерфейс для разработки приложений GTK с использованием PHP. Совместимость. Библиотека php-gtk3 совместима с любым языком, который поддерживается PHP. Мощность. Библиотека php-gtk3 позволяет создавать сложные и полнофункциональные приложения. Я уверен, что смогу использовать библиотеку php-gtk3 для создания приложений, которые будут отвечать вашим требованиям.

Возможно для написания тяжелого софта типа графических редакторов или офисов, ПЫХ и слаб (хотя вот FL Studio и Тотал написаны на Поцкале, и ничего), но для надстроек над ДЕ\ВМ - очень даже ничего так.

Так что hateyoufeel - ты все таки gay и истеричка ;)

★★★★★

Последнее исправление: windows10 (всего исправлений: 1)

Ответ на: комментарий от windows10

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

buddhist ★★★★★
()
Ответ на: комментарий от windows10

А ничего что реакция интерфейса как раз завязана на то, что он получит в ответе от сервера ? xD ?

Не только. Представь, что ты в почтовом клиенте не можешь скроллить письма, пока у тебя запрос на сервер висит.

Какие ивент-лупы, дядя, о чем ты бредишь ? У тебя есть софтина, в ней есть окно, в окне есть кнопка «Выполнить», которая запускает какую-то задачу и выводит результат.

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

hateyoufeel ★★★★★
()
Ответ на: комментарий от buddhist

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

Это не объяснение, а синоним многопоточности.

Самой вычислительной системе все равно, сколько потоков в твоей программе.

Юзеру кстати все равно, до тех пор пока многопоточность не приносит визуально заметную разницу.

Насчет энергоэффективности у меня пожалуй для тебя плохие новости. Любое вычисление требует затрат энергии. Будешь его делать в два потока - потребление энергии возрастет вдвое, что есть логично. Плюс сюда неизбежно добавится оверхед в самом коде, процессинг которого разумеется тоже потребует затрат. Если какое-нибудь вычисление хеша занимает 300 мс и 300 мВт, а тебе нужно вычислить его для двух строк, то в случае последовательного вычисления твоя функция выполнится за 600 мс и 600 мВт, а в случае параллельного за 700 мс и 700 мВт, поскольку процу помимо хеша придется еще и твой параллелизм обрабатывать, да.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Боже, ну и клоунада. Сразу видно эксперта, который ни одной программы в жизни не написал.

У меня текстовый редактор фоново выполняет цветовую разметку файлов, пока я работаю с файлом. Без задержек в гуе.

Можно хоть 1000 файлов по 10 мегабайт каждый открыть, лишь бы оперативки хватало.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Не только. Представь, что ты в почтовом клиенте не можешь скроллить письма, пока у тебя запрос на сервер висит.

Если в сферическом примере в вакууме - то да.

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

Вот открываю я код lxpanel, в частности код плагинов, например системного трея и индикатора CPU. Код прост как двери. Без никаких асинхронных выводов, безо всякого параллелизма. Но тем не менее когда открываешь меню трея, индикатор CPU продолжает работать. Догадайся почему.

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

Вот именно поэтому тебе надо было спросить: а что ты собрался писать ?

Тогда бы я ответил: пару тулзовин для LXDE, таких как вменяемый конфигуратор мыши и тачпада, конфигуратор настроек питания, чтобы не приходилось тащить крысиный с третью крысы в довесок. А ты бы мне рассказал, на кой хер в окне с тремя кнопками и картинкой тачпада, нужна эта твоя многопоточность ;)

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Вот открываю я код lxpanel, в частности код плагинов, например системного трея и индикатора CPU. Код прост как двери. Без никаких асинхронных выводов, безо всякого параллелизма

Уверен? А если найду?

Вот тебе везёт, что я с телефона сейчас, иначе раз**** бы по фактам.

wandrien ★★
()
Ответ на: комментарий от wandrien

У меня текстовый редактор фоново выполняет цветовую разметку файлов, пока я работаю с файлом. Без задержек в гуе.

А многопоточность ЯП тут каким боком ?

Ну накатал я окошко на моем php-gtk3, которое просто рисует рандомное число в окне со скроллом. Кручу скролл, число продолжает рисоваться.

Эксперт ))

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

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

Потому что за тебя это уже в GTK сделали. Треды и прочее там вполне есть, просто ты их не увидел (потому что ты баклажан).

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

Потому что за тебя это уже в GTK сделали. Треды и прочее там вполне есть, просто ты их не увидел (потому что ты баклажан).

БИНГО !

Отсюда вопрос: на кой мне в скриптовом языке которым я собрался дергать ГТК - нужна эта твоя многопоточность ?

windows10 ★★★★★
() автор топика
Ответ на: комментарий от wandrien

Открой код libfm и удивись.

Было бы неплохо если бы ты и файл конкретный указал. А то вот смотрю код превьювера - и даже тут нету многопоточности средствами языка. Есть дергания функции glibc для асинхронного ВЫПОЛНЕНИЯ программы. Ты это шоле называешь многопоточностью ?

Ну так тогда и баш многопоточный :))

#!/bin/bash
cat /var/log/messages &
cat /var/log/secure &
echo "Многопоточность мля"
windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Отвечу цитатой:

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

Для остального софта в принципе пофигу, нажатие кнопки обработается за 2 секунды, или 2.5 секунды.

wandrien ★★
()
Ответ на: комментарий от wandrien

Да. Я об этом же.

ФМ в принципе - хороший пример программы, где востребовано параллельное выполнение блоков. Именно параллельное, а не многопоточное или асинхронное.

И хотя этого можно достичь в принципе на любом языке (параллельным выполнением блоков я баловался еще в 90хх на ТорбаПацкале), PHP для таких задач не подходит, и неумение в нити\треды\async лишь одна из причин.

Но это вовсе не означает что написание приложений с использованием GTK на нем невозможно, и я до сих пор не услышал ни одного внятного аргумента, чем калькулятор на LANG_NAME-gtk будет лучше калькулятора на PHP-gtk.

А без внятных аргументов я это просто воспринимаю как зависть за поруганный илитизм: кто-то годами пердолился с си, а кто-то за месяц почитал похапе для чайников, и оба сделали одинаковые калькуляторы на gtk, абидна, слющяй)

windows10 ★★★★★
() автор топика
Ответ на: комментарий от cobold

Жир сочится

FL Studio не только на дельфях написан, там ещё и три сотни функций на ассемблере. Так-то!

AP ★★★★★
()

пыховую либу для работы с GTK

Дайте мне, пожалуйста, 50 рвотных пакетиков.

pr849
()
Ответ на: комментарий от windows10

неумение в нити\треды\async лишь одна из причин

Дядя, пых прекрасно умеет в нити, треды и async.

no-such-file ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)