LINUX.ORG.RU

История изменений

Исправление DarkEld3r, (текущая версия) :

Отсутствие исключений уже существенный минус.

А какое отношение это имеет к синтаксису/нечитаемости? Я так понял, что претензия была именно к нему.

А вообще, растовая паника - практически исключения. Ведь деструкторы вызываются, передавать можно любой тип, а не только строки, да и перехватить можно, правда только на границе потоков. Так что я не удивлюсь, если потом и «нормальные исключения» поверх этого прикрутят. Более того - недавно появилась функция catch_panic, которая примерно это и делает. Осталось разве что упростить вытаскивание типа «исключения» и всё.

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

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

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

Дженерики слабее шаблонов

Нет. Они как раз мощнее.

а на макросах код писать сложнее, чем на шаблонах

Опять нет. Для написания простых вещей (например, контейнеров и алгоритмов) растовые макросы как раз не нужны - достаточно дженериков. А если мы возьмём что-то «более сложное», вроде, метапрограммирования в бусте, то растовые макросы уже совсем не сложнее получаются.

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

Вообще-то, так и происходит.

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

Можно немного подробнее?

Вкусовщину комментировать не буду. Мне вот с растом разбираться интересно.

Исходная версия DarkEld3r, :

Отсутствие исключений уже существенный минус.

А какое отношение это имеет к синтаксису/нечитаемости? Я так понял, что претензия была именно к нему.

А вообще, растовая паника - практически исключения. Ведь деструкторы вызываются, передавать можно любой тип, а не только строки, да и перехватить можно, правда только на границе потоков. Так что я не удивлюсь, если потом и «нормальные исключения» поверх этого прикрутят. Более того - недавно появилась функция catch_panic, которая примерно это и делает. Осталось разве что упростить вытаскивание типа «исключения» и всё.

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

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

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

Дженерики слабее шаблонов

Нет. Они как раз мощнее.

а на макросах код писать сложнее, чем на шаблонах

Опять нет. Для написания простых вещей (например, контейнеров и алгоритмов) растовые макросы как раз не нужны - достаточно дженериков. А если мы возьмём что-то «более сложное», вроде, метапрограммирования в бусте, то растовые макросы уже совсем не сложнее получаются.

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

Вообще-то, так и происходит.

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

Можно немного подробнее?

Вкусовщину комментировать не будут. Мне вот с растом разбираться интересно.