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

Oct 18, 2017 15:27

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

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

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

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

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

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

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

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

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

И тп.

Поэтому решил использовать C++, как Си-с-типами. Ну его.

c++, языки программирования, работа

Previous post Next post
Up