Раздел: Как стать программистом / Языки программирования
Язык Си плюс плюс: история развития
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Не знаю как вам, но мне всегда интересно, как происходит развитие каких-либо систем, например, цивилизаций, языков и т.п.
Вот и история развития языка С++ - это тоже довольно занятная вещь. Вот краткая хронология - от языка программирования, который давно уже никто не помнит, до С++14. Ну а чтобы читать было немного интереснее, я также рассказал о некоторых моментах своей жизни.
Язык BCPL. 1966 год (я ещё не родился и даже не планирую))). BCPL (Basic Combined Programming Language) - язык программирования, разработанный Мартином Ричардсом в 1966 году в Кембриджском университете. Изначально он предназначался для написания компиляторов для других языков.
Язык Би. 1969 год (а вот здесь я уже родился - как раз в этом году))). Язык Би (вторая буква английского алфавита — B) — интерпретируемый язык программирования, разработанный в AT&T Bell Telephone Laboratories. Является потомком языка BCPL и непосредственным предшественником языка Си. Язык Би был в основном произведением Кена Томпсона при содействии Денниса Ритчи и был опубликован в 1969 году.
Язык Си. 1972 год (мне уже три года, я хожу в деревянный детский сад с печным отоплением))). C (по русски Си) - компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969...1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но, впоследствии, был перенесён на множество других платформ.
Си с классами. 1980 год (мне уже 11 лет. В Москве проходит Олимпиада, в магазинах появилась жвачка, наш частный дом снесли и мы переехали в благоустроенную квартиру). Классы - это не школьные классы ))) Это первый шаг на пути к объектно-ориентированному языку, то есть к С++.
С++. 1983 год (я в седьмом классе. Самое яркое событие - это беременность одноклассницы (не от меня))), но мы долго все это обсуждали))). Первое появление языка С++ на мировой арене.
C84. 1984 год (я закончил 8 классов и поступил в СПТУ - да, с этого я начинал). Очередная реализация языка Си.
Cfront (выпуск E). 1984 год. Специальная программа для преобразования языка С++ в язык С. Дело в том, что язык С++ был уже создан, но компиляторов для него ещё не было. Поэтому исходные коды программ, написанные на языке С++ сначала преобразовывали в язык С, а потом уже компилировали существующими компиляторами С.
Cfront (выпуск 1.0). 1985 год. Дальнейшее развитие программы.
1988 год (я уже год как служу в Советской Армии). А язык С++ развивается, и теперь в нём есть множественное виртуальное наследование.
1991 год (год назад я вернулся из армии, начались лихие 90-е), а язык С++ продолжает развиваться и теперь в нём есть обобщённое программирование (шаблоны).
1996 год (лихие 90-е продолжаются, хотя этот год был не самым плохим - намечаются какие-то улучшения, а я всё-ещё даже не думаю об изучении программирования). А между тем язык С++ продолжает развиваться и стандартизируется в ANSI C++ и ISO-C++.
1998 год (кризис, “киндер-сюрприз” Кириенко, обвал рубля и ваще полная ж…). А язык С++ развивается и стандартизируется по ISO/IEC 14882:1998.
2003 год (я поступаю в университет - наконец то, и уже примерно пару лет увлекаюсь программированием - даже закончил курсы программистов, где впервые на практике попробовал создавать программы на С++, и получил там красный диплом). А язык С++ стандартизируется по ISO/IEC 14882:2003.
C++/CLI. 2005 год (я увольняюсь из налоговой и устраиваюсь начальником ИТ-отдела на одном из машиностроительных предприятий нашего города, где начинаю разрабатывать систему управления производством на базе 1С, кстати, 1С написана на С++). C++/CLI - язык для среды программирования Microsoft .NET. Он интегрирует С++ стандарта ISO с Объединённой Системой Типов (Unified Type System, UTS), рассматриваемой как часть общеязыковой инфраструктуры (Common Language Infrastructure, CLI). Он поддерживает и исходный уровень, и функциональную совместимость исполняемых файлов, скомпилированных с родного и управляемого C++. C++/CLI представляет собой дальнейшее развитие Managed C++. C++/CLI стандартизирован в ECMA как ECMA-372.
TR1. 2005 год. C++ Technical Report 1 (TR1) является общим названием для стандарта ISO/IEC TR 19768, библиотеки расширений C++ - это документ с предложением дополнений в стандарт библиотеки С++. Дополнения включают регулярные выражения, умные указатели, хэш-таблицы, и генераторы случайных чисел. TR1 не стандарт, а скорее проект документа. Однако, большинство его предложений, стали частью следующего официального стандарта, C++11.
C++11. 2011 год (я два года назад закончил универ, и уже три года как работаю на новой должности - инженера по автоматизации - по своей вузовской специальности, освоил программирование ПЛК и SCADA-системы). C++11 или ISO/IEC 14882:2011 (в процессе работы над стандартом носил условное наименование C++0x) - новая версия стандарта языка C++, вместо ранее действовавшего ISO/IEC 14882:2003. Новый стандарт включает дополнения в ядре языка и расширение стандартной библиотеки, в том числе большую часть TR1.
C++14. 2014 год (я уже пару лет как начальник отдела автоматизации, хотя из-за нехватки специалистов приходится много заниматься инженерной работой и программированием). С++14 - это последний утверждённый на текущий момент стандарт языка С++. C++14 - неофициальное название стандарта C++ ISO/IEC JTC1 (полное название: «International Standard ISO/IEC 14882:2014(E) Programming Language C++»). C++14 можно рассматривать как небольшое расширение над C++11, содержащее в основном исправления ошибок и небольшие улучшения. Комитет разработки нового стандарта опубликовал черновик N3690 15 мая 2013. Рабочая версия черновика N3936 была опубликована 2 марта 2014 года, заключительный период голосования закрыт 15 августа 2014 года, а результат (единогласное одобрение) был объявлен 18 августа 2014 года.
P.S. Не знаю, понравилось ли вам это небольшое путешествие во времени. Надеюсь, что да. Мне, во всяком случае, понравилось. А если итог работы интересен хотя бы одному человеку, то работа сделана не зря ))))
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Первые шаги в программирование
Очень небольшая книга, которую можно прочитать буквально за 15 минут. Но эти 15 минут дадут вам представление о том, что такое программирование. И вы даже напишите свою первую программу. Для тех, кто интересуется программированием, но ещё не знает, что это такое, и не пробовал создавать программы (или пробовал, но не получилось). Подробнее... |
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |