|
Использовать C++ как "улучшенный С" с классами, но в духе С... |
|
|
|
Sep 15 2013, 14:28
|

Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 31-10-12
Пользователь №: 74 189

|
Иными словами, в стиле структурного программирования, но с применением некоторых полезных, на мой взгляд, возможностей С++ ("синтаксического сахара"): - namespace — Имена констант/типов/функций обычно снабжаются приставками для предотвращения конфликта имен и/или обозначения принадлежности к кругу решаемых задач. Namespace делает это необязательным. Есть возможность чаще использовать короткие имена, и лишь в отдельных местах - полное имя (с квалификатором "::"). Определенные через #define целые константы можно заменить на enum, вещественные/строковые - на static const переменные, макросы - на static inline функции.
- Перегрузка функций — Не требуется несколько функций с именами типа func(...) и func_ext(..., дополнительные параметры) и т.п. Сокращение количества имен функций, лучшая читаемость кода.
- Параметры функций по умолчанию — Улучшение читаемости кода. Например, "стандартный" вызов функции проще и писать, и отличать от вызова с особыми условиями. Что-то типа show_mode(mode) и show_mode(mode, "Error") вместо show_mode(mode, NULL) и show_mode(mode, "Error")...
- Классы — Без фанатизма. Часто есть некая структура (struct) и несколько функций для ее обработки, которым через параметр передается указатель на структуру. Класс делает тоже самое (неявно), но позволяет лучше логически связать стуктуру и функции. Плюс опять таки пространство имен.
Вот такие есть мысли о применении C++ в своих проектах в ближайшем будущем. С другой стороны: - Много слышал о глубокой любви Линуса Торвальдса к С++. Дядечка этот умный и считаться с его мнением стоит
- Некоторые полагают, что крайне опасно открывать двери к проекту для сферического С++ программиста. Честно говоря, такие посты как это или это самого наталкивают на такие мысли (ну или я чего-то не понимаю).
С учетом этого кажется, что от проекта на "С++ в духе С" лучше всем не станет, будет только яростная критика и со стороны "чистых С-программистов", и программистов на "чистом С++"... Хотелось бы услышать мнение других. Приглашаю к дискуссии.
|
|
|
|
|
 |
Ответов
|
Sep 15 2013, 15:57
|

Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 31-10-12
Пользователь №: 74 189

|
Бзусловно, Вы правы, Xenia. Собственно я о том же и говорил. Вопрос в другом. Если есть проект, написанный фактически на Си, но с "улучшениями" С++ (описанными выше), призванными улучшить ясность, читаемость кода. Нет ли опасности, что на самом деле другие разработчики, которым придется далее подерживать проект, не оценят этих стараний. Вдруг все будет наоборот — сторонник чистого Си будет плеваться и называть автора извращенцем, а приверженец С++ презрительно кривиться над "недопрограммой", потому что в ней не применяется ООП, не используется STL (или используется только малая часть) и т.п.?
|
|
|
|
Сообщений в этой теме
winipuh Использовать C++ как "улучшенный С" с классами Sep 15 2013, 14:28 Xenia C++ никогда не порывал с духом C. Т.е. можно пис... Sep 15 2013, 15:14 _Pasha "Вольностей" хватает в gcc --std=gnu99
Е... Sep 15 2013, 15:42 Tiro Цитата(winipuh @ Sep 15 2013, 17:28) Хоте... Sep 15 2013, 15:48 kolobok0 Цитата(winipuh @ Sep 15 2013, 19:57) ...с... Sep 15 2013, 19:20  winipuh Боюсь, что Вы меня не совсем правильно поняли
Ци... Sep 15 2013, 20:14   Tiro Цитата(winipuh @ Sep 15 2013, 23:14) Я зн... Sep 15 2013, 20:40   kolobok0 Цитата(winipuh @ Sep 16 2013, 00:14) ...П... Sep 16 2013, 11:58    DASM Цитата(kolobok0 @ Sep 16 2013, 15:58) отв... Sep 16 2013, 12:16     kolobok0 Цитата(DASM @ Sep 16 2013, 16:16) ...моло... Sep 16 2013, 12:46  Misile_Inc Цитата(kolobok0 @ Sep 15 2013, 22:20) ООП... Sep 15 2013, 20:23 Misile_Inc STL нужно использовать когда знаете, как ее правил... Sep 15 2013, 17:10 Idle Цитата(winipuh @ Sep 15 2013, 18:28) Дяде... Sep 16 2013, 10:46 A. Fig Lee Цитата(winipuh @ Sep 15 2013, 10:28) Иным... Sep 16 2013, 12:39 DASM А я дальше и читать не стал, после слов "есть... Sep 16 2013, 12:54 Timmy Цитата(winipuh @ Sep 15 2013, 18:28) С др... Sep 23 2013, 07:19 AlexandrY Цитата(Timmy @ Sep 23 2013, 10:19) не спо... Sep 23 2013, 08:10  Timmy Цитата(AlexandrY @ Sep 23 2013, 12:10) От... Sep 25 2013, 06:46   AlexandrY Цитата(Timmy @ Sep 25 2013, 09:46) И без ... Sep 25 2013, 07:08   MrYuran Цитата(Timmy @ Sep 25 2013, 09:46) Интере... Sep 25 2013, 07:20 A. Fig Lee Цитата(Timmy @ Sep 23 2013, 03:19) ... а ... Sep 23 2013, 11:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|