LINUX.ORG.RU
ФорумTalks

список спорных идей linux


2

3

Давайте напишем список спорных идей, которые пропагандируются сторонниками линуксов.

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

Итак, начнем-с.

1) Множество мелких утилит, каждая из которых выполняет свою функцию идеально, и потом их можно комбинировать (обыв. «unix-way») - это хорошо.

2) Расширения имен файлов не нужны. ОС сама может определить тип файла по содержимому.

★★★★☆

google://site:linux.org.ru+ненужно

Deleted
()

Неплохо было бы ещё приводить аргументацию. Особенно её не хватает ко второму пункту в вашем списке.
От себя:
3) Скрытие файлов не по атрибуту, а по имени.

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

Расширения имен файлов не нужны.ОС сама может определить тип файла

Не сможет. Например файл с исходным кодом: хрен по нему поймешь что за язык (С и С++ вообще выглядеть могут одинаково, неся разную семантику). Иногда определять тип «дорого»: например odt/odp это по сути просто архив, тоесть необходимо а) определить что это архив б) определить что то, что в этом архиве находится похоже на odt.

theos ★★★
()

Расширения имен файлов не нужны. ОС сама может определить тип файла по содержимому.

ОС может, а я не могу, хотел бы сразу видеть к какого типа файл.

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

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

's/не нужны/не обязательны/'

Так лучше?

Axon ★★★★★
()

1) Множество мелких утилит, каждая из которых выполняет свою функцию идеально, и потом их можно комбинировать (обыв. «unix-way») - это хорошо.

И что ж тут спорного? Разве кто-то кроме не выучивших уроки поттерингофанатов с этим не согласен?

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

Так лучше?

А смысл их убирать если полностью убрать их нельзя? Они и так не обязательны, и исполнимые файлы часто без расширений, а контет определяется по #!/. А вот как без расширения решать проблему файлов, для открытия которых нужно искать программу: что мне в гугл вбивать для поиска подходящей программы? Вобщем проблема очень широкая, и просто сказать «расширения не нужны» бессмысленно без раскрытия подробностей.

theos ★★★
()

Ну вот, например, сначала думаешь, что 'всё есть файл'. А потом замечаешь, что нихрена подобного и близко нет!

Bad_ptr ★★★★★
()

Конфиги в ~/ а не в ~/.config. Но это постепенно решается, слава Богу.

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

А смысл их убирать если полностью убрать их нельзя?

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

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

В текстовых интерфейсах иконок нет.

Там есть цвета.

Axon ★★★★★
()

Что-то я не понял, это согласие или не согласие, потому как с вышеперечисленными пунктами 1-4 я полностью согласен и считаю их достоинством. Еще к достоинствам допишу:
+5) Хранение и обмен информации в текстовом виде, за исключением нужд критических для скорости и объема (такие как БД). Аргумент - возможность работать с данными любой программы с помощью разных программ (текстовых редакторов и снифферов) и отсутствие необходимости писать специализированные, как правило убогие утилиты.
+6) Профилирование программы для конкретной платформы на этапе компиляции. Или - нормальная установка программы подразумевает конфиг ( ./configure ) и компиляцию, что позволит программе задействовать присутствующие библиотеки и выбросить поддержку того, что не нужно, или того, что нет. Аргумент - уменьшение объема софта, за счет 1) исключения ненужных участков кода и 2) отсутствие необходимости тащить конкретные библиотеки, иногда конкретных версий, когда аналогичные уже есть в системе.
+7) Четкая иерархия фс
+8) Практичные атрибуты файлов
...

Из недостатков - плохие названия каталогов фс; почему /etc, но ~/.config? Почему /usr?

Kroz ★★★★★
()

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

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

Ну вот, например, сначала думаешь, что 'всё есть файл'. А потом замечаешь, что нихрена подобного и близко нет!

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

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

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

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

Kroz ★★★★★
()

1 - это действительно хорошо. Позволяет автоматизировать все мыслимые и немыслимые процессы. А вот systemd-way - говно по определению. Говно на говне и говном погоняется.

IPR ★★★★★
()

Чуваки, а мы тут про линупс

или про юнипс в целом?

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

А что там не файл, кроме сетевых интерфейсов? И да, кто-нибудь знает почему сетевые и-фейсы не файлы?

IPR ★★★★★
()

Да, вторая очень спорная.

3) initrd - костылище. Точнее он мог быть спроектирован проще. А так целую систему запихнули

4) fork()/exec(). Сейчас конечно оптимизированы, но все же задумка странная. Но тут я признаю, может я не понимаю какой-то важный нюанс, буду признателен за ликбез. На данный момент мне кажется странный клонировать процесс.

5) lock files. Они не чистятся автоматически. Может можно повесить обработчик, но по факту они нифига не чистятся в существующем софте если что-то пошло не так.

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

4) Множество разрозненных конфигурационных файлов вместо единого реестра.

Идея реестра, конечно, хороша, но здесь возникают вопросы:
а) универсальности, удобства поиска/чтения/редактирования
б) своевременного удаления неиспользуемых данных

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

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

Не сможет. Например файл с исходным кодом: хрен по нему поймешь что за язык

а нафига? важно, что он текстовый. Синтаксис подбирает редактор/IDE, а не ОС

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

Хранение и обмен информации в текстовом виде

Текстовый режим хорош, да ладно вам (text, JSON, XML, YAML). Кроме того когда есть серьзные причины делать бинарь. И Unix-way так и говорит «кроме случаев когда явно лучше бинарь». Отстрел ног никто не рекламирует.

Четкая иерархия фс

Она загадочная да, но PATH короткий при все тех тысячах утилит

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

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

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

Это гадание на кофейной гуще. Расширения, конечно, не нужны. Нужно в качестве метаинформации хранить полноценный тип файла. Тогда без каких-либо сторонних данных и предположений можно будет узнать, чем открываются те или иные данные, чего бы в файле не было написано. И отпадёт необходимость в флаге eXecutable, например.

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

Текстовый режим хорош, да ладно вам

Он просто замечателен.

Она загадочная да

Она достаточно четкая. ПоRTFM'ь.

P. S. Хоть бы аргументировал, что ли.

Kroz ★★★★★
()

0) Linux — это круто.

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

Накладные расходы слишком большие.

Юзкейсом, в котором заметна потеря производительности, не поделитесь?

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

Гномовый реестр ничем не отличается от раскиданных инишек, только в нем эти самые инишки на xml и положены в одну директорию

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

У нас есть Unix-way - все перемешать в борщ, или Windows-way - взять папку /opt или Program Files и положить туда софт. Первое требует пакетного менеджера, второе не очень дружит с разделяемыми компонентами. Это вообщем проистекает из культуры закрытости vs открытости.

Но что такое /var/lib? Разделение на */bin и */sbin тоже вроде не похоже на обязательное. */local папки кажутся не очень необходимыми кроме очень особенных конфигураций. /sys vs /proc? /media vs /mnt

Причины всему этому есть, но очень какие-то частные

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

Там киллер фича - нотификации с дефолтные схемы.

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

И что ж тут спорного? Разве кто-то кроме не выучивших уроки поттерингофанатов с этим не согласен?

Как бы оформление всех этих же мелких утилит как разделяемых библиотек лучше по всем параметрам при наличии вменяемого glue-языка. Или линуксоиды не осилили кодинг?

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

COOLEXPLOIT.PNG, который на самом деле скрипт на питоне + устройства, откуда всё читается как +x (DVD?). Разумно, да :}

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

1 - это действительно хорошо. Позволяет автоматизировать все мыслимые и немыслимые процессы.

На деле нет. Есть тонна вещей, которые не скормить этим вашим утилитам. Есть оверхэд от всех этих форков (см. autotools).

x3al ★★★★★
()
Ответ на: комментарий от templarrr
        ALSA_LIB_VERSION=`grep VERSION_STR /usr/include/alsa/version.h 2>/dev/null|awk {'print $3'}|sed 's/"//g'`

        if [ -z "$ALSA_LIB_VERSION" ]; then
                if [ -f /etc/lsb-release ]; then
                        . /etc/lsb-release
                        case "$DISTRIB_ID" in
                                Ubuntu)
                                        if which dpkg > /dev/null ; then
                                                ALSA_LIB_VERSION=`dpkg -l libasound2 | tail -1 | awk '{print $3}' | cut -f 1 -d -`
                                        fi

                                        if [ "$ALSA_LIB_VERSION" = "<none>" ]; then
                                                ALSA_LIB_VERSION=""
                                        fi

Не тошнит?

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

О, тред перешёл в обсуждение FHS, это хорошо.

Первое требует пакетного менеджера

Или не требует. По крайней мере, для установки программ. В Линуксе, помимо пакетных менеджеров, есть .bin'ы, скрипты и прочие make install'ы, а в винде - setup.exe. Вот только без ПМ в линуксоподобной иерархии затруднительно обновлять/удалять пакеты. Но и это можно решить: в винде у практически каждой программы в её каталоге лежит файлик unistall.exe, в Линуксе точно так же можно было определить стандартом каталоги /rem, /usr/rem, /upd, /usr/upd, в которых лежали бы бинарники для удаления и обновления пакетов соответственно.

Но что такое /var/lib

Судя по всему, это такой «выручай-каталог», в который пихают всё подряд.

Разделение на */bin и */sbin тоже вроде не похоже на обязательное

Логично было бы разделить на /bin и /usr/bin, этого было бы достаточно.

/sys vs /proc? /media vs /mnt

Издержки постоянного обновления стандартов.

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

Шелл превращается, превращается шелл.. в элегантный systemd. Простите, маленькая техническая неувязка.

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

Разделение на */bin и */sbin тоже вроде не похоже на обязательное. */local папки кажутся не очень необходимыми кроме очень особенных конфигураций.

плюсую. интересно, почему бздуны так любят */local

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

устройства, откуда всё читается как +x

Такому уже ничто не поможет.

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

X нужен как раз. По крайней мере можно разрешить выполнение файла только определенной группе лиц. Не забываем, что юникс проектировался как (очень) многопользовательская ОС

marvin_yorke ★★★
()

2) Расширения имен файлов не нужны. ОС сама может определить тип файла по содержимому.

Лучше определять тип файла по содержимому. Очень часто от вендузятников приходят файлы с неправильными расширениями, а в кедах, например, это сразу видно.

В идеале имя файла должно содержать только его имя и больше никакой ненужной информации.

Единственная проблема — нет соглашения по определению типа файла, как например для скриптов.

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

Разделение на системное и пользовательское ПО. Просто они не осилили /usr

Kindly_Cat
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.