LINUX.ORG.RU

Сообщения Don_Antonio

 

А действительно ли Rust так... плох?

Друзья, есть такой вопрос.

Я тут выбираю какой новый ЯП выучить. Заинтересовался Rust-ом. Сейчас о нём много говорят и даже сам Линус (да святится имя его) осторожно допускает, что он может заменить С++. Много пишут о его преимуществах, о новой системе сборки мусора, о скорости работы и красиво организованной низкоуровневости. Читая это, я загорелся идеей его выучить. И всё бы хорошо, но вот наткнулся на эту статью некоего Алексея Вересова. В ней автор разносит Раст в пух и прах… И вера моя пошатнулась (или как там это говорится).

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

Конечно, возможно, автор чего-то не понимает, или вообще врёт. Он опасно молод (в 22 году окончил МГУ), так что кто его знает. По сему, хотел бы разобраться с теми отдельными негативными моментами, которые он высказывает в сторону Раста. А именно:

1. Макросы усложнили жизнь и принесли избыточность?
2. Типы указываются автоматически, но явное указание допустимо в тех случаях, когда автоопределение не срабатывает. Т. е. оно может не сработать? Но при этом по умолчанию тип не надо указывать… Если автоматика не идеальна, зачем делать её умолчальной?
3. Зачем сделана многопроходная компиляция, просто в угоду возможности объявить функцию после её вызова? И ради этого увеличивать время компиляции до нескольких часов? Не проще ли пролистать код в начало и вписать объявление туда?
4. Мы передаём в функцию значение, а потом не можем использовать его в основной программе? Серьёзно что ли? Ну это очень веская должна была быть причина, чтобы так сделать. Так это правда?
5. Про сборщик мусора – он всё-таки есть, и даже не один?
6. Раст – это параллелизм, прежде всего?
7. Получаемый после компиляции машинный код действительно больше, чем аналоггичный на плюсах? Ну т. е. это всегда так, или он просто пример такой подобрал? На 3 строки Раста 2779 строк Ассемблера! Если так, почему тогда Раст считается очень быстрым, что аж это его фишка?
8. Ну, про то, что сторонники Раста самые счастливые люди он ничего не объяснил. Каждый кулик своё болото хвалит. А вот как куликов сравнить объективно по уровню счастья – это уже сложнее.

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

P.S. Полезный, кстати, сайтик для себя открыл: Стрела Бога. Позволяет смотреть ассемблерное представление кода.

 , ,

Don_Antonio
()

Почему используются в основном только две графические библиотеки?

Не могу понять, почему на Линуксе используются только две основные графические библиотеки – GTK и Qt. Ведь есть же много других, кроссплатформенных.

Вот, например, в этой статье называют также: Electron.js, NW.js, Avalonia, WxWidgets и Tkinter.

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

 , , , ,

Don_Antonio
()

Не работает ни один из моего списке серверов ntp (точное время)

Здравствуйте! Что-то не работает у меня синхронизация по времени (sudo ntpdate сервер). Ни один сервак из моего списка не пашет.

Список: kangaroo.lan.forstwoof.ru, ntp.xland.ru, ntp1.cangran.su, ntp2.cangran.su, rtf.firmacem.ru

Пишет lookup of сервер failed

Или socket error on transmission: [Errno 101] Network is unreachable

Если это ненадёжные (недолговременные) серваки, то дайте пожалуйста список надёжных. Вот которые прям как гора, на 100 лет вперёд никуда не денутся.

 , ,

Don_Antonio
()

Теор. вопрос по структуре звук. серверов (ALSA, Pulseaudio, JACK, Pipewire)

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

ALSA у нас состоит из ядерной части (ALSA Kernel) и пользовательской (ALSA Library, ALSA lib, libasound), ну и плюс драйвера и утилиты, но речь не о них. Так вот:

Правильно ли я понимаю, что Pulseaudio заменяет собой ALSA Library (юзерспейсовую часть Алсы), а JACK – не заменяет, и работает поверх её? Об этом говорят блок-схемы, которые есть в сети на эту тему. Однако же, я находил и другие схемы, на которых Pulseaudio изображён рядом с ней (с ALSA-userspace) и следовательно тоже не заменяет её, а лишь дополняет. Pipewire вроде как ничего из Алсы не заменяет и работает поверх неё. Он не имеет своего API, используя как JACK API, так и Pulseaudio API.

Но при этом везде (в статьях) указано, что Pipewire идёт как замена Pulseaudio. А если так, то Pipewire должен, как и Pulseaudio, заменять собой ALSA Library. Хотя, не должен, конечно, просто это логично предположить.

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

 , , ,

Don_Antonio
()

Зачем нужны архивные ключи

День добрый! Скачал дистрибутив Дебиан 12. Проверяю подлинность. Собственно, уже проверил, всё ОК, но остался вопрос. Я импортировал 6 открытых ключей. 3 из них взяты отсюда: https://www.debian.org/CD/verify, другие 3 отсюда: https://ftp-master.debian.org/keys.html. В процессе проверки все файлы контрольных сумм были подписаны только одним (из шести) ключом (который Debian CD signing key). Напрашивается вопрос: зачем нужны остальные 5 штук? И что это за архивные ключи?

Ну и параллельно ещё вопрос. Дебиан ведь бывает разный. «Stable», «не очень stable» и т.д.. Так почему на офиц. сайте нет информации о том, какой именно дистрибутив предлагается. Вернее есть, но она очень уж как-то странно запихана за 10 страниц от главной. Там есть разделение на Интернет-установщик, CD, DVD, есть разделение по архитектурам. Но почему-то нет внятного разделения по веткам (стабильная, тестовая и т.д.). Вроде я даже находил на одной из этих однотипных страниц какое-то упомянание о стабильной ветке, но всё очень блёкло, глаз не цепляется. Просто текст и в нём ссылки, никакой человеческой вёрстки, никакой косметики. Люди реально вот так каждый раз при выходе нового Дебиана роются в этом массиве текста в поисках ссылки на скачивание?

 , , , ,

Don_Antonio
()

Программы, игры и драйвера для периферии - общее

Здравствуйте! Cнова я. И снова с табличкой и вопросами. https://drive.google.com/file/d/1qbjLzbxUmKuuM4UEye3Y2HCY6tG0p510/view?usp=sharing

  1. В табл. на 1 стр. есть названия красным цветом – это значит, что в них я не уверен (не нашёл в сети подтверждения). Действительно ли именно эти программы являются аналогами виндовых из предыдущей колонки?
  2. На Винде я часто пользуюсь собственными скриптами, написанными на Autohotkey, либо bat-файлами. В основном, для упрощения повторяющихся действий в определённых условиях, а также для размещения окон на экране (с заранее определённым видом, размером и т.д.). В таблице есть несколько аналогов (п. 30). Какой из них лучше подойдёт для моих задач? Или может быть на Линуксе вместо скриптового языка можно использовать Bash (т. е. достаточно ли будет возможностей Bash)?
  3. Существуют ли игры, среди сделанных для Линя изначально, с современной графикой (а не 20-летней давности).
  4. На последней странице про п. 2-4, т. е. сканеры, звуковухи и джойстики. Какие производители делают для этого добра дрова под Линукс? В частности, у меня проф. звуковуха RME внешняя, есть манипуляторы для авиасимуляторов (РУС, РУД, панель приборов) – будет ли всё это дружить с пингвином?

 , , , ,

Don_Antonio
()

Сводная инфа по дистрибутивам - разные вопросы

Изучаю Линукс. Взял тему дистрибутивов. Как водится, сделал обзорную таблицу (https://drive.google.com/file/d/16uRgJ16-RHnwg3KDavfFbyEGdX_HIVVo/view?usp=sharing). В таблице, как понятно из названия, перечислены все основные дистрибутивы, плюс те, которые выделяются из общего ряда чем-то интересным, оригинальной идеей. Не обошлось без непонятных моментов, которые хотелось бы уточнить.

  1. Не все ячейки удалось заполнить – не нашёл инфу. В частности, почти ничего нет на Wear OS, ну и в других местах есть пробелы.
  2. Не уверен в правильности данных (это касается колонок «Окружения рабочего стола», «Оконные менеджеры» и «Файловые системы»). Конечно, я старался брать инфу с надёжных сайтов (distrowatch, wiki, linuxinfo) плюс с официальных сайтов дистрибутивов. Но не всё там есть, поэтому иногда приходилось брать её из непроверенных источников.
  3. Колонка Оконные менеджеры – не уверен, что перечислены все доступные. Кроме того, есть подозрение, что любой (или почти любой) ок. менеджер можно установить на любой дистр (так ли это?). Если так, то в колонку логичнее записать только те, что установлены по умолчанию. Вот только нигде нет чёткой инфы на этот счёт. Даже на distrowatch понятия окружения рабочего стола и оконного менеджера безбожно путают между собой.

 , , , ,

Don_Antonio
()

Пакеты и форматы (вопросы от новичка)

Здравствуйте, товарищи! Я тут новенький, поэтому кратко о себе. С компом дружу более 35 лет, помню ещё компы с загрузкой игр с аудиокассет. Преимущественно общался с Виндой (ну и с MS-DOS вначале). С пингвином стал дружить лишь недавно. На ноуте уже лет пять как стоит Мята, пользуюсь не очень часто, но пользуюсь. В будущем планирую полностью перебраться на Линь, видимо на Debian. Параллельно время от времени изучаю Линукс как таковой. Тема за темой, не торопясь. И вот сейчас появилось свободное время, продолжил изучение. Взял тему пакетов и их форматов. Составил табличку (см. прикреп. файл … Не нашёл где тут добавляется картинка, так что вот ссылка на Гугл-диск: https://drive.google.com/file/d/1t2T8ahmIVYAJ7oBx6a2vska9Vm8Fx1aX/view?usp=sharing). Но. В интернете просто писец какой-то происходит. Чуть ли не каждый второй сайт путает понятия системы управления пакетами и пакетного менеджера. Открываешь какой-нибудь сайт, а там табличка и в графе «пакетный менеджер» написано DPKG (а это СУП!), а потом через запятую вообще flatpack (а это формат пакета!). Охренеть! И из-за этой вот путаницы я несколько дней потратил, чтобы эту табличку хоть как-то составить. Наверняка, в ней есть ошибки…

Мои вопросы:

  1. Посмотрите кому не лень табличку и определения в целом, всё ли верно? Подозреваю, что там немало неточностей, т. к. инфу рыл долго и мучительно «с сайта по нитке». В частности, у меня сомнения по поводу Slackpkg. Неужели, она не используется в Slackware? Уж больно похожи названия.
  2. Из таблички получается, что у Solus есть три пакетных менеджера - eopkg, snapd и flatpak. Причём, первый работает и с форматом flatpak, и с форматом snap, второй только со snap, а третий только с flatpak. Верно ли это?
  3. Заполните пробелы (красные знаки вопроса) в табличке.
  4. Правильно ли я понимаю, что tar.gz = TGZ, tar.xz = TXZ, а сами TGZ и TXZ - разновидности TAR?
  5. Бинарник и исходник это же разные понятия? Исходник это SRC, а бинарник это какое расширение\формат? Знаю, что в Линуксе расширения не важны, но для ориентира они всё же есть.
  6. Верно ли, что менеджеры APT, APM, Synaptic, Gnome software и Appgrid (т. е. все те, что относятся к системе DPKG) работают без проблем на любом дистрибутиве семейства Debian?

 , ,

Don_Antonio
()

RSS подписка на новые темы