Введение в языки программирования C и С++

Переходя к введению в языки программирования C и C++, необходимо напомнить об истории их создания и популяризации. Вот её основные вехи:

  • 1972 год – создание в Bell Telephone Laboratories языка C (название произносится как «Си»). Его разработчик Деннис Ритчи поставил себе задачу – создать системный язык программирования, то есть язык, которым должны писаться операционные системы. Новинка должна была легко компилироваться, относительно быстро выполняться и быть минималистической для написания эффективного кода и обеспечения эффективного доступа к памяти. То есть планировалось создание высокоуровнего языка. Получившийся в итоге C относился к языкам низкоуровневым и при этом не зависел от платформ, под которые должен был писаться код.
  • 1973 год – подтверждение эффективности и гибкости C: в этом году именно на нём было переписано больше половины UNIX (в качестве переписчиков данной операционной системы выступали Кен Топмсон и Деннис Ритчи). До этого для написания операционных систем в основном использовался язык ассемблера. Но Ассемблер предназначен для написания программ под строго определённые процессоры. C выгодно отличался от него своей портативностью, благодаря чему стала возможной перекомпиляция UNIX на иные типы компьютеров. В результате система UNIX распространялась всё шире, а тесно связанный с ней C становился всё более популярным.
  • 1978 год – выпуск стандарта и своеобразной инструкции к C: книги Брайана Кернигана и Денниса Ритчи «Язык программирования Си», хотя в кругу программистов её больше знают как «K&R» (в основу наименования легли первые буквы фамилий авторов). Именно к ней обращались специалисты, когда возникала необходимость в максимальной портативности программ: в те времена основная масса компиляторов реализовывалась согласно описываемым в «K&R» стандартам.
  • 1983 год – формирование комитета, призванного установить официальный стандарта для C. Формировал данный комитет ANSI — Американский национальный институт стандартов («American National Standards Institute»).
  • 1989 год – окончание работы названного выше комитета и выпуск стандарта C89, более известного как ANSI.
  • 1990 год – принятие слегка изменённой версии ANSI (C89) Международной организацией по стандартизации («International Organization for Standardization» — ISO). Данную версию C знают как C90. Именно под стандарты ANSI C/C90 были адаптированы компиляторы, и именно на эти стандарты в конце концов стали ориентироваться специалисты при написании программ, в которых требовалась максимальная портативность.
  • 1999 – выпуск комитетом ANSI новой версии языка C, известной также как C99, наделённой многими особенностями (фичами), уже реализованные в компиляторах (как расширения) или в C++.

C++

Датой создания C++ (название произносится как «Си плюс плюс») в Bell Labs стал 1979 год. Разработчиком стал Бьёрн Страуструп. Данный язык должен был послужить дополнением к C, поэтому туда была добавлена масса фич. Объектно-ориентированность C++ стала причиной его популярности. Впрочем, про объектно-ориентированное программирование (ООП) и то, чем оно отличается от программирования традиционного будет сказано позднее.

Ратификация (одобрение) C++ комитетом ISO произошла в 1998 году, а далее в 2003 году (версия получила название C++03). Далее язык обновлялся трижды (см. версии C++11, C++14 и C++17, ратификация которых проходила в 2011, 2014 и 2017 годах соответственно), и всё это делало его ещё более функциональным.

Философия C и C++

Если говорить о философии языков C и C++, её можно свести к постулату: программист всегда прав. То есть если при программировании захочется внести какие-то важные изменения, компилятор не создаст помехи, но при этом не сделает ничего, что помешает неумелому программисту сделать ошибку, вызывающую сбой. Именно поэтому необходимо чётко понимать, что ни в коем случае нельзя делать в C/C++, а что нужно делать обязательно.

Важно: Для прохождения данных уроков знать язык C необязательно. Уроки дадут вам нужную базу и фундамент знаний.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *