The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Бьёрн Страуструп призвал стандартизировать профили C++ для безопасной работы с памятью

03.03.2025 12:08

Бьёрн Страуструп (Bjarne Stroustrup), создатель языка C++, призвал комитет WG21, отвечающий за разработку стандартов для языка C++, предпринять меры для сохранения актуальности C++ в условиях активного продвижения инициатив по переходу на языки, обеспечивающие безопасную работу с памятью. Страуструп считает, что язык С++ уже содержит все возможности, необходимые для безопасной работы с памятью. Остаётся только предоставить средства, гарантирующие, что код написан с использованием только безопасных возможностей.

По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры, так как Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасно работающие с памятью. До 2026 года производителям ПО рекомендовано разработать план по применению в своих продуктах технологий, защищающих от ошибок при работе с памятью, или переходу на использование языков, безопасно работающих с памятью.

Стандартизация возможностей для безопасной разработки на C++ позволит сохранить интерес к языку С++, особенно с учётом того, что разработчики существующих проектов на С и C++ смогут постепенно наращивать безопасность своих продуктов, не прибегая к инициативам по переписыванию на другом языке. В частности, проекты на C можно преобразовать в код С++, а затем поэтапно переводить код на безопасные конструкции, следуя рекомендациям из руководства "C++ Core Guidelines".

Для обеспечения разработки безопасного кода Страуструп предлагает стандартизировать систему профилей C++, вводящих дополнительные требования к коду. Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка. К реализации предлагаются профили для безопасных типов, контроля времени жизни объектов, работы с допустимыми диапазонами значений и целочисленной арифметики. Привязку к профилям можно задавать не только для проекта и файлов (например, "[[profile::enforce(type)]]"), но и включать/отключать на уровне отдельных конструкций (например, "[profile::suppress(lifetime))] this->succ = this->succ->succ;").

Работа по повышению безопасности будет сводиться к включению профиля для определённого кода и переписыванию частей, использующих небезопасные возможности языка, охватываемые выбранным профилем. Например, использование профилей поможет уйти от применения в коде сырых указателей и массивов, избавиться от приведения типов и защититься от обращений к неинициализированным объектам. Вместо сырых указателей можно использовать, например, умные указатели std::unique_ptr и std::shared_ptr с отслеживанием владения. При наличии в коде циклов "for", перебирающих отдельные элементы Си-массива, потребуется заменить данные циклы на вариант с обработкой диапазонов "for(type variable : vector)", использующий std::vector.

Предложены следующие профили:

  • type - каждый объект должен быть инициализирован, не допускается приведение типов.
  • lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.
  • bounds - требуется проверка допустимых диапазонов при работе с указателями, запрещены арифметические операции с указателями.
  • arithmetic - блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение.
  • concurrency - исключает операции, приводящие к взаимным блокировкам и состояниям гонки.
  • RAII (Resource Acquisition Is Initialization) - требует проверки владения для каждого ресурса.

Гарантии, реализуемые при использовании профилей:

  • Обращение к объекту допускается только в соответствии с типом, под которым этот объект был определён.
  • Каждый объект должен быть корректно создан и освобождён.
  • Каждый указатель должен указывать на корректный объект или нулевой указатель.
  • Каждая ссылка через указатель не должна переходить по нулевому указателю.
  • Каждое обращение через индексированный указатель должно находиться в пределах допустимого диапазона.


  1. Главная ссылка к новости (https://www.theregister.com/20...)
  2. OpenNews: Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью
  3. OpenNews: Проект TrapC развивает Си-подобный язык, безопасно работающий с памятью
  4. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  5. OpenNews: C++ Alliance продвигает в C++ механизмы безопасной работы с памятью, опробованные в Rust
  6. OpenNews: Создатель C++ раскритиковал навязывание безопасных языков программирования
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62821-cpp
Ключевые слова: cpp, lang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (541) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kravich (ok), 12:21, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +60 +/
    Засуетили, забегали)
    Это хорошо, хорошо
     
     
  • 2.2, НяшМяш (ok), 12:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Но ведь раст не настоящий язык, почему такая реакция /s

    Дидов корёжит и это хорошо. В результате выиграют все.

     
     
  • 3.6, Аноним (6), 12:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    От этого выиграет даже раст, которой без C++ного LLVM может примерно ничего.
     
     
  • 4.177, Соль земли (?), 15:05, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это будет его единственное предназначение.
     
  • 3.12, анонд (?), 12:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –13 +/
    Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП черты имитируются и там, и там очень похоже.

    Go норм - на нем держится инфраструктура вроде Kubernetes, Docker, Helm, Prometheus, Grafana и тд. Java в морг, но C# норм. Ruby фтопку, уж лучше Python. SWift не пробовал никогда. Довольно нишевой, для macOS/iOS.

     
     
  • 4.19, Ося Бендер (?), 12:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Думаю, что Бэйсика хватит всем!
     
     
  • 5.107, Аноним (107), 14:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я соглашусь, только надо говорить о Free Pascal
     
  • 5.199, Аноним (199), 15:34, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В каких-то Бейсиках было обращение к адресам памяти - небезопасТно.
     
  • 4.29, Аноним (29), 12:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Rust конкурент C т.к. в обоих языках нет ОПП в принципе.

    на Rust не написать ничего подобного seL4, а ООП не нужен в принципе

     
     
  • 5.201, Аноним (199), 15:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лично тебе ненужен - не испольщуй.
     
  • 5.466, Аноним (466), 01:44, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На язике программирования нельзя написать программу. Подробней в новостях в 23.
     
     
  • 6.595, Аноним (29), 21:47, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > На язике программирования нельзя написать программу

    sel4 написали на С за 2 месяца, но сделать полную верификацию кода на расте у тебя памперс  переполнится

     
  • 4.37, Аноним (37), 13:05, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > уж лучше Python

    для системных скриптов - да. Но проблема в том, что им жестко заcpaли области программирования, для которых его применение сомнительно.

     
     
  • 5.440, Аноним (440), 22:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > для системных скриптов - да. Но проблема в том, что им жестко заcpaли области
    > программирования, для которых его применение сомнительно.

    Черта с два. Из за вечных проблем с версиями - для этого он полный отстой.

     
  • 5.442, Аноним (442), 22:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >для системных скриптов - да. Но проблема в том, что им жестко заcpaли области программирования, для которых его применение сомнительно.

    А показать как надо было делать - как всегда некому. Если есть отличные альтернативы, которые действительно лучше, то почему же ими никто не пользуются в этих "областях", а мучаются с Пайтоном?

     
  • 4.46, n00by (ok), 13:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП
    > черты имитируются и там, и там очень похоже.

    В Си++ нет ООП в принципе. ООП черты имитируются. Слова "метод класса" могут оказаться последними.

     
     
  • 5.122, тоже Аноним (ok), 14:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    C++ - мультипарадигменный язык. На нем можно писать объектно и аккуратно, как на Джаве. А можно настрогать портянку, как на С.
    К сожалению, студентов учат только второму, и они вообще не понимают, что такое С++. В принципе. Но при этом считают, что они этот язык - "выучили".
     
     
  • 6.137, n00by (ok), 14:24, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не понял, какая связь с моим сообщением. Намёк на то, что на Си++ можно написать паттерн синглтон?
     
     
  • 7.147, тоже Аноним (ok), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Намек на то, что не надо тупых вбросов про "нет в принципе".
     
     
  • 8.267, n00by (ok), 17:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Действительно, не надо тут вбрасывать Приму лишь цитату стандарта ... текст свёрнут, показать
     
     
  • 9.285, тоже Аноним (ok), 17:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https lleo me dnevnik 2011 09 16_mail - что уж цитату, вот сам стандарт ... текст свёрнут, показать
     
     
  • 10.303, n00by (ok), 18:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Стандарты у меня есть, и черновики есть Мне бы цитату про ООП Что-то вроде Th... текст свёрнут, показать
     
     
  • 11.309, тоже Аноним (ok), 18:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы сегодня уже второй человек на этом сайте, убедительно демонстрирующий мне пре... текст свёрнут, показать
     
     
  • 12.319, n00by (ok), 18:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я знаю, что цитаты из стандарта Си на тему ООП быть не может -- этим валят джу... текст свёрнут, показать
     
     
  • 13.334, тоже Аноним (ok), 18:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я знаю, что человека-граммофона бесполезно сбивать с заготовленной речи - он т... текст свёрнут, показать
     
     
  • 14.361, n00by (ok), 19:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось понять, зачем он влез со своим особо ценным мнением Не увидел подвох ... текст свёрнут, показать
     
  • 13.581, Аноним (581), 19:13, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты сам уже превратился - в старого деграда Валят джунов, ха Умение мыслить - э... текст свёрнут, показать
     
     
  • 14.587, n00by (ok), 20:19, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Умение мыслить подтолкнуло бы тебя к мысли, то валят -- несовершенный вид, что... текст свёрнут, показать
     
     
  • 15.597, Аноним (-), 23:08, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дедуля, ты не понимаешь Я срубаю сомнительную радость общения с такими как ты... текст свёрнут, показать
     
     
  • 16.608, n00by (ok), 08:03, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но я этим уже занимаюсь прям здесь и сейчас, и вы сами себя отбираете Разве ч... текст свёрнут, показать
     
  • 12.535, n00by (ok), 11:48, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя галлюцинации ... текст свёрнут, показать
     
  • 9.439, Аноним (439), 22:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарт информирует, что C is an object-oriented language - diff expr Вс... текст свёрнут, показать
     
     
  • 10.507, n00by (ok), 08:23, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эксперт информирует, что ему удалось найти единственное вхождение object-orient... большой текст свёрнут, показать
     
     
  • 11.540, Аноним (540), 12:48, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просил цитату из стандарта С , с высокомерием и апломбом, уверенный, что так... текст свёрнут, показать
     
     
  • 12.542, n00by (ok), 12:53, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я привёл пример, какая цитата мне нужна Если корму не ясно, то в примере опреде... текст свёрнут, показать
     
     
  • 13.547, Аноним (547), 13:36, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Шизофрения, как и было сказано ... текст свёрнут, показать
     
     
  • 14.549, n00by (ok), 13:50, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я слышал, это заразно Ты поэтому мне пишешь с таким усердием ... текст свёрнут, показать
     
     
  • 15.577, Аноним (577), 16:41, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Слышал звон, да не знаешь где он Нет, ты не сможешь заразить окружающих своей ш... текст свёрнут, показать
     
     
  • 16.585, n00by (ok), 20:04, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тема твоего усердия не раскрыта Что заставляет тебя писать мне глупости который... текст свёрнут, показать
     
  • 13.582, Аноним (582), 19:20, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не корму - а дюзы Если стандарт говорит что оно объектно ориентированное, иди н... текст свёрнут, показать
     
     
  • 14.584, n00by (ok), 20:02, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А я ведь перевёл, что означает Annex C informative Compatibility Перечитай,... текст свёрнут, показать
     
  • 5.509, Прохожий (??), 08:43, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >В Си++ нет ООП в принципе. ООП черты имитируются. Слова "метод класса" могут оказаться последними.

    Не могли бы вы пояснить, что такое принципиальное наличие ООП в языке программирования? То есть, какие критерии могли бы свидетельствовать о том, что в данном языке ООП не имитируется, а является частью языка?

     
     
  • 6.541, n00by (ok), 12:48, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    С превеликим удовольствием попробую Предположим, мы решили, что модель объекты... большой текст свёрнут, показать
     
     
  • 7.583, Аноним (-), 19:23, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Предположим, мы решили, что модель "объекты, обменивающиеся сообщениями" лучше прочих
    > подходит для решения наших задач.

    А вы тут что, истина в последней инстанции за всех решать?

    Под ООП обычно понимают - что угодно, но не "обмен сообщениями", хоть вы там тресните с досады.

     
     
  • 8.586, n00by (ok), 20:07, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Истина в том, что Аноним упорно не видит и не понимает слово предположим А вы... текст свёрнут, показать
     
     
  • 9.635, Аноним (635), 11:07, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    О Предположительно-неООПшный C это пять Объектно-ориентированное программиро... текст свёрнут, показать
     
     
  • 10.639, n00by (ok), 12:53, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это надо было очень постараться, не увидеть ещё и остальное Приписать-то гл... текст свёрнут, показать
     
     
  • 11.641, Аноним (641), 13:11, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тем не менее, ты отвечаешь анониму, что делает цену твоим высказываниям равной н... текст свёрнут, показать
     
     
  • 12.642, n00by (ok), 13:20, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я в доступном для обозрения каждому месте заставляю тебя выдавать примеры, что и... текст свёрнут, показать
     
  • 7.602, Прохожий (??), 02:46, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как-то очень мутно получилось. Неясности:

    1. Где можно посмотреть стандартное определение, что такое ООП? Вы о нём так уверенно говорите, но не проводите источники. Smalltalk? Это ИСТИННЫЙ стандарт? А Питон или Руби уже нет? Если да, то почему вы так решили?

    2. Если язык А поддерживает только фичи из ООП, а язык Б поддерживает ещё что-то (например ФП), но и ООП тоже, пусть и в меньшем объёме, то почему язык Б нельзя считать таким который не занимается имитацией, а поддерживает ООП, так сказать, нативно? Всё дело в объёме поддержки? Или есть ещё какие-то критерии? Нет, я внимательно прочитал ваше объяснение. Вы там говорите о соответствии некой модели. Но этот критерий очень и очень неочевидный (см. п.1).

     
     
  • 8.609, n00by (ok), 08:45, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не ведаю Наверное, нигде -- если нет документа ГОСТ ISO IEC на ООП Я уверенн... текст свёрнут, показать
     
     
  • 9.627, Прохожий (??), 02:36, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вам шашечки или ехать В стандарте и не должна идти речь о такой вещи, как парад... текст свёрнут, показать
     
     
  • 10.637, n00by (ok), 11:39, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мне ехать Я стандарт читал не от нечего делать, а что бы реализовать в нём напи... большой текст свёрнут, показать
     
     
  • 11.644, Прохожий (??), 02:23, 07/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Итоги нашей с вами дискуссии 1 Ни в одном стандарте не определено, что такое О... текст свёрнут, показать
     
  • 9.636, Аноним (635), 11:12, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если уж сравнивать C и хруст, C явно мощнее Потому что то у хруста вечно тр... текст свёрнут, показать
     
  • 4.70, laindono (ok), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В rust другая вариация ООП. Нет классов. Нет наследования. И то и другое есть хорошо. Плюс ООП не является доминирующей частью rust, которая диктует, как писать весь код. Оставаясь при этом инструментом на каждый день.
     
     
  • 5.96, Аноним (96), 13:52, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > И то и другое есть хорошо.

    Потому что ты так сказал?

     
     
  • 6.117, laindono (ok), 14:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Об этом даже в вики успели написать: https://en.wikipedia.org/wiki/Composition_over_inheritance
     
     
  • 7.257, penetrator (?), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    тебе никто не мешает использовать композицию вмест с наследованием

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

    если использовать не подходящий вариант, то можно испортить что угодно

    а вот отсутствие такой возможности в принципе уже накладывает констрейнты на проектирование

     
     
  • 8.513, Прохожий (??), 09:01, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Заведомо плохие решения надо отсекать на этапе проектирования Так что наличие п... текст свёрнут, показать
     
     
  • 9.546, Аноним (96), 13:10, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В корне неверно Качество лучше там, где лучше можно управлять ограничениями ... текст свёрнут, показать
     
     
  • 10.603, Прохожий (??), 02:54, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В корне неверно Качество лучше там, где ограничения жёсткие У меня и доказател... текст свёрнут, показать
     
  • 9.596, penetrator (?), 22:26, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нет ничего плохого в наследовании, главное чтобы оно было сделано не так как в J... текст свёрнут, показать
     
     
  • 10.604, Прохожий (??), 02:59, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Есть Когда оно многоэтажное много уровней иерархии или множественное несколь... текст свёрнут, показать
     
  • 5.98, Аноним (98), 13:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В rust другая вариация ООП.

    Не нужно изобретать свою собственную терминологию.

     
     
  • 6.138, laindono (ok), 14:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Рекомендую пойти и попробовать разные языки. Скажем, в JavaScript или Lua вариация ООП, основанная на прототипах.

    На счёт ООП в rust рекомендую 18 главу учебника: https://doc.rust-lang.org/book/ch18-00-oop.html
    https://doc.rust-lang.org/book/ch18-01-what-is-oo.html
    https://doc.rust-lang.org/book/ch18-02-trait-objects.html
    https://doc.rust-lang.org/book/ch18-03-oo-design-patterns.html

    Хотя предыдущие 17 могут быть нужны для контекста.

     
     
  • 7.148, Аноним (96), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ООП для части - "поднятие солнца руками"

    ООП для другой части - мы поднимаем НОЧЬЮ прожектор и глядите - он как солнце

    Если чего-то сделать нельзя - это не достоинство - это недостаток. Хотя, кому я это говорю.

     
     
  • 8.178, laindono (ok), 15:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Продолжая аналогию, ООП в rust от самого сердца Не очень понимаю, о невозможност... текст свёрнут, показать
     
     
  • 9.182, Аноним (96), 15:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для работы с железом нет необходимости в ФП, хотя использовать можно Для работы... текст свёрнут, показать
     
     
  • 10.207, laindono (ok), 15:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С этим прекрасно справляются макросы Разумеется я не про C , там макросы скоре... большой текст свёрнут, показать
     
     
  • 11.208, Аноним (96), 15:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Часть структур с резервом в конце В подтипах в этом резерве лежат данные необхо... текст свёрнут, показать
     
     
  • 12.210, Аноним (96), 15:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И да Иногда резерв бывает в начале Со смещениями в минус ... текст свёрнут, показать
     
  • 11.598, Аноним (-), 23:15, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чтоб утратить понимание что реально происходит в плане работы с железкой и патте... большой текст свёрнут, показать
     
     
  • 12.610, laindono (ok), 08:59, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Напрямую с железом контактирует максимум 20 кода И то, в случае мелких микроко... текст свёрнут, показать
     
     
  • 13.638, Аноним (638), 11:40, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И в этих 20 в случае раста придется очень помучаться Де факто, написать такой ... большой текст свёрнут, показать
     
     
  • 14.640, laindono (ok), 13:05, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я один из этих людей Не то, чтоб я был каким-то особенным Но это не чёрная маг... большой текст свёрнут, показать
     
  • 10.313, n00by (ok), 18:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Функция не является объектом в терминологии Си , а не ООП Нельзя передать ... текст свёрнут, показать
     
  • 10.433, Аноним (433), 21:56, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да очень понятный синтаксис ФП auto a, auto b return a b ... текст свёрнут, показать
     
  • 9.242, Аноним (98), 16:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Давайте не смешивать в одну кучу разные понятия ООП вполне себе может жить и в ... текст свёрнут, показать
     
     
  • 10.517, Прохожий (??), 09:08, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Наследования нет Остальное - есть ... текст свёрнут, показать
     
  • 8.365, YetAnotherOnanym (ok), 19:34, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Из-за ремней и подушек безопасности при аварии нельзя разбить голову о торпеду и... текст свёрнут, показать
     
     
  • 9.599, Аноним (-), 23:24, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С другой стороны, если автомобиль упал в воду, это может сыграть с тобой злую шу... текст свёрнут, показать
     
     
  • 10.600, Аноним (-), 00:13, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    и другие истории от знакомого кума свата Точно так же можно сказать при п... текст свёрнут, показать
     
  • 7.235, Аноним (98), 16:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте хотя бы терминологию в программировании оставим в далеке от повестки Это... большой текст свёрнут, показать
     
     
  • 8.272, laindono (ok), 17:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая ещё повестка Ты твитора обчитался или что ты несёшь вообще Есть ли где-т... большой текст свёрнут, показать
     
     
  • 9.355, Аноним (98), 19:10, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда смысл слов начинает перекручиваться, типа положительной дискриминации Таки... текст свёрнут, показать
     
     
  • 10.386, laindono (ok), 20:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Думал, у нас специальная олимпиада А сейчас это называют повесточкой Интересно... большой текст свёрнут, показать
     
  • 5.209, Аноним (199), 15:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как будто, C++ диктует, как писать. Да хоть в стиле C.
     
  • 4.97, Аноним (98), 13:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Ruby фтопку, уж лучше Python

    Python тоже фтопку. Уже куча репозиториев заражена python-ом, хотя он там не нужен совсем, и в отличии от rust-а это почти никого не возмущает.

     
     
  • 5.135, waylandbeliver (ok), 14:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А руби-то лучше на самом деле, там хотя бы отступов нет.
     
  • 5.165, Аноним (165), 14:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше, а им на смену приходят вкатуны просле курсов, которые кроме Pyton не знаю ничего. Скоро всё будет на Pyton и тебе будут рассказывать что C++ не безопасен, а Pyton идеально подходит.
     
     
  • 6.189, Имя (?), 15:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому что полно людей, для которых ЯП и программирование в целом вторичны по отношению к их основной специальности, всякие там млщики, математики и ученые. Им нецелесообразно разбираться какая там модель памяти в языке и как нужно классы отнаследовать, чтобы код был расширяемым. Лучше потратить время на развитие основных скиллов. Те же самые люди, которые напишут код на С вообще без отступов.

    Вот для них питон как раз хороший выбор и вкатывание ни при чем.

     
  • 6.247, Аноним (98), 16:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше

    Вот как раз такие проекты и подвержены заражению питоном. Взять тот же vim - зачем ему питон? Или apparmor? Да что там, даже uBlock зачем-то заразился питоном, хотя у них уже есть js, могли бы и без питона обойтись.
    >и тебе будут рассказывать что C++ не безопасен

    Да, кресты небезопасны. Это неоспоримый факт, как бы вы к этому не относились

     
  • 6.253, User (??), 16:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это еще что! Тут вот набИгают неспособные название - название, Карл! языка программирования выучить...
     
  • 6.520, Прохожий (??), 09:18, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Стесняюсь спросить. А знатоки Джаваскрипт - это какая категория людей по вашей классификации? На всякий случай. Там есть скобочки, и отступы не обязательны.
     
  • 4.519, Rastler (ok), 09:18, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы ещё скажите, что ООП не в Haskell
     
  • 3.196, Аноним (199), 15:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так, ведь, поэтому и прелагается сделают в настоящем языке.
     
  • 3.226, Нуину (?), 16:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Дидов корёжит и это хорошо.

    Судя по таким комментариям - корежит только их авторов.

     
  • 2.5, kravich (ok), 12:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    >Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка

    Вообще, конечно, C++ уникальный язык. Нигде больше, насколько мне известно, нет настолько выраженной ситуации, когда новые или мощные средства языка были бы проблемой на проектах, и требовали дисциплины от разработчика. И вот то, что всегда было зафиксировано в кодстилях команд, теперь в каком-то виде появляется официально в языке...

     
     
  • 3.36, trolleybus (?), 13:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > в кодстилях команд

    Точнее "в костылях команд". Увы, при нынешнем состоянии языка это костыли.

     
  • 3.144, sena (ok), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нигде больше, насколько мне известно, нет настолько выраженной ситуации, когда новые или мощные средства языка были бы проблемой на проектах, и требовали дисциплины от разработчика.

    perl

     
  • 2.102, xPhoenix (ok), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что случилось? Ведь нормально же всё было. Что ни день, так новое CVE из-за неправильной работы с памятью. Где теперь хакеры харчеваться будут?
     
     
  • 3.152, Аноним (96), 14:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А что случилось?

    Тебе де сказали - требование оборонки.

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

     
     
  • 4.268, yet another anonymous (?), 17:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ребята с той оборонки (?), что эти требования сформулировали (под определённую часть цифровиков), свои стулья сохранили в нынешней обстановке?
     
     
  • 5.270, Аноним (-), 17:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А ребята с той оборонки (?), что эти требования сформулировали (под определённую
    > часть цифровиков), свои стулья сохранили в нынешней обстановке?

    Думаешь придут новые и скажут "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"

    Хотя учитывая какой там сейчас сброд, то не удивлюсь)

     
     
  • 6.357, yet another anonymous (?), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"

    Я придерживаюсь мнения, что новые веяния направлены на одновременное упрощение/унификацию внедрения и точное тагетирование объекта атаки. Это экономически целесообразнее, да и требует куда меньшей квалификации от атакующих. При современных реалиях разработки, естественно.

     
     
  • 7.508, lufog (ok), 08:41, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я, может, чего недопонял, но звучит примерно как. "Не ставьте замки на двери, а решетки на окна, ведь лазить через печную трубу требует куда меньшей квалификации. При современных реалиях домушничества."
     
  • 5.432, maximnik0 (?), 21:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >свои стулья сохранили в нынешней обстановке?

    Да,сохранили,в принципе нормально там с стандартами.Язык недавно обновлялся,но криков в отличие от раста нету.До сих пор в обороне и авиации применяется,даже у нас !!!Язык Ада называется .

     
     
  • 6.458, yet another anonymous (?), 00:30, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так Ады в том списке кошерных языков не было, если я правильно помню. ;)
     
     
  • 7.464, maximnik0 (?), 01:31, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Так Ады в том списке кошерных языков не было, если я правильно
    > помню. ;)

    А SPARK включен ? Ада совместимое подмножество, язык, прошедший верификацию и как у  раста проверка во время компиляции :-)


     
  • 4.620, Аноним (620), 16:15, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Раньше требовали всё писать на Аде. Но её уже никто не учит. Поэтому для F-35 пришлось нанимать программистов на C++. Язык не столь безопасный, зато программистов много. За четверть века спустя нормально отладить хотя бы до уровня F-22 так и не смогли. Поэтому стали требовать писать безопасно. Тем более, С++ уже мало кто учит, можно будет всё переписать на Расте :)
     
  • 3.219, Нуину (?), 15:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Где теперь хакеры харчеваться будут?

    Возьмутся наконец за раст, увидишь тогда, что нет CVE:)

     
  • 2.616, wyry (ok), 15:47, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто забегал? Страуструп просто рассказал широким массам неосиляторов то, что разработчики C++ знают и используют уже давно. В любой компании, если она не средневековая шарага уже давно используются гайдлайны и языковые инструменты для безопасной работы с памятью для бизнеса. Сырые указатели плюсовики если и используют, то в домашних проектах просто для того чтобы поковыряться с байтами. Rust-сообщество же считает что они открыли священный грааль рекламируя то, что уже было в плюсах под другим соусом. И разница в том, что C++ предоставляет программисту ВЫБОР в каком стиле писать и какой уровень предупреждений вызывать в "опасных" ситуациях, в Rust программист - это послушная обезьянка.
     

     ....большая нить свёрнута, показать (112)

  • 1.3, Аноним (3), 12:22, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Какой ужасный синтаксис теперь в С++, код с вариадиками, обвешанный if constexpr, макросами, концептами и теперь уже профилями совершенно не читаем.
     
     
  • 2.4, Аноним (4), 12:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вопрос привычки. Раст слишком уж инородный, чтобы найти применение в большинстве областей.
     
     
  • 3.24, Аноним (24), 12:50, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –13 +/
     
     
  • 4.82, Аноним (82), 13:42, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +13 +/
     
  • 3.400, Аноним (400), 20:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Интересное кино. Плюсы с костылями - вопрос привычки, а руст значит вопрос инородности. Афигеть манёвры))
     
  • 2.8, Hck3r (?), 12:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Пример бы такого кода на плюсах и аналог на расте для наглядности еще
     
     
  • 3.401, _hide_ (ok), 20:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Нет, нельзя допускать сравнения, иначе станет понятно, что проще нанять хороших программистов, чем все переписать на Раст.
     
  • 3.422, morphe (?), 21:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ещё бы у плюсов документация по этим фичам существовала Я не понял это предложен... большой текст свёрнут, показать
     
     
  • 4.424, morphe (?), 21:24, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ключевого слова safe в Rust нет, это я добавил чтобы сравнению не мешали unsafe{} и комментарии которыми принято unsafe{} сопровождать
     
  • 2.383, Аноним (383), 20:12, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    У плюсов всегда был ужасный синтаксис, но не хуже раста то уж точно
     
     
  • 3.493, Аноним (493), 06:40, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Проблема синтаксиса плюсов в том (в отличие от раста) — а давайте-ка мы при…ним вот что-то ещё!
    У раста этой проблемы нет, мы сразу при…ли что-то ещё.
     
  • 2.539, Аноним (540), 12:39, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Какой ужасный синтаксис теперь в С++, код с вариадиками, обвешанный if constexpr, макросами, концептами и теперь уже профилями совершенно не читаем.

    Типичное мнение неосилятора. Классы с вариадиками создаются в реальных проектах крайне редко. Макросы - вообще сишничество, в С++ придумали константы и inline функции, именно чтоб не использовать макросы, и придумали очень давно. Насколько старая твоя методичка? Концепты создали для лучшей читаемости сообщений об ошибках. Но неосиляторам не угодить. И без концептов и плохо, и с ними плохо.

     
     
  • 3.614, Главные редакторы (?), 14:48, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Анука накидай нам тут кросплатформенного когда без макросов, например для последовательного порта на чистом С++ без указателей. Ассилятор ты наш.
     
     
  • 4.643, Аноним (643), 15:57, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Анукать лошади своей будешь. По остальным пунктам возражений, стало быть, нет?
     
  • 2.551, Аноним (551), 14:02, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Боюсь, что и без "вариадиков" в С++ делать нечего - ужасный крючкотворный синтаксис, следствие "надстройки" ООП над обычным "высокоуровневым ассемблером". Чудес не бывает: если язык сразу не проектировался под все свои возможности, добавление "фич" потом порождает таких монстров, как С++.

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

     
     
  • 3.560, Аноним (560), 14:25, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Боюсь, что и без "вариадиков" в С++ делать нечего - ужасный крючкотворный
    > синтаксис, следствие "надстройки" ООП над обычным "высокоуровневым ассемблером". Чудес
    > не бывает: если язык сразу не проектировался под все свои возможности,
    > добавление "фич" потом порождает таких монстров, как С++.

    Ничего подобного. Си с классами в плане читабельности - вполне себе торт.
    Современные фичастые навороты в модном мейнстриме - это конечно беда.
    Но вы сами в праве выбрать стиль программирования на Си++.
    Я выбрал простой стиль и код у меня читаем практически как на питоне/php (или даже лучше).

     
     
  • 4.605, Прохожий (??), 03:08, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Но вы сами в праве выбрать стиль программирования на Си++.

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

     
     
  • 5.607, Аноним (560), 04:32, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Но вы сами в праве выбрать стиль программирования на Си++.
    > В этом и заключается основная проблема. Вы для себя выбрали такой стиль.
    > Но ваш выбор может оказаться совершенно неочевидным для другого человека. И
    > он будет писать по-другому. В итоге, если ваши разные стили встретятся
    > в одном проекте - быть беде.

    Едва ли. В том то и дело, что в простом стиле не запутаешься.

    Беда будет у любителей писать на брейнфаках без комментов. Они сами через год забывают что понаписывали.

     
     
  • 6.628, Прохожий (??), 02:43, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Едва ли. В том то и дело, что в простом стиле не запутаешься.

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

     
  • 2.617, wyry (ok), 15:53, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Rust с его ручным разрешением времени жизни и штрихи ' в коде - вот это читаемость. Причём в сложном коде вопрос о том скомпилируется у вас код или нет может зависеть от одного штриха. Одна эта семантическая особенность - полный треш. Также Rust берёт ХУДШИЕ примеры синтаксиса, и не понятно нафига!? Мало что-ли в крестах угловых скобок < >? давайте сделаем! Ведь все так кайфуют и в C++ и в C#. То есть Rust обладает одновременно уродливой, непродуманной семантикой, при этом дополняя это уродливым синтаксисом, который ещё и писать проще, чем читать. А в сложных ситуациях вы даже не сможете нормально (читаемо) его отрефакторить, т.к. вам ещё и компилятор нужно удовлетворять.
     
     
  • 3.629, Прохожий (??), 02:55, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >То есть Rust обладает одновременно уродливой, непродуманной семантикой

    Из вашего сообщения непонятно, в чем конкретно это выражается, поэтому звучит голословно. Не могли бы вы расшифровать своё утверждение?

    >при этом дополняя это уродливым синтаксисом

    Синтаксис - вкусовщина и/или дело привычки. Мне вот этот синтаксис нравится своей лаконичностью. Да, поначалу, с непривычки, бывает тяжело что-то распарсить. Потом, с опытом, начинаешь понимать, насколько на самом деле он красив по-своему. Местами не без проблем, понятное дело. Но по большей части - вполне годный. Также авторы постоянно его улучшают, убирая излишние сложности.

     

  • 1.7, Аноним (7), 12:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > Каждый объект должен быть корректно создан и освобождён.

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

    Ну а если профиль не включен, то можно создавать и освобождать объекты не корректно?
    Как диды раньше?))

     
     
  • 2.14, Аноним (14), 12:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а в обертках код на жиэс, где на все эти типы кладется. Без кода на жиэс ничего работать не будет. И убрать его слишком долго/дорого.
     
     
  • 3.103, Аноним (98), 13:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Typescript давным давно можно было бы заменить любым вариантом: Ocaml, ReasonML, ReScript. Если особо хочется, то можно было бы взять даже Haskell или PureScript.
    >Вроде бы классы и красивая типизация

    Эта типизация прекрасно обходится даже без кода на js. Во-первых тип Any, во-вторых, если писать на ts как будь-то это динамически типизированный язык, то никаких ошибок компиляции не будет
    >Без кода на жиэс ничего работать не будет. И убрать его слишком долго/дорого.

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

     
     
  • 4.227, Нуину (?), 16:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Typescript давным давно можно было бы заменить любым вариантом: Ocaml, ReasonML, ReScript. Если особо хочется, то можно было бы взять даже Haskell или PureScript.

    Только не заменяется никак. В чем проблема?

     
     
  • 5.249, Аноним (98), 16:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Опять диды виноваты. Ой, то есть эти, как их там, а, да, сму3ихлёбы, да, они. Нормальным языкам к0пр0тивляются, ибо думать придётся.
     
  • 3.315, bdrbt (ok), 18:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а
    > в обертках код на жиэс, где на все эти типы кладется.
    > Без кода на жиэс ничего работать не будет. И убрать его
    > слишком долго/дорого.

    Что значит "обёртки" и "убрать"? Typescript - изначально надстройка над яваскриптом, в который он и транспилируется. Ляпнуть такое это всё равно что сказать, что любой язык - фуфло, потому что все эти классы, функторы это обёртки над ассемблером который поклал на классы и функции, а убрать его долго и дорого.

     
  • 2.99, Аноним (96), 13:55, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну а если профиль не включен

    То ты можешь прибить все что нужно туда куда нужно.

     
  • 2.129, тоже Аноним (ok), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    В С++ полно библиотек, предполагающих, что объект создается в пользовательском коде, а временем его жизни и освобождением памяти занимается библиотека. И компилятор от этой библиотеки видит только заголовки, так что проконтролировать не может ничего в принципе.
     
     
  • 3.436, warlock66613 (ok), 21:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И как это изменят профили?
     
     
  • 4.449, Аноним (449), 23:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Профили предлагают использовать std::unique_ptr и std::shared_ptr, которые определяют время жизни (да, есть способы обхода, например в 'std::unique_ptr::release()', но может их в профилях запретят).
    Библиотеки, видимо, должны будут принимать только умные указатели.
     

  • 1.11, Аноним (-), 12:31, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    "Вы зачем код с багами пишете? Пишите код без багов!"
    — Бьорн Страуструп, автор 14 разных методов инициализации в C++

    дед опять выдает базу, абсолютно базированную и абсолютно бесполезную))

     
     
  • 2.17, Аноним (17), 12:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Зачем вам топоры, пилы, струганки, наждачка, долота, гвозди и клей? Все надо делать одним топором!

    (с) очередной неосилятор с++ на опеннете.

     
     
  • 3.23, Аноним (-), 12:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это ты так про Бьорна?
    Не надо, чел сделал большую работу. И заслуживают уважение.
    Да она получилась кривоватая, но... он сами в интервью рассказывал, что не является спецом по созданию языков.
     
  • 3.39, Аноним (39), 13:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Собственно так и изобрели мультитул
     
     
  • 4.473, Котофалк (?), 02:04, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мультитулы прекрасны. Они сочетают в себе двух до двух десятков различных инструментов. Есть только пара нюансов.
    - они никогда не заменяю ни один инструмент,
    - они в сумме используются реже, чем КАЖДЫЙ из инструментов, который они как бы заменяют.
     
  • 3.65, Аноним (65), 13:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ты это серьезно?

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

    учитывая, что это база, точно не надо к набору из "топоры, пилы, струганки, наждачка, долота, гвозди и клей" добавить специализированный инструмент "инициализатор", который будет заниматься, внезапно, инициализированием, и только им одним, единообразно и прозрачно?

     
     
  • 4.79, Аноним (-), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ты это серьезно?

    Уверен на 99%, что да.

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

    Да.
    Именно так.
    Хороший программист старой закалки, сможет пилить с помощью долота, стругать гвоздем, а гвозди каждый топором вырубать.
    Можно посмотреть на ядро (СИ) или на гемдев (С++)


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

     
  • 4.85, Аноним (82), 13:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    если задача огреть по голове, то любое справится
     
  • 3.403, Аноним (400), 20:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А почему у вас эта логика _внезапно_ кончается, когда вам предлагаешь несколько ЯП использовать? Начинается - уой, сложна, слишкам многа инструментов.
     
     
  • 4.423, Аноним (423), 21:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему у вас эта логика _внезапно_ кончается, когда вам предлагаешь несколько ЯП использовать?

    Потому что это другое™! Это понимать надо™! Ты бы ещё спросил, почему некоторые из лицензии или текстового редактора делают фетиш.

     
  • 4.554, Аноним (96), 14:13, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное потому что в качестве мультитула идет c++.

    А несколько языков - это не мультитул, а несколько инструментов. То же хорошо. Но не настолько.

     
  • 3.495, Аноним (493), 07:01, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем вам топоры, пилы, струганки, наждачка, долота, гвозди и клей? Все надо делать одним топором^W болгаркой.

    Вот так правильнее.

     
  • 3.553, Аноним (551), 14:09, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дурацкая аналогия от тynых зумеров.

    Если уж говорить про С++, то речь идёт о 10 видах молотков/киянок/топоров, которыми делается ОДНО И ТО ЖЕ - забивается гвоздь. Вот про такую чехарду инструментов рассуждать даже не хочется - Страус сам виноват, что ниструя не стандартизировал десятилетиями, а затем хватается за "безопасную память".

    Новичок вообще не должен париться, сколько там напридумано фуфла для указателей. Под указатели должен быть ОДИН стандартный инструмент, а все остальные преданы анафеме. Пока это не сделано, можете С++ смело хоронить.

     
     
  • 4.567, Медведь (ok), 14:52, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > можете С++ смело хоронить

    C++ еще простудится на похоронах rust'а

     
     
  • 5.618, wyry (ok), 16:00, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще говоря у C++ сегодня дела ЛУЧШЕ, чем ДО выхода C++11. Тогда был период, когда C++ как раз начал проседать. C++11 дал существенное развитие во множестве сфер. Подарил фактически многопоточность из коробки и инструменты для работы ней, систематизировал и ускорил параметрический полиморфизм. Сегодня же, кто бы что не говорил, на C++ пишется огромное количество нового кода.
     

  • 1.13, Аноним (14), 12:33, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Уместно спросить - может надо было сразу делать отдельный язык, а не надстройку, которая за сорок лет так и не смогла Embrace и Extinguish?
    Пора плюсам на свалку истории. Кто работает и не может перестроиться - никакой жалости, валите на пенсию.
     
     
  • 2.25, X512 (?), 12:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не забывайте, что все актуальные компиляторы Си написаны на C++. GCC был сначала на Си, но потом перешёл на C++.

    Компилятор Си на Си -- это разве что примитивный TCC, не умеющий оптимизации.

     
     
  • 3.156, Аноним (29), 14:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Не забывайте, что все актуальные компиляторы Си написаны на C++.

    актуальный как раз не на С++

    https://compcert.org

     
  • 2.38, Admino (ok), 13:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, выкинуть 40 с гаком лет написания кода и начать всё с нуля, такая прелесть.
     
     
  • 3.60, Фнон (-), 13:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Да, выкинуть 40 с гаком лет написания кода

    Делаются биндинги, новый код пишется на нормальном ЯП.

    > и начать всё с нуля

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

    > такая прелесть.

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

     
     
  • 4.101, Аноним (96), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Одна проблема, когда вместо лошадки пробуют заставить впрячь в повозку слизня, ибо на нем ехать безопасно, как-то мало ассоциируется с прогрессом
     
     
  • 5.143, Аноним (-), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вместо лошадки пробуют заставить впрячь в повозку слизня

    Плохая аналогия подобна котенку с дверцей (с)

    Вон недавно раст-либа обогнала по скорости СИшную - у дидов предсказуемо подгорело)

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

     
     
  • 6.154, Аноним (96), 14:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > По скорости раст сравним с си или плюсами.

    Вот только на си и плюсах пишут полноценные проекты.

    А на rust уже почти допереписывали и планируют догнать по паритету функциональности к...

     
     
  • 7.525, Прохожий (??), 09:48, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Вот только на си и плюсах пишут полноценные проекты.

    Новые проекты пишут на Rust. И они вполне себе полноценные.

    >и планируют догнать по паритету функциональности

    Некоторые обгоняют. Например, прокси от Клаудфлэр. Или ripgrep.

     
  • 6.288, Аноним (-), 17:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Толсто. Запомни, сишку может обогнать только ассемблер.
     
     
  • 7.526, Прохожий (??), 09:50, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я бы не стал запоминать эту чушь. На любом языке можно наваять какаху.
     
  • 6.621, Аноним (620), 16:23, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вон недавно раст-либа обогнала по скорости СИшную

    Ты про попытку замены для zlib? Которая быстрая потому, что в ней отсутствует большая часть планируемого функционала?

     
  • 4.126, Аноним (165), 14:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Что поделаешь. Прогресс не остановить, можно только замедлить суванием палкок в колеса.

    Прогресс, ага, про GNOME тоже самое твердят.

     
  • 4.405, Аноним (400), 20:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Какие бы ни были лошадки милые - кушают сахар, фыркают и пахнут навозом, но их потолок был ограничен.

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

     
  • 2.130, тоже Аноним (ok), 14:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На ту "свалку истории" изрядная очередь.
    Перед Плюсами туда давно отправлен, например, Пых - ужасный, неконсистентный, несколько раз переделанный... и продолжающий работать на 75% сайтов интернета, например.
     
     
  • 3.162, Аноним (-), 14:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То что у нас есть уже 100500 написанных это одно.
    А сколько новых сайтов пишутся на пыхе? Это другое)

    Всегда новая технология будет соседствовать со старой.
    Например дома из "глины, овна и палок" стоили тысячелетиями.
    Потом пошел нормальный кирпич.
    А сейчас рядом с ним есть и железобетон, и пенобетон + ЖБ плиты, и всякие пустотелые керамики.
    Но куча домов по старой технологии будет стоять ровно столько, пока не развалятся или их не снесут.

     
     
  • 4.190, тоже Аноним (ok), 15:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А сколько новых сайтов пишутся на пыхе?

    Да столько же, ЧСХ. Ни одного альтернативного варианта, который позволит дешевле создать сравнимый результат, для массового сайта просто нет.

    Прогресс происходит отнюдь не в выпиливании Пыха и переползании на смузи-Ноду, например.
    А в более четком разделении фронта и бэка и передаче первому все больше работы. Причем не потому, что Пых плохой, а потому, что браузеры нынче стали достаточно жирными и достаточно стандартными, чтобы владелец сайта мог меньше тратить на сервер, свалив нагрузку на клиентов.

     
     
  • 5.250, Аноним (250), 16:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не только деление на фронт и бек, но и деление бека на экземпляры и модули, которые можно безопасно подменять, чтобы можно было по частям переписать с одного языка на другой, не останавливая сервис.

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

     
     
  • 6.261, тоже Аноним (ok), 16:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > экземпляры и модули, которые можно безопасно подменять, чтобы можно было по частям переписать с одного языка на другой, не останавливая сервис.

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

     
     
  • 7.447, anonizmus (?), 23:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ошибочное представление. PHP всё ещё медленный, и многие задачи хочется переписать на более вменяемых языках, более быстрых и приспособленных к вычислениям. Кроме того, размещение в облаках способствует разделению на микросервисы. А те в свою очередь удобнее писать на более быстрых языках.
     
     
  • 8.524, тоже Аноним (ok), 09:47, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для практических задач, которые встают перед реальными сайтами, медленность пых... текст свёрнут, показать
     
  • 6.356, Аноним (98), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Но проблема больше в мотивации и в кадрах, потому что если у вас куча пхпшников, то они не все захотят переучиваться

    Зачем? Вы хоть десять фронтендов, хоть сто сделайте, без бекенда это работать всё равно не будет

     
     
  • 7.430, тоже Аноним (ok), 21:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Технологии понемногу меняются. Если двадцать лет назад Пых выдавал на фронт готовую верстку, то сейчас реактивным фреймворкам бэк нужен только как API = CRUD + та бизнес-логика, которую нельзя доверить браузеру + чисто серверные дела. Работы на бэке все-таки поуменьшилось.
     
  • 6.561, Аноним (551), 14:30, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > если у вас куча пхпшников...

    То у вас считай "куча вымирающих динозавров". :))
    Когда вам надоест кормить эту ораву, вы выкинете их на мороз и наймёте одного ASP-шника, который всё сделает по-уму.

    Плюс, рынок и перспективы: кто умеет смотреть дальше собственных ботинок, тот видит - в похапэхе ничего нет, это технология "неосиляторов перла" для хоумпэйджей девственниц. И если будут начинать новый проект, зачем им ОПЯТЬ заводить тесто на старых дрожжах? Позовут бравую команду ASP-шников и те всё напишут по современным стандартам.
    Люди не дураки, их "обилием похапэ страниц" не купить. Умный инженер смотрит в будущее, а не оглядывается на прошлые заслуги.

     
  • 5.559, Аноним (551), 14:24, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > > А сколько новых сайтов пишутся на пыхе?
    > Ни одного альтернативного варианта, который позволит дешевле создать сравнимый результат

    Ерунду пишете, милейший! Во-первых, про "дешевле" речи не идёт - на ЛЮБОЙ язык есть свои погроми3ды в соотв. категории оплаты. А во-вторых, опять же - если речь про "лэндинг", который "напишут и выбросят" - там хоть на Рефале пиши! (или похапэхе) Но если тебя хоть как-то интересует будущее сайта (включая его РАЗВИТИЕ), ты выберешь нормальный язык, на котором пишут много профи. Например, C#(ASP.NET) или Kotlin. Да даже JSP будет куда адекватнее похапэшных Bыceрoв!

    Кто хочет "быстро и задёшево", потом получает трёхкратный по стоимости пендель. Бесплатных чудес не бывает!

     
     
  • 6.563, тоже Аноним (ok), 14:35, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А теперь посмотрите на статистику про стабильные 75% снова. Без радуг и единорогов.
    Заодно вспомнив, сколько на пыхе готовых решений, вообще не требующих "программиздов", и заготовок, кратно упрощающих работу над сайтом, если он нестандартен, но все равно - это сайт, так что нестандартен он на 20%, а остальные 80% все равно можно брать-приспособить из готового.
    Вот примерно так и оказывается, что программистов можно найти каких угодно, а ценник на них выходит - разный.
     
  • 4.556, Аноним (551), 14:18, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    +1, очень точная аналогия! То, что есть кучи программ на вымерших языках, не делает языки живее. Просто придёт очередной менеджер, спросит: это Г кто-нть может поддерживать? Нет? Переписываем!
     
  • 2.555, Аноним (551), 14:15, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ровно наоборот - Страус был ОЧЕНЬ ГОРД(!), что смог над своим ассемблером прикрутить на изоленте ООП! Мол, смотрите какая мощща! :)))) Этот дypа4ок не понял главного: людям не нужны "трюки", делающие из молотка плоскогубцы - людям нужны чистые, простые инструменты. А когда он это понял, то было уже поздно - синтаксис и так превратился в полный Перл!

    С++ и так по факту "история"; зомбак, бродящий по закоулкам ИТ и на который с сожалением смотрят живые. Старики - те уже точно не осилят переход с каких-нть C# на С++. Молодые - те вообще шарахаются от сипиписного синтаксиса! Так что как с коболом - пока не вымрет последний кобольщик, это гуано будут терпеть, а потом всё равно перепишут на пестоне :))

     
     
  • 3.606, Прохожий (??), 03:24, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Этот дypа4ок...

    Очень самоуверенное заявление.

    >людям нужны чистые, простые инструменты

    Расскажите это создателям компиляторов, или браузеров, или игровых движков.

    В остальном, в принципе, согласен. C++ - сверхсложный ЯП. Уверен, никто его полностью не знает. Или таких очень и очень мало.

     
     
  • 4.619, wyry (ok), 16:12, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вам не нужно знать полностью C++, за вас его знает стандарт. Чистый код, соответствующий стандарту имеет монументальную обратную совместимость (нюансы её нарушения потребуется искать целенаправленно), особенность лишь в том, что в некоторых особо важных для конкретной задачи вещах иногда используют непереносимые кастомные фишки компилятора или окружения, что для большинства разработчиков не актуально, а для тех кому актуально УЖЕ знают этот аспект своей работы. Большинству разработчиков хватит и "типового" использования инструментов языка, скажем у r-value ссылок может быть немало "хаков", но большинство используют их лишь типовом контексте move-семантики и даже не вдаются в глубокие подробности, но вы МОЖЕТЕ изучить вопрос, если это интересно или важно и это довольно легко, т.к. есть и стандарт и смежная литература по любой теме.
    На самом деле и UB в C++ - это тема плохо понимаемая теми, кто с C++ не работает и не понимает его философию.
     
     
  • 5.630, Прохожий (??), 02:59, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Вам не нужно знать полностью C++, за вас его знает стандарт.

    Так это стандарт за меня программы будет писать и сопровождать? Простите, но вы здесь откровенную глупость сморозили.

     

  • 1.15, bdrbt (ok), 12:43, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры

    Не успеют, а если и родят что-либо, то это опять будет нечто монструозное, тянущее за собой половину буста и c сопроводительными доками чуть меньше "Войны и Мира" Толстого.

     
     
  • 2.18, Аноним (18), 12:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не смеши публику. Большинство из указанного включается с помощью опций -Werror у gcc или clang.
     
     
  • 3.22, bdrbt (ok), 12:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не смеши публику. Большинство из указанного включается с помощью опций -Werror у gcc или clang.

    Осталось рассказать это Страуструпу, а то он не в курсе поди.

     
     
  • 4.106, Аноним (96), 14:01, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема не в выявлении подобных мест. Это, очевидно, хотели сказать.

    Проблема только в том, что бы договориться разным разработчикам, как ОДИНАКОВО включать и выключать эти фильтры доступности функциональности для разных артефактов программы.

     
  • 3.624, Аноним (620), 16:58, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Большинство из указанного включается с помощью опций -Werror у gcc или clang.

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

     

  • 1.20, MUTbKA (?), 12:47, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Страуструп - топовый тролль, конечно. Глумится и не скрывает этого.
     
     
  • 2.44, n00by (ok), 13:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле, что комитету следует успеть до конца года? :)
     
     
  • 3.81, Аноним (81), 13:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не только. Это полумеры все. Будет чуть лучше и чуть тормознее и больше похоже на Java.

    Если все запретит и код все равно тотально переписывать - то не проще ли сделать все то же самое, только на языке, который уже есть? Точно так же, постепенно.

    Или он думает, что те, кто не смогли в Rust, смогут проделать все то, что он написал? В любом случае придется корежить свои привычки.

     
     
  • 4.112, Аноним (96), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты или тролишь или не понимаешь о чем речь.

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

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

    Добавляешь артефакту программы ограничивающую настройку и переписываешь его. Все остальное не трогая.

    В этом варианте программа ВСЕГДА готова к использованию в процессе такого рефакторинга.

     
  • 4.113, n00by (ok), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я "не смог" (не нашёл причин и целей) в Rust, но смог проделать описанное в стандарте. В чём проблема? Вполне проработанное ТЗ, если воспринимать его так.
     
  • 4.408, Аноним (400), 20:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, да ежу же понятно, что вопрос не технический, а денежный. Всё всегда туда упирается. Дед засуетился только когда госуха стала запрещать использовать кресты. Рассказать почему?)
     
  • 4.506, Андрей (??), 08:22, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На java Чем В основе java сидит ВМ, именно из-за которой джава такая какая о... большой текст свёрнут, показать
     
  • 3.84, Аноним (84), 13:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы зачем поставили слова "комитет" и "успеть" в одном предложении?
     
     
  • 4.115, n00by (ok), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так после "топовый тролль" же. Не все знакомы с работой комитета.
     

  • 1.21, fdn721 (ok), 12:48, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    По моему С++ уже ни чего не спасёт. Он просто устарел.
     
     
  • 2.30, X512 (?), 12:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только вот беда, что в основе IT инфраструктуры по прежнему C++ и переписывать это не собираются. Компиляторы Си GCC, Clang -- на C++. Все браузерные движки на C++.
     
     
  • 3.40, n00by (ok), 13:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    "Бывает нечто, о чем говорят: «смотри, вот это новое»; но это было уже в веках, бывших прежде нас."

    В СССР было написано ПО под PDP-11 больше чем в США. Где сейчас DEC?

    В России было написано масса ПО на Delphi. Появился C#.

     
     
  • 4.375, Bottle (?), 19:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше упомянуть такие языки как Алгол и BCPL, о них только помнят, никто ими не пользуется.
    А на Delphi до сих пор есть софтина - например, FL Studio.
     
     
  • 5.512, n00by (ok), 09:00, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем их упоминать? Я привёл примеры, когда в России что-то западное начинали использовать слишком активно, после чего на западе что-то случалось.
     
     
  • 6.601, Прохожий (??), 02:29, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, причина в том, что Дельфи ворованый у многих был на просторах бывшего СССР. Если бы покупали лицензии, возможно, Борланд бы и смогла выдержать конкуренцию.
     
     
  • 7.611, n00by (ok), 09:05, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы пришлось покупать, популярности бы такой не было. Микрософт бы не посмотрела на это, и не сделала свой вариант с диезом и активистами. бесплатный, кстати.
     
  • 4.438, maximnik0 (?), 22:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Где сейчас DEC?

    В спутниках ГЛОНАСС.По информации с открытых источников- там применяется процессор сделанный перед самым развалом СССР, сделали DEC совместимый процессор на 1 микросхеме- по сложности переходное между 386 и 486.Обещали заменить на более лучшее- тишина,после нашего Крыма.

     
     
  • 5.484, Аноним (484), 04:34, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В спутниках ГЛОНАСС.По информации с открытых источников- там применяется процессор сделанный
    > перед самым развалом СССР, сделали DEC совместимый процессор на 1 микросхеме-
    > по сложности переходное между 386 и 486.Обещали заменить на более лучшее-
    > тишина,после нашего Крыма.

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

     
  • 5.516, n00by (ok), 09:07, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не могу найти источники. Это случайно не МЦСТ-R?
     
     
  • 6.537, maximnik0 (?), 12:26, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Не могу найти источники. Это случайно не ?

    Была статья давнишняя,может и найду в архиве как наши пилили DEC процессор, что удивительно коллектив был с Армении (в основном) и они всего лишь за 1,5 года уложились в задание. Процессор л1839вм1.Комплект микросхем назывался (из Вики) л1839.Писали что микросхема используется в 1 и возможно 2 поколение ГЛОНАСС.
    МЦСТ-R это Спарк процессоры, от бывшей SUN ,ныне Оракл.Для реалтейма не совсем подходят,у них есть беда с переключением регистровых окон,хотя там можно было это дело сгладить с потерей производительности.



     
     
  • 7.543, maximnik0 (?), 13:05, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дополню.
    Нашел первоисточник - скан статьи Электроника 32 .Начало работ 84 год ,запущено в производство в 89.ЭВМ называется БЦВМ 90-50хххх.

     
  • 7.548, n00by (ok), 13:44, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю. Vax я видел только на картинках, а вот с PDP-11 пришлось столкнуться: за пару часов изучил формат и читал прям маш.код (надо было выдрать ресурсы из одной игрушки). Очень простой и понятный опкод, потому в версию с диверсией ЦРУ против DEC я верю легко.

    И вот этот вот Л1839ВМ1, кажется, можно было бы штамповать заместо RISC-V для каких-то целей?

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

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

     
     
  • 8.552, Аноним (552), 14:07, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    старика банально на пенсию отправляют 1993 8212 Премия имени Грейс Мюрре... текст свёрнут, показать
     
  • 3.73, Аноним (-), 13:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все браузерные движки на C++.

    Servo смотрит на это утверждение с недоумением.
    Не все конечно умеет, по сравнению с двумя (ок, тремя) другими, но если в него вложить столько же денег, то будет не хуже.
    Нужно только простимулировать к этому))

     
     
  • 4.119, Аноним (96), 14:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Нужно только простимулировать к этому))

    Что бы получить в  итоге "ну не смогла я, не смогла"?

     
     
  • 5.188, Аноним (-), 15:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что бы получить в  итоге "ну не смогла я, не смогла"?

    С чего бы это?
    WebRender и многопоточное css прекрасено работают в FF.
    В остальном Servo сейчас работает отлично в контексте вложенных ресурсов.
    И нет никаких причин почему он станет работать хуже или вообще перестанет работать если туда сложить еще пару сотен лямов.

     
     
  • 6.204, Аноним (96), 15:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кобыла:
    Мужик, поставь на меня
     
  • 4.231, Аноним (250), 16:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > вложить столько же денег
    > Нужно только простимулировать к этому

    Надо просто убрать кучу ненужных web api и не раздувать веб-стандарты, тогда и свои бразуерные движки можно будет писать на любом языке.

     
     
  • 5.404, _ (??), 20:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ... да кто ж иму дастЪ?! (С)

    У людей на этой сложности суриоус бусинес построен, с годовым доходом больше чем доход всей твоей страны и всех стран с ней соседствующих ...

    Забудь!(С)

     
     
  • 6.480, Котофалк (?), 02:11, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > и всех стран с ней соседствующих

    И даже нашего самого восточного соседа? ну дела....

     
  • 4.485, Аноним (-), 04:38, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Все браузерные движки на C++.
    > Servo смотрит на это утверждение с недоумением.
    > Не все конечно умеет, по сравнению с двумя (ок, тремя) другими, но
    > если в него вложить столько же денег, то будет не хуже.

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

     
     
  • 5.498, Советский инженер (ok), 07:08, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А серва все - нигде

    как нигде !?
    серва в линукс фундейшон !

     
  • 3.78, laindono (ok), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и переписывать это не собираются

    То-то столько драмы каждый раз, когда таки переписывают. Аж целого Линуса призвали.

     
     
  • 4.157, Аноним (96), 14:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тут есть ньюанс. Переписывать и переписать немного отличаются.
     
  • 3.83, Аноним (83), 13:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты бы хоть читал на что отвечаешь… Как всё написанное тобой соотносится с «C++ просто устарел»? :)
     
  • 3.86, Аноним (82), 13:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну так переезжайте на марс, там ничего переписывать не придётся, всё с нуля. вам уже и язык подходящий сделали
     
     
  • 4.362, Аноним (362), 19:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    По-твоему там не будет доступа на GitHub?
     
     
  • 5.406, _ (??), 20:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты в курсе какой до марса пинг? :)
     
  • 3.118, Аноним (250), 14:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    C и C++ не первые языки. На фортране тоже много чего было написано, и наверняка у него были такие же сторонники, с такими же аргументами.
     
     
  • 4.121, Аноним (96), 14:10, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот только это язык другой целевой ниши.
    И только сравнительно недавно пропал смысл его использовать.
     
     
  • 5.216, Аноним (250), 15:52, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Фортран это просто к примеру. Вместо фортрана подставьте любой другой старый популярный язык.
     
  • 5.239, Аноним (250), 16:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > сравнительно недавно пропал смысл его использовать

    Смысл пропал давно, просто менеджеры не хотели вкладываться в модернизацию. А из-за этого потом возникают проблемы с поддержкой и интеграцией старого ПО.

     
     
  • 6.409, _ (??), 20:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну значит не везде менеджеры - тупицы, прям в кои то веки - хорошая новость!
    А знаешь почему до сих пор кода на COBOL активно работавшего 24/7/365 просто невбибичекое количество? Поспрашивай :)
     
     
  • 7.523, Аноним (250), 09:37, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление» Дейкстра
     
     
  • 8.557, Аноним (96), 14:18, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это тот который шел войной на goto Того самого goto - что является основным сре... текст свёрнут, показать
     
  • 3.202, Аноним (202), 15:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    GCC это не «компилятор c»
    GCC это GNU Compilers Collection
    Коллекция компиляторов GNU
    Чуешь разницу?

    А то вы своей фантазией уже задолбали

     
     
  • 4.413, _ (??), 20:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В следующей версии коллекции ожидается включение нового ЯП :)
    Нет, не раст :) COBOL! Я не шучу, даже тут новость была.
    А уж эти точно знают что нужнее :)
     
     
  • 5.419, Аноним (202), 21:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Видимо у кого-то из оплачивающих разработку(RH и прочие) возникла необходимость
    Дело не в том, что «эти точно знают что нужнее», а дело в том, что они знают что необходимо спонсорам разработки
    И это нормально
     
     
  • 6.558, Аноним (96), 14:19, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так вот почему rust попытались в gcc сделать...
     
  • 3.497, Аноним (493), 07:03, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И это реально беда.
     
  • 3.564, Аноним (551), 14:42, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это вы просто тыкаете палочкой в мамонта. Современный канпилер (для доказательства своей же пригодности) пишется на себе самом, bootstrap - слышали про такое? Вот язык Nemerle написан на себе самом, к примеру. Остальная "инфраструктура" - да, конечно там много С++, но... доколе? Без "свежей крови" ни один проект не выживет. Сегодня ты хвалишься С++-ным бэкендом банка, а завтра соседняя компания запиливает проект на D (по современным стандартам), а ты лихорадочно бегаешь по рынку, ища "дидов", которые смогут хотя бы прочитать то, что у тебя написано на С++. Проект на D будет идти вперёд, а ты будешь "трясти полутруп", выдавливая последний профит.
    С++ - это кобол современности, он просто ужасен для средних-крупных проектов.
     
     
  • 4.578, Аноним (560), 16:46, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/

    > С++ - это кобол современности, он просто ужасен для средних-крупных проектов.

    Не оскорбляйте кобол си плюс плюсом! )))

    А вообще, вы не правы. На Си++ реально тянуть средне-крупные проекты, нужно только уметь его правильно готовить и документировать код.

    Но современный тренд - это безусловно - попытка превратить плюсы в брейнфак.

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

    Хотя на деле, всё можно упростить, было бы желание.

     
  • 2.562, Аноним (551), 14:34, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он уже родился старым :)))) Как можно писать на языке, где ООП было "прикручено сбоку на изоленте"?! Вдвойне смешны потуги писать на "сипипишном синтаксисе" при наличии java, C#, D, Kotlin и иже с ними.
     

     ....большая нить свёрнута, показать (43)

  • 1.26, Аноним (-), 12:51, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > времени осталось очень мало и необходимо до 2026
    > года успеть предпринять какие-то меры

    Учитывая скорость работы комитета по стандартизаци...
    удачки, хехе))

    Учитывая, что отчет АНБ был опубликовал в конце 2022 года и никто не чесался больше двух лет, то как раз к 2036 плюсовики сделают новый стандарт. Но это не точно.

    Правда потом нужно будет дождаться когда это все завезут в компиляторы...

     
     
  • 2.32, Аноним (32), 12:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А чего АНБ свой проект Тор на Раст перевела.
     
     
  • 3.42, Аноним (-), 13:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А чего АНБ свой проект Тор на Раст перевела.

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

     
     
  • 4.123, Аноним (96), 14:12, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А контроль над тором можно и другими способами получать.

    Используя закладки в rust?

     
     
  • 5.164, Аноним (-), 14:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Используя закладки в rust?

    Слишком палевно. Можно контролировать сами ноды.
    Можно использовать закладку прям в ядре линукса - 10 лет жила и всем было норм.
    Или в процессоре. Или прям закладки в криптографии на уровне алгоритма и стандарта.

    Вариантов много.

     
     
  • 6.186, Аноним (96), 15:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вспомнилась новость о том что Касперский запретил использовать апл.

    Типы было теоретически 3 формы попытки взлома компанией апл телефонов пользователей и ВСЕ три были применены к управленцам Касперского.

    Так что запас карман не тянет.

     
     
  • 7.431, Аноним (423), 21:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > было теоретически 3 формы попытки взлома компанией апл телефонов пользователей

    Смахивает на ЛПП. Пруфы-то были?

     
  • 6.230, Аноним (199), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >закладку прям в ядре линукса - 10 лет жила и всем было норм

    Ты бы хоть раз ссылочку привёл на эту закладку. А то, может, это и не закладка, а уязвимость, которых там немало бывает?

     
     
  • 7.256, Аноним (-), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты бы хоть раз ссылочку привёл на эту закладку.

    Ищи по Bvp47.

    > А то, может, это и не закладка, а уязвимость, которых там немало бывает?

    Уязвимость, потому что сишник "забыл" проверить входные данные и получилось RCE с получением рута?

    Да-да, ну разумеется это точно не закладка, а просто уязвимость))
    Все сишники рано или поздно так делают, поэтому прекратите задавать глупые вопросы, гражданин.

     
  • 5.425, Аноним (423), 21:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Используя разводной ключ за пять баксов и судебную систему. Всякий раз как речь заходит о безопасности, начинается какая-то оголтелая гибсовщина в комментах. Объясни, зачем нужны закладки в расте, если большая часть инфраструктуры интернета находится под прямым или косвенным контролем сша? АНБ не надо это всё, они просто™ звонят в офис и просто™ говорят какой порт куда отзеркалить по стандартному протоколу. И пока ты с ними на телефоне утрясываешь детали, в дверь уже стучится курьер с предписанием суда.
     
     
  • 6.565, Аноним (96), 14:44, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем apple все три теоретически возможных взлома системы пользоваетля, если достаточно одной?

    Запас карман не тянет.

     
  • 3.205, Аноним (202), 15:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Фантазеры, блин
    Tor Project был создан не АНБ(гражданская структура), а NRL(структурой военно-морского флота)
    Как же ваши фантазии про АНБ вокруг утомили
     
     
  • 4.232, Аноним (199), 16:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Главное, не отечественный т. майором.
     
  • 4.263, Аноним (96), 17:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    - Одно слово румын
    - Так он болгарин
    - Да?! А какая разница...

    Для большинства это обобщенное "тов. майор" только забугорный.

    И да. Операция Кондор. Проект синяя птица. И т.д. И т.п.

    Мы такого не придумаем, какое они отморозят...

     
     
  • 5.276, Аноним (202), 17:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да вот в том-то и дело, что нет там майоров, в АНБ этом вашем
    А в NRL есть(ну или капвторанги какие-нибудь)
    АНБ, как и ЦРУ, это гражданская организация и в ней нет воинских или специальных званий
     
  • 3.265, yet another anonymous (?), 17:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Tor не АНБ (как тут верно уже указали). Он "инструмент", но в другом смысле --- ("если вы не поняли, кто тут лох, ..."). У АНБ-то как раз инструментаий наполовину на C++/наполовину на на Java'е.
     

  • 1.28, User (??), 12:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Воу, воу! Палехше! Куда так гнать, ну? Этж в 26 стандарт принять, в 30м поддержка (частичная, всеми разная) стандарта компиляторами появится, в 31 понять, что все не так и вот вам ещё один (но другой!, лудший) способ получения безопасной безопасности - так году в 35м придётся начинать ДУМАТЬ что-то там переписывать под самую пенсию? Неее. На это комитет пойтить не могет - мужики, может ещё годика три форму скобочек пообсуждаем? Юникод он большой...
     
  • 1.31, Аноним (32), 12:56, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А это не тот самый мужик, который в своей книжке писал что насоедование 8-го уровня это нормально?
     
     
  • 2.124, Аноним (96), 14:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > насоедование 8-го уровня это нормально?

    Трудно понять о чем ты. Переформулируй.

     
     
  • 3.298, Аноним (32), 18:01, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Про наследование.
     
     
  • 4.479, Аноним (479), 02:10, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    8-го уровня.
     

  • 1.34, Аноним (39), 13:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Средства(т.е. инструменты) есть, у̶м̶а̶ желания их использовать при политике "****, **** и в продакшн" нет.
    Когда от тебя требуют скорость, плевав на качество и тем более сферические стандарты в вакууме, то так то не до феншуя.
     
  • 1.35, n00by (ok), 13:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жаль деда. Линуксоиды по сути его предали, не осилили плюсы в ядро.
     
     
  • 2.212, Аноним (552), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Жаль деда.

    Так он и не стал дедом, все такой же "мальчишка". Дед тот, слово (мысль, идея) которого имеет вес, а тут какое-то КИСА (осколок АНБ) имеет больше веса, и вес то совсем не мысли, а дубинки.

     
     
  • 3.283, n00by (ok), 17:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вряд ли его таким ужалить. Дед спорный, как и Вирт, но свой след оставил. В отличие от нытиков по поводу включения Rust в ядро, но их и совсем не жалко.
     
  • 2.571, Аноним (571), 15:58, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты в разработке руководствуешься концепциями типа "жалко деда"?
     
     
  • 3.588, n00by (ok), 20:49, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я плюсы в ядро осилил, а "жаль" - это императив по НЛП.
     

  • 1.41, Аноним (37), 13:08, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Жаль деда. Линуксоиды по сути его предали, не осилили плюсы в ядро.

    Не нужно его в ядро. По-моему мнению, C++ - это язык для прикладного программирования.

     
     
  • 2.63, n00by (ok), 13:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мнение - это из области мнимого. В действительности драйвера антивирусов нередко пишут на плюсах.
     
  • 2.233, Аноним (199), 16:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Авторы Genode с вами несогласны,
     
  • 2.377, Bottle (?), 20:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет ничего более прикладного чем операционная система.
     
  • 2.396, zionist (ok), 20:28, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    SerenityOS написана на C++
     
     
  • 3.478, Аноним (479), 02:10, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    SerenityOS, нормальная.
    Интерфейс нормального пользователя.
     

  • 1.43, Аноним (37), 13:09, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Каждый объект должен быть корректно создан и освобождён.

    Гениально. А что, можно иначе?

     
     
  • 2.45, Прохожий (??), 13:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно. А еще некоторые в бинарниках шестнадцатиричным редактором заголовки правят.
     
  • 2.50, Фнон (-), 13:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Конечно!
    Просто добавляешь коммент "тут все ровно, мамой клянусь" и пишешь как получится.
    А там пусть потомки лет через 10 разбирают CVEшки.
     
  • 2.125, Аноним (96), 14:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Гениально. А что, можно иначе?

    Иногда НУЖНО иначе.

     
  • 2.159, sena (ok), 14:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Гениально. А что, можно иначе?

    Конечно, например сделал new для буфера, использовал, вышел из программы. Можно в принципе не освобождать, если всё равно выходишь. И уж тем более, если это программа-однодневка.

     
  • 2.173, хрю (?), 14:55, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно, особенно в какой-нить стековой модели объектов. Тогда выделяешь сразу буфер подо всё и двигаешь нижнюю границу.
     
     
  • 3.286, n00by (ok), 17:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так конструкторы-деструкторы всё равно вызовутся, в отличие от предложенного выше new без delete.
     
  • 3.359, Аноним (98), 19:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И дрежать только одно соединение за раз
     
  • 2.532, bOOster (ok), 10:30, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    то то и оно что в языка низкого уровня - можно и иначе, и через иначе, и через-через иначе. И так далее.
     

  • 1.47, Аноним (47), 13:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И как на таком новом-кленовом C++ написать linked-list?)
     
     
  • 2.52, Аноним (52), 13:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    C умными указателями конечно же!? Я сам конечно не пробовал, мне некогда пока было :)
     
     
  • 3.109, Аноним (98), 14:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, умные указатели не подходят, поскольку сразу же после присоединения нового элемента он мгновенно зациклится с предыдущим. А если делать слабые указатели, то часть списка может в любой момент просто взять и испарится.
     
     
  • 4.167, Аноним (-), 14:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не, умные указатели не подходят, поскольку сразу же после присоединения
    > нового элемента он мгновенно зациклится с предыдущим. А если делать
    > слабые указатели, то часть списка может в любой момент просто взять и испарится.

    А давайте добавим сильные, но глупые!
    Вот тогда плюсы взлетят))

     
  • 4.171, Аноним (96), 14:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не, умные указатели не подходят, поскольку сразу же после присоединения нового элемента он мгновенно зациклится с предыдущим. А если делать слабые указатели, то часть списка может в любой момент просто взять и испарится.

    А вот для этого и надо бы сделать время жизни контейнеров. Как раз то чего в rust нет и никогда не будет.

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

    Осталось только "будем посмотреть".

     
     
  • 5.279, Аноним (279), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вполне нормально сделать нормальный linked list единожды и использовать его везде. Свой список в каждом проекте писать это уже пережиток прошлого.
     
  • 4.426, Dezz (??), 21:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Умные указатели вполне подходят для списков. Просто ссылки на предыдущие элементы должны быть слабыми, что логично, ведь им незачем управлять жизнью предыдущего элемента.
     
  • 2.384, Аноним (384), 20:12, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так в конце дед предложил аж 6 вариантов [[unsafe]]
    Вот ими вся libstdc++ и будет утыкана.
     
  • 2.389, Ан Оним (?), 20:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже написан, в STL. А если свой хочется - можно через ссылки.
     

  • 1.48, Аноним (48), 13:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поздно спохватились. Доктор сказал в морг, значит в морг. С++ изжил свое.
     
     
  • 2.57, X512 (?), 13:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что на замену?
     
     
  • 3.77, Аноним (48), 13:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Rust. Если уже Линус Торвальдс (ярый сторонник C и противник C++) начал отказываеться от C в пользу Rust - уже говорит о многом. А он в ЯПах разбирается получше местный диванных экспертов.
     
     
  • 4.299, Аноним (-), 18:02, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хитро передёргиваешь. Лично Торвальдс считает, что "нет ничего лучше Си" - это его цитата. Раст он принял в ядро не хотя, его долго уговаривали, ну он типа "ну ладно-ладно, уговорили". К Расту у него отношение "терпимое".

    Конкретно, языку Раст не место в ядре Линукса. Пусть растаманы пилят свою экосистему. Плоть и кровь GNU/Linux состоит из чистого Си.

     
  • 3.88, Аноним (-), 13:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Что на замену?

    Условный C++2.0.
    Нужно просто решиться и сломать обратную совместимость с++ сильнее чем при переходах между стандартами.

    Убрать все UB. Добавить то, что описано в предложении, на уровень языка, сделав его по умолчанию. А для использования всяких опасных штук сделать специальные директивы, тоже на уровне языка.
    Выкинуть всякие неудачные вещи, которые тянуть только ради совместимости.

     
     
  • 4.128, Аноним (96), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Убрать все UB.

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

     
     
  • 5.169, Аноним (-), 14:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И получить необходимость дублировать код и структуры для разных
    > архитектур, получая комбинаторный взрыв?

    Пример в студию.
    "Вот такая UB позволяет сделать то-то"
    Иначе это пустой треп о том что "без UB жизни нет"

     
     
  • 6.174, Аноним (96), 14:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    До недавнего времени тип char в ядре linux был для разных платформ разным. Где то знаковым, где-то беззнаковым. Ибо железо такое было. Код же работал один и тот же. Пришли разработчики rust и уговорили от этого избавиться. Теперь все привели к одному виду и для части платформ это выражается в небольшом понижении производительности.
     
     
  • 7.179, Аноним (-), 15:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Теперь все привели к одному виду и для части платформ это выражается
    > в небольшом понижении производительности.

    Это все невероятно интересно, но где "комбинаторный взрыв"?
    Плюс там пробелема была в том, что написанный код работает хз в зависимости от платформы, компилятора, флагом, ретроградности меркурия. А для signed еще получаем UB для overflow.

     
     
  • 8.192, Аноним (96), 15:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще-то только это и комментировал А комбинаторный Из за одного типа над... текст свёрнут, показать
     
     
  • 9.193, Аноним (96), 15:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Забыл добавить похорошему бы А так разработчики решили забить ... текст свёрнут, показать
     
  • 9.195, Аноним (-), 15:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давай по пунктам 1 сколько таких платформ 2 сколько из них живы 3 неужели о... текст свёрнут, показать
     
     
  • 10.206, Аноним (96), 15:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая разница Это был пример ... текст свёрнут, показать
     
     
  • 11.255, Аноним (-), 16:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Разница огромная Если мы можем выкинуть 100500 ifdef ов для 100500 некроплатфор... текст свёрнут, показать
     
     
  • 12.273, Аноним (96), 17:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Любая хрень становится некро - только когда исчезают люди способные это поддержи... текст свёрнут, показать
     
  • 7.252, Аноним (98), 16:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >До недавнего времени тип char в ядре linux был для разных платформ разным. Где то знаковым, где-то беззнаковым

    Так, а где тут UB? А то я думал, что тут про разыменновывание нулевого укзателя будут говорить или про двойное освобождение памяти

     
     
  • 8.274, Аноним (96), 17:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Операции сдвига UB ... текст свёрнут, показать
     
  • 7.463, Аноним (384), 01:26, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Поведение char от компилятора зависит Просто char - это не сокращение от signed... большой текст свёрнут, показать
     
  • 4.146, Аноним (146), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так ржавый и получится же ну. Только он уже готов и даже стабилен
     
     
  • 5.237, Аноним (199), 16:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не получится. Классов нет, наследования, шаблонов. В C++ 2.0, если таковой появится, это всё будет, но уже без сырых указателей, с контролем границ массивов по умолчанию.
     
     
  • 6.322, Вася Пупкин (?), 18:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так в русте же все эти штуки одним общим механизмом трейтов реализованы
     
     
  • 7.477, Аноним (479), 02:07, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это такие штуки в Русте.
     
  • 4.153, тоже Аноним (ok), 14:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Условный C++2.0.
    > Нужно просто

    А можно просто узнать, сколько за эти годы было написано языков на замену Крестам. Начиная с D, например. Вы о нем даже не слышали, полагаю. И об остальных - тоже. Почему бы это?...

     
     
  • 5.170, Аноним (-), 14:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тот Д который со сборщиком мусора (опциональным, но тем не менее)?
    И для которого потом пытались колхозить "безопасные" сабсеты типа SafeD?
    Я бы сильно удивился если бы он взлетел.
     
     
  • 6.187, тоже Аноним (ok), 15:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так комментарий выше - в аккурат про то, что а вот давайте теперь напишем... то, что Александреску уже двадцать лет назад написал, внезапно.
     
  • 6.238, Аноним (199), 16:24, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    SafeD там там теперь по умолчанию из коробки.
     
  • 4.161, Аноним (165), 14:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Условный C++2.0.

    С++++

     
     
  • 5.241, Аноним (199), 16:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    C+=2
     
  • 4.502, Аноним (493), 07:34, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Убрать все UB.

    А ты, решительный!

     
  • 2.229, Нуину (?), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > С++ изжил свое.

    Буквально все, чем ты пользуешься на нем. Изжил:) Откуда вы лезите? Где у вас гнездо? (с)

     
     
  • 3.246, Аноним (-), 16:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> С++ изжил свое.
    > Буквально все, чем ты пользуешься на нем.

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

    > Изжил:)

    Ага. Именно изжил. В комитете раскол и Драма за Драмаю.
    Как минимум 2 группы тянут одеяло на себя.

    Тащится просто жуткое старье в угоду древним платформам.
    При некоторые вещи можно ускорить в 2-3 раза если поломать совместимость.

    open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1863r0.pdf

     
     
  • 4.340, Аноним (96), 18:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если бы электричество.

    А то ведь предлагают вместо свечей дыру в потолке прорубить. Правда ночью невидно ничего и дождь на голову падает, зато пожара не будет - безопасно!

     
  • 3.503, Аноним (493), 07:35, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.mobygames.com/game/1837/gauntlet/
     
  • 2.234, Аноним (199), 16:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что-то Qtшники переписываться на Rust не спешат.
     
     
  • 3.326, НяшМяш (ok), 18:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Их уже переписали =)

    https://slint.dev/alternative-to-qt

     
     
  • 4.451, Нуину (?), 23:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Их уже переписали =)
    > https://slint.dev/alternative-to-qt

    Ну вот когда серъезные проекты на нем появятся, тогда можно что-то утверждать. А пока qt - промышленный стандарт.

     
  • 3.452, Нуину (?), 23:34, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Что-то Qtшники переписываться на Rust не спешат.

    У них есть qml с js-ом (стоит заметить своей реализацией). Так что все безопасно и проще.

     
  • 2.467, blevakagmail.com (?), 01:53, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    C#
     

  • 1.49, Аноним (49), 13:15, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.
     
     
  • 2.56, Аноним (52), 13:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Просто до этого нехаватоло мощностей и приходилось выжимать до капли любым способом.
     
  • 2.61, Анонем (?), 13:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.
     
     
  • 3.140, SAI (ok), 14:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Насчёт "медленности" Паскаля вопрос сомнительный.
    Зависит от многих факторов, в том числе и от компилятора, но в среднем, примерно в 2 раза медленнее Си (в рейтинге сразу за Си).
    Та же Java (на тех же задачах), показывала производительность в 10 раз меньше.

    Была на опеннете такая статья с исследованием несколько лет назад. Не могу найти.

     
     
  • 4.379, Bottle (?), 20:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну так естественно, если над компилятором (FreePascal) трудятся по-сути случайные люди, хотя и опытные.
    Будь у Паскаля такая же поддержка, как у GCC и LLVM, производительность была бы схожей.
    Вон Фортран до сих пор затыкает сишку в чистых вычислениях, всё потому что сишники до сих пор не научились использовать ключевое слово "restrict" и не обладают той же алгоритмической базой, что и фортранщики.
     
  • 4.456, Аноним (384), 00:25, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > в среднем, примерно в 2 раза медленнее Си (в рейтинге сразу за Си).

    Даже близко там такого быть не может. Эти языки отличаются на плюс-минус 5-10% (причём ещё вопрос в какую сторону, lcc из quake наверняка сольёт delphi).

    Тоже искал как-то почему c++ работает в разы быстрее pascal. А там оказалось #pragma omp ... и вуаля - числодробилка распараллелилась по ядрам. Хотя на первый взгляд программа написана в один поток.

     
  • 3.321, Аноним (-), 18:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.

    Не в бровь, а в глаз. 50 лет назад, американцы всячески игнорировали Алгол, и везде где могли протаскивали свой Фортран. В XXI веке создатель Питона внёс в язык оператор присваивания := , и тут американские программисты начали сильно возмущаться. Гвидо опечалился и хотел было покинуть пост лидера. В Америке был сговор компаний, не принимать на работу людей, которые пишут программы на Дельфи. Прикол в том, что Дельфи это американская программа.

    Я люблю Си и Юниксы. Но вынужден признать, у американцев есть неприязнь к европейским языкам программирования. Это факт.

     
     
  • 4.521, n00by (ok), 09:28, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это не неприязнь, а бизнес-модель. США должна быть центром притяжения, соответственно и конкурентов следует задавить.
     
  • 2.108, User (??), 14:03, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.111, Аноним (98), 14:05, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И как в паскале дело обстоит с указателями? Так же как в си/крестах?
     
     
  • 3.145, SAI (ok), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если постараться, то выстрелить себе в ногу тоже можно.
    Но компилятор много чего ловит.
     
     
  • 4.254, Аноним (98), 16:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что значит постараться? Я не знаю все 100500 языков какие есть. Если вы расхваливаете паскаль то говорите конкретнее: есть ли там nullptr, что будет если его разыменновать, бывает ли там утечка памяти, бывает ли двойное освобождение и так далее. И как ко всему этому относится компилятор.
     
     
  • 5.391, Аноним (384), 20:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в lazarus будет @, ^ и nil. Забыть вызвать Free()/Destroy()/Dispose() можно. А до кучи ещё и ${ifdef} имеется.
     
  • 2.149, Аноним (146), 14:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Паскаль - отличный язык. Но создавался он исключительно для обучения и там только и должен применяться
     
     
  • 3.243, Аноним (199), 16:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да что всё Поцкаль да Поцкаль? Ведь, есть же более промышленный Modula-2, который теперь и в GCC имеется. Со строгостью у него, должно быть, не хуже.
     
     
  • 4.468, blevakagmail.com (?), 01:57, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая модуль, какой Паскаль. Оберон!
     
  • 2.158, тоже Аноним (ok), 14:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно

    Так удивился этому заявлению, что аж заглянул в свой архив. Нет, похоже, исходники тех программ из прошлого века, где использовались ассемблерные вставки и прямая запись в видеопамять (потому что штатные библиотеки люто тормозили, и даже int 10h был нетороплив), уже выкинуты...

    Так-таки и не давал? Как-то я этого не заметил.

     
     
  • 3.198, Аноним (49), 15:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это Turbo Pascal? Все коммерческие реализации как раз и добавляли разные небезопасные возможности, чтобы "профессионалам" было удобнее. Но не суть. Просто то, что Си небезопасен и плохо спроектирован, было очевидно уже очень давно.
     
     
  • 4.203, тоже Аноним (ok), 15:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Си небезопасен и плохо спроектирован

    А верблюд несимпатичный и низко летает. Вообще непонятно, что арабы в них нашли...

     
     
  • 5.236, Аноним (96), 16:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  Вообще непонятно, что арабы в них нашли...

    На вкус и цвет - кому и кобыла невеста

     
     
  • 6.240, тоже Аноним (ok), 16:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее "на бесптичье и жoпа - соловей".

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

     
  • 3.314, Аноним (-), 18:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Так удивился этому заявлению, что аж заглянул в свой архив. Нет, похоже, исходники тех программ из прошлого века, где использовались ассемблерные вставки и прямая запись в видеопамять (потому что штатные библиотеки люто тормозили

    То есть ты ставишь знак равенства между американской реализацией компилятора (Turbo Pascal), и настоящим компилятором созданным Никлаусом Виртом? А железо на котором ты запускал свои программы, тоже американского производства.

     
  • 2.311, Аноним (-), 18:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.

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

     
  • 2.622, wyry (ok), 16:26, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот Pascal имхо надо воскрешать и любить. Он как раз может занять нишу, которая позволяет "просто делать вещи", сейчас эту нишу занимает отчасти Go (и даже некоторые синтаксические конструкции похожи!), который во многом тоже довольно прост. Более крупные проекты пилятся уже на Java (+смежные технологии), C# и Qt, если речь идёт о бизнес-приложениях.
     

  • 1.51, Аноним (51), 13:17, 03/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.58, Аноним (58), 13:19, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.

    Тут уже поднапряглись авторы и пользователи Qt…

     
     
  • 2.72, Прохожий (??), 13:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Qt закрыть и забыть. Хорошо, много на нем не успел сделать.
     
     
  • 3.93, Аноним (93), 13:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что вместо него?
     
     
  • 4.150, Аноним (29), 14:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    flutter, slint
     
     
  • 5.244, Аноним (199), 16:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Помнится, ещё какой-то Клиттер пытался взлетать, не вышло.
     
     
  • 6.475, Аноним (479), 02:05, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Клиттер,
    Который в Latex, да это он.
     

  • 1.59, Аноним (59), 13:20, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличная инициатива. Так оно и будет, затащат все основные примочки растов и никто никуда миргировать не станет, моментально отпадет желание переносить огромные пласты легаси кода.

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

     
     
  • 2.67, Фнон (-), 13:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Так оно и будет,

    Может и будет, вопрос "когда")
    Пока комитетчики расшевелятся, пока это попадет в компиляторы...
    В некоторых крупных проектах уже полным ходом от дырявых ЯП избавляются - весь новый код пишут на более новых.

    Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.
    А лет через 5-6 о возвращении к плюсам можно будет забыть.

     
     
  • 3.133, Аноним (96), 14:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.

    Сколько там прошло с момента появления rust. А в новостях про переписывальщиков только: паритет по функциональности планируется достич к ...

     
     
  • 4.155, Аноним (37), 14:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > паритет по функциональности планируется достич к ...

    Это современный метод ведения бизнеса. Обещать, а концу дедлайна сваливать по горизонтали. Или по-другому. Недавно интервью читал одного деятеля о разработке самолетов. Типа делаем проект 10 лет, признаем устаревшим, начинаем снова. Делаем проект 10 лет, признаем устаревшим и т.д. И ведь прокатывает!

     
     
  • 5.197, Аноним (96), 15:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Отвечу тут:

    > Какой паритет?

    Паритет функциональности проекта на Си С++ и переписываемого на rust.

    Практически везде его никак не могут достигнут.

     
     
  • 6.200, Аноним (-), 15:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Какой паритет?
    > Паритет функциональности проекта на Си С++ и переписываемого на rust.

    В соседней новости fish переписали с СИ на С++, потом с С++ на раст.
    Суда по их блогу паритет сохранен.

    > Практически везде его никак не могут достигнут.

    А они уже закончили)?
    АРТИ (который TOR) стабильно добавляют feature parity.
    И по их же словам версия сишки будет сущесвтовать какое-то время, но неминуемо будет дропнута.

     
     
  • 7.228, Аноним (96), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Fish? Возможно. Но.

    Насколько я понимаю, сам fish это упрощенная версия командной оболочки. Заточена на интерактивность за счет скриптования. То есть проект уступающий по функциональности тем, кого хотел переписать.

    А tor - да, обещают, ... вот-вот...

     
     
  • 8.266, Аноним (-), 17:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Э То что оне не ПОФИГС совместимый не делает его упрощенным Pingora, Хикорри, ... текст свёрнут, показать
     
     
  • 9.346, Аноним (96), 18:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не смогла я - не смогла Что это Это есть в дистрибутивах А вот в это верю ... текст свёрнут, показать
     
  • 4.175, Аноним (-), 14:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сколько там прошло с момента появления rust.

    Первый стабильный релиз - май 2015.
    В андроид добавили в начале 2021 года.
    В ядро добавили в октябре 2022.

    > А в новостях про переписывальщиков только: паритет по функциональности планируется достич к ...

    Какой паритет?
    В расте уже возможностей больше чем в дыряшке или плюсах - у вас есть там паттерн матчинг? А нормальная работа со строками? А линейные типы?

    Чего в расте меньше, так это возможностей отстрелить себе ногу, по самую опу.

     
     
  • 5.327, Вася Пупкин (?), 18:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а еще помимо языка удобный тулинг, стандартизированный подход к тестам, доке и бенчмаркам.
     
     
  • 6.534, Аноним (534), 11:21, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Отсутствие компилятора в машинный код забыл добавить
     
  • 2.114, Аноним (98), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >и теперь смысла как-то перекатываться на scala особо и нет

    Джависты не перекатываются на скалу ни когда в этом смысла нет, ни когда смысл есть

     
     
  • 3.472, Аноним (479), 02:04, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Джависты, они такие да.
     
  • 3.574, Аноним (-), 16:18, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "Жаба", "Жабисты". Пиши правильно.
     

  • 1.66, Прохожий (??), 13:26, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > запрещены ... явный вызов new/delete

    Всегда так делал и буду делать. Мне так удобно контролировать выделение/освобождение памяти. Кстати, GCC предупреждает, если в программе для объекта есть new, но нет delete.

     
     
  • 2.69, Аноним (69), 13:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты и без них можешь контролировать
     
  • 2.71, Аноним (-), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А если delete в другой функции. Или на другом потоке.
    Неужели GCC все проверяет?
    Или это топорная проверка в узкой областе видимости?
     
     
  • 3.75, Прохожий (??), 13:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У меня в проекте проверяет. Но проект собирается из исходников, хотя и по частям.
     
     
  • 4.76, Прохожий (??), 13:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А если delete в другой функции.

    Нет, delete в той же функции. Функция исполнилась - освобождает ресурсы, которые выделяла. Результаты проверяет.

     
     
  • 5.180, inklesspen (ok), 15:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ИМХО неудобно контролировать каждый указатель. Про что-то можно и забыть.

    Любая функция с каким-никаким ветвлением (с учетом, что исключения - тоже вид ветвления) превращается в кусок полусишного кода с функционалом плюсов, поскольку тебе нужно:
    + Освободить указатель, если произошло исключение
    + Освободить указатель при преждевременном return'е
    + Не забыть то же самое в циклах

    Даже такой кусок кода может содержать утечку:

    '''cpp
    void foo()
    {
        auto a = new int(2);
        auto b = new int(3);

        delete a;
        delete b
    }
    '''

    Умные указатели избавляют от этих проблем. До тех пор пока не ошибся с семантикой перемещения.

     
     
  • 6.251, Аноним (199), 16:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >ИМХО неудобно контролировать каждый указатель. Про что-то можно и забыть.

    Если забыть, то в данном случае, напомнит статический анализатор кода?

     
  • 6.522, n00by (ok), 09:34, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем? Есть же automatic storage duration.
     
  • 5.258, Аноним (98), 16:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Функция исполнилась - освобождает ресурсы, которые выделяла

    Очень интересно, как вы собираетесь в той же функции освобождать ресурсы, если их планируется возвращать наружу. Или вы постоянно копируете данные туда-сюда?

     
  • 5.388, Аноним (534), 20:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    почему тогда operator new() не освобождает ресурсы, когда исполнился?
     
  • 4.80, Прохожий (??), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А вообще, считаю высшим пилотажем, когда вычисления производятся в тех же массивах, что были переданы в функцию (например, в некоторых алгоритмах линейной алгебры или теории дифференциальных уравнений). Хотя, конечно, о разрушении исходных массивов программист должен быть предупрежден.
     
     
  • 5.92, Аноним (92), 13:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    высший пилотаж :D
    тебе что 20 лет, как можно быть таким зелёным?
     
     
  • 6.100, Аноним (37), 13:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, зеленый он совсем. То ли дело, взять готовую библиотеку, которая хрен знает как и что считает, написать обвязку на Python и выдать на-гора готовый продукт. Всё равно никто пользоваться не будет.
     
  • 5.105, laindono (ok), 13:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неужели это настолько сложно делать в C++, что это считается чем-то... стоящим упоминания?

    > Хотя, конечно, о разрушении исходных массивов программист должен быть предупрежден.

    Звучит так, будто у вас до сих пор нет нормальной документации. Опять же, что значит "разрушение исходных массивов"? Это типа вот так:

    fn do_some_math<'a>(input: &'a mut [f32]) -> &'a [f32]

    Я для наглядности оставил маркер времени жизни, но оно так по умолчанию работает в данном конкретном случае (все 'a для наглядности). Тут буквально сказано, что функция использует входной кусочек памяти в качестве выходного кусочка памяти. И все подводные камни, связанные с таким использованием проверяются на уровне компиляции.

     
     
  • 6.131, Аноним (-), 14:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не подойдет, по многим причинам:
    - у дедов уже зрение не то, они просто не видят мелкие символы


    '


    - других просто пугают незнакомые значки
    - да и это же надо подумать заранее, а то компилятор будет ругаться
     
     
  • 7.136, Аноним (96), 14:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая-то мелкая букашка по монитору пробежала.
     
  • 7.168, laindono (ok), 14:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дедов на поддержку легаси можно оставить.

    > да и это же надо подумать заранее, а то компилятор будет ругаться

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

     
  • 6.172, Аноним (107), 14:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда сидишь на диване и палец об палец не ударяешь, всё предельно просто
     
     
  • 7.471, Аноним (479), 02:03, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто нибудь ударьте палец, о палец.
    Молодец.
     
  • 6.181, Аноним (534), 15:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > fn do_some_math<'a>(input: &'a mut [f32]) -> &'a [f32]

    У тебя ошибка, растолюб.

    Правильно вот так:
    fn do_some_math<'&^$a>(input: &!@#$'a mut [f32]) -> &()&%#'\'a [f32]

     
     
  • 7.183, laindono (ok), 15:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В реальном коде этот конкретный случай вот так выглядит:

    fn do_some_math(input: &mut [f32]) -> &[f32]

    На сишечке скорее всего что-то такое будет:

    void do_some_math(float*const input, int input_length, float**const output, int*const output_length);

     
     
  • 8.218, Аноним (534), 15:56, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Растолюб, почему у тебя длинна знаковая в примере на Си Вы же типа, в отличие о... текст свёрнут, показать
     
     
  • 9.245, laindono (ok), 16:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там скорее всего нужно использовать size_t Хотя всё это не важно для контекста ... текст свёрнут, показать
     
     
  • 10.262, Аноним (534), 17:00, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну т е без раста вы также не можете чистый безопасный код написать Ясно-понятн... текст свёрнут, показать
     
     
  • 11.264, Аноним (-), 17:03, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 11.310, laindono (ok), 18:10, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я могу потратить полчаса времени и вспомнить детали С другой стороны я пишу на ... текст свёрнут, показать
     
  • 9.269, Аноним (-), 17:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А почему бы и нет Может это закладка чтобы потом туда -100500 передать Вот зах... текст свёрнут, показать
     
  • 8.260, Совершенно другой аноним (?), 16:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    скорее всего будет вообще не так Вы там const-ов наставили вообще не в тему Ск... большой текст свёрнут, показать
     
     
  • 9.295, laindono (ok), 17:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Неизменяемый указатель на изменяемую память fn do_some_math input mut f32 ... большой текст свёрнут, показать
     
  • 5.259, Аноним (98), 16:55, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если мне эти данные ещё нужны, как быть в этом случае?
     
     
  • 6.474, blevakagmail.com (?), 02:04, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Использовать f# ocaml. Массив по определению можно изменить. Пляши от стенки
     
     
  • 7.481, Котофалк (?), 02:31, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    OCaml, Oberon... А вы опасный человек...
     
  • 7.492, Аноним (-), 05:36, 04/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.89, Аноним (93), 13:48, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти

    Ну, и как он предлагает этого достичь? Да еще и во время компилиции? Ну вот банальное типа:

    const int& i = std::max(x, 10);

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

     
     
  • 2.95, Аноним (49), 13:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как, запретить такие конструкции.
     
     
  • 3.222, Аноним (93), 16:00, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие "такие конструкции"? Возврат ссылки, что ли?
     
     
  • 4.277, yet another anonymous (?), 17:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да. Ссылка на литерал не есть хорошая идея.

    Но С++ --- мультипарадигменный язык. Для тех кто не понимает (или не хочет понимать), что происходит, других языков понаделали. Там следят не только чистотой конструкций, но и за мыслепрес^W правильной областью применения этих языков.

     
     
  • 5.344, Аноним (344), 18:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Да. Ссылка на литерал не есть хорошая идея.

    Как ты себе представляешь запрет возвращения ссылок? Ты не понимаешь, что людям придется переписывать весь плюсовый код, включая стандартную библиотеку?

    И да, проблема с кодом выше не в лтюитерале как таковом: любой временные объект в этом случае имел бы тот же эффект. Потому что язык г*о, и пулю ты из него, увы, уже не сделаешь.

     
  • 4.278, Аноним (49), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    OK, конкретно в этом коде
    >> const int& i = std::max(x, 10);

    ошибки нет. Константная ссылка слева продлевает время жизни возвращаемого rvalue.

     
     
  • 5.335, Аноним (344), 18:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  Константная ссылка слева продлевает время жизни возвращаемого rvalue.

    Нет, не продлевает.

     
     
  • 6.368, anonymous (??), 19:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    продлевает
     
     
  • 7.470, Аноним (479), 02:02, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Превознемогает.
    Молодец.
     
  • 2.476, blevakagmail.com (?), 02:06, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не переживайте. Сказать не значит сделать.
     

  • 1.166, хрю (?), 14:47, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ага то есть был язык с++, наверно, самый переусложнённый из ныне используемых, а будет ещё и ещё переусложнённый? Причём обработка даже какого-нить utf8 на стандартных библиотеках какой-от цирк с конями. Далеки это трупы страусов от народа. Уж лучше пусть даже хруст будет.
     
     
  • 2.248, Аноним (82), 16:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда с++ разрабатывался, utf8 ещё не придумали.
     
     
  • 3.330, Вася Пупкин (?), 18:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    но большинство мейнстрим языков его смогли осилить, хоть даже и через боль. кто не смог скоро отомрет, раз плохо умеет адаптироваться?
     
     
  • 4.545, Аноним (82), 13:08, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    если тебя не устраивают существующие библиотеки, можешь написать свою. или кто по-твоему должен это для тебя делать?
     
     
  • 5.590, Вася Пупкин (?), 20:54, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    поэтому и имеем 100500 разных библиотек, которые хрен вместе подружишь и проще еще один велосипед накостылить
     
  • 2.505, Аноним (505), 07:37, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а кто же его переусложнил? прибегали всякие хипстеры с криком, давайте сделаем очередные яйца в профиль
     

  • 1.176, slew (ok), 15:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне. Чуть ограничить совместимость с С-шными практиками, и это все что нужно, чтоб несиляторы не наделали себе в штаны. А то понаберут несоиляторов, вроде тех небинарных из мозиллы, которых к программированию просто нельзя подпускать. А те потом верещат на весь тырнет, что это ЯП-ы плохие, а не они бараны.
     
     
  • 2.211, Арман (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это ещё они про MISRA не слышали — вообще массовый подрыв произошёл бы.
     
     
  • 3.214, Карман (?), 15:48, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 2.333, Вася Пупкин (?), 18:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне.

    С 14ю способами инициализации, ага.. что еще с чем сравнишь?

     
     
  • 3.350, slew (ok), 19:00, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >С 14ю способами инициализации, ага..

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

     
     
  • 4.381, Bottle (?), 20:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проблемы начинаются при использовании чужих библиотек - и вдруг тебе оказывается нужным выучить все нюансы каждого способа инициализации.
     
  • 3.483, Витюшка (?), 03:46, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    40 (сорок) вариантов константных выражений.
     
  • 2.337, Аноним (-), 18:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >небинарных из мозиллы, которых к программированию просто нельзя подпускать.

    Что за стереотипы. Откуда ты лохматый такой? Из пещеры?

     
  • 2.376, хрю (?), 20:02, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать
    > как на питоне. Чуть ограничить совместимость с С-шными практиками, и это
    > все что нужно, чтоб несиляторы не наделали себе в штаны. А
    > то понаберут несоиляторов, вроде тех небинарных из мозиллы, которых к программированию
    > просто нельзя подпускать. А те потом верещат на весь тырнет, что
    > это ЯП-ы плохие, а не они бараны.

    Можете предоставить ссылку на свою проект в котором с++ раскрывается как простой и понятный ЯП, чтоб мы "бараны" смогли приобщиться в прекрасному? Или будет как всегда? :D

     

  • 1.184, Аноним (184), 15:18, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вообще говоря, авторы Си задумывали так, что программы на Си будут использоваться со сборщиком мусора.

    По признанию самого Кернигана, ни одна программа на Си не должна превышать 500-1000 строк и в программе не будет более 1-2 вызовов malloc.

    А всё, что крупнее, будет уже обвязками на shell вокруг маленьких Си программ.

     
     
  • 2.213, Аннноним (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хм, весьма интересно, а нет какой-нибудь ссылки на исходник или около того? Хотел бы детальнее ознакомится с вопросом
     
     
  • 3.296, Аноним (184), 17:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    AWK programming language, Aho/Kernighan/Weinberger.

    The Unix Programming Environment, тот же Kernighan.

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

    AWK это вообще по сути C со сборщиком мусора.

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

     
     
  • 4.527, n00by (ok), 09:58, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Благодарю, любопытное наблюдение. Стоит еще добавить, что сам компилятор Си состоит (состоял) из препроцессора и собственно транслятора, соединённых пайпом. При такой архитектуре сборщик мусора может быть реализован "заменой препроцессора", что и сделано в языке Vala.
     
  • 2.280, Аноним (534), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, верим. Особенно учитывая что Си создавался чтоб переписать UNIX с/на PDP11. Включая его ядро. Ядро с не более 1-2 malloc'ами и не длинее 1000 строк, и обвязки в ядре(!) на шелле(!) - это реально круто, без стёба (нет)
     
     
  • 3.300, Аноним (184), 18:02, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    При чём тут ядро?

    Во-первых, ядро тогда было сильно меньше.

    Во-первых, в ядре не так много malloc'ов.

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

    Обычный программист почти никогда не пишет ядерный код, поэтому ваша критика ну совсем пустая.

     
     
  • 4.320, Аноним (534), 18:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Изначально вброс был, что Си создавался чтоб писать проги не длинее 1000 строк и с 1-2 malloc'ами. Но Си создавался чтоб портировать UNIX, а не для того что ты только что придумал.

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

    Плйать, да откуда ты всё это берешь? Почему тогда физические сетевые интефрейсы не файлы /dev? А если все было бы не файл, а просто в памяти лежало без отражения на фс, то syscall'ы бы не работали?

    З.Ы. Напишешь amdgpu.ko чтоб не больше 1000 строк там было? Ну или может ядерный гипервизор?

     
     
  • 5.331, Аноним (-), 18:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чо так возбудился-то? Он просто процитировал мнение Кернигана, из книги написанной самим Керниганом. Кстати, Керниган не дурак и дельные вещи говорит.
     
  • 5.416, Аноним (416), 20:55, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу противоречий, а вот ты что-то себе придумал о UNIX https github com... большой текст свёрнут, показать
     
  • 3.421, Аноним (416), 21:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, верим. Особенно учитывая что Си создавался чтоб переписать UNIX с/на PDP11.

    Ты эта, посмотри старенькие сишные "API" и ответь нам, хипстрорам, на один вопрос:
    почему в структах (когда-то) было принято добавлять префиксы к названиям полей:
    [CODE]
    struct tm {
            int     tm_sec;         /* seconds after the minute [0-60] */
            int     tm_min;         /* minutes after the hour [0-59] */

    struct ar_hdr {
            char ar_name[16];               /* name */
            char ar_date[12];
    struct sockaddr {
            unsigned char   sa_len;         /* total length */
            sa_family_t     sa_family;      /* address family *
    [/CODE]
    Потом еще раз подумай над своим яростным "неверю, вы фсе врети!"


     
  • 2.378, хрю (?), 20:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще говоря, авторы Си задумывали так, что программы на Си будут использоваться
    > со сборщиком мусора.
    > По признанию самого Кернигана, ни одна программа на Си не должна превышать
    > 500-1000 строк и в программе не будет более 1-2 вызовов malloc.
    > А всё, что крупнее, будет уже обвязками на shell вокруг маленьких Си
    > программ.

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

     
     
  • 3.446, Аноним (384), 23:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > аффторы с++ ставили своей целью объять не объятое и сделать яп на котором можно сделать всё на свете и без потери производительности

    На момент появления C++ (а это уже ближе к середине 80-х) язык C далеко ушёл за рамки "маленьких" утилит в 1000 строк. Язык C++ - это примерно тот же C, только с возможностью ООП и мелочевкой (вроде перегрузки функций, inline и т.д.). А чуть позже и ещё с разными плюшками вроде исключений, шаблонов и т.д.

    В целом на C++ можно сделать всё, что можно сделать на C. Только потребление памяти повыше выходит (в основном из-за шаблонов и способов реализации inline). Первые версии C++ вообще компилятора не имели и просто переделывали C++ в программу на C, которая потом компилилась обычным C-компилятором.

     

  • 1.185, Аноним (185), 15:18, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот думаю.. если ИИ начнет писать код, то скоро требование человекочитаемости станет не важным... Тогда зачем все эти новые стандарты?
     
     
  • 2.217, Аноним (479), 15:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не начнет, сейчас только общий код выдает, который надо много править.
    А если начнет то тостеры будут писать композиции произведения получше людей, что обесценит это.
     
  • 2.316, slew (ok), 18:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >если ИИ начнет писать код

    ИИ не будет писать код, если ему задачу не поставить. И задачу нужно будет ставить однозначно и в подробностях, если это не хелловрот. И вот тут начинают говорить про ЯП, который почти как естесвенный ЯП, на котором будут ставить задачи ИИ, а тот уже сразу генерить машинный код. То есть, ИИ как компилятор, и ЯП почти как естественнй язык, на котором погроммисты будут расказывать ИИ что и как должна делать прога. Это не грезы, а уже обозначенный вектор развития софтоклепства с применением ИИ. Вот это тема. Сразу в динозавры все прошлые практики погроммирования.

     
     
  • 3.351, Аноним (96), 19:01, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Э... галюцинированние без которого невозможно ни одно ИИ как на разработку ложится?
     
     
  • 4.427, slew (ok), 21:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Э... галюцинированние

    Не беспокойтесь. Чуваки еще лет пят поколдут с матрицами, ембедингами и кучей остальных приколов типа "внимания", и галюцинаций не будет.

     
     
  • 5.568, Аноним (96), 14:57, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > и галюцинаций не будет

    Это математически невозможно.

    Машинное обучение - это сжатие. Причем только той части которая входит в обучение.

    Если не существует частей не входящих в обучение, то обучать смысла нет.

    А если есть части не входящие в обучение, то галюцинации гарантированы.

     
  • 4.631, Прохожий (??), 03:30, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто запрещает контролировать одну сеть другой?
     
  • 3.528, n00by (ok), 10:04, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В октябре 1981 года Японское министерство международной торгов- ли и промышленно... большой текст свёрнут, показать
     

  • 1.191, Ivan_83 (ok), 15:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Даёшь ещё больше сахару в ЯП!!!!


    > Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции

    Так а кто ж раньше то мешал это юзать?)

     
     
  • 2.224, Аноним (93), 16:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Даёшь ещё больше сахару в ЯП!!!!

    Где ты это увидел в новости?

     
     
  • 3.291, Ivan_83 (ok), 17:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А настройки профилей это не расширяет список того что надо знать и прописывать куда то?
     
     
  • 4.367, Аноним (367), 19:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Еще раз: При чем здесь синтаксический сахар, о котором ты вещал?
     
  • 2.550, Аноним (550), 14:01, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Даёшь ещё больше сахару в ЯП!!!!

    Что само по себе хорошо.

     

  • 1.215, Аноним (479), 15:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Наконец то достойный конкурент rust y, если я правильно понимаю.
     
     
  • 2.632, Прохожий (??), 03:35, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Потому что в Раст по умолчанию всё опасное запрещено. Его можно разрешить частично, но обычно это делается в огороженных местах. А тут же профили предлагается ставить только там, где может быть опасно. То есть, вероятность возникновения ошибок всё ещё выше, чем в Раст.
     

  • 1.220, Аноним (220), 15:58, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень даже логично заюзать флаги при компиляции, не ломая кода

    Хочешь пиши Си с классами, хочешь C++

     
     
  • 2.329, Аноним (-), 18:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Хочешь пиши Си с классами

    Так не делай, сразу пиши мета-код в соответствии с последним стандартом.

     
  • 2.370, чатжпт (?), 19:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Хочешь пиши Си с классами, хочешь C++

    и получится лапша из смеси того и другого обмазаная CVE, что собственно практика и показывает

     
     
  • 3.569, Аноним (569), 15:37, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не получится, для этого есть профили, чтобы отделить одно от другого
     
     
  • 4.633, Прохожий (??), 03:36, 06/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что профили - дело добровольное. Можно и забыть выставить. А раз так, забывать обязательно будут.
     

  • 1.221, Нуину (?), 16:00, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры

    Смешно. Там просто ГОРЫ важного кода на С++ и С, который никто не будет переписывать. Разве что с помощью AI. Но они даже крипту осилить не могут пока.

     
     
  • 2.504, Аноним (505), 07:35, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    они... они - это не вы?
     

  • 1.223, Нуину (?), 16:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сейчас все навалятся на раст, потребуют чего не хватает. Раст скатится в еще больщее УГ. Все ошибки все равно ловить не будет. Потом будете сами стонать раст - не торт! Скриньте.
     
  • 1.225, Big Robert TheTables (?), 16:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они так уже с TCP на OSI переходили, даже целый RFC наваяли, №1169 - с дедлайном август 1990го.
    В айти такое форсирование не работает.
     
     
  • 2.271, Аноним (-), 17:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В айти такое форсирование не работает.

    Работает, но не в контексте TCP.
    Просто на тендер не допустят часть фирм. А другие пройдут.
    Есть маленькая веротяность, что на тендер нитко не придет, но учитывая суммы - это очень-очень-очень маловерятно))

     

  • 1.275, Аноним (275), 17:32, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасного работающие с памятью.

    Теперь все стало понятно.

     
  • 1.284, Аноним (-), 17:45, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тот кто раньше писал что допилят C++ чтобы сделать безопасным и что будет такая идея был прав однако.
     
  • 1.290, Аноним (560), 17:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так других вариантов и нет. Бьёрн Страуструп абсолютно прав. Нужно допиливать инструменты.
     
     
  • 2.372, чатжпт (?), 19:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    его не допиливать нужно, а выкидывать, но жалко
     
     
  • 3.428, Аноним (560), 21:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    пилите редокс, шура, там золото... )))
     

  • 1.292, Аноним (292), 17:53, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > язык С++ уже содержит все возможности

    Нихрена он не содержит. Во-первых, о какой безопасности можно говорить без поддержки лайфтаймов в синтаксисе? А без явной связи мутекса с данными которые им синхронизируются? Сделайте хотя бы чтобы нельзя было обращаться к moved-from объектам, пока это вообще абсолютно легальное поведение.

     
     
  • 2.301, Аноним (32), 18:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.
     
     
  • 3.306, sena (ok), 18:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.

    Будут когда государство при закупке напишет в тендере, что софт должен компилироваться с этой опцией,

     
  • 2.457, Нуину (?), 00:27, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А без явной связи мутекса с данными которые им синхронизируются?

    1. GUARDED_BY
    2. Можно свою обертку написать по аналогии MutexGuard раста, например, folly/Synchronized.h

     

  • 1.354, Аноним (354), 19:07, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Rust это не только про безопасную работу с памятью, но и про оптимизацию работы с памятью. Получится ли в C++ при включении безопасного профиля автоматически применять __restrict к указателям?
     
     
  • 2.360, Аноним (360), 19:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +16 +/
    Допустим нет, не получится. Тогда получается, что раст отстой потому что в LLVM __restrict не будет применяться к уккзателям автоматически, а раст компилируется LLVM'ом.
     
     
  • 3.461, Аноним (-), 00:44, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В LLVM __restrict не будет применяться потому что его там нет, там есть атрибуты noalias,  nocapture и другие, которые использует Rust. Но ты слышал краем уха, что в rustc используется LLVM и на этом твои познания заканчиваются.
     
     
  • 4.531, Аноним (534), 10:29, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > там есть атрибуты noalias,  nocapture и другие, которые использует Rust

    Но зачем? Во имя чего? Почему божественный раст, позволяющий безопастно работать с памятью, использует (и  главное зависит!) от каких-то там аттрибутов в плюсовой дыряшке? А если из-за use-after-free или неицилиализированной переменной в LLVM, потом бинарник из LLVM-IR, который раст так старательно и безопастно в области работы с памятью генерировал,  получится с дыренью. Ты об этом подумал?!

     

  • 1.366, Аноним (560), 19:38, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А почему бы и в самом деле не реанимировать Паскаль? К нему претензий нет у Агентства по кибербезопасности и защите инфраструктуры США и ФБР.
    Паскаль приятнее ржавчины во всех отношениях.
     
     
  • 2.371, anguest (?), 19:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он никуда не девался, FreePascal потихоньку что то там пинают еще оставшиеся в живых олды. Сам пару лет назад делал один проект на нем и даже получилось лучше всех новомодных шляп. Но время идет.. теперь копаюсь в rust и go, так как ума не хватило осилить сборку проектов кhоме как в IDE паскаля. Если интересно покопать, CodeTyphon вам в помощью.
     
     
  • 3.374, Аноним (560), 19:56, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это лишь вопрос финансирования. На Паскале очень много всего написано, в отличие от Го и Раста. По любому далеко не всем понравится ковырятся в синтаксисе Раста, поэтому возрождение Дельфи - уже не звучит как шутка.
     
  • 2.373, Аноним (560), 19:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пруф: “Software Memory Safety” Cybersecurity Information Sheet
    https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_S

    Цитата: "Examples of memory safe language include Python®, Java®, C#, Go, Delphi/Object Pascal, Swift®, Ruby™, Rust®, and Ada"

    Лучший кандидат на замену Си++ - это Паскаль. На втором месте Го. Раст - это если уж совсем нет вариантов.

     
     
  • 3.487, Аноним (-), 05:19, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Набрасываешь на вентилятор. Из цитаты видно, что там перечислили языки программирования. Паскаль там не лучший, и не первый. Он просто в ряду языков.
     
  • 2.380, eugene_martein (ok), 20:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    interface type TCustomClass class FSomeOtherClass TSomeOtherClass... большой текст свёрнут, показать
     
  • 2.382, Ан Оним (?), 20:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Во Free Pascal'е нет интеллектуальных указателей, там всё должно быть написано явно и вручную, нет автоматизации. Он хорошо подходит для обучения основам программирования, но для фирм самое главное - скорость программирования и он не подходит, потому что вручную освобождать, нет функционального программирования, нет перегрузки операторов
     
     
  • 3.387, Аноним (560), 20:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда объясните мне почему в АНБ он объявлен безопасным?
     
     
  • 4.392, Ан Оним (?), 20:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    АНБ это сказала про Delphi, а в нём есть интеллектуальные указатели и много чего.
     
  • 3.394, Аноним (560), 20:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, он многословен, нет тех "ништяков" которые давно завезли в Си++. Мне Си++ тоже больше нравится.

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

    Тогда почему бы просто не выработать гайдлайн безопасного программирования на Си++ и его строго придерживаться?

    При чём тут язык вообще?

     
     
  • 4.397, Ан Оним (?), 20:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так я и говорю что дело не в языке, а в индустрии. В целях, в приоритетах.
     
  • 4.418, Facemaker (?), 21:12, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Тогда почему бы просто не выработать гайдлайн безопасного программирования на Си++ и его строго придерживаться?

    Офигеть как просто ☺. Сначала выучи Стандарт (ты не можешь быть квалифицированным C++-программистом, не зная Стандарт, ведь не можешь?). Потом выучи "гайдлайн безопасного программирования" такого же объёма. Ну, а потом просто программируй, не делая ошибок.

     
     
  • 5.420, Аноним (560), 21:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так Бьёрн Страуструп как раз и предлагает для этих целей инструментальное упрощение в виде профилей.
     
  • 5.491, Аноним (-), 05:32, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Офигеть как просто ☺. Сначала выучи Стандарт (ты не можешь быть квалифицированным C++-программистом, не зная Стандарт, ведь не можешь?). Потом выучи "гайдлайн

    Ты не прав. Прежде чем начать программировать, он должен 5 лет изучать математику. Уж потом "каунт хеловрот".

     
  • 3.444, нет ты (-), 22:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >нет функционального программирования

    В свежих делфях есть лямбды, дженерики и циклы на итераторах — самый минимум чтобы начать функциональное мракобесие в коде.

    Но вообще очень хорошо, что у паскаля слава процедурного и объектного языка. Он оазис чистоты подхода в мультипарадигменном болоте языков тащащих все самое модное без разбора. А функциональщина в целом это тупик — мозгового онанизма много, а практического смысла мало.

     
     
  • 4.450, Аноним (560), 23:28, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Но вообще очень хорошо, что у паскаля слава процедурного и объектного языка.
    > Он оазис чистоты подхода в мультипарадигменном болоте языков тащащих все самое
    > модное без разбора.

    Золотые слова.

    Язык для эффективного решения задач.

    А у Си++ был главный фейл: уродливое изобретение Саши Степанова - библиотека STL,  чрезменное увлечение шаблонным метапрограммированием по лунным заветам Александреску, куча многословных выражений, чего стоит постоянное std:: , постоянный оверинжениринг в проектах.

    Причесать Си++ до вменяемого вида вполне реально, но это уже будет не Modern C++ style.

     
     
  • 5.529, n00by (ok), 10:10, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, итераторы не всем понятны. Но зачем столько слов?
     

  • 1.395, Ан Оним (?), 20:28, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я поддерживаю Страуструпа, профили с отключением фич хоть чуть-чуть, но сделают программы надёжнее. Хотя ... проблема даже не в конкретном языке, а в индустрии.
     
  • 1.399, Аноним (433), 20:35, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пока не понятно, кто-нибудь может объяснить. То есть включаешь lifetime и двухсвязный список перестаёт билдится или будет некий unsafe режим?
     
     
  • 2.429, Аноним (384), 21:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это же не стандарт, это предложение Страуструпа. Он конечно в комитете сидит как почётный и пожизненный, но это одно из предложений. Аналогичных предложений уже штуки 3-4 было и по разным причинам их заворачивали, или отправляли на доработку. Это ещё около года будут обсуждать и может быть тоже завернут.

    Конкретно Страуструп сказал, что надо так:
    > Привязку к профилям можно задавать не только для проекта и файлов (например, "[[profile::enforce(type)]]"), но и включать/отключать на уровне отдельных конструкций (например, "[profile::suppress(lifetime))] this->succ = this->succ->succ;").

    Ну т.е. можешь отдельные инструкции пометить как "проверено, всё ок". Можешь для всего файла отключить, можешь для всего проекта отключить (а так по контексту новости - скорее "не включать").

     

  • 1.415, zeecape (ok), 20:53, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пока ещё не поздно всё это ввести, главное чтобы не тянули до последнего
    П.С: Даже если С++ умрёт, я всё равно буду его любить :heart:
     
  • 1.435, ZloySergant (ok), 21:59, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >(например, "[profile::suppress(lifetime))] this->succ = this->succ->succ;"

    И эти люди называют Common LISP нечитаемым?

     
     
  • 2.455, Нуину (?), 00:19, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Щас бы сранвивать язык с GC и без. CLS при этом во сколько раз медленней лучше озвучить для начала?
     
  • 2.530, n00by (ok), 10:15, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, я говорю, что у меня от однообразия скобочек в глазах рябит.
     

  • 1.437, warlock66613 (ok), 22:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > arithmetic - блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение

    Допустим мне нужно получить младший байт двухбайтового слова. И как это сделать без преобразований, изменяющих значение? Ну то есть да, я-то могу сообразить, что в static_cast<uint8_t>(x & 0xFF) приведение не изменяет значение, но как компилятор об этом догадается? А раз не догадается, то придётся писать [profile::suppress(arithmetic))]? Но тогда пропадает почти весь смысл затеи.

    Для сравнения в Rust это пишется как u8::try_from(x & 0xFF).unwrap() и если лажанул, будет паника.

     
     
  • 2.441, Аноним (384), 22:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Современный компилятор прекрасно знает, что "&0xFF" байт не превысит (если у тебя байт 8-битный).

    На delphi было так https://github.com/glprog/dcpcrypt_laz/blob/master/Hashes/dcpmd5.pas
    Обрати внимание на "{$R-}{$Q-}" это оно и есть.

     
     
  • 3.591, warlock66613 (ok), 20:57, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно. А особенно интересно как они будут это впихивать в стандарт. Одно дело — добрая воля компилятора, который хочу анализирую, не хочу — не анализирую, и совсем другое — описать анализ потока данных в стандарте.
     

  • 1.443, Ан Оним (?), 22:57, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Некоторые тут уже собрались хоронить С++, я скажу - подождите. Смотрите, есть компания Red Hat, она лидер в мире Linux-дистрибутивов, и она делает новую версию менеджера пакетов DNF 5 на С++ (не на Rust'е!) и переписывать его на Rust не собирается.
    https://github.com/rpm-software-management/dnf5

    Привязки для Python уже есть, для Perl и Ruby в разработке, а для Rust'а не только нет, но и не планируются даже. Так что старичку С++ ещё придётся помучатся ...

     
     
  • 2.454, Аноним (440), 00:16, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Некоторые тут уже собрались хоронить С++, я скажу - подождите. Смотрите, есть
    > компания Red Hat, она лидер в мире Linux-дистрибутивов,

    А есть компания гугл, которая делает AOSP, хромиум и хромось.
    И там раст во все поля.

    А еще есть амазон которая, и клоудфаря, которая конечно поменьше...

    > Привязки для Python уже есть, для Perl и Ruby в разработке, а для Rust'а не только нет, но и не планируются даже.

    Про "не планируется" это ты сам выдумал?

    > Так что старичку С++ ещё придётся помучатся ...

    И правда) Вместе с программерами.


     
     
  • 3.462, Аноним (462), 00:46, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы бы хотя бы статистику языков в перечисленных проектах на гитхабе посмотрели бы. Например, rust там в принципе нет. А это значит, что его там меньше 4%.
    Где во все поля? В фантазиях.
     
     
  • 4.469, Аноним (479), 01:59, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Rust, он такой он скрытный.
    Ты не видишь его на git хабе а он есть.
     

  • 1.445, Аноним (445), 23:06, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё, С++ спасен: https://www.reddit.com/r/cpp/comments/1j1lywn/release_of_the_c_memory_safety_m
     
     
  • 2.453, Аноним (560), 23:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я пару дней назад уже замечал в списках этот проект (https://github.com/rsashka/memsafe)

    Непонятно только почему так мало активности/популярности.

    Пока это только proof-of-concept, надо думать.

    Если нащупают решение, то это будет революция.

     
     
  • 3.501, Аноним (505), 07:34, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Уже Carbon делают, надо только подождать, затяните пояса.
     

  • 1.448, Аноним (448), 23:23, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тут, наверное, кто-нибудь уже пошутил про раннее зажигание насчёт первого апреля?
     

  • 1.486, Аноним (486), 05:12, 04/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Его имя – Бьярне Строуструп.

    https://www.stroustrup.com/bs_faq.html#pronounce

     
     
  • 2.488, Аноним (-), 05:23, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Теперь мы знаем, как его имя произносится на норвежском языке и английском языке.
     
     
  • 3.538, Аноним (540), 12:31, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он кстати датчанин, не норвежец
     
  • 2.499, Аноним (499), 07:15, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Устоявшееся в языке имя != правильное произносимое имя.
     
  • 2.536, Аноним (536), 11:58, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Его имя

    У нас в 8Д аналогичный случай был. В кабинете литературы висит "Вильям Шекспир", а в учебнике по литературе написано "Уильям Шекспир". Такие дела...

     
     
  • 3.580, Аноним (580), 18:30, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И ни один из вариантов не является правильным.
     
  • 2.615, Рагнар Лодброк (?), 15:42, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, его имя Бьёрн. Это мой сынуля.
     

  • 1.494, mos87 (ok), 06:43, 04/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    активиздов CISA прикрыли, может будут более адекватные идеи.
     
  • 1.575, Аноним (575), 16:34, 04/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Си++ за столько лет хорошо зарос гавном, в отличии от С
     
     
  • 2.576, Аноним (-), 16:41, 04/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Си++ за столько лет хорошо зарос авном, в отличии от С

    Который им был изначально (начиная с того цирка под названием стандартизация)))
    Все таки не зря бедный автор ругал комитетчиков, которые сотворили такое, на чем писать нормально невозможно.


     
     
  • 3.623, Совершенно другой аноним (?), 16:27, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Си++ за столько лет хорошо зарос авном, в отличии от С
    > Который им был изначально (начиная с того цирка под названием стандартизация)))
    > Все таки не зря бедный автор ругал комитетчиков, которые сотворили такое, на
    > чем писать нормально невозможно.

    https://www.stroustrup.com/From-C-to-Cpp-dmr.pdf

    про комитет:

    The upshot is that I think they did a good job. Certainly, though, if I'd continued to work on things, some of the details would have been different.

    ...

    So, to summarize X3J11, the two largest things the committee did were function prototypes and the standardization of the library. It was more work than anybody expected, but I'm perfectly happy with what they did.

     
     
  • 4.625, анонимусс (-), 17:39, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Речь была про С и Ритчи.
    То что Бьйорни не будет ругать комитет в котором ему дали пожизненное место - это понятно.

     
     
  • 5.626, Совершенно другой аноним (?), 18:36, 05/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Речь была про С и Ритчи.
    > То что Бьйорни не будет ругать комитет в котором ему дали пожизненное
    > место - это понятно.

    Вообще-то это интервью Ритчи.

    И да, там он ругался на "no alias" и в стандарт этот "no alias" не приняли. Ещё ругался на прототипы функций, точнее, как я понимаю, на то, что оставили и старый вариант и новый. И тоже, его пожелание как-то учли.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру