LINUX.ORG.RU

DNF будет переписан на языке C

 


0

3

DNF — пакетный менеджер, используемый в дистрибутиве Fedora. Его предшественник Yum был полностью написан на Python, в DNF же на данный момент низкоуровневый функционал вынесен в отдельные C-библиотеки (hawkey, librepo, libsolv и libcomps).

Начиная с этого момента, код DNF будет постепенно переписываться на C в рамках отдельного проекта libhif; функционал hawkey уже влит в libhif.
Пока в libhif реализовано скачивание метаданных, разрешение зависимостей и исполнение RPM-транзакций; в будущем планируется доработка libhif для поддержки других базовых функций пакетного менеджера.

Внедрение libhif со встроенным hawkey ожидается к релизу Fedora 25.

>>> Подробности

★★★★★

Проверено: tailgunner ()
Последнее исправление: Wizard_ (всего исправлений: 3)

А зачем чинить то, что работает?

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

Кефиродинамика - синоним олигофрении.

придурок, ну ты бы код нормально оформил бы. Чтоб поняли что уже в стандарте языка Си 1999 года 64-бита есть.

#include <stdio.h>
int main (void)
{
	long long int L = 16;

	printf ("%lli\n", sizeof(L));

return 0;
}
Результат: 577752781545275400

Это gcc и Linux. Сам товарищ Торвальдс любит Си. В gcc потихоньку реализуют стандарт 2011 года. В Windows язык Си мёртв, хотя... если он даже и живой, то застрял на уровне 1980-х годов.

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

Ещё один морон. В C ISO/IEC 9899:1999 {unsigned} long long int - нативный целочисленный тип, с гарантированной разрядностью не менее 64, не требующий никаких заголовков. В stdint.h определён синоним (typedef) 64 - разрядного типа, что-нить навроде: typedef long long int64_t; И да, даже включение стандартного заголовка требует 0 (прописью: ноль) дополнительных ресурсов времени исполнения. Вы откуда такие тупорылые все, как один выползаете ? А потом для вас C++ жуть как сложно оказывается.

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

#include <stdint.h>

Идиот искривляторный. Можешь засунуть свои сишные стандарты в тёмное надёжное место, если их реализация для тебя пустой звук. Читать научись для начала, прежде чем копипастить.

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

не менее 64

Но все-таки не 64. Хотя согласен, на данный момент вряд ли кто-то сможет найти реальное железо, где будет по другому.

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

Согласен. И я про него написал исключительно потому, что считаю его более выразительным чем long long int.

Вы откуда такие тупорылые все, как один выползаете ? А потом для вас C++ жуть как сложно оказывается.

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

anonymous
()
Ответ на: комментарий от A-234

То есть примеров проектов испорченных гипотетической школотой нет. Есть только левые примеры, которые к теме разговора не относятся. Понял.

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

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

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

Napilnik ★★★★★
()
Ответ на: комментарий от A-234

Вы всё ещё со мной разговариваете? Я просил

примеры из реального мира, что вот был проект, написан на условном Python/C#/Basic/Java, и из-за низкого порога входа в него пришли школьники и всё испортили?

Я не просил примеров переписывания проектов на язык C.

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

Ну то есть, 64 битные типы из коробки в C всё-таки есть и доблестный разоблачитель ОТО опять жиденько обосравшись отправляется в свою палату.

anonymous
()
Ответ на: комментарий от anonymous
printf ("%lli\n", sizeof(L));

sizeof возвращает size_t, а не long long. И этот человек называет кого-то придурком?

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

Я вам пример привел, что не понятно? Низкий порог вхождения влечет за собой увеличение вероятности генерации глупой архитектуры. Школьник, в данном случае, не характеристика возраста а понятие метафорическое. Мне кажется стоит уточнить: вы на Python/C#/Basic/Java пишете или на С?

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

Низкий порог вхождения влечет за собой увеличение вероятности генерации глупой архитектуры.

Это почему? Скорее уж высокий порог влечет такое.

tailgunner ★★★★★
()
Ответ на: комментарий от A-234

На Python/C#/Basic/Java. Пример то где? Вы приводите не примеры, а неподтвержденные фактами рассуждения на тему, как C способствует архитектуре, а Python/C#/Basic/Java не способствуют.

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

Это не мешает ему быть на порядки быстрее портежей.

quantum-troll ★★★★★
()
Ответ на: комментарий от anonymous

sizeof возвращает size_t, а не long long. И этот человек называет кого-то придурком?

Спасибо кеп. Извини, ты непридурок. Думаю так надо:

printf ("%zd\n", sizeof(L));
Результат: 8 байт как и надо.

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

Ну, как на сишке будет переписано, там уже подоспеет момент, когда будет готов с++17 и можно будет переписывать на нём.
Снова убеждаемся, что товарищи идут верной дорогой.

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

Ну, как на сишке будет переписано, там уже подоспеет момент, когда будет готов с++17 и можно будет переписывать на нём.

Снова убеждаемся, что товарищи идут верной дорогой.

А чё мелочиться-то. После того как перепишут на Си++, уже можно будет переписывать на Джаве. Язык как раз модненький.

anonymous
()
Ответ на: комментарий от A-234

C - это весьма низкий порог вхождения.

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

Так, если оно принесёт какие-либо профиты, то почему бы и нет.

Ты явно не сталкивался с Java. Там жуткий синтаксис для работы с ресурсами (когда ресрусры освобождаются при удалении объектов).

В принципе писать на нем можно, но получается жуткая нечитаемая хрень.

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

Ты явно не сталкивался с Java.

Что верно, то верно. Надеюсь жизнь не заставит обмазываться джавой (:

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

Есть же try with resource:

try (SomeObject object = new SomeObject()) {
    //some actions
}
После выхода из блока у object будет вызван метод close(). Или вы не про это?

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

Простой пример: на жабке программист пребывает в счастливой уверенности что память - понятие абстрактное и управлению не подлежит. В результате даже банальный просмотрщик картинок начинает жрать как не в себя и валится пытаясь отобразить картинку 20000x30000, вьюер на С писаный жутко тормозит но картинку открывает. Язык накладывает свои требования к уровню программиста. Это как для человека осилившего термех сопромат кажется поделкой для дебилов. Ну или шахматиста пытаться удивить игрой в поддавки.

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

банальный просмотрщик картинок начинает жрать как не в себя и валится пытаясь отобразить картинку 20000x30000, вьюер на С писаный жутко тормозит но картинку открывает

Я тоже могу рассказывать истории, вот: просмотрщик на Жабе тормозит и распухает, но картинку показывает, а просмотрщик на Си тупо падает. Ах да, еще просмотрщик на Яве был написан в 4 раза быстрее.

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

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

Джава нынче модная штука. Ты не следуешь моде?

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

Ага. Теперь представь, что типов ресуров - десятки. И самих ресурсов так много, что нужно пихать в контейнеры.

Естественно открываться и закрываться они могут асинхронно.

Представил? А теперь представь код основанный на таком костыле.

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

Да, для такого try with resource неприменим. Вообще, любопытно было бы посмотреть на подобный код. А как вы решаете подобную проблему на других языках? Деструкторы?

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

Деструкторы?

Ну да. Когда могут быть сбои (из-за недоступности ресурсов или сбоях в них, например) и начинаются танцы с бубном. Бубен в ява не очень удобный :)

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

Понятно, спасибо. Да, деструкторов иногда не хватает, даже при куда более простых задачах, finalize же в Java сломан от рождения.

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

Ну то есть, 64 битные типы из коробки в C всё-таки есть и доблестный разоблачитель ОТО опять жиденько обосравшись отправляется в свою палату.

Типы, которые то 64, то 32, то хрен знает сколько битные, а нормальные 64 битные - _не_ из коробки и с _хреновой_ поддержкой. Ты и там и тут один жиденько обсираешься всегда и везде, по любому вопросу - хобби такое. Хобби такое, ну и больную тему - теорию относительности везде поминаешь, как тот чел из песни Высоцкого, что про ногу бредил.

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

long long int - в C _из_коробки_ _везде_ 64 или более бит. Даже в 8-битном sdcc для допотопных Z80 и hc08. «хрен знает» сколько разрядов в базовых типах может быть только у косорукого тупорылого ниосилятора, навроде тебя. Продолжай разоблачать, ждем новых сенсаций.

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

У нас тогда была очень большая проблема с этими фотками, были перепробованы все приблуды которые заработали на 8-й солярке. Выбор приблуд был довольно ограничен и из всех выстрелила только одна. За какое время что написано никакой роли не играет. Школьник Толик пишет сочинение за час а глупый Толстой свою Войну и мир пилил шесть лет.

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

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

Просмотр фоток на Соляре, вау.

За какое время что написано никакой роли не играет.

Для кого как.

Школьник Толик пишет сочинение за час а глупый Толстой свою Войну и мир пилил шесть лет.

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

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

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

За какое время что написано никакой роли не играет.

Это если оно уже написано. А если нужно «вот прямо уже», а ты только садишься писать, то время становится важно.

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

по формальным срокам или человеко-часам?

По человеко-часам специалиста сравнимой квалификации.

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

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

Дело в людях. Но, одно но: програмирование и литературу нельзя сравнивать. Вещи несравнимые.

Толик сочинение напишет не за час, а за 40-45 минут — такова длительность урока. Толстому на время НЕ пофик, у него другие мотивы. А Толику нужна всего лищь оценка, не ниже 3-ки. Как и всякая творческая личность, Толстой же мучается, сомневается. Во время творческого порыва Толстой будет переписывать 1 лист десятки, а то и сотни раз.

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

Но, одно но: програмирование и литературу нельзя сравнивать

Я и не сравнивал. Тем более - графа Толстого.

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

спроси, например, Avi Kivity

«Mad C++ developer, proud grandfather of KVM.» (c) Перепись дедов ИТТ

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

Если бы он имел выдающиеся характеристики лучше чем у Git, то ты бы сейчас скачивал большинство исходников с mercurialhub, а не c github :-) Но он плохо подошёл на роль DVCS по сравнению с Git :-) Так что fail :-)

Кокой бессовесный гон :) Погугли список проектов на hg и скажи, что они все «нинужны».

Но он плохо подошёл на роль DVCS по сравнению с Git :-)

Хипсторам которые без гитхаба не могут? Безусловно.

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

Не продолжай, мы поняли что у тебя «илитка» головного моска :)

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

Как, подрядчики DoD и NASA недостаточно квалифицированы? ИМХО, не надо говорить лозунгами в духе «я за все хорошее против всего плохого» — это плохой косплей капитана.

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

Есть безопасные бритвы, а есть ножи. Бритвами пользуются парни в стрингах а ножами воины :)

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

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

Лучшесь определяется спросом. «гуд инаф» щас, или "профдеформациясуровая слоптимизация" через 100500 человеколет :)

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

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

Расскажи дебаркадерам про «вымерший» :) Воистену, «шпециалист подобен флюсу».

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