Сообщение Что не так с C++ - компил-таймовый C++ от 07.12.2024 7:28
Изменено 07.12.2024 7:50 Shmj
Что не так с C++ - компил-таймовый C++
В последнее время думаю что не так с C++
Вот, вроде, язык C — это самое компактное и логичное что может быть. Явно не хватает там классов для ООП, вроде логично что сделали C с классами. Но и без того уже писали да и продолжают писать на C в ООП-стиле, когда добавили классы — то как бы появился синтаксический сахар ну и плюс этот ваш RAII. ОК, все логично.
Далее. Вроде бы так же логично чтобы не писать однотипные алгоритмы для разных типов — добавить компил-таймовые шаблоны. Вроде ОК, логично.
Но вот когда на этих шаблонах и SFINAE начали какую-то сложную логику выстраивать — это уже, имхо, Wrong Way. Как-то все получается неудобоваримо, переусложненно и похоже на изврат, как будто нашли какой-то хак, позволяющий делать то что изначально не задумано.
Вроде даже для чепуховых
И далее думаю. А что бы могло решить проблему?
Если уж так хочется компил-тайма — то почему бы не сделать его полноценным? Пусть не давать доступ к системным функциям, т.е. не давать возможности создавать файлы — но дать возможность статических переменных внутри функции, дать возможность простого и стандартизированного доступа к членам структуры/класса. Чтобы прекратить этот изврат в конце концов.
Пример: https://www.programiz.com/online-compiler/6fkrEBCC3yqjv
— ну изврат же?
Вот, вроде, язык C — это самое компактное и логичное что может быть. Явно не хватает там классов для ООП, вроде логично что сделали C с классами. Но и без того уже писали да и продолжают писать на C в ООП-стиле, когда добавили классы — то как бы появился синтаксический сахар ну и плюс этот ваш RAII. ОК, все логично.
Далее. Вроде бы так же логично чтобы не писать однотипные алгоритмы для разных типов — добавить компил-таймовые шаблоны. Вроде ОК, логично.
Но вот когда на этих шаблонах и SFINAE начали какую-то сложную логику выстраивать — это уже, имхо, Wrong Way. Как-то все получается неудобоваримо, переусложненно и похоже на изврат, как будто нашли какой-то хак, позволяющий делать то что изначально не задумано.
Вроде даже для чепуховых
Автор: vdimas
Дата: 07.12 00:56
вещейДата: 07.12 00:56
Автор: rg45
Дата: 27.11 18:42
приходится тратить уйму времени.Дата: 27.11 18:42
И далее думаю. А что бы могло решить проблему?
Если уж так хочется компил-тайма — то почему бы не сделать его полноценным? Пусть не давать доступ к системным функциям, т.е. не давать возможности создавать файлы — но дать возможность статических переменных внутри функции, дать возможность простого и стандартизированного доступа к членам структуры/класса. Чтобы прекратить этот изврат в конце концов.
Пример: https://www.programiz.com/online-compiler/6fkrEBCC3yqjv
— ну изврат же?
Что не так с C++ - компил-таймовый C++
В последнее время думаю что не так с C++
Вот, вроде, язык C — это самое компактное и логичное что может быть. Явно не хватает там классов для ООП, вроде логично что сделали C с классами. Но и без того уже писали да и продолжают писать на C в ООП-стиле, когда добавили классы — то как бы появился синтаксический сахар ну и плюс этот ваш RAII. ОК, все логично.
Далее. Вроде бы так же логично чтобы не писать однотипные алгоритмы для разных типов — добавить компил-таймовые шаблоны. Вроде ОК, логично.
Но вот когда на этих шаблонах и SFINAE начали какую-то сложную логику выстраивать — это уже, имхо, Wrong Way. Как-то все получается неудобоваримо, переусложненно и похоже на изврат, как будто нашли какой-то хак, позволяющий делать то что изначально не задумано.
Вроде даже для чепуховых
И далее думаю. А что бы могло решить проблему?
Если уж так хочется компил-тайма — то почему бы не сделать его полноценным? Пусть не давать доступ к системным функциям, т.е. не давать возможности создавать файлы — но дать возможность статических переменных внутри функции, дать возможность простого и стандартизированного доступа к списку членов структуры/класса. Чтобы прекратить этот изврат в конце концов.
Пример: https://www.programiz.com/online-compiler/6fkrEBCC3yqjv
— ну изврат же?
Вот, вроде, язык C — это самое компактное и логичное что может быть. Явно не хватает там классов для ООП, вроде логично что сделали C с классами. Но и без того уже писали да и продолжают писать на C в ООП-стиле, когда добавили классы — то как бы появился синтаксический сахар ну и плюс этот ваш RAII. ОК, все логично.
Далее. Вроде бы так же логично чтобы не писать однотипные алгоритмы для разных типов — добавить компил-таймовые шаблоны. Вроде ОК, логично.
Но вот когда на этих шаблонах и SFINAE начали какую-то сложную логику выстраивать — это уже, имхо, Wrong Way. Как-то все получается неудобоваримо, переусложненно и похоже на изврат, как будто нашли какой-то хак, позволяющий делать то что изначально не задумано.
Вроде даже для чепуховых
Автор: vdimas
Дата: 07.12 00:56
вещейДата: 07.12 00:56
Автор: rg45
Дата: 27.11 18:42
приходится тратить уйму времени.Дата: 27.11 18:42
И далее думаю. А что бы могло решить проблему?
Если уж так хочется компил-тайма — то почему бы не сделать его полноценным? Пусть не давать доступ к системным функциям, т.е. не давать возможности создавать файлы — но дать возможность статических переменных внутри функции, дать возможность простого и стандартизированного доступа к списку членов структуры/класса. Чтобы прекратить этот изврат в конце концов.
Пример: https://www.programiz.com/online-compiler/6fkrEBCC3yqjv
— ну изврат же?