URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 136702
[ Назад ]

Исходное сообщение
"Релиз набора компиляторов GCC 15"

Отправлено opennews , 25-Апр-25 22:42 
После года разработки опубликован релиз свободного набора компиляторов GCC 15.1, первый значительный выпуск в новой ветке GCC 15.x. В соответствии со схемой нумерации выпусков, версия 15.0 использовалась в процессе разработки, а незадолго до выхода GCC 15.1 уже ответвилась ветка GCC 16.0, на базе которой будет сформирован следующий значительный релиз GCC 16.1...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63141


Содержание

Сообщения в этом обсуждении
"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 22:42 
А по выходам за границы там как? Может для этого какой-то стандарт?

"Релиз набора компиляторов GCC 15"
Отправлено Граница на замке , 25-Апр-25 23:06 
Конечно есть стандарт называеться .at(index) в любой std

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 09:37 
>" А по выходам за границы там как? Может для этого какой-то стандарт? "

Называется си с плюсами)))


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 22:46 
Слушайте, а что с GNU Pascal случилось? Почему компилятор никак не развивается? Почему всякое непотребство типа Modula-2 (вообще кто-то слышал что то об этом языке?) или Objective-C поддерживаются, а Паскаль нет?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:07 
почти все одиночки сидят на freepascal + lazarus, в некоторых корпорациях еще Delphi используется, но там лицензия от 3500 $


GNU Pascal как бы не нужен никому


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:16 
Delphi много где используется в бизнес сегменте (не путать с серверами и ынтерпрайзом). А вот free pascal редкостное днище, которое даже до турбопаскаля 90-х не дотягивает даже по качеству документации, впечатление что сделано тяп-ляп неорганизованной толпой людей.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:18 
Delphi — это такой же паскаль, как Visaul Basic по сравнению с изначальным бейсиком.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:23 
Не уверен, что до сих пор где-то что-то живо написанное на обычном бейсике, а вот visual basic 6 живее всех живых, в том же бизнесе или в производственной среде. По крайней мере, vb6 скорее жив, чем мёртв.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 08:09 
И в этом плане тоже.

"Релиз набора компиляторов GCC 15"
Отправлено Смузихлеб забывший пароль , 26-Апр-25 12:44 
если какое-то древнее барахло кто-то как-то допиливает чтобы хоть как-то продолжало работать ибо денег сделать новое нет - это не значит что оно живее всех живых

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:13 
Вот когда работает и не трогают, потому что оно работает — в результате деньги и есть.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:17 
Просто умные люди не переписывают софт ради переписывания. Есть задача, она выполняется. Хотя кто-то и телефоны покупает каждый год, обогащая корпорастов.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:24 
Покупка телефона тоже решает некоторые задачи, просто у бизнеса задачи другие.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:44 
Дельфи и живёт в бизнесе потому что у него есть коммерческая поддержка. В гнутом виде никому не необходим.

"Релиз набора компиляторов GCC 15"
Отправлено Смузихлеб забывший пароль , 26-Апр-25 12:43 
делфи там живёт, т.к в своё время был весьма популярен и на нём много всего было сделано, что не желающие тратить лишнюю копейку предпочитают поддерживать и допиливать кое-как нежели разработать новый продукт на новых технологиях

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 01:30 
> Слушайте, а что с GNU Pascal случилось?

Пpoтуxло, зaвoнялoсь и испортилось, как и весь Пaскaль. На нём даже в шкoлaх никто уже не пишет. Место этому языку на пoмoйкe. Даже пoкoйный Niklaus Wirth сделал ставку на Обepoн, а не на Пaскaль.


"Релиз набора компиляторов GCC 15"
Отправлено MinimumProfit , 26-Апр-25 16:43 
Ну не совсем на помойке, скорее в зале славы музея. Канонический Pascal - это история, язык-демонстрация технологии структурного программирования, технология, которая вывела из кризиса  индустрию программирования в 70-х годах.

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

Oberon - это уже другое время, другие компьютеры, другие технологии.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 16:28 
Ну не совсем. Оберон это современное состояние оригинального Паскаля, от создателя (Никлауса Вирта).

Паскаль (p-код, виртуальная машина) - -> Модула --> Модула-2 --> Оберон --> Оберон-2. На самом деле это всё один Паскаль. Никлаус Вирт мог бы как американцы писать Стандарт-1, Стандарт-2 и т.д.


"Релиз набора компиляторов GCC 15"
Отправлено MinimumProfit , 26-Апр-25 16:46 
Давайте посмотрим на последний рейтинг Tiobe (https://www.tiobe.com/tiobe-index/)

В нём Delphi/Pascal за год поднялся с 11-го места на 9-е по популярности, между прочим обойдя PHP, Ada, Rust.


"Релиз набора компиляторов GCC 15"
Отправлено анонд , 26-Апр-25 20:40 
а в вот PYPL (рейтинг tutorials) показывает что Ada впереди
29 Deplhi/Pascal, 15 Ada и неожиданно 8 Rust
TIOBE отражает интерес к языкам, но не их использование

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:11 
Спрос на спецов по Ada сейчас действительно приподнялся за счёт развёртывания оборонного заказа в США и в странах НАТО (кстати догадайтесь по ком звенит колокол).

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 16:08 
Единственно верную статистику показывает только TIOBE.

"Релиз набора компиляторов GCC 15"
Отправлено 12yoexpert , 27-Апр-25 17:07 
растом пользуется полтора землекопа, жертвы маркетинга, его сложно не обойти

"Релиз набора компиляторов GCC 15"
Отправлено анонд , 26-Апр-25 20:36 
ха-ха нет. В C++ до сих завозят модули:(, а в Pascal-е оно было всегда

"Релиз набора компиляторов GCC 15"
Отправлено анонд , 26-Апр-25 20:44 
модули то есть, а поддержки в библиотеках нет и в CMake стандартно не поддерживаются - больше пяти лет уже прошло как было объявлено и принято в стандарт C++20

"Релиз набора компиляторов GCC 15"
Отправлено Маняним , 26-Апр-25 03:07 
> Modula-2 (вообще кто-то слышал что то об этом языке?)

Так это и есть улучшенная версия паскаля)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 10:47 
>Почему компилятор никак не развивается?

А что тебе не хватает в гну-паскале?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:21 
> всякое непотребство типа Modula-2 (вообще кто-то слышал что то об этом языке?)

По этому, как вы изволили выразиться, "непотребству" книхку издавались ещё до появления интернетов.


"Релиз набора компиляторов GCC 15"
Отправлено MinimumProfit , 26-Апр-25 16:32 
GNU Pascal заглох, потому что не было фреймворков и библиотек для него, а для Free Pascal'я - есть, Lazarus, QtPas и много всяких на github.

"Релиз набора компиляторов GCC 15"
Отправлено BeLord , 28-Апр-25 15:52 
Чем вам Модула-2 не угодила, хороший язык для своего времени был. Используется до сих пор в сферах, где свисто-перделки не нужны.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:02 
> Поддержка указания диапазонов целых значений в выражениях "case"

Скоро так и Паскаль догонят!


"Релиз набора компиляторов GCC 15"
Отправлено Маняним , 26-Апр-25 02:48 
Как язык паскаль возможно лучшее что создано. Но то что он ушёл в обучение сыграло злую шутку.

"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 08:21 
>Как язык паскаль возможно лучшее что создано.

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

Он был создан для обучения. А то что он ушёл в реальную разработку — ошибка.


"Релиз набора компиляторов GCC 15"
Отправлено User , 26-Апр-25 11:48 
В юникоде столько закорючек, а они английские слова используют, н-негодяи!

"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 12:12 
Дело не в английских словах. Мы используем латиницу и эллиницу в математике и физике, и даже в Таблице Менделеева. И в программировании это тоже не плохо.

А плохо чрезмерное загрязнение ЯП ненужными словами.

С точки зрения живого языка then нужен для if, но с точки зрения формального языка — нет. Ведь Паскаль не брезгует символом + для обозначения сложения, а для матлогики зачем-то понадобились слова.

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

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


"Релиз набора компиляторов GCC 15"
Отправлено User , 26-Апр-25 15:08 
(&(рефлекторно)(лиспанул))
Что значит "загрязнение" и "ненужными"? Во те ещё времена действовал лозунг "программирование - вторая грамотность!" и предполагалось, что этот самый кот (которого ещё и порядково меньше было) будут читать и писать не специально обученные машинисты, ой, "программисты" - а вот конечные пользователи, желающие добиться от железки чего-нибудь полезного. В этом плане максимальная близость к естественноиу языку и минимальная неожиданность считалась благом.
Наивнве были дiды, да. Кто только на эти грабли не наступал - от sql до 1с в результате пользователям всё, окромя чятжпт "сложна!", а программисты готовы любые закорюки учить, лишь бы "ни как у магглов!", ага.
Сейчас и вовсе - зайлайтинг-фолдинг-форматтеры-линтеры почти что угодно читаемым делают.

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


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 15:24 
>Что значит "загрязнение" и "ненужными"? Во те ещё времена действовал лозунг "программирование - вторая грамотность!" и предполагалось, что этот самый кот (которого ещё и порядково меньше было) будут читать и писать не специально обученные машинисты, ой, "программисты" - а вот конечные пользователи, желающие добиться от железки чего-нибудь полезного.

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

>В этом плане максимальная близость к естественноиу языку и минимальная неожиданность считалась благом

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


"Релиз набора компиляторов GCC 15"
Отправлено User , 27-Апр-25 15:46 
>>Что значит "загрязнение" и "ненужными"? Во те ещё времена действовал лозунг "программирование - вторая грамотность!" и предполагалось, что этот самый кот (которого ещё и порядково меньше было) будут читать и писать не специально обученные машинисты, ой, "программисты" - а вот конечные пользователи, желающие добиться от железки чего-нибудь полезного.
> Ну теперь мы видим насколько это тупиковый подход и почему Паскаль плох.

Ну вот сейчас мы видим, как плох Си и насколько велики размеры тупика, ага?
А на тот момент, когда остроконечники побеждали тупоконечников это было, мягко говоря, не очевидно.
И да, выиграли сишники не по причине "близости к истине изначальной концепции переносимого ассемблера" - а из-за того, что паскаль требовал от пользователя чуть-чуть, капельку, малость больше дисциплины. Ну-там, отделять интерфейс от реализации, объявлять переменные не методом "под себя" - а делать это в специально отведенном месте, не кастить все, что попало к *void и т.д. - а на такое ущемление свободов творческие личности пойтить никак не могли. Ну и при наличии определенного преимущества в эффективности (Вах! Пустая форма на делфи занимает 300кб, а-за-за! Нонешняя Go'шечка: "подержи мое пиво!") результат был немного предсказуем, а синтаксис тут если и "причем" то в очень и очень малой степени.

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

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

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

И это тоже очевидная сейчас ошибка. "Язык программирования" _сейчас_ примерно вообще, полностью, вдребезги-напополам не про математику. Совсем. Если брать по объему написанного - он про рисование формочек и перекладывание жисонов по сети, математики там на уровне "свернул проволоку интегралом и достал из унитаза потерю".


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 27-Апр-25 20:37 
>И да, выиграли сишники не по причине "близости к истине изначальной концепции переносимого ассемблера" - а из-за того, что паскаль требовал от пользователя чуть-чуть, капельку, малость больше дисциплины.

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

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

«Мы» — это кто? Я познакомился с Си/Си++ после Паскаля, и не хочу возвращаться обратно. Для меня синтаксис Си — это наоборот преимущество. Исключая некоторые моменты (например дробное и целое деление).

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

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


"Релиз набора компиляторов GCC 15"
Отправлено User , 28-Апр-25 07:29 
>>Нет. Си-подобный синтаксис это то, что мы получили "в нагрузку" вместе с Си. Сам по себе он плох, но привычен настолько, что в типовую голову мысль, "А что, можно как-то по-другому?!"
> «Мы» — это кто? Я познакомился с Си/Си++ после Паскаля, и не
> хочу возвращаться обратно. Для меня синтаксис Си — это наоборот преимущество.
> Исключая некоторые моменты (например дробное и целое деление).

Ну, для меня это что-то из разряда "пишем рецепты на латыни и читаем молитвы на церковнославянском". После *цати лет церковно-приходской оно уже так удобно-удобно, что аж и не замечаешь. Зато со стороны смотришь - о-о-оо! Ваааау! Поди что-то сложное делает - простому человеку и не понять...

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

Ну хорошо бы конечно чтобы "да" - но для того, чтобы ездить на автомобиле _уже_ не надо быть автомехаником и понимать, как что устроено - просто садишься - и едешь, никаких сакральных знаний. А еще в середине прошлого века шофер вааа! большой человек, это ж СТОЛЬКО знать надо - одним сцеплением без синхронизации пользоваться, чуть не вовремя двойной выжим сделал - и привет...


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 21:06 
>Ну, для меня это что-то из разряда "пишем рецепты на латыни и читаем молитвы на церковнославянском"

Продолжим вашу цепочку: «программируем на английском». За что я и пинаю Паскаль: слова вместо символов.

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

Знание физики и устройства автомобиля всё же даёт преимущество в мастерстве управления и оптимизации износа. Плюс не забываем что мастерство позволяет достичь лучшей результативности и меньшей требовательности к аппаратным ресурсам (например можно экономить на АКП).


"Релиз набора компиляторов GCC 15"
Отправлено User , 28-Апр-25 21:36 
>>Ну, для меня это что-то из разряда "пишем рецепты на латыни и читаем молитвы на церковнославянском"
> Продолжим вашу цепочку: «программируем на английском». За что я и пинаю Паскаль:
> слова вместо символов.

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

>>Ну хорошо бы конечно чтобы "да" - но для того, чтобы ездить на автомобиле _уже_ не надо быть автомехаником и понимать, как что устроено - просто садишься - и едешь, никаких сакральных знаний.
> Знание физики и устройства автомобиля всё же даёт преимущество в мастерстве управления
> и оптимизации износа. Плюс не забываем что мастерство позволяет достичь лучшей
> результативности и меньшей требовательности к аппаратным ресурсам (например можно экономить
> на АКП).

Но в реальности всем настолько пофиг, что просто пофиг. Жизнь, по слухам - одна, и тратить её на 0,5% эффективности в очень узкой области... Б-жечки-кошечки, зачем? Рыночек порешал, в общем - порешает и тут.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 29-Апр-25 04:20 
>Тут не в "словах"\"символах" дело, а в искусственном использовании отдельного языка для отделения себя от всех остальных с искусственным же обоснованием важности-и-нужности такого решения. Впрочем, врачи обычно не рассказывают, что рецепты на латыни действуют лучше - да и попы про то, что боженька окромя церковнославянского языков не разумеет - зачесывают не все.

ЯП настолько же искусственны, насколько искусственна сама техника. Не нравится язык техники — не надо её использовать.

>Но в реальности всем настолько пофиг, что просто пофиг. Жизнь, по слухам - одна, и тратить её на 0,5% эффективности в очень узкой области... Б-жечки-кошечки, зачем? Рыночек порешал, в общем - порешает и тут.

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

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

А в итоге благодаря таким вот «оптимизациям» деградируют специалисты при прогрессе техники, хотя комментарием ниже вы призывали к обратному.

Грустно это.


"Релиз набора компиляторов GCC 15"
Отправлено User , 29-Апр-25 06:29 
>>Тут не в "словах"\"символах" дело, а в искусственном использовании отдельного языка для отделения себя от всех остальных с искусственным же обоснованием важности-и-нужности такого решения. Впрочем, врачи обычно не рассказывают, что рецепты на латыни действуют лучше - да и попы про то, что боженька окромя церковнославянского языков не разумеет - зачесывают не все.
> ЯП настолько же искусственны, насколько искусственна сама техника. Не нравится язык техники
> — не надо её использовать.

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

>>Но в реальности всем настолько пофиг, что просто пофиг. Жизнь, по слухам - одна, и тратить её на 0,5% эффективности в очень узкой области... Б-жечки-кошечки, зачем? Рыночек порешал, в общем - порешает и тут.
> Ну потому и имеем тормозящие и жрущие память и батарею приложения. Потому
> что корпорациям плевать на экономию ваших ресурсов, им важно деньги зарабатывать.
> Это не нормально, когда приложения банков весят под 100 мегабайт, но вы
> схаваете, ведь жизнь у хозяина банка одна и не барское дело
> — экономить ресурсы холопов.

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

> А в итоге благодаря таким вот «оптимизациям» деградируют специалисты при прогрессе
> техники, хотя комментарием ниже вы призывали к обратному.
> Грустно это.

Да не деградируют, Господи. Решают другие задачи. Мы в институте вот считали ветровую нагрузку на элементы фасада - ручками Вот. Сейчас это делает cad автоматически - стали ли архитекторы хуже? А если учесть, что то, что в СССР делало проектное бюро человек на 200 сейчас делают 5-7?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 29-Апр-25 13:57 
> Мы в институте вот считали ветровую нагрузку на элементы фасада - ручками Вот. Сейчас это делает cad автоматически

Есть только одна проблема. Те архитекторы, которые не в курсе, что на этот параметр надо обращать внимание


"Релиз набора компиляторов GCC 15"
Отправлено User , 29-Апр-25 17:14 
>> Мы в институте вот считали ветровую нагрузку на элементы фасада - ручками Вот. Сейчас это делает cad автоматически
> Есть только одна проблема. Те архитекторы, которые не в курсе, что на
> этот параметр надо обращать внимание

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


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 29-Апр-25 22:44 
>Вы это 0 и 1 написали, надеюсь? Все остальное - не "язык техники", а язык т-пых кожаных мешков, ниасиливших настоящую речь. Плохой техножрец, негодный - фу таким быть!

К чему эти кривляния?

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

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

>Да не деградируют, Господи.

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:16 
> ненужными словами

Да ты ещё язык Ada не видел. Кстати моё мнение, что слова гораздо лучше закорючек сишных, более наглядно. Тем более ты их целиком не пишешь, за тебя их вставляет твоя IDEшка.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 15:28 
>что слова гораздо лучше закорючек сишных, более наглядно

Я уже писал выше.

1. Если слова лучше, то откажитесь от использования математических знаков: они тоже закорючки. Будьте последовательны до конца.
2. Слова воспринимаются как команды. Без begin и end код смотрится лучше (субъективно, конечно же). Чем меньше служебных слов, тем лучше.


"Релиз набора компиляторов GCC 15"
Отправлено MinimumProfit , 26-Апр-25 16:58 
Математическая нотация с её минимализмом ненадёжна (где-то поставил лишнюю точку над символом или шрих - и ошибка), а языки программирования разрабатывают с оглядкой на надёжность, поэтому в синтаксисе и ключевых словах присутствует избыточность (это как код Рида-Соломона или Витерби). Поэтому не "  ^T  ", а "pointer to T"

"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 20:28 
Неужели я так сложно выражаю мысли?

Ведь если

>Поэтому не "  ^T  ", а "pointer to T"

то тогда логично что

>не 2 + 3, а 2 add 3, а лучше sum(2, 3)

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


"Релиз набора компиляторов GCC 15"
Отправлено Ан Оним , 26-Апр-25 21:33 
Мысли выражаете понятно. Только это не про линейку виртовских языков. Вы говорите что человеку быстрее и понятнее минимизированный Сишный синтаксис - я с этим согласен, да и все согласны. Но Вирт и Эшбиа создавали свои языки не чтобы программисту было легче читать, а чтобы случайно не сделать ошибку при наборе. Отсюда многословность и неуклюжесть конструкций.

Делать sum(2,3) вместо 2+3 нет смысла, так как если случайно напишем 2++3 то эта ошибка сразу же отловится компилятором. А вот ^^T - не отловится. Поэтому pointer to T.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 21:56 
Ну и рыночек сделал выбор: эти творения на свалке.

>2+3 нет смысла, так как если случайно напишем 2++3

А если наберём 22+3 — то не отловится. Это выдуманный пример.


"Релиз набора компиляторов GCC 15"
Отправлено Ан Оним , 26-Апр-25 22:11 
>рыночек сделал выбор

Правильно заметили. Рынку не нужны языки повышенной надёжности, как Modula-2, Oberon, Ada. У них другая область применения.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 26-Апр-25 22:17 
Я не вижу тут повышенной надёжности. Это выдуманный пример.

А вот более компактный код повышает читабельность, а вместе с ней и скорость восприятия написанного. Это влияет на работу. В отличие от мнимой надёжности слов.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:21 
> Рынку

Так всё верно. Рынку нужны языки с минимальным порогом входа, чтобы можно было привлечь "специалистов" без профильного образования после курсов :-)


"Релиз набора компиляторов GCC 15"
Отправлено User , 27-Апр-25 15:49 
>>что слова гораздо лучше закорючек сишных, более наглядно
> Я уже писал выше.
> 1. Если слова лучше, то откажитесь от использования математических знаков: они тоже
> закорючки. Будьте последовательны до конца.
> 2. Слова воспринимаются как команды. Без begin и end код смотрится лучше
> (субъективно, конечно же). Чем меньше служебных слов, тем лучше.

Так этот тезис в обе стороны действует - что ж вы книжки закорючками не пишете? Это ж сколько места можно съэкономить, заменив аж целое слово на какую-нибудь скобочку? Но чот иероглифическое письмо людям en masse как-то не зашло, а те, кому когда-то "зашло" сейчас старательно не знают, как от него избавиться...


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 12:10 
Всему своё место.
Шахматная нотация удобнее для записи партий, чем описательная (которая была в средневековье).
Химические формулы удобнее, чем описание реакций.
В математике и физике то же самое.
И в программировании, которое тоже суть математика, так должно быть. Слова в программировании — это для переменных/функций/классов, а остальное либо максимально коротко, либо знаками.

"Релиз набора компиляторов GCC 15"
Отправлено User , 28-Апр-25 12:26 
> Всему своё место.
> Шахматная нотация удобнее для записи партий, чем описательная (которая была в средневековье).
> Химические формулы удобнее, чем описание реакций.
> В математике и физике то же самое.
> И в программировании, которое тоже суть математика, так должно быть. Слова в
> программировании — это для переменных/функций/классов, а остальное либо максимально
> коротко, либо знаками.

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


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 15:53 
Программирование и есть математика: жёсткая формализация, и никакого отклонения от стандартов языка. Никакому живому языку (даже английскому) такая формализация и не снилась.

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

Я приведу простой пример. Дана задача: определить являются ли два числа положительными.
С точки зрения математики пишем так:

> (a > 0) И (b > 0)

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

> a И b > 0

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


"Релиз набора компиляторов GCC 15"
Отправлено User , 28-Апр-25 21:39 
>[оверквотинг удален]
> Вы объясняете компьютеру то, что вы от него хотите языком математики.
> Я приведу простой пример. Дана задача: определить являются ли два числа положительными.
> С точки зрения математики пишем так:
>> (a > 0) И (b > 0)
> Однако многие, я бы сказал что большинство учеников, изучающих тему, пишут такое:
>> a И b > 0
> И чем младше ученик, тем вероятнее он это напишет, потому что ссылается
> на свой опыт использования живого языка. Именно поэтому я считаю использование
> слов вместо знаков действия вредным, ибо надо различать союз, как часть
> речи и математическое действие. Именно в этом Вирт обделался.

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


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 29-Апр-25 04:12 
>Это повод компьютеры делать умнее, а не людей - тупее под потребности железки.

Делать компьютер умнее == делать людей тупее! Чем умнее становится вычислительная техника => тем ниже порог вхождения => тем тупее становится средний пользователь.


"Релиз набора компиляторов GCC 15"
Отправлено User , 29-Апр-25 06:22 
>>Это повод компьютеры делать умнее, а не людей - тупее под потребности железки.
> Делать компьютер умнее == делать людей тупее! Чем умнее становится вычислительная техника
> => тем ниже порог вхождения => тем тупее становится средний пользователь.

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


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 29-Апр-25 22:48 
>Компьютер для человеков, а не специально обученные человеки для компьютеров.

Речь шла о программистах, а не о пользователях. Когда программист не понимает как работает железо — это и есть профнепрегодность.

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 17:54 
Забыл ещё implementation секцию! :)) А то вдруг прогеру скучно менять только одо место - пусть попрыгает по листингу и поменяет декларации! :)

"Релиз набора компиляторов GCC 15"
Отправлено _kp , 27-Апр-25 03:32 
Там и другие секции есть ;)
Это же модуль описывается, а не файл с набором чего то.
Хотя, двойное переписывание ручками, это точно пережиток прошлого.

"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:15 
Даже тупо набивать все эти begin end тупо напрягает, куда короче и быстрее {}, не говоря уже о всяких извратов типа array of integer

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:20 
> Даже тупо набивать все эти begin end тупо напрягает, куда короче и быстрее {}

Для вас лапчатых есть язык, где можно эмодзи натапать.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 13:48 
>> Даже тупо набивать все эти begin end тупо напрягает, куда короче и быстрее {}
> Для вас лапчатых есть язык, где можно эмодзи натапать.

Их наверное даже на ассемблере можно натапать. Ккак и в любом ЯП умеющем в консоль плеваться. Консоли нынче обычно юникодные.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 11:00 
> использование гадких begin и end вместо вменяемых скобок

У тебя проблемы, дружище.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 21:57 
>В юникоде столько закорючек, а они английские слова используют, н-негодяи!

Так, вроде, появился язык, где вместо ключевых слов эмодзи.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 17:53 
+1. Паскаль испортило, как это ни смешно, begin-end. Если всякие "остатки от деления" используются дай бог в 1% программ, то begin-end - сплошь и рядом. И если вместо чтения названий функций тебе приходится ещё и читать бегины-енды, это просто катастрофа, даже если они подсвечены.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:33 
Интересно, я один такой, что мне что begin-end, что {} — фиолетово? Споры тупоконечников с остроконечниками какие-то, честное слово.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 11:03 
Не один.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:10 
> Интересно, я один такой, что мне что begin-end, что {} — фиолетово? Споры
> тупоконечников с остроконечниками какие-то, честное слово.

А мне не фиолетово. Ибо
1) Быстрее печатать. Даже с автодополнением в IDE/редакторах - обычно надо нажать несколько клавиш. Или это автодополнение периодически будет прикалываться и мешаться.
2) Визуальный мусор. Скобки визуально хорошо выделяют


{
    блок кода
}

С другой стороны


BEGIN
END

...извините тупо разной длины и как именно БЛОК КОДА это воспринимается ХУЖЕ. Т.е. факап юзабилити. А, занудам академикам про это не рассказывали.

"Релиз набора компиляторов GCC 15"
Отправлено User , 27-Апр-25 16:02 
Вот казалось бы 21 век уже - а поди ж ты не всем кодерам рассказали, что код читается чаще, чем пишется и что основные затраты несутся на фазе поддержки программного продукта, а не при его разработке... бедолаги все еще уверены, что количество их клатц-клатц по клавиатуре хоть в какой-то степени хоть кого-то интересует.

И да, BEGIN\END появились несколько раньше чем IDE с хайлатингом\фолдингом блоков кода, прикинь? И да, без этого вот всего глазом при чтении с плохонького монитора это прям ОФИГЕТЬ, как лучше чем )}(} - особенно с учетом того, что авторформат кода появился так же несколько позднее - да и при его наличии находятся мм-ммм... любители накласть в одну строчку съэкономив клатц-клатц.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 06:42 
Да не думал никто о плохих мониторах. Тогда и шрифты были моноширинными, и разрешение экрана было невысокое, и всё было видно неплохо. Хватит сказки придумывать.

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

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


"Релиз набора компиляторов GCC 15"
Отправлено User , 28-Апр-25 07:15 
> Да не думал никто о плохих мониторах. Тогда и шрифты были моноширинными,
> и разрешение экрана было невысокое, и всё было видно неплохо. Хватит
> сказки придумывать.

Оу. Вы обладателю аквариума об 256 оттенков зеленого это будете рассказывать? Нет, может конечно лет на 20 раньше оно прям сильно лучше было, а к середине 90х испортилось, не знаю - 8К-HDR-WAYLAND by Никлас Вирт не застал. Но сейчас мне прям напрягаться приходится, чтобы понять, где какая )}))})

>>Вот казалось бы 21 век уже - а поди ж ты не всем кодерам рассказали, что код читается чаще, чем пишется и что основные затраты несутся на фазе поддержки программного продукта, а не при его разработке...
> И именно поэтому операторная скобка не должна выглядеть как оператор. Хватит хвататься
> за парадигмы 20-го века.

Действительно. Человеки с той поры НАСТОЛЬКО эволюционировали что устаревшие парадигмы необходимо отбросить. Синтаксис начала 70х годов прошлого века, например, ага.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 12:14 
>Оу. Вы обладателю аквариума об 256 оттенков зеленого это будете рассказывать?

БК 0010 — четыре цвета. Всё выглядело нормально. Любая точка была видна (хоть и выбор был только из бейсика).

>Человеки с той поры НАСТОЛЬКО эволюционировали что устаревшие парадигмы необходимо отбросить.

Необходимо отбросить парадигмы устаревшего оборудования.
Да и жить парадигмами начала создания ЯП (когда ЯП приближали к живым языкам) тоже пора перестать. Иначе придётся признать что лучше Кобола нет ничего.


"Релиз набора компиляторов GCC 15"
Отправлено User , 28-Апр-25 12:34 
>>Оу. Вы обладателю аквариума об 256 оттенков зеленого это будете рассказывать?
> БК 0010 — четыре цвета. Всё выглядело нормально. Любая точка была видна
> (хоть и выбор был только из бейсика).

Только глаза от моих 320*240 через три часа вытекать начинали, ага.

>>Человеки с той поры НАСТОЛЬКО эволюционировали что устаревшие парадигмы необходимо отбросить.
> Необходимо отбросить парадигмы устаревшего оборудования.
> Да и жить парадигмами начала создания ЯП (когда ЯП приближали к живым
> языкам) тоже пора перестать. Иначе придётся признать что лучше Кобола нет
> ничего.

Ну, популярность chatgpt с постепенным переходом к "программированию-по-постановке" немножко как бы намекает, да? Компьютеры - все ж таки для человеков, а не техножрецы для компьютеров.


"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 15:58 
>Только глаза от моих 320*240 через три часа вытекать начинали, ага.

Только говорил я о «не видно», а не о «кайфово было».

>Ну, популярность chatgpt с постепенным переходом к "программированию-по-постановке" немножко как бы намекает, да?

Возможно. Только когда этот чат будет делать не то, что от него просят кто будет разбираться? Те самые техножрецы. Всегда будет актуальна полная цепочка понимания знаний от n-p-перехода до оконной формы. И чем ниже уровень понимания (ниже в плане абстрагирования) — тем более востребован специалист.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 18:28 
Для тебя реально в написании кода скорость набора узкое место?

"Релиз набора компиляторов GCC 15"
Отправлено anonymous , 27-Апр-25 18:56 
Именно поэтому в Modula-2 begin-end существенно меньше. Пример с IF:
IF Условие THEN
  Операторы
ELSIF Условие THEN
  Операторы
ELSIF Условие THEN
  Операторы
...
ELSE
  Операторы
END

"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 06:43 
Т.е. стали использоваться разные операторные скобки для разных случаев. Бейсик передаёт привет. Это просто ужасный пример.

"Релиз набора компиляторов GCC 15"
Отправлено анонд , 28-Апр-25 11:11 
ха-ха. Посчитайте пробелы-табы в Питоне. begin...end дело привычки. Вот в Ada вообще к end добавляется имя функции и это наглядно :)

procedure Main is
   A, B : Integer := 0;
   C    : Integer := 100;
   D    : Integer;
begin
   A := A + 1;

   D := A + B + C;
end Main;

подобное объявление типов используется в TypeScript, Kotlin и Go отчасти как и оператор :=


"Релиз набора компиляторов GCC 15"
Отправлено ilowry , 26-Апр-25 20:14 
begin/end, если они не расположены в одной строке, а на разных, "читать" не надо. Они короткие, и воспринимаются целиком за одну фиксацию.

"Релиз набора компиляторов GCC 15"
Отправлено Гром , 28-Апр-25 16:28 
Бред сивой кобылы

"Релиз набора компиляторов GCC 15"
Отправлено Ан Оним , 26-Апр-25 21:37 
for x in xset
do begin
  траляля

end;

вроде не сильно мешает


"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:19 
Их еще набивать нужно. Лишний напряг даже с IDE, потому что IDE разные бывают и помнить все сочетания клавиш у разных IDE - тоже лишний напряг.

"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 02:14 
Сильно мешает, особенно когда у тебя программа на миллион строк. Тебе сказали уже выше об этом!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:19 
Программы на миллион строк никто вручную не набивает без использования IDE с автоматической подстановкой слов.

"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 17:19 
Для набора { или } никакая автоподстановка не нужна вообще. Почувствуйте разницу!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 05:02 
Да что уж там, сразу на миллиард. И всё пилит один человек.

"Релиз набора компиляторов GCC 15"
Отправлено User , 27-Апр-25 07:30 
> Да что уж там, сразу на миллиард. И всё пилит один человек.

В одном файле! В блокноте!


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 28-Апр-25 12:43 
В блокноте с уапрвлением в стиле vim.

"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 17:21 
Какая наxрен разница, сколько человек пилит. Если вместо 5 символов в "begin" достаточно одного "{", то это явно недоработка языка (Pascal). Не надо быть гением, чтобы это понять. Даже ежу это понятно!

"Релиз набора компиляторов GCC 15"
Отправлено User , 27-Апр-25 18:32 
> Какая наxрен разница, сколько человек пилит. Если вместо 5 символов в "begin"
> достаточно одного "{", то это явно недоработка языка (Pascal). Не надо
> быть гением, чтобы это понять. Даже ежу это понятно!

Вы поди из тех, кто все переменные одной буквой называет?


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 19:21 
Нормально называю, но люблю короткие, понятные и лаконичные имена, т.к. с длинными код получается абсолютно нечитаемым.
И да, использую всякие
typedef int32_t i32
чтобы вместо всяких int32_t и т.п. использовать короткие i32 и т.п. Код получается короче и намного легче воспринимается.

"Релиз набора компиляторов GCC 15"
Отправлено User , 27-Апр-25 19:36 
> Нормально называю, но люблю короткие, понятные и лаконичные имена, т.к. с длинными
> код получается абсолютно нечитаемым.
> И да, использую всякие
> typedef int32_t i32
> чтобы вместо всяких int32_t и т.п. использовать короткие i32 и т.п. Код
> получается короче и намного легче воспринимается.

Не-не, такой "Hello, world!" нам не нужен...


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 23:45 
Разумеется, каждому своё. Тебе ещё долго предстоит многому учится)

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:14 
> for x in xset
> do begin
>   траляля
> end;
> вроде не сильно мешает

Оно еще и визуально замусорено. Сравните с


for x in xset
{
    траляля;
}

Ну и что тут читабельнее как логический блок кода? :)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 22:27 
В первом варианте гораздо читабельнее. Что это за закорючки я понятия не имею (не программист), а вот в паскале всё ясно даже мне - домохозяину за 50.

"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 06:47 
>Что это за закорючки я понятия не имею (не программист)

Неспециалист и не должен это читать. С такой «логикой» можно и таблицу Менделеева отменить. Там вообще непонятный набор букв.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:17 
> Паскаль испортило, как это ни смешно, begin-end.

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


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 11:15 
Ты сам это придумал, злобный заклятый аноним? Или мамка подсказала? Признавайся!

"Релиз набора компиляторов GCC 15"
Отправлено Тот_Самый_Анонимус_ , 28-Апр-25 06:55 
>А серьезные люди наоборот приветствуют многословность

А эти «серьёзные люди» с вами в одной комнате? Какой-то странный аргумент: придумать неких абстрактных людей и ссылаться на них, в то время как можно просто посмотреть на реальность.

Вот вам пример: Dev-cpp — среда для Си++, изначально написанная на Паскале. Все форки на Паскале, как и оригинал, умерли, а единственный живой форк — на плюсах.

Вот что он форкал: https://github.com/royqh1979/Dev-CPP
А вот что он написал: https://github.com/royqh1979/RedPanda-CPP

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:10 
> Поддержка присвоения имён циклам для того, чтобы ссылаться на них в коде.

зачем, если есть goto?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:17 
Только хотел написать, что они goto переизобрели.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:19 
так у них с логикой проблемы, метка то после цикла должна быть :) а то у них выход из цикла означает начать его заново.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:19 
К хорошему всегда возвращаются. Никогда не понимал отказа от goto, ведь это крайне удобная вещь, с которой можно писать очень оптимизированный код, а не раздувать его ради простой функциональности на 100500 строк.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:23 
> Никогда не понимал отказа от goto,

так вам не на С надо писать, а на асм. В Си чисто по религии goto (фактически асмовский jump) быть не должно.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:27 
С jmp, jnz/jne можно очень красивый код писать. А рилигия в программировании, как и любые догмы, скорее вредны. Нужно всегда отталкиваться от целесообразности и конкретных требований\пожеланий к проекту.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:59 
> С jmp, jnz/jne можно очень красивый код писать.

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:17 
>> С jmp, jnz/jne можно очень красивый код писать.
> так С создавали, чтобы абстрагироваться от асм и код был более структурным,
> а не jmp акробатика вверх-вниз. Но почему-то эту акробатику в виде
> примитивного goto оставили.

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:22 
> попробуй setjmp/longjmp

полезно для выхода из рекурсий.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:27 
В 8080 была такая замечательная вещь — CALL по условию/RET по условию. Количество джампов сокращало в разы.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:33 
Так это же стек затрагивало, а значит уже сильно медленнее.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:42 
j<условие> метка
ret
метка:
— 10 + 10 тактов.

r<условие>
— 5/11 тактов.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 02:09 
Прикинь, в ARM почти любая инструкция может быть исполнена по условию.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 02:24 
У армов конечно, как и у ириски - очень вкусные инструкции, но лично меня всегда немного раздражало что нужно всегда отдельно грузить из памяти в регистры, перед операциями.
Понятно что иначе никак, но просто интеловский набор команд, когда можно сразу вторым операндом указать память, да еще со сдвигом, мне больше нравиться, просто лаконичнее выглядит.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:26 
> Понятно что иначе никак, но просто интеловский набор команд, когда можно сразу
> вторым операндом указать память, да еще со сдвигом, мне больше нравиться,
> просто лаконичнее выглядит.

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

ARM - это state of art, красивый и современный набор команд, x86 в целом по сравнению с ним - понятно чего. Но вон те constraints дизайна неизбежно наложили свой отпечаток. С другой стороны x86 в результате вообще - в минимализм не смог. А i8080 никто всерьез юзать уже не хочет. Поэтому в мобилках, планшетках и (около)эмбедовке x86 просто нет.

Фирма ARM продала что-то типа 8 миллиардов, чтоли, ядер за прошлый год. А intel сколько? :)


"Релиз набора компиляторов GCC 15"
Отправлено Маняним , 26-Апр-25 02:46 
> в ARM почти любая инструкция может быть исполнена по условию

Но почему тогда армы до сих пор годятся только для телефонов? Сколько там уже пророчат смерть wintel?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 03:33 
Помнится были даже смарты на интеле...
И всякие мини планшеты, тоже на интеле, у асуса таких было много, да и не только у них.
Вернее, не совсем планшеты, с резистивным тач экраном и выдвижной кверти клавиатурой, как прокачанные кпк.
Хороше время было!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 06:25 
Почему не совсем планшеты? Вполне полноценные планшеты на андроиде были, у самого парочка валяется, один до сих пор рабочий даже.

"Релиз набора компиляторов GCC 15"
Отправлено Котик Биба , 26-Апр-25 03:41 
Для тебя вся техника Apple и ноуты на Snapdragon какая-то шутка?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 04:14 
> Для тебя вся техника Apple и ноуты на Snapdragon какая-то шутка?

И не только для него. Ты ж не будешь спорить, что там телефонный процессор (SoC)?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 08:10 
И что в нём телефонного?

"Релиз набора компиляторов GCC 15"
Отправлено blkkid , 26-Апр-25 13:35 
я, конечно, многое на этом сайте видела, но называть семейство процессоров, где старшие модели могут выделять до *70 ватт* тепла телефонными - это что-то новое

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:26 
Серьёзные люди, называющие десктопный процессор телефонным… ну ладно.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:36 
>Сколько там уже пророчат смерть wintel?

Ну шо вам на это сказать? Вот сколько уже пророчат вендекапeц, а он, всё ещё не натупил, но... Кто хотел, тот уже давно для себя устроил этот вендекапeц - давно и успешно пользуется на десктопе GNU/Linux. Так же и с железом.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:14 
> давно и успешно пользуется на десктопе GNU/Linux

Дистрохопинг с периодическими возвращениями на Windows 11 от безнадёги, не означает, что "успешно пользуются".


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 17:20 
Gentoo c конца 2004. Венда на локалхосте в качестве десктопа никогда не использовалась и до этого.

"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:22 
Значит и комп особо был не нужен для реальных дел

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:27 
> Но почему тогда армы до сих пор годятся только для телефонов? Сколько
> там уже пророчат смерть wintel?

Вон там такие телефонные ARM - в TOP500 отсвечивают. Наверное, вы ошиблись и имели в виду - телефонную станцию? :)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 03:00 
Могла быть, лет 10 назад. В ARMv8 биты предикации выкинули, а в Thumb их никогда и не было.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:28 
> Могла быть, лет 10 назад. В ARMv8 биты предикации выкинули, а в
> Thumb их никогда и не было.

В thumb2 есть еще более умный IT<block> который кодирует условное выолнение нескольких команд за ним. Компактно, умно и эффективно.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 06:15 
Ну вы мне прямо глаза открыли.
Вообще это не исключительная особенность ARM.
А вот то, что под ARM — особенно современный — писать на ассемблере  может только злостный мазохист, я и так знаю.
А в данном случае речь была о том, что 8086 вроде как и преемник 8080, а вот кое-чем полезным пришлось пожертвовать (до сих пор помню впечатления при переходе с Z80 на 8086: «а что, так можно разве?! …а вот так, что ли, нельзя?»).

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 17:55 
Ты говоришь чушь и сам не понимаешь почему - просто повторяешь других, говорящих такую же чушь.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 11:39 
> говорящих такую же чушь

в каком месте она у вас заела?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:07 
А надёжность?
"В своей следующей работе Дейкстра обосновал тот факт, что для кода без goto намного легче проверить формальную корректность."

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 01:19 
> А надёжность?
> "В своей следующей работе Дейкстра обосновал тот факт, что для кода без goto намного легче проверить формальную корректность."

И сел со своей войной против goto в лужу.
Более подходящего способа для управления ресурсами в Си чем goto нет.

После такого его невозможно воспринимать всерьез.


"Релиз набора компиляторов GCC 15"
Отправлено User , 26-Апр-25 11:52 
Си невозможно принимать всерьёз? Ну, это вы, конечно, погорячилась - но что-то определённо есть

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 28-Апр-25 17:24 
Дейкстра вроде как главным образом боролся против неструктурных языков (оригинальный Бейсик), где нет блоков кода и все управление потоком выполнения основано на goto. В чем проблема использовать goto там, где он удобен и не ломает структурную парадигму? Break с меткой появился вроде бы изначально в Джаве по причине отсутствия там оператора goto. По сути break и continue — это просто ограниченные goto (даже в варианте без меток).

Но к черту все это, продолжения (continuations) — наше все)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 05:01 
1. Не очень понимаю, на что он намекает. Для кода без развилок и циклов проверить формальную корректность ещё проще. Он предлагает выкинуть развилки и циклы?
2. Там, где требуется проверять формальную корректность, goto можно не использовать.
3. Сейчас бы хвастаться отсутствием goto в языке с поддержкой исключений. goto хотя бы из функции не выходит, тогда как исключения прошивают весь стек вызовов.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:26 
>goto хотя бы из функции не выходит

Да ну, шо вы говорите? Вы можете метку впендюрить куда угодно в пределах файла.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 21:55 
И в C, и в C++ метка обязана быть в той же функции, что и ссылающийся на неё goto.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:30 
> И в C, и в C++ метка обязана быть в той же
> функции, что и ссылающийся на неё goto.

Он, наверное, setjmp/longjmp на саом деле хотел, но боялся себе в этом признаться :)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 17:57 
И много ты проверяешь "формальную корректность"? Ты хоть сам понимаешь, что это вообще?

goto - он даже в процессоре есть. Теперь что, процессор - формально некорректный??

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:21 
конечно надо же сделать как в расте (Ё..... тут пятиэтажный мат)

Named loops also have a distinct advantage of having substantial prior art across multiple other programming languages. C is not bound by any other language but to have a control feature behave in exactly the same way as precedent set by the wider Community is extremely good for readability and lowers the surprise factor. The idiom has been proven to work well in practice, and there is no good reason for C to diverge from a model the rest of the programming language meta-community seems to have found clearest.

For instance, in Rust:

fn main() {
    'outer: loop {
        println!("Entered the outer loop");

        'inner: loop {
            println!("Entered the inner loop");

            // This would break only the inner loop
            //break;

            // This breaks the outer loop
            break 'outer;
        }

        println!("This point will never be reached");
    }

    println!("Exited the outer loop");
}


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 02:53 
Выдыхай. Эту фичу тру-UNIX деды придумали для Limbo тридцоть лет назад, оттуда ее позаимствовали в Go и Rust. Одобрено ЪUNIXЪ-Омниссией с 1995, проверено временем.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:32 
> Эту фичу тру-UNIX деды придумали для Limbo тридцоть лет назад

ну вообще отлично, вы только это не мне, а тем "придумывателям" расскажите, которые в пример раст приводят.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:32 
> Выдыхай. Эту фичу тру-UNIX деды придумали для Limbo тридцоть лет назад, оттуда
> ее позаимствовали в Go и Rust. Одобрено ЪUNIXЪ-Омниссией с 1995, проверено
> временем.

Вы там что, грибов объелись? Еще не сезон же вроде? Какое Limbo нахрен тру-UNIX? Когда это какой-то левый новолел, как и хрусты всякие? Примерно настолько же извратное и кривое :)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 23:50 
А вот так, Plan 9/Inferno больше UNIX по духу, чем позерские настоящие UNIX'ы.
И разработано теми самыми UNIX-дедами, Томпсон, Ричи, Керниган, Пайк.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:18 
for (int i = 0; i < n; ++ i) {
  for (int j = 0; j < n; ++ j) {
    if (something (i, j))
      goto end;
  }
}
end:

С goto куда интуитивно, чем пихать лейбл в начало оператора for (даблфейспалм). По логике меток, вы возвращаетесь и начинаете циклы заново, а не выходите из него вовсе.

тог уж так надо было так писать, куда интуитивно чем в начале.

for () { } : for-end-identifier;


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:37 
Тут много зависит от тимлида :) Если упёртый и аргументы в пользу goto не принимает, то придётся в функцию оборачивать и делать ретёрны.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:56 
из таких вложенных циклов я обычно выхожу устанавливая в максимальное значение инкрементируемую переменную.

for (int i = 0; i < n; ++ i) {
  for (int j = 0; j < n; ++ j) {
    if (something (i, j))
      i = n;
      break;
  }
}


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:21 
Красиво, но фактически это тоже костыль, может быть даже похлеще goto, потому что всё равно оно вернётся и оценит i < 0 и только потом выйдет из цикла.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:34 
> может быть даже похлеще goto

да мне и for не нужен будет если я буду использовать goto :)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 07:27 
А потом узнаете про промахи кэша при таких выходах, и что вложенные циклы вообще не нужны, нисколько, никогда.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:42 
> и что вложенные циклы вообще не нужны, нисколько, никогда.

ну это что такое?


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 11:21 
Несерьёзно, выкинь это!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 11:40 
> Несерьёзно, выкинь это!

а ну да, я должен там лонг джамп запилить.


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 17:35 
Блин, ну, если честно, то эта муть вообще не читабельна. Единственный нормальный способ, который до этого был, - это goto.

"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 17:28 
Будь сам тимлидом и устанавливай свои правила)

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:12 
> По логике меток, вы возвращаетесь и начинаете циклы заново, а не выходите из него вовсе.

При чём здесь логика меток? Это логика оператора break.

> С goto куда [более] интуитивно

лол, какая разница, что "интуитивно"? Интуитивность важна для того, кто только-только начал писать на языке программрования. Те же кто набрал опыта имеют интуицию заточенную под язык, и всё что язык делает и то как он это делает для них будет интуитивным. Язык порождает интуицию, а не интуиция язык.

> for () { } : for-end-identifier;

Кек, а вот это меня в C раздражает как раз. __attribute__ которые добавляются после типа, а не перед его декларацией, чтобы я мог сразу видеть это. Или вот эти typedef struct {...} name_of_type;. Если я разглядываю декларацию типа, то самое важное что мне надо знать -- это имя типа и "тип типа" (структура, инум, юнион, функция, или что?), но тут имя отправляется в конец. Почему они слово struct не решили перенести в конец, мне совсем неясно. Но это было бы логичнее, можно было бы просто сорцы читать с конца в начало.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:34 
> При чём здесь логика меток? Это логика оператора break.

потому-что запись вида end: это метка в том же самом C для оператора goto. И изменение логики break лишь в том, что к ней теперь добавляется так называемый идентификатор цикла, который необходимо прервать. А этот идентификатор приписывается к оператору for в виде:

for-end-identifier:
for (int i = 0; i < n; ++ i) {
}

и эта запись ничем не отлична от метки goto. break на такой метке теперь должен остановить цикл, а goto начать его заново. А что если:


for-end-identifier1:
for (int i = 0; i < n; ++ i) {
}

for-end-identifier2:
for (int i = 0; i < n; ++ i) {
   break for-end-identifier1;
}

Такое возможно? думаю нет, и break-у нужно понимать в  каких for-ах он вложен. А значит "метка" есть явный идентификатор оператора for, и оператором goto к ней не перейти.

> лол, какая разница, что "интуитивно"?

Ну какая разница между головой и ж*пой?

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

ну да, какая разница между войной и спецоперацией?

> Язык порождает интуицию, а не интуиция язык.

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

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

Если бы for переписать вот так:

{
break identifier;
} identifier for (int i = 0; i < n; ++ i);

было бы куда интуитивно, а нет, "палка" говорит, что начало оператора должно быть ближе к "верху".

А вот "вторая - закрывающая" скобка } - это и есть конец тела цикла, и куда вам интуиция подсказывает приписать идентификатор? А с другой стороны, идентификатор это ведь "имя собственное" его надо в начало приписывать ведь надо - "величать" :)

> Кек, а вот это меня в C раздражает как раз. __attribute__ которые добавляются после типа, а не перед его декларацией, чтобы я мог сразу видеть это.

Я вообще сторонник идеи не отсоединять идентификатор от типа, не писать

int a,b;
a = 1;
b = 2;

а писать переменные с типом сразу.

int_a = 1;
int_b = 2;

type_identifier = value;

и в любом месте где читается текст программы видно, что эта переменная типа int, для статически типизированных ЯП.

> Или вот эти typedef struct {...} name_of_type;. Если я разглядываю декларацию типа, то самое важное что мне надо знать -- это имя типа и "тип типа" (структура, инум, юнион, функция, или что?), но тут имя отправляется в конец.

потому-что "имя" это identifier и он идет после "типа" как в случае int a, type identifier;

А ваш struct (union и т.д.) это и есть тот самый "тип" - составной тип, который описан в {}. Тут все интуитивно, потому-что сохранена логика type identifier;

Да не удобно, соглашусь, но опять таки, логика не нарушена.
А вот математики делают на оборот, сначала идентификатор пишут, а потом тип :)

Удобно было бы вам вот так?

typedef name_of_type : struct {...};  
typedef name_of_type : union {...};
typedef name_of_type : enum {...};

:)

> Почему они слово struct не решили перенести в конец, мне совсем неясно. Но это было бы логичнее, можно было бы просто сорцы читать с конца в начало.

Ну вот я читаю код и дохожу до:

break for-end;

и идя вниз нахожу

} for-end;

и понимаю, что этот брек сюда указывает, и продолжаю читать дальше вниз - логично?

пс: есть практика оставлять комментарий после }, чтобы ясно было к какому циклу она относится :)

for ()
{
for ()
{
} // 2
} // 1


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 17:30 
> Это логика оператора break.

Есть ещё continue. А вообще этот синтаксис меток для for из языка Perl взят, которому уже почти 30 лет)


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 02:18 
Они из Perl этот синтаксис стянули. В Perl именно так. И там это чуть ли не с рождения языка, т.е. уже почти 30 лет) Удобно.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 11:45 
> Они из Perl этот синтаксис стянули.

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


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 17:34 
В Perl метки для for именно так сделаны, как сейчас в GCC реализовали, один в один, т.е. полная копия. PHP намного моложе Perl'а.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 21:06 
> PHP намного моложе Perl'а.

в пхп хренью не страдали и сделали правильно без меток.

break N; где N по дефолту равен 1.

//www.php.net/break


"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 28-Апр-25 08:25 
В Perl и сейчас в C++ сделали правильно. В PHP неправильно и очень опасно.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 28-Апр-25 09:06 
> В PHP неправильно и очень опасно.

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

for () {
    for () {
         if () {
             break 2;
         }
    }
}

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

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

for () {
    for () {
         for () {
             if () {
                 break 2;
             }
         }
    }
}

Но даже если "именовать" в таком случае циклы, то мы также можем забыть сменить метку в break на нужный for (внешний новый). Отсюда, что "именованные", что "пронумерованный" break равносильно "опасны" в данном понимании. Я просто не знаю, что вы имеете ввиду под понятием "опасно", тем более "очень опасно".


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 25-Апр-25 23:12 
>Директива "#embed", предназначенная для встраивания в код

~/.ssh/github


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 02:28 
Вот Вы смеетесь, а эмбед это вообще чуть ли не самое крутое, что ввели в язык.
Понятно что можно всякое нехорошее с ним делать, но и крутые штуки, типа встраивания ресурсов в технодемки, делать тоже можно и нужно.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 07:29 
Чо не сделают, лишь бы xxd не использовать. Все бы им в комбайны превращать.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 08:32 
Что не сделают, лишь бы костыли не использовать.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:05 
Из-за этой xxd устанавливать Vim? А Vim - это сильно-сильно на любилеля.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 30-Апр-25 03:03 
К счастью самую полезную программу из пакета Vim обычно поставляют отдельно от всего остального.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:24 
Нехорошее можно и без embed сделать. Всё, что делается embed'ом можно сделать и без него. Можно например вызвать из Makefile утилиту, которая сделает из содержимого /home объектный файл или сишный сорец, а потом прилинковать это к проекту. Делов-то.

Либо ты доверяешь сорцам и их системе сборки, либо не доверяешь им и каким-то образом огораживаешься от возможных атак. #embed в этом ничего не меняет.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:06 
До этого это делалось скриптом линкера.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 30-Апр-25 05:19 
ld-скрипты это наверное лучший способ, так как должно быть куда быстрее, чем xxd. Анон выше забыл, что большой бинарник им не соберёшь -- компилятор будет вечно парсить жирный сгенеренный массив.

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:28 
> компилятор для языка COBOL

Очень актуальное, а главное своевременно решение. П.С. А кто-то видел живьём вообще этот КОБОЛ? А то рассказывают про банки и прочий энтерпрайз, но кого не спросишь, делают выпученные глаза.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:34 
> А кто-то видел живьём вообще этот КОБОЛ?

Нет


"Релиз набора компиляторов GCC 15"
Отправлено abi , 26-Апр-25 00:43 
Да, видел живьём Fico Blaze Advisor в отечественном банке.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 00:46 
А что то от этого изменится?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 01:00 
Пойдите на работу в банк и прочий энтерпрайз, увидите… а, для этого кобол для начала надо изучить.

"Релиз набора компиляторов GCC 15"
Отправлено Chlen22sm , 26-Апр-25 01:25 
> Пойдите на работу в банк и прочий энтерпрайз, увидите…

Это я удачно зашёл. Докладываю вам из глубин банков и прочих ынтерпрайзов... вижу java, кое-где c# и даже go, но не cobol. Лол.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 08:11 
В РФ? Тут, к счастью, такого слоя легаси не успело нарасти (за неимением самих банков).

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 12:56 
SAP ABAP это кобол. Правда, не гну.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:19 
> SAP

Так оно мертво уже лет 10 как. Разве нет?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 02:31 
В каком месте оно мертво?

Далее в России он конкурирует с 1С, а в мире его доля местами до 80% доходит.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 12:39 
В Мосэнерго уже заместили SAP ?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:00 
SAP - это громадный, тухлый монстр. Вместо помощи бизнесу, наоборот - перекорёживает всё под себя. Оно мне надо?? SAP - это как и кобол, древний реликт, который выкинут с радостью, как только напишут замену.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:38 
В Австралии уже попробовали написать замену.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:25 
> SAP

Одна из моих girlfriends потеряла работу во времена ковида, хотя очень неплохой спец по SAP. Новую работу так и не нашла. В итоге пошла в курьеры. Так что да, протухло и уже не актуально. Особенно теперь в России.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 16:47 
>А кто-то видел живьём вообще этот КОБОЛ?

Вот вам свежачёк-с https://github.com/meyfa/CobolCraft


"Релиз набора компиляторов GCC 15"
Отправлено MinimumProfit , 26-Апр-25 17:05 
Cobol в Tiobe на 20-м месте, даже поднимается

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 22:08 
Деды умирают, им ищут замену. Вот и поднимается.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:33 
> Cobol в Tiobe на 20-м месте, даже поднимается

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


"Релиз набора компиляторов GCC 15"
Отправлено cheburnator9000 , 26-Апр-25 01:14 
>> Возможность объявления переменных в операторе "if", например, "if (int x = get ()) {...}".

Ничего не понял это же прямо сейчас уже доступно нет??

https://godbolt.org/z/bPKqvsood в данном случае if это просто проверка либо на 0, либо можно использовать и для nulltpr.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 06:50 
Вы кинули код на C++, тогда как речь про Си.

На Си такого синтаксиса нет.


"Релиз набора компиляторов GCC 15"
Отправлено Сишник , 26-Апр-25 07:25 
Сейчас доступно в C++, а в статье речь о том, что это добавили в C.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 01:17 
Опять придется инструкции по сборке пакетов переписывать.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 16:33 
LFS ?

"Релиз набора компиляторов GCC 15"
Отправлено Маняним , 26-Апр-25 02:49 
Как всегда в попсовых дистрах появится лет через 5?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 06:51 
В Дебиан 13 точно не попадет, потому что тулчейн для сборки, где GCC играет ключевую роль, заморожен от 15-го марта :)

Будет в Дебиан 14, или более новая версия, если до заморозки успеет выйти 16-ая версия.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 16:35 
Не гентупроблемы ;)

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:34 
Да-да. Справедливости ради, если нужен GCC 15, то всегда можно накатить в контейнер и не париться.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 21:19 
Да можно и ручками собрать и установить в какое-нибудь отдельное место /usr/local/gcc

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 21:44 
> Да можно и ручками собрать

Не-не, это уже какое-то извращение)

Imagine building an app from sources in 2025, smh smh


"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:25 
А как же исходники ? Ведь весь смысл открытого кода в них. Зачем они, если из них не собирать ?)))

"Релиз набора компиляторов GCC 15"
Отправлено Ivan7 , 27-Апр-25 02:24 
В контейнере и в системе - это как бы совсем разные истории.
В контейнере у тебя какая операционка? ;)

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 07:09 
В Fedora 42 уже есть

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 06:28 
□ Атрибут "unsequenced", сигнализирующий, что результат не зависит от порядка выполнения.
□ Атрибут "reproducible", указывающий, что функция всегда возвращает один и тот же результат при одинаковых входных данных, т.е. не зависит от иных факторов.
□ Возможность объявления переменных в операторе "if", например, "if (int x = get ()) {...}".
□ Поддержка присвоения имён циклам для того, чтобы ссылаться на них в коде.

Гляжу на всё это и понимаю, что видел это в Nim. Авторы языка используют все конструкции из новых стандартов Си.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 08:17 
> Гляжу на всё это и понимаю, что видел это в Nim. Авторы
> языка используют все конструкции из новых стандартов Си.

Только сам он - какой-то ужастик, типа помеси сишки с питоном, очень сомнительное счастье.


"Релиз набора компиляторов GCC 15"
Отправлено 12yoexpert , 26-Апр-25 10:47 
у автора nim больше гибкости в этом плане, он пилит архитектуру и код практически в одно лицо

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 08:15 
> Директива "#embed", предназначенная для встраивания в код бинарных ресурсов.

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

А гнутое расширение case 1..5 и проч они не хотят в новый стандарт взять?


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 10:03 
Действительно, теперь ещё линуксовые бинари деблобировать из-за всяких утаистов (вероятно, нарушающих лицензии).

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:00 
> Действительно, теперь ещё линуксовые бинари деблобировать из-за всяких утаистов (вероятно, нарушающих лицензии).

когда из всей фразы понял только "гну"


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:35 
> Действительно, теперь ещё линуксовые бинари деблобировать из-за всяких утаистов
> (вероятно, нарушающих лицензии).

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


"Релиз набора компиляторов GCC 15"
Отправлено Совершенно другой аноним , 26-Апр-25 19:59 
> Поддержка указания диапазонов целых значений в выражениях "case", например, "case 1 ... 10:".

"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:32 
Встраиваемые бинарные ресурсы давным давно были на винде

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:40 
> Встраиваемые бинарные ресурсы давным давно были на винде

1) Если это про ms resource compiler - то это несколько другое. И таки - не сишка.
2) Ну и как мне ваша винда поможет заинклюдить вон тот фонт на вот этом микроконтроллере чтобы вот тут на LCD текст выдать? А вот это - очень даже. Это конечно и без #embed делали, но требовало всяких левых конверторов, генераторов, усложнения процедуры билда и проч. А теперь будет - с полоборота.

И если мы о винде, как там у мерзкософта, поддержку C23 они уже запилили в свой выюжалбэйсикстудил? Или у них так до сих пор C99 обкоцаный? А может у них уже и C2Y есть? Как у сабжей? Не, не завезли? :)


"Релиз набора компиляторов GCC 15"
Отправлено Амонин , 26-Апр-25 09:20 
import std; для с++ все ещё не завезли или я чего-то упускаю?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:08 
В каком смысле "завезли"? Его что, нельзя было писать в коде??

"Релиз набора компиляторов GCC 15"
Отправлено 12yoexpert , 27-Апр-25 17:02 
можно, но только в комментариях. или в коде на python/nim

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 09:25 
В общем тенденция такова: какой-нибудь С50 (вопреки всем обещаниям!) начнёт таки всё больше и больше превращаться в С++, в то время как С++50 начнёт всё больше и больше превращаться в Раст. В общем делайте выводы сами!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 10:39 
>какой-нибудь С50 (вопреки всем обещаниям!) начнёт таки всё больше и больше превращаться в С++

Скорее в golang. Встраивание бинарных ресурсов, объявление переменных при if-операторе, defer, etc.


"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:31 
Встраиваемые бинарные ресурсы давным давно были на винде в Visual C

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 14:43 
> Скорее в golang. Встраивание бинарных ресурсов, объявление переменных при if-операторе,
> defer, etc.

Golang из C автор lwan.ws уже и сегодня запилил. Потому что может. Вот прям с корутинами и гламурным апи вебсервака тоже умещающимся на полстранички.

Только потом в отличие от игогошки еще призовые места в тематичных бенчах берет.


"Релиз набора компиляторов GCC 15"
Отправлено 12yoexpert , 27-Апр-25 17:01 
ну так проги на го читаются с диска уже после того, как проги на плюсах отрабатывают

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 28-Апр-25 00:25 
> ну так проги на го читаются с диска уже после того, как
> проги на плюсах отрабатывают

Веб серверу это не очень актуально, но у в отличие от игого - бинарник менее 150 кил, супербыстрый, зависимостей мизер, а примеры в комплекте - не только hello world но и вполне жизненные штуки, типа чата на вебсокетах, реализации freegeoip базы (с лимитами лукапов!) или даже какой-то "тематический" апсерверный бенч работы с базой (скулайт) где оно всех радостно подвинуло. Так что теперь на си можно не хуже игого микросерфисы делать, если этого хотелось.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 16:37 
Уже сделали - Rust ненужен.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:28 
> Rust ненужен

Нужен пока не избавятся от undefined behavior.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 16:01 
C должен превращаться в C++ только в compile-time и с контролируемым растолстеванием результирующего бинарика.

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


"Релиз набора компиляторов GCC 15"
Отправлено 12yoexpert , 26-Апр-25 10:30 
уже можно начинать читать учебники по 23 плюсам, или всё ещё половина стандарта не поддерживается?

вроде страничку с поддержкой они обновили, и про попоболь с import std  там ни слова

https://gcc.gnu.org/projects/cxx-status.html#cxx26


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 13:49 
да какой там 23, они 20 ещё полностью не реализовали! Полностью реализован только 17 стандрат

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:03 
и то вроде только в clang полность реализован 17 стандарт, в gcc даже он не полностью реализован!!!

"Релиз набора компиляторов GCC 15"
Отправлено 12yoexpert , 27-Апр-25 16:50 
нет, не реализован, и шланг ничем в этом плане остальные компиляторы не опережает, разве что сильно отстаёт от gcc

https://en.cppreference.com/w/cpp/compiler_support/17


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 28-Апр-25 03:36 
> нет, не реализован, и шланг ничем в этом плане остальные компиляторы не
> опережает, разве что сильно отстаёт от gcc
> https://en.cppreference.com/w/cpp/compiler_support/17

Да вроде там все более-менее в пределах погрешности ок? Лагает stdlib - но кто им вообще у шланга пользуется? Все тягают glibc и stdlibc++ от гну.


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 11:32 
Читаешь все это безобразие и понимаешь, какая же С/С++ мощь. Не для средних умов!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 13:51 
>>  какая же С/С++ мощь <<

Такая мощь, что сам создатель С++ начал плакать о том, что на С++ осуществляются какие-то таи нападки и его срочно нужно защитить:)


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 12:29 
а под via c7 он оптимизировать код умеет?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 14:19 
Даже под C3 умеет (14 версия, по крайней мере).

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:36 
под c3 не умеет. вернее совсем не может, потому что у c3 нет cmov комманд, а они эти cmov комманды во всех либах есть, и полученный код на c3 крашится при запуске. ни один современный линукс по этому на c3 стартонуть не может.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:40 
Это как бы само собой подразумевается, что либы пересобирать придётся.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 20:00 
это так умрешь раньшt, чем столько всего  самому пересобирать.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 20:13 
Это ж не Хром собирать. Ну и делать это, естественно, не на машине с C7.
Не хочется собирать — пишите без рантайма, делов-то)

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:20 
Простите, но такая оптимизация как мёртвому припарки. Для старого железа - старый софт.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:44 
А новый софт под него совсем-совсем нельзя писать?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 03:29 
Пиши на старых инструментах типа Delphi 7.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 16:40 
А этот VIA C7 лучше C2D ?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 16:46 
Смотря под какие задачи. Под некоторые мои - да.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:34 
у него криптопроцессор офигительный. у c2d такого нету.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 19:00 
А он там того, без задних дверей? Китайская таварись маойра, всё-таки.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 19:58 
двери эти старые, узкие. много через них не просунется. да и нечего особо, чтоб им там интересно было.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 20:09 
C2D просто за счёт вычислительной мощности будет примерно на том же уровне.

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 22:36 
> C2D просто за счёт вычислительной мощности

Звучит как отголосок из далёкого 2007 года. Вы часом не разморожены?


"Релиз набора компиляторов GCC 15"
Отправлено Neon , 27-Апр-25 01:33 
А на фига такое ?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 17:59 
а вот надо!

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 15:24 
C++23 эт хорошо. Но когда уже доделают С++20?

"Релиз набора компиляторов GCC 15"
Отправлено MinimumProfit , 26-Апр-25 17:08 
конкретно что не работает из C++20 ?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 19:46 
Модули?

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 17:33 
>Фронтэнд для языка D обновлён до версии 2.111.0.

А что там с Гошкой, какой версии эталонного сейчас (GCC 15.1) соответствует gccgo?


"Релиз набора компиляторов GCC 15"
Отправлено Ан Оним , 26-Апр-25 22:04 
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libgo/VERSION;h=...

[gcc.git] / libgo / VERSION
   1 go1.18

Гугль уже давно не развивает gccgo и goLLVM


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 18:06 
Когда читаешь нововведения, думаешь: где-то я уже это видел! Причём лет 30 назад. Вопрос: насколько надо быть тугодумами, чтобы вносить полезные вещи ДЕСЯТИЛЕТИЯМИ? Ладно бы отрасль была новая, неизученная (как ИТ в 70-ые). Но уже лет 20 как устоялись многие тенденции, куча языков протухла как раз по причине несоответствия запросам отрасли. И вот просыпается С++ комитет (кто-то б3днул слишком громко) и начинается вспоминание всех полезняшек из 80-ых :)) ПОЗДНО, дедушки, боржоми уже не поможет! На глиняном фундаменте С++ вы городите эйфелевку - так не пойдёт.

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


"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 26-Апр-25 23:07 
Ну и пиши на нем, зачем кресты поминаешь.. подозрительный комент

"Релиз набора компиляторов GCC 15"
Отправлено Аноним , 27-Апр-25 22:06 
Создатели ди большие поклонники додиеза. Публика не оценила: там, где додиез пойдёт, уже есть додиез.