реклама на сайте
подробности

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


Частый гость
**

Группа: Участник
Сообщений: 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++ в своих проектах в ближайшем будущем.

С другой стороны:
  • Много слышал о глубокой любви Линуса Торвальдса к С++. Дядечка этот умный и считаться с его мнением стоит
  • Некоторые полагают, что крайне опасно открывать двери к проекту для сферического С++ программиста. Честно говоря, такие посты как это или это самого наталкивают на такие мысли (ну или я чего-то не понимаю).
С учетом этого кажется, что от проекта на "С++ в духе С" лучше всем не станет, будет только яростная критика и со стороны "чистых С-программистов", и программистов на "чистом С++"...

Хотелось бы услышать мнение других. Приглашаю к дискуссии. sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
winipuh
сообщение Sep 15 2013, 15:57
Сообщение #2


Частый гость
**

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



Бзусловно, Вы правы, Xenia. Собственно я о том же и говорил. Вопрос в другом.
Если есть проект, написанный фактически на Си, но с "улучшениями" С++ (описанными выше), призванными улучшить ясность, читаемость кода.
Нет ли опасности, что на самом деле другие разработчики, которым придется далее подерживать проект, не оценят этих стараний. Вдруг все будет наоборот — сторонник чистого Си будет плеваться и называть автора извращенцем, а приверженец С++ презрительно кривиться над "недопрограммой", потому что в ней не применяется ООП, не используется STL (или используется только малая часть) и т.п.?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 09:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016