LINUX.ORG.RU
Ответ на: комментарий от fsb4000

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

Тот самый случай, когда Бьярне Строуструпа слушать не надо. Не без его участия, плюсы давно уже превратились чёрт-те во что, и чем дальше – тем страшнее. Где можно писать в сишном стиле (в т.ч. с адресной арифметикой) – ИМХО надо писать в сишном стиле; а плюсовые навороты юзать только те, которые на сях эмулировать выйдет существенно более громоздко (ООП, RAII).

xxx: в начале 90-х где-то типа в бумажной Компьютерре была фраза что PL/1 подох потому что уподобился ёлке, на которую навешали слишком много игрушек.

xxx: я эту метафору ОЧЕНЬ часто вспоминаю с тех самых пор как решил подтянуться по современному C++.

yyy: Ыы. Они тогда не знали))))
dimgel ★★★★★
()
Ответ на: комментарий от dimgel

А что страшного то? Наоборот фичей не хватает, рефлексии например, метапрограммирования. Из лишнего по моему только потоки, файловые системы и прочее в std:: но их можно не использовать.

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

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

UPD. Мечтается, что после внедрения модулей они добавят синтаксис типа «module xxx { .lang = cxx23 }» и начнут более агрессивно выпиливать всякое легаси. Для начала, сделают человеческий синтаксис инициализации («x = 1» вместо вырвиглазного «x {1}») не сужающим. Но боюсь, не будет этого никогда.

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

Я имел ввиду целочисленное значение, не конкретно тип int, сорри.

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

Для начала, сделают человеческий синтаксис инициализации («x = 1» вместо вырвиглазного «x {1}») не сужающим

x = 1 в ближайшее время сужающим не сделают - это ломает старый код.

вырвиглазного x {1}

Это дело привычки.

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

это ломает старый код

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

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

Во первых, модули компилятся до их «включения», поэтому указание версии языка при их импорте как минимум породит 100500 бинарей с разными версиями языка. Во вторых, к версиям еще и аби привязано. Так что не взлетит.

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

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

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

ABI за последние лет 10 в gcc сломали ЕМНИП только один раз. А про 100500 бинарей с разными версиями не понял. Мой пойнт в том, чтобы сгенерированные модули были бинарно-совместимы, независимо от версии синтаксиса языка, на котором они написаны. Более обще – могут появиться вообще другие языки, компилирующие в плюсовый бинарный формат модулей, аналогично тому как в JVM-байткод компилируется и жава, и скала, и ещё воз и маленькая тележка других языков. Если с нынешним бинарным форматом модулей это невозможно, то это хреновый формат; и если те, кто его разрабатывал, такую возможность не держали в голове хотя бы на будущее, значит они недоумки.

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

ABI за последние лет 10 в gcc сломали ЕМНИП только один раз.

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

А про 100500 бинарей с разными версиями не понял.

Модуль компилится не зависимо от единицы трансляции, куда импортируется.

Мой пойнт в том, … те, кто его разрабатывал , значит они недоумки.

Свой пропозл писать лучше сюда: https://stdcpp.ru/, но написание пропозола - это немного сложнее, чем на форуме помоями поливать тех кто хотябы это делает.

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

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

Модули работают не так. С++20 модули нельзя будет слинковать с С++23 модулями. (По крайней мере у комитета пока нет решения этой проблемы, может быть к 23 году кто-нибудь что-нибудь придумает)

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.