LINUX.ORG.RU
ФорумTalks

DNF 3, Раст и Си++

 ,


1

9

Странно, что ещё никто не вкинул тему.
https://lwn.net/Articles/750238/
Для Ъ:
DNF 3 пишут на Си++, в рассылке некий Matěj Cepl спросил, почему не раст. На что получил ответы:

it is not bad to be a bit conservative when core system components are concerned

I'm okay with not dealing with LLVM for my system package manager, thank you very much. I'd be more open to Rust if Rust also could be built with GCC, and thus supported across literally everything, but no one is investing in that effort.

В общем, выбор Си++ в качестве языка для DNF 3 — свершившийся факт.
P.S. Я отношусь к расту равнодушно, но вот такая логика

Mad rush of giving up on 46 years old language and switching to one which is just 33 years old seems a bit bizarre to me.

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

Перемещено tailgunner из development

Deleted

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

Ну всё правильно сказал.

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

Очевидно, чтобы смог высказать свое мнение анон.

Deleted
()

Mad rush of giving up on 46 years old language and switching to one which is just 33 years old seems a bit bizarre to me.

Вообще-то они на C++11 переключились, он сильно помоложе будет ;)

PS. А еще они CMake используют в своем libdnf.

eao197 ★★★★★
()

Как ребята ещё арифметику и десятичную систему счисления не переписали.

Аналогия, однако, некорректна.

quantum-troll ★★★★★
()

Так вместо того, что бы вопросы вопрошать, этот ваш Matěj Cepl, мог и пул риквест с poc сделать, где он например переписал пол libdnf За вечер ибо rust сильно лучше цпепе.

А то я смотрю, таких фичереквестеров, везде развелось, ток у них кубики активности за трёп рисуются :)

pon4ik ★★★★★
()

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

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

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

Нет.

RazrFalcon ★★★★★
()

Когда-нибудь дорастут и до более совершенных ЯП, чем C++.

Virtuos86 ★★★★★
()

первого пункта достаточно.

ЗЫ не прошло и 30 лет а у ред хата появится пакэдж-мэнэджер. может быть..

mos ★★☆☆☆
()

вызывает сомнения в адекватности тех, кто такое говорит.

Фанатики всегда будут и будут нести ересь вне зависимости от языка о котором речь.

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

Ок, это не правильный подход, а наиболее эффективный на практике. А как оно там в идеале — всем пофиг, поскольку там никто не живёт.

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

duke nukem forever жы
хотя в контексте сабжа больше подходит Did Not Finish

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

угу. я когда-то на питоне пытался. потом переписал всё в си. Теперь на ++ перешел. Правда в отличие от си за 2 года так и не освоил прям весь язык) но это только + для меня - ибо интересно)

bonta ★★★★★
()

Самое забавное, что «убийца C++» (как некоторые преподносят Rust) базируется на LLVM, которая, внезапно написана на C++. Шах и мат.

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

если разовьется то на раст перепишут же. Мне больше прикалывают ответы - «чем лучше? - всем» ))

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

Не знаю чем, это видимо знает тот тип со сложно печатаемой фамилией. Я регулярно наблюдаю на гитхабе вопросы а фигли вы написали это не на раст? Или зачем вы написали это на раст?

Не нравится, считаешь, что другой стэк технологий лучше - вперёд, сделай свою реализацию. Нет? Тогда коммить на чём предлагают или иди лесом.

pon4ik ★★★★★
()

На кресты проще переходить с сишки, чем на раст.

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

Если судить такими категориями, можно придти к тому, что winapi безусловно лучше posix.

А уж андрюшкино системное api это вообще идеал идеалов.

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

Самое забавное, что «убийца C++» (как некоторые преподносят Rust) базируется на LLVM, которая, внезапно написана на C++. Шах и мат.

Ты просто не знаешь о Cretonne.

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

Если их софт окажется лучше софта на С++, значит так тому и быть.

Как «так»? Редхат зарыдает и выбросит свое Си++-поделие?

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

Rust хотя бы не тянет груз обратной совместимости с языком 46-летней свежести.

как по мне это его плюс. Совместимость с языком 46 летней давности, который до сих пор первое место в рейтинге я.п. занимает.

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

растеры не так безнадежны

Если для тебя «безнадежность» значит «на этом языке нет кодогенератора», у тебя очень странное понимание надежды.

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

Если для тебя «безнадежность» значит «на этом языке нет кодогенератора», у тебя очень странное понимание надежды.

Безнадежность - это когда орут про закапывание плюсов, когда кодогенератор под раст написан на этих самых плюсах.

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

Безнадежность - это когда орут про закапывание плюсов, когда кодогенератор под раст написан на этих самых плюсах.

Ну так плюсов много, закапывать долго.

tailgunner ★★★★★
()

DNF 3

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

// Я конечно подумал про DukeNukemForever, а про что в топике?

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

Новый пакетный менеджер от Redhat, за скорость названный Did Not Finish.

tailgunner ★★★★★
()

Какое-то ненужно решили писать на плюсах.
Ху зэ факин ворин'.

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

Самое забавное, что «убийца C++» (как некоторые преподносят Rust) базируется на LLVM, которая, внезапно написана на C++. Шах и мат.

В этой сентенции прекрасно всё.

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

Первая мысль была про Disjunctive normal form

Про что топик хз. Да это и не важно, никто здесь не собирается обсуждать DNF, это just another растосрач

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

Не, ну я тоже не борец за то, что всё должно быть gpl. Но в том же gcc хотя бы компилятор фортрана есть в официальной поставке. В llvm с frontend для него как-то не очень. Есть две реализации: замороженый dragonegg и непонятно в каком состоянии flang. На гитхаб 2 проекта flang: фронт-энд, у которого упоминается в long_term поддержка 90/95; компилятор, в вики которого упоминается, что есть поддержка 2003. И всё. То есть это ещё и вручную всё ставить нужно, так как в официальную поставку не входит (+ похоже, что никем нигде не опакечено) и поддержка стандартов слабовата.

grem ★★★★★
()

ну вот представь - ты разработчик софта N, пишешь его на удобном тебе и давно знакомом языке. Приходит какой-то хрен с горы и говорит - а что это вы, уроды, не используете прекрасный язык Z? Ведь говно у вас получится! Вот если бы вы на этом языке написали, будет прекрасный продукт. Всего-то надо сменить язычок, и все проблемы софтостроения будут побеждены. И ведь не то, чтобы он был готов прямо окунуться в разработку софта N... Что бы ему сказать, да чтоб не матерно?

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

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

А ты представь, что в реальности было не так.

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

) я gpl как лицензию не уважаю но при этом gcc я уважаю. И согласен с тем что он самый такой навороченный по поддержи языков. llvm и рядом не стоял, но при этом это не значит что то что есть в llvm хуже чем это же в gcc.

Читал сорсы stl, когда изучал эту либу, в реализации gcc - так прям кайфовал (без сарказма) как они написаны, очень всё грамотно и красиво. Ну и реализацию некоторых ++ операторов (например по факту в gnu с++ все выделения памяти через сишные ф-ии malloc/delete идут, а уже выше уровнем конструторы/деструкторы и т.д.)

    void *
    operator new (std::size_t sz) _GLIBCXX_THROW (std::bad_alloc)
    {
      void *p;
     
      /* malloc (0) is unpredictable; avoid it.  */
      if (sz == 0)
        sz = 1;
     
      while (__builtin_expect ((p = malloc (sz)) == 0, false))
        {
          new_handler handler = std::get_new_handler ();
          if (! handler)
    	_GLIBCXX_THROW_OR_ABORT(bad_alloc());
          handler ();
        }
     
      return p;
    }
но вот llvm(clang) мне именно как пользователю (т.е. программисту пользующему компилер) а не как читателю кода самого clang - понравился больше - то как он ошибки подсвечивает и вроде как более педантичен, т.е. g++-Wall был не таким педантичным в «тонких» местах.

Но при этом код самого clang не смотрел. Но думаю там тоже не менее красиво всё.

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

Что бы ему сказать, да чтоб не матерно?

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

типа того ему сказать

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