Хотелось бы узнать каковы области применения языков Си и Си++ и для каких платформ чаще их используют?
Эти языки используются там, где нужно максимальное быстродействие, экономия памяти и "близость" к железу. Особенно это относится к Си. С++ уровнем чуть повыше и у программ на нем требования к ресурсам чуть больше.
Для очень серьезных проектов, разработка и использование которых ведется несколько лет.
Для проектов которые используют собственные протоколы, форматы, модели и иные формы взаимодействия данных.
Для решений, требующих высокого уровеня надежности. Когда каждый "байт" находится под контролем.
Для решений, требующих высокой производительности.
При отсутствии готовых открытых или закрытых движков в той или иной области разработки, или неудовлетворение ими.
Для изучения фундаментальных основ императивного программирования.
Для разработки в среде поддерживающей только данные языки.(например игровые приставки)
Для проектов срок жизни которых должен превышать 10 лет, и следовательно требуется надежный язык разработки, который точно будет актуален в будущем.(например физический движок physx который пережил несколько крупных рефакторингов. Первоначально он не был столь популярен из-за особых требований к производительности для того времени, однако разработчики были уверены, что в будущем он будет актуальным для массового применения, в случаи роста производительности)
В общем почти в любом крупном проекте центральное логическое ядро программного комплекса будет функционировать на одном из этих языков.
Часто: - сети. протоколы. - серверная сторона различных служб. - игры. - прикладной интерфейс для работы с аппаратными устройствами. - любые требовательные к производительности компоненты.
Пример:
Видеоплеер(медиа проигрыватель).
Кнопки, обработки событий, настройки - всё это можно создать используя обычный высокоуровневый язык.
А вот если нужно подгрузить содержимое видеофайла частями, потом быстро добавить в видео эффекты, перекодировать в другой формат, и воспроизвести на экран, то придется использовать Си.
С++ вроде бы есть, но встретить библиотеку, которая основана на STD-STL, большая удача. Везде говорят "написано на С++", а на деле Си с добавкой пары классов.
ide
к немуcgi
-скрипты для веб)assembler
и был запланирован на 100 лет работы с нимА вообще считаю в системной области программирования равных этому языку мало конкурентов
ps: язык с++ постоянно развивается, а это уже огромный плюс
Парни! Вы забыли про D Language! Да, средств разработки адекватных для него мало, но он клевый. Компилит все в нативный код, позволяет писать ПО кросс-платформенно, имеет весьма приятный и простой синтаксис. Позволяет управлять памятью вручную, или автоматически(есть свой сборщик мусора).
Последнее время пытаюсь в свободное время познакомиться с этим языком поближе. Пока что он мне нравится.
ps:// си, си++ сейчас нужно использовать при написании драйверов, каких-то низкоуровневых программ, да приложений, в которых нужна максимальная производительность(читай игры, и иже с ними). Для веба, десктопа использовать можно, но в настоящее время, когда активно развиты и развиваются скриптовые языки, и языки типа C#, java, смысла в этих областях с++ особо то и нет - Дороже выйдет. Во-первых, потому что разработка на си/си++ сложнее, а потом спустя несколько лет поддержки этот ваш проект превратится в какашку, которую будет дешевле переписать.
Не идите на поводу у всех, имейте свое мнение! Попробуйте эти языки сами, и решите, нужно-ли оно вам, или нет. Пробуйте альтернативные языки, компилируемые в нативный код, сравнивайте удобство в использовании языков. Не бойтесь экспериментировать!
Для программирования железа
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Добрый вечер! Помогите понять почему не скачивается файл с FTP сервера
Производится чтение из базы даннных слов и имен файлов (которые содержат эти слова) и запись их в текстовый файл в следующем формате: файл...
Разрабатываю клиент серверное приложение и в нем возникает ошибка при пересылке данныхЗаключается она в следующем:
Получив ответ на свой вопрос, я сел записывать решениеНо вот в этой части кода выскакивает ошибка: Value of type void is not allowed