Область применения Си и Си++

309
19 декабря 2016, 20:08

Хотелось бы узнать каковы области применения языков Си и Си++ и для каких платформ чаще их используют?

Answer 1

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

Answer 2
  1. Для очень серьезных проектов, разработка и использование которых ведется несколько лет.

  2. Для проектов которые используют собственные протоколы, форматы, модели и иные формы взаимодействия данных.

  3. Для решений, требующих высокого уровеня надежности. Когда каждый "байт" находится под контролем.

  4. Для решений, требующих высокой производительности.

  5. При отсутствии готовых открытых или закрытых движков в той или иной области разработки, или неудовлетворение ими.

  6. Для изучения фундаментальных основ императивного программирования.

  7. Для разработки в среде поддерживающей только данные языки.(например игровые приставки)

  8. Для проектов срок жизни которых должен превышать 10 лет, и следовательно требуется надежный язык разработки, который точно будет актуален в будущем.(например физический движок physx который пережил несколько крупных рефакторингов. Первоначально он не был столь популярен из-за особых требований к производительности для того времени, однако разработчики были уверены, что в будущем он будет актуальным для массового применения, в случаи роста производительности)

В общем почти в любом крупном проекте центральное логическое ядро программного комплекса будет функционировать на одном из этих языков.

Часто: - сети. протоколы. - серверная сторона различных служб. - игры. - прикладной интерфейс для работы с аппаратными устройствами. - любые требовательные к производительности компоненты.

Пример:

Видеоплеер(медиа проигрыватель).

Кнопки, обработки событий, настройки - всё это можно создать используя обычный высокоуровневый язык.

А вот если нужно подгрузить содержимое видеофайла частями, потом быстро добавить в видео эффекты, перекодировать в другой формат, и воспроизвести на экран, то придется использовать Си.

С++ вроде бы есть, но встретить библиотеку, которая основана на STD-STL, большая удача. Везде говорят "написано на С++", а на деле Си с добавкой пары классов.

Answer 3
  1. с++ компилятор есть на всех популярных платформах, а также найдется и ide к нему
  2. c++ используется везде где только это возможно (на нем можно даже писать cgi-скрипты для веб)
  3. с++ был признан заменить язык assembler и был запланирован на 100 лет работы с ним
  4. его часто используют в коммерческих проектах тк у него самое высокое быстродействие

А вообще считаю в системной области программирования равных этому языку мало конкурентов

ps: язык с++ постоянно развивается, а это уже огромный плюс

Answer 4

Парни! Вы забыли про D Language! Да, средств разработки адекватных для него мало, но он клевый. Компилит все в нативный код, позволяет писать ПО кросс-платформенно, имеет весьма приятный и простой синтаксис. Позволяет управлять памятью вручную, или автоматически(есть свой сборщик мусора).

Последнее время пытаюсь в свободное время познакомиться с этим языком поближе. Пока что он мне нравится.

ps:// си, си++ сейчас нужно использовать при написании драйверов, каких-то низкоуровневых программ, да приложений, в которых нужна максимальная производительность(читай игры, и иже с ними). Для веба, десктопа использовать можно, но в настоящее время, когда активно развиты и развиваются скриптовые языки, и языки типа C#, java, смысла в этих областях с++ особо то и нет - Дороже выйдет. Во-первых, потому что разработка на си/си++ сложнее, а потом спустя несколько лет поддержки этот ваш проект превратится в какашку, которую будет дешевле переписать.

Не идите на поводу у всех, имейте свое мнение! Попробуйте эти языки сами, и решите, нужно-ли оно вам, или нет. Пробуйте альтернативные языки, компилируемые в нативный код, сравнивайте удобство в использовании языков. Не бойтесь экспериментировать!

Answer 5

Для программирования железа

READ ALSO
Скачивание файла с FTP сервера

Скачивание файла с FTP сервера

Добрый вечер! Помогите понять почему не скачивается файл с FTP сервера

393
Запись в файл на С++ результатов запроса к postgres базе

Запись в файл на С++ результатов запроса к postgres базе

Производится чтение из базы даннных слов и имен файлов (которые содержат эти слова) и запись их в текстовый файл в следующем формате: файл...

302
Подскажите пожалуйста с чем может быть связана ошибка при пересылке данных?

Подскажите пожалуйста с чем может быть связана ошибка при пересылке данных?

Разрабатываю клиент серверное приложение и в нем возникает ошибка при пересылке данныхЗаключается она в следующем:

302
Работа со стеком №2

Работа со стеком №2

Получив ответ на свой вопрос, я сел записывать решениеНо вот в этой части кода выскакивает ошибка: Value of type void is not allowed

299