techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
1 | |
Имеет ли смысл писать код на Cи, если можно на Си++?08.02.2018, 14:46. Показов 2725. Ответов 25
Метки нет (Все метки)
0
|
08.02.2018, 14:46 | |
Ответы с готовыми решениями:
25
Имеет ли смысл писать makefile? Имеет ли смысл писать конспект по изучаемому материалу Имеет ли смысл учиться писать бутлоадеры, работать с VGA и SVGA и т.д.? Можно ли найти хоть какую работу? Можно ли вернуть исходный код программы, если exe имеет отладочную информацию |
_lunar_
|
08.02.2018, 23:15
Имеет ли смысл писать код на Cи, если можно на Си++?
#21
|
0
|
30 / 36 / 9
Регистрация: 16.10.2017
Сообщений: 137
|
|
09.02.2018, 00:30 | 22 |
Именно на Си бы и стал писать. Сложно найти причину, чтобы, наоборот, писать код на С++.
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
09.02.2018, 02:11 | 23 |
Если потом предполагается универсализация данного кода (под набор различных сущностей, которые код сможет обрабатывать), то лучше с++. Если же это просто "считалка" для известного типа данных, известных ограничений и вообще "только для данного конкретного случая", то да, на си будет в среднем быстрее и проще .
Добавлено через 8 минут Как-то пилил себе кольцевой буфер в двух реализациях, один в стиле С, другой в С++. Первый использую для POD'ов (https://ru.wikipedia.org/wiki/... ура_данных), второй - для объектов с динамическими полями. Хотя и там управление буфером построено на ООП, а тип данных является аргументом шаблона класса.
0
|
4019 / 2565 / 430
Регистрация: 09.09.2017
Сообщений: 11,436
|
|
09.02.2018, 10:32 | 24 |
В С++ много синтаксического сахара, он поощряет абы как собрать готовые библиотеки (благо их много) в общую программу, при этом скрывая детали реализации. Это и хорошо (на надо держать в голове слишком много вещей одновременно, да и снижение порога вхождения) и плохо (в некоторых местах отсутствуют проверки, многие вещи слишком универсальны а потому неоптимальны). В результате один и тот же по размеру код на С++ может выполнять значительно больше действий, чем на Си. При этом программист не всегда знает (или хочет знать) о подробностях. В результате в коде появляются неочевидные ошибки и неоптимальности. В то же время на Си программист вынужден писать то же самое руками и поневоле выберет более простое решение, просто потому что его проще писать.
Примерно той же цели служит стиль программирования ядра, где используются огромные отступы (по 8 пробелов если не ошибаюсь), нежелательно пересечение строкой границы экрана (80 символов) и функции больше 1-2 экранов (25 - 50 строк). Дело в том, что если вы выходите за эти границы, вероятно чего-то перемудрили в коде и хорошо бы его переписать попроще. В конце концов, мало его написать, его же еще читать придется, разбираться как он устроен. Однако никто не запрещает на С++ писать в стиле "Си с классами" и использовать только тот сахар, который знаешь достаточно хорошо.
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
09.02.2018, 11:18 [ТС] | 25 |
А как вы относитесь к работе с прерываниями написанной на с++?
0
|
4019 / 2565 / 430
Регистрация: 09.09.2017
Сообщений: 11,436
|
|
09.02.2018, 12:03 | 26 |
Конечная программа зависит не от того на чем пишут, на Си, С++, Java или bash. Она зависит в первую очередь от того кто пишет. Язык или стиль кодирования может помогать или мешать в этом, поощрять скорость разработки или тщательность.
При этом нельзя сказать что какой-то язык безусловно хорош, а какой-то плох А вот высоконагруженный сервер писать на том же bash будет разве что мазохист. Что понимается под прерываниями? Если ядерная обработка событий железа, то традиционно для этого используются Ассемблер и Си. Если программист аккуратен, он и на С++ напишет не менее эффективно.
0
|
09.02.2018, 12:03 | |
09.02.2018, 12:03 | |
Помогаю со студенческими работами здесь
26
Имеет смысл ставить видюху на 2-3-4 гига, если мало оперативной памяти в ПК? Имеет ли смысл заниматься web-программированием, можно ли этим зарабатывать? Имеет ли смысл установка WINx64, если даже под её управлением доступно 3ГБ ОЗУ из 4ГБ имеющихся? Можно ли писать такой код, чтобы я мог где-то вставить нужный код у он появился во всех страницах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |