-
Notifications
You must be signed in to change notification settings - Fork 1
far2l как почему что внутри
@elfmz, основной разработчик форка far2l, приводит следующие причины:
-
Кодовая база: Версия 2 имела меньшую кодовую базу, что упрощало модификацию. Например,
filelist.cpp
в версии 2.0.1825 содержал 5014 строк, в то время как в версии 3.0.4700 — 8760 строк. - Lua: @elfmz не был знаком с языком программирования Lua, который активно использовался в 3 версии, и ему требовался работающий фар как можно быстрее.
- Скриптинг в Linux: В Linux уже существует множество инструментов для скриптинга, поэтому основной акцент был сделан на создание простого и эффективного инструмента, а не на добавление функционала скриптинга.
- Кроссплатформенность: Переделка Far Manager для поддержки разных платформ потребовала бы значительных усилий, больше, чем просто адаптация для Linux.
- Обратная совместимость: Модификация Far Manager под Linux, даже если бы она была основана на 3 версии, всё равно нарушила бы обратную совместимость с основным проектом.
- Разработка оригинального продукта: Если бы команда разработчиков оригинального Far Manager присоединилась к проекту, это могло бы замедлить разработку оригинального продукта, так как внимание было бы сосредоточено на кроссплатформенности.
-
https://www.opennet.ru/opennews/art.shtml?num=56492 (см. коммент elfmz от
16:20, 19/01/2022
) - https://habr.com/ru/users/elfmz/comments/
- https://github.com/elfmz/far2l/discussions/1063
- https://github.com/elfmz/far2l/issues/1248#issuecomment-1039240046
- https://github.com/elfmz/far2l/issues/1312#issuecomment-1099480022
- https://github.com/elfmz/far2l/issues/215#issuecomment-263349285
- https://github.com/elfmz/far2l/issues/215#issuecomment-444461982
-
Отличие Linux/Unix от Windows в том, что даже на одной и той же архитектуре (не говоря уже про отличия x86/x86-64/arm/... или little-endian и big-endian) заранее нет гарантий, что везде одна и та же совместимая версия системной стандартной библиотеки C (
libc
), поэтому просто бинарник может не подойти. -
Например, portable-сборки far2l специально собираются с старым
libc
и тянут с собой собственный загрузчик и свою версиюlibc
. -
Часть плагинов уже идёт внутри far2l. Внешние C/C++ плагины компилить не обязательно — можно попробовать взять бинарники от авторов или из мелкой нарезки от https://download.opensuse.org/repositories/home:/viklequick/ (там есть под разные системы) и положить внутрь far2l. Если они собраны на системе с той же libc, то должны подхватится без проблем.