LINUX.ORG.RU

Файловый менеджер моей DE

 


1

1

К сожалению последнее время не могу уделять много времени неоплачиваемому хобби. Лето, домашние дела, солнечная электростанция, роскомнадзор, и все такое.

Последнюю неделю посвятил дописыванию ФМа, после которого сделаю пару косметических допиливаний и раздам вам на поругание в виде установочного скрипта, пока только для DEB-based. Собственно оно уже устанавливается и работает.

Итак, ФМ. Что мы уже умеем.

Ходить по директориям. Наверное после создания ГТК-шного интерфейса с его деревянной иерархией, это второе что вызвало у меня сложность, а открывать чужие коды не хотелось. Номинально, когда мы заходим в симлинкованную директорию, а потом выходим из нее вверх двумя точками — мы должны попадать в родительскую директорию оригинала. Красиво — попадать в ту директорию откуда мы зашли.

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

Открытие. Список программ, которыми можно открыть файл, отображаются прямо в контекстном меню простыней, безо всяких вложенностей. Само собой файл можно открыть с помощью другой программы, можно запомнить этот выбор, или не запоминать. При открытии неизвестного файла, ФМ спрашивает чем это открывать.

Устройства. Монтирование, размонтирование, краткая статистика.

Превьюхи. Их можно делать для картинок и для видео + в настройках опция ограничителя пока задана жестко, но со временем изменю на плавающее значение. Кстати для видеопревьюхи берутся кадры из 10%, 50% и 90% таймлайнов, из них выбирается тот на котором самая большая разница между светлыми и темными пикселями. Найду способ отображать GIF'ы — сделаю вообще динамичные.

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

Сортировки, просмотр свойств, тоже работают.

Интеграция. Настройки ФМа вынес в Панель Управления. Разумеется они доступны из самого ФМа по кнопке. Добавил в ФМ поддержку фишки DE, названную «Уровень быстродействия». Ее суть состоит в том, что в зависимости от выбранной в системных настройках степени (выкл-мин-макс), в системе общеглобально изменяется использование спецэффектов, удобств, прозрачностей, частоты опросов и прочих свистоперделок. Например при максимальной степени быстродействия, ФМ не создает превью, не анимирует операции, не следит за инотифаем, операции делает в один поток, и вообще старается лишний раз не дергать файловую систему.

На данный момент код занимает 1024 строчки основной программы, 768 строчки либы поддержки (тривиальные функции, не имеющие отношения к алгоритмам ФМ), 16 строчек CSS-кода и 128 строчек занимает плагин к панели управления.

Готов ловить помидоры.

★★★★★

Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 3)
Ответ на: комментарий от windows10

Правильно валидный XML использовать. Но представим, что вы свою разметку изобретаете, менее многословную. Тогда, хотя бы,

<marked_green>
<_/home/ntfs/test.png>
<_/home/ntfs/Downloads>
</marked_green>

А вообще

<item path="/home/ntfs/Downloads" mark="green">
<item path="/home/ntfs/test.png" mark="green">
mogwai ★★★★★
()
Ответ на: комментарий от mogwai

И какую проблему это решает для пользователя?

Правильно валидный XML использовать. Но представим, что вы свою разметку изобретаете, менее многословную. Тогда, хотя бы,

И что это даст кроме переусложнения кода?

$conf = read_config_to_array("/home/" . $_SERVER["USER"] . "/.config/explorer.conf");
$fullpath = "/путь/к/файлу";
if (isset($conf["marked_green_$fullpath"])) {
 $color = "green";
}

Файл конфигурации считывается в простой ассоциированный массив, где ключ массива - само название параметра.

Это делается простыми средствами PHP без использования всяких XML-парсеров и прочего оверинжиниринга. Оптимизация называется, да.

Более того,

#!/bin/bash
file = $1
x = `cat ~/.config/explorer.conf | grep "<marked_green_$file>"`
if [[ "$x" != "" ]];then
 echo "Файл промаркирован зеленым"
fi

А вообще

И зачем мне куча непонятных лишних слов в конфиге?

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

И какую проблему это решает для пользователя?

Невозможность открыть конфиг в XML редакторе и неработающую подсветку синтаксиса в текстовом редакторе.

И что это даст кроме переусложнения кода?

$conf = read_config_to_array("/home/" . $_SERVER["USER"] . "/.config/explorer.conf");
...

Как гуйню к похапе приделать придумал, а как прочитать XML не нашёл?

Более того,

Правильно в XML искать используя xml_grep, но и обычным грепом можно в твоём случае, хотя это будет забивание гвоздей шуруповёртом.

И зачем мне куча непонятных лишних слов в конфиге?

В первую очередь этот вопрос задай себе. На кой ляд ты навалил их там, где можно просто (и с точки зрения редактирования руками, и с точки зрения разбора программой):

sort_files_by date
last_updated 1751295177
view_as normal
marked_blue //ssd
marked_blue //system
override_mime image/png Image Viewer
override_mime image/jpeg Image Viewer
marked_red /home/ntfs/dev
show_hidden_files 1
create_image_previews 1
create_video_previews 0
display_open_in_terminal 0
limit_preview_size 0
truncate_file_names 1
marked_green /home/ntfs/test.png
marked_magenta /home/ntfs/Music
marked_green /home/ntfs/Downloads
marked_blue /home/ntfs/Documents

Тупикал похапешник из начала нулевых, штоле?

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

Невозможность открыть конфиг в XML редакторе и неработающую подсветку синтаксиса в текстовом редакторе.

Зачем открывать конфиг в XML редакторе? Он для ФМа, а не для редакторов.

Как гуйню к похапе приделать придумал, а как прочитать XML не нашёл?

Если бы ты этим пользовался, ты бы знал что а) оно выполняется в общем потоке; б) подтормаживает; в) имеет трудности с конвертацией в ассоциативный массив. Но поскольку ты этого не знаешь - говорю тебе я.

Правильно в XML искать используя xml_grep, но и обычным грепом можно в твоём случае, хотя это будет забивание гвоздей шуруповёртом.

Я это продемонстрировал как пример изящной легковесности решения.

В первую очередь этот вопрос задай себе. На кой ляд ты навалил их там, где можно просто (и с точки зрения редактирования руками, и с точки зрения разбора программой):

Ага, а теперь представь что там может использоваться многострочный кастомный код, например

<custom_folder_pixbuf>
10, 10, {58, 57, 57, 57, 56, 55, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 65, 67, 67, 67, -92, -93, -93, -93, -11, -11, -11, -11, -1, -1, -1, -1, -5, -5, -5, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 28, 28, 123, 122, 122, 122, -35, -34, -34, -34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -11, -11, -11, -11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 71, 72, 72, 72, -79, -79, -79, -79, -3, -3, -3, -3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -52, -52, -52, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 14, 14, 14, 114, 114, 114, 114, -37, -37, -37, -37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -31, -30, -30, -30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -94, -94, -94, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 50, 50, 50, -99, -98, -98, -98, -9, -9, -9, -9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -12, -12, -12, -12, 111, 110, 110, 110, 108, 109, 109, 109}
</custom_folder_pixbuf>

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

В общем проблем, которые нужно решать XML-форматом - нет :)

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

Больше применимо к функциям:

<?php
goto net; 
echo "da";
return;
net:
echo "net!";
Но я говорю про то что «построчное выполнение» не определенно в данном случае. Чем построчное отличается от другого? В XDebug вполне видно как выполняются отдельные выражения и внутри строки.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от windows10

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

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

Тогда уж

<color_marks>
    <mark path="/home/ntfs/Downloads" color="green">
    <mark path="/home/ntfs/test.png" color="green">
</color_marks>

И да, XML-парсеры в PHP застал даже я, хотя я сего благословенного ЯП не касался 20 лет.

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от Kolins

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

Как ДЕ - думаю мало кто рискнет.

Как юзер-френдли дистрибутив с гуем, не основанным ни на одном из опостылевших легаси - возможно кто-то и будет пользоваться =)

В конце концов, вопрос не совсем в пыхе, вопрос в идее, а пых - это стартовый толчок.

Когда-то давно, условному Цукербергу или Дурову пришло в голову написать соцсеть.

Они взяли наиболее подходящий для их пожеланий ЯП - пых.

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

Поэтому я не исключаю ситуации что когда придет время, этот проект будет переписан в той же самой парадигме, но с использованием других инструментов - возможно компилируемого PHP, возможно Vala или даже С++.

- - -

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

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

Так что ... Москва не сразу строилась =)

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

Ну, конфиг не бинарный, править его запрещено не будет.

Что касается XML'a - то он попросту избыточен для моих целей как по семантике, так и по обработке парсера.

В моем варианте, по сути используется только ключ, само существование которого, уже принимается как true.

Этот вариант легко считывать, редактировать, удалять и добавлять, используя встроенные функции работы с массивами. После считывания конфигурационного файла в ПЫХ, я имею ассоциативный массив с ключами, соответствующими шаблону как я описывал выше. Чтобы увидеть стоит ли цветовая метка на файле, мне всего лишь нужно проверить существование элемента массива с ключом «marked_green_$path_to_file».

В твоем варианте, это будет многомерный массив, который мне придется дополнительно перелистывать по параметру, потом по пути, потом по цвету.

С т.з. производительности это будет стопка дополнительных операций, не считая оверхеда из-за использования libxml в самом ПЫХе. В моем варианте используется несколько простых str\substr функций без переусложнения.

Плюс, как я уже писал выше, мой конфиг позволяет использовать даже бинарные PNG-данные между тегами. Конкретно в ФМе это пока не нужно, но я хочу соблюдать единый формат и конфигов и функций для их обработки для уменьшения размеров кода.

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

Зачем открывать конфиг в XML редакторе?

Чтобы редактировать.

Если бы ты этим пользовался

Ты конфиг на каждый чих перечитываешь?

Я это продемонстрировал как пример

непонимания, что иерархические данные регулярками не парсят.

Ага, а теперь представь что

на землю метеорит упадёт. Представил. Дальше что?

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

который спокойно оформляется как

custom_folder_pixbuf 10, 10, {58, 57, 57, 57, 56, 55, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 65, 67, 67, 67, -92, -93, -93, -93, -11, -11, -11, -11, -1, -1, -1, -1, -5, -5, -5, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 28, 28, 123, 122, 122, 122, -35, -34, -34, -34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -11, -11, -11, -11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 71, 72, 72, 72, -79, -79, -79, -79, -3, -3, -3, -3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -52, -52, -52, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 14, 14, 14, 114, 114, 114, 114, -37, -37, -37, -37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -31, -30, -30, -30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -94, -94, -94, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 50, 50, 50, -99, -98, -98, -98, -9, -9, -9, -9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -12, -12, -12, -12, 111, 110, 110, 110, 108, 109, 109, 109}

А действительно многострочное не укладывается с твоим «лёгким изящным решением». Т.е. ты противоречишь сам себе.

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

говнокод в конфигах.

В общем проблем, которые нужно решать XML-форматом - нет

но использоваться он будет, хоть и в нарушение стандарта.

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

Тогда уж

Тогда одна сущность будет в нескольких местах описана.

Завтра появится поддержка тегов, или каталогоспецифичных настроек сортировки и отображения колонок..

Но в любом случае проект - наркомания. О здравом смысле тут рассуждать смысла мало)

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

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

Алё, пых даже в вебе это опостылевшее легаси, с которым никто не хочет связываться. Выше я уже намекал, что у тебя не будет контрибуторов. Если хочется тратить силы на бесполезную фигню, никто не возражает. Но тут на ЛОРе уже много было таких креативщиков, все вы куда-то испаряетесь без следа. Потому что мизантропическая разработка в одно рыло не работает.

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

Алё, пых даже в вебе это опостылевшее легаси

Да-да. Мертвый язык бгг.

Выше я уже намекал, что у тебя не будет контрибуторов.

Контрибуторы не нужны. Понадобятся - буду платить им деньги, и они у меня хоть на баше писать будут.

Но тут на ЛОРе уже много было таких креативщиков, все вы куда-то испаряетесь без следа. Потому что мизантропическая разработка в одно рыло не работает.

Я не на ЛОРе, я для себя.

Но забавно наблюдать за гномо-кедо проблемами издалека.

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

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

Во-первых это одно из хобби.

Во-вторых этим хобби я усовершенствую свое рабочее окружение.

В-третьих почему бы и нет.

В-четвертых по твоему узконаправленному разумению, опенсорса быть не должно. Одно ядро, одно ДЕ, один ЯП, да?

Хотя в чем-то я с тобой согласен. КЕДы пилят лошары, потому что уже есть Гном =)

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

Опенсорс это ловушка для лохов, которые бесплатно пишут код для корпораций. Правда код на пыхе вряд ли их интересует, так что продолжай.

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

Алё, пых даже в вебе это опостылевшее легаси

Если взять язык, то он явно не является каким то легаси, по многим пунктам превосходит традиционные языки, вот например EXL лайкает каждый негативный пост о PHP, но в его яве даже нету NonNullable аргументов, а в PHP есть. Туда же нормальные геттеры/сеттеры, nullsafe-оператор. То есть язык прогрессивный.

Теперь экосистема, достаточно взглянуть на крупнейшие проекты, что бы понять как PHP хорошо живет, тут и зеленые потоки, и библиотеки на любую веб-задачу, и большие активные фреймворки такие как Laravel: https://laravel.com/docs/12.x/frontend#inertia

У тебя какое то наваждение, то Xorg недолго осталось, то PHP уже умирает.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от bread

Язык отсталый, экосистемы нету, применяется только в старых проектах. А в PHP ситуация ровно наоборот, с исключением что PHP и в старых проектах тоже есть.

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

Кто-то кроме ТС использует пхп в новых проектах? Боюсь, что и в старых сейчас заняты больше переписыванием на актуальные технологии. Даже если где-то есть что-то живое на пхп, это ненадолго. С перла уже кажется всё переписали, теперь очередь пыхи. Тут завалы побольше конечно.

bread
()
Ответ на: комментарий от MOPKOBKA

Если взять язык, то он явно не является каким то легаси, по многим пунктам превосходит традиционные языки, вот например EXL лайкает каждый негативный пост о PHP, но в его яве даже нету NonNullable аргументов, а в PHP есть.

Это не имеет никакого значения. Миллиарды строк легаси, с которыми будешь реально работать, это пхп5 или даже 4. Превосходит этот язык никого, даже перл намного лучше.

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

Ты в альтернативном мире живешь, большинство веба на PHP, аналогов у PHP нету, как нету альтернативы WordPress. Куча вакансий в открытом доступе, можешь зайти и посмотреть что делают те, кто нанимает работников. Или можно зайти на сайт конференции по Laravel: https://laracon.us/ Кто там выступает? Создатели Vue, Tailwind, LiveWire, стали бы они связываться с мертвой технологией? Отдельно можешь загуглить людей из компаний и посмотреть чем они занимаются.

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

Миллиарды строк легаси, с которыми будешь реально работать, это пхп5 или даже 4.

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

PHP4 был 30 лет назад, твоя версия что 30 лет не могут легаси переписать, и не могут написать новые проекты, что бы большинство сайтов не было на PHP в 2025 году. Ты говоришь что большАя часть сайтов живет без изменений 30 лет, и тем самым PHP занимает большую часть в 2025 году. Это утверждение очень сомнительное.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 5)
Ответ на: комментарий от u-235

Тут тоже предлагают закопать опенсорц поглубже.

Там не опенсорц предлагают закопать поглубже, а обязать разработчика сопровождать тот говнокод, что он выложил, без этих детсадовских самописных отмазок «я не я и лодка не моя». Либо дать другим возможность его сопровождать. Либо не выкладывать.

С проприетарным кстати то же самое, а то и жестче, потому что они еще и деньги за это берут.

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

Кто-то кроме ТС использует пхп в новых проектах?

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

Если какой-то дебил делает хоумпагу на нодежс только потому что он стильно-модно-молодежный - это ничем не отличается от моего написания гуев на Пыхе.

С перла уже кажется всё переписали

cd /;grep -r '/bin/perl' * - наслаждайся.

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

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

Либо дать другим возможность его сопровождать.

Делаешь форк и сопровождаешь, в чем проблема?

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

Не пользуйся их продукцией.

u-235
()
Ответ на: комментарий от u-235

Делаешь форк и сопровождаешь, в чем проблема?

Дядя, ты совсем заигрался в цифровой песочнице?

Какой нафиг форк?

Есть продукт, который выкладывают в общий доступ. Неважно платный он, или задонатный.

Этот продукт обязан соответствовать критериям, ровно таким же каким соответствуют продукты в реальной жизни.

Форк - уберет продукт из общего доступа? Нет не уберет. Тогда о каком форке идет речь?

Не пользуйся их продукцией.

Это работает только у тебя в песочнице.

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

Прикинь ты едешь в скорой помощи марки BMW в которой используются тормоза Brembo, они отказывают, ты врезаешься. Помогло ли тебе то, что ты не пользуешься их продукцией? Ты можешь даже об этом не знать.

И речь идет о том, должна ли фирма BMW выкатить претензии и раздеть до банкротства фирму Brembo за то что та не следит за своей продукцией.

Ты-то само собой претензию выставишь BMW. О чем и речь.

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

Есть статистика, есть опросы, большинство проектов используют новые версии. PHP это часто хостинг, там старых версий php зачастую нету.

Версии новые, а код в основном старый. Это же не питон, чтобы всё переписывать под каждый релиз. Я легаси много видел, в основном на перле правда. Есть код вообще из 90-х с минимальными изменениями, только чтобы современный интерпретатор мог это прожевать. Так вот, там ад и израиль. Лучше взять это говно и переписать с нуля, но если так делать (и так делают), то никакого смысла использовать допотопные поделия ламерюг нет. Поэтому перловики работу уже не могут найти, только в качестве переписывателей на всякое го.

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

Версии новые, а код в основном старый. Это же не питон, чтобы всё переписывать под каждый релиз.

Ну ты же PHP не знаешь, сильно он ломается. Код с тех древних времен не будет работать потому что уже нету магических кавычек, нету mysql_ расширения, нету возможности работать с глобальными переменными как раньше а многие вообще удалены, удален или изменен многий старый синтаксис, изменилось поведение функций, изменилось даже поведение того как работает сравнение!

Попробуй тот же старый Wordpress который вышел ДО PHP8 запустить на текущем PHP, не получится.

С Perl совсем другое дело, там есть use vXXX.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от windows10

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

Гражданин, проснитесь. Никто не хочет похапе еще со времен хайпа рельсов. Уже 20 лет назад не было никаких причин его выбирать, кроме дремучего неосиляторства и хостинга за 3 копейки.

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

Использовать лучше нативный язык тулкита по многим причинам. Главное, это решает проблему использования продукта. Как вот ты собрался своё поделие поставлять, в докере что ли? Или по олдскулу напишешь в ридми как собрать патченный похапе, и пусть юзверь сам разбирается? А потом и получает стектрейсами в рожу при попытке это запустить (в лучших традициях питонософта).

bread
()
Ответ на: комментарий от MOPKOBKA

Код с тех древних времен не будет работать

Так код постепенно меняется конечно, но только чтобы удовлетворить новую версию интерпретатора. Он от этого сильно лучше не становится, только самые вопиющие косяки убирают. Переписывать по хардкору с пхп на пхп это очень тупо. С пхп4 в основном мигрировали еще давно, это да. Но бывает и такое попадается.

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

По опросам JB более половины стабильно используют самую новую стабильную версию, так же более половины использует Laravel. Они что, фреймворк сами перелопачивают? Нет конечно. Я не понимаю откуда ты взял эти страшные истории о php4, заканчивай выдумывать. В любом сообществе будут вопросы о Laravel, Symfony преимущественно.

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

Это говорит только о том, что 10-15 лет назад было побольше говноедов с новыми проектами на пхп. Ну и кто-то может и тупил переписывая дремучий самопал на фреймворки, вместо того, чтобы заменить весь стек. Хотя и ситуация на рынке труда была иная.

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

Никто не хочет похапе

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

Нормальным людям нужен нормальный функционал, а не ЯП.

Использовать лучше нативный язык тулкита по многим причинам.

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

Главное, это решает проблему использования продукта

Люди пользуются продуктом, а не языком.

Как вот ты собрался своё поделие поставлять, в докере что ли? Или по олдскулу напишешь в ридми как собрать патченный похапе, и пусть юзверь сам разбирается? А потом и получает стектрейсами в рожу при попытке это запустить (в лучших традициях питонософта).

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

Для конечного пользователя вообще прозрачно на каком оно языке написано.

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

Ладно, подождем пока ты пакеты приготовишь. Есть время запастись попкорном.

bread
()

Слежу за тредом с самого начала. ИМХО, это интересный проект, как минимум нестандартный, так что я - жду ебилдов, как говорится. Ну и исходников на гитхабе конечно же.

Сам работаю в основном на Java, но и с PHP сталкиваюсь очень часто и по многу. Я считаю что современный PHP это совсем не тот PHP что был даже 5 лет назад, когда я сам к нему относился с презрением. Так что пилите. Ну, а там посмотрим, может и я решусь показать свой велосипед который уже давно пилю на PHP, но к Linux он имеет отношение весьма косвенное.

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

Во-первых, любой код выполняется построчно, потому что пишется построчно.

Да вот не любой. Если ЯП с ленивой семантикой, то построчно не выполняется.

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

Да вот не любой. Если ЯП с ленивой семантикой, то построчно не выполняется.

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

print("Hello ")
print("World")

WorldHello

Так что ли?)

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

Язык называется Haskell. А вот что бы WorldHello не получалось используется механизм называемый монадой.

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

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

На Си часто их использую. Любое LRU с возможность найти элемент по имени.

firkax ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.