Serguey Zefirov (thesz) wrote,
Serguey Zefirov
thesz

Category:

Ещё про C++ и моё к нему отношение.

По следам внесения небольшого кода в большой проект и попыток создания библиотеки.

Современный C++, судя по всему, вполне позволяет ограничить себя типами так, чтобы было трудно совершить ошибку, включая ошибку распределения памяти.

Большое неудобство, однако, составляет отсутствие подсказок компилятора в сообщении об ошибке. Haskell, когда встречает неизвестный символ, предлагает на выбор несколько похожих, сообщая их типы. gcc - нет.

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

Я, похоже, совсем утратил способность к ООП программированию.

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

Например, можно создавать объект-обработчик-файлов разбором "командной строки" (пары количество строк + массив строк). Но тогда возникают проблемы синтаксического разбора - должен ли я бросать исключение, могу ли я оставить объект не полностью или не корректно созданным, и тп.

Можно отделить разбор конфигурации от создания объекта. Тут уже фабрики синглтонов показываются на горизонте.

Можно создавать объект пустым и заполнять его. Однако некоторые варианты заполнения могут оставлять объект в несогласованном состоянии. Стоит ли это разрешать?

И тп.

Поэтому решил использовать C++, как Си-с-типами. Ну его.
Tags: c++, работа, языки программирования
Subscribe

  • "Люцифер"

    Оказался довольно интересным сериалом. Напомнил мне День Сурка. В "Люцифере" многотысячелетний дьявол рассматривает жизни людей со скоростью их,…

  • Разное.

    Выясняем с коллегой причины проблем сборки некоей БД с несколько изменённым хранилищем. Оба смотрим на, вроде бы, один и тот же RPM - md5sum…

  • 7*7

    Полёт нормальный. ;)

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 66 comments

  • "Люцифер"

    Оказался довольно интересным сериалом. Напомнил мне День Сурка. В "Люцифере" многотысячелетний дьявол рассматривает жизни людей со скоростью их,…

  • Разное.

    Выясняем с коллегой причины проблем сборки некоей БД с несколько изменённым хранилищем. Оба смотрим на, вроде бы, один и тот же RPM - md5sum…

  • 7*7

    Полёт нормальный. ;)