ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Добавить новое ключевое слово loop - синоним while(true)

Open perfectGenius opened this issue 3 months ago • 11 comments

Когда бесконечных циклов много на экране, да ещё некоторые вложены в друг друга, то это визуально перегружает код. Сейчас я использую define, что отличный вариант (VS даже ставит ему цвет, близкий к ключевым словам), но было бы ещё лучше, если бы это было в самом языке. Вроде бы эта идея уже встречалась где-то, так что извините, если повтор.

perfectGenius avatar Oct 18 '25 15:10 perfectGenius

loop плохой выбор - много чего сломает. Лучше уж

#define forever for(;;)

kov-serg avatar Oct 18 '25 16:10 kov-serg

много чего сломает

Например?

perfectGenius avatar Oct 18 '25 19:10 perfectGenius

Например arduino

kov-serg avatar Oct 18 '25 21:10 kov-serg

Забавно, но с чего бы сломает, если это чуть другой язык, лишь основанный на С++... Если выбрать не loop, а loop(), то вообще не заметит.

perfectGenius avatar Oct 18 '25 21:10 perfectGenius

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

void setup() {
    pinMode(13, OUTPUT); // Назначение пина 13 в качестве выходного
}

void loop() { // <--- вот тут совсем не заметит
    digitalWrite(13, HIGH); // Установка пина 13 в состояние "HIGH"(Подача питания на 13 пин), светодиод загорается
    delay(1000);            // Задержка на 1000 миллисекунд
    digitalWrite(13, LOW);  // Установка пина 13 в состояние "LOW", светодиод гаснет
    delay(1000);
}

И еще несколько миллионов мест

ps: кстати бесконечный цикл в С++ это UB и компилятор может очень удивить при включенной оптимизации.

kov-serg avatar Oct 19 '25 07:10 kov-serg

Переименовать им это слово - будет проблемой? Насчёт UB - бесконечные циклы часто есть в коде, ничего не изменится в этом плане. Разве что может даже в лучшую сторону - конкретно для loop можно будет убрать из UB, т.к. разработчик сознательно применил его.

perfectGenius avatar Oct 19 '25 10:10 perfectGenius

Как бы вы прикиньте ваше сомнительное улучшение создаст попаболь миллионам пользователей - оно того стоит? При этом всё решается обычным #define - ом и вуаля даже можете назвать как больше нравиться.

#define LOOP for(;;)

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

kov-serg avatar Oct 19 '25 14:10 kov-serg

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

perfectGenius avatar Oct 19 '25 20:10 perfectGenius

Стоят на рынке два грузина-шашлычника. Торговля идёт плохо.
Вот один другому и говорит:
- Слушай, Вахтанг, а если за тобой по лесу медведь бежит, что бы ты сделал?
- Ну, я бы его кинжалом в клочья порубил.
- А если нету кинжала?
- Ну, я бы его тогда из автомата расстрелял.
- А вот нет у тебя автомата.
- Ну, я бы тогда побежал быстро-быстро.
- А медведь тоже быстрый, быстро бегает, догнал бы тебя.
- Ну, я бы тогда на дерево залез.
- А нет деревьев.
- Э-э-э... что за лес такой, где нет деревьев?
- А вот такой лес - нет деревьев.
- Слушай, Гиви, а ты чей друг вообще - мой или медведя?!..

Ваша цель создать много бесполезной работы? Вы чей друг...?

kov-serg avatar Oct 19 '25 22:10 kov-serg

Код больше читают, чем пишут, поэтому я друг "читателя".

perfectGenius avatar Oct 19 '25 23:10 perfectGenius

Тогда пишите больше коментариев, можно даже не в прозе а в стихах. "Читатители" любят интригу и нелинейный замысловатый сюжет. А введение новых служебных слов только печалит читателей, особенно тех что в английский вообще не знают. Можно еще эмодзей (⚡𓀀🙀🤷) и картинок (𓂸𐇐⬜⬛🟥🟦🟩) добавить.

🮲🮳✂

kov-serg avatar Oct 20 '25 08:10 kov-serg