Программирование как отрасль современной экономики
Появление компьютеров стало одной их главных составляющих Научно-технической революции, начавшейся в середине прошлого века. Возможности для автоматизации вычислений позволили не только повысить качество научно-исследовательской, управленческой и инженерной деятельности, но и способствовали появлению новых массовых профессий. Большое разнообразие вычислительной техники, существующее в сегодняшнем мире, обуславливает существование таких высокотехнологичных сегментов экономики, как:
- обработка больших массивов научной и статистической информации;
- цифровые коммуникации (создание оборудования и ПО для передачи информации в локальных и глобальных сетях);
- производство персональных компьютеров и ПО для них;
- производство мобильных устройств и ПО для них;
- производство и программирование микроконтроллеров для автоматических устройств;
- компьютерный дизайн (реклама, инфографика, полиграфия и т.п.);
- компьютерные игры и т.д.
Рисунок 1. Отрасли it-индустрии. Автор24 — интернет-биржа студенческих работ
Потребность в специальной информационной инфраструктуре для каждого вида деятельности обуславливает развитие специфических средств разработки программ для компьютеров - языков программирования (ЯП). Рассмотрим несколько примеров, раскрывающих специфику разработки программного обеспечения для различных целей.
Классификация языков программирования по сфере применения
Рисунок 2. Популярность ЯП по данным GitHub. Автор24 — интернет-биржа студенческих работ
Универсальные языки программирования
Появление языка программирования Си в конце 1960-х гг. можно считать точкой отсчета в развитии языков широкого применения. Он сам и созданные на его основе средства разработки (C++, Java, JavaScript, C#) дали толчок развитию множества разновидностей компьютерных программ.
Показательна в этом смысле история развития ЯП Java, который в момент своего появления был заявлен как язык, пригодный для решения любых задач на любых компьютерных платформах: на Java можно писать приложения для персональных компьютеров, мобильных устройств, крупные серверные и кластерные решения для обработки больших объемов данных в режиме реального времени, ПО для микроконтроллеров и т.п. Слоган языка Java - "Написано однажды - работает везде".
Универсализм свойственен не только языкам с Си-подобным синтаксисом, но и другим группам многопрофильных языков: Pascal (Delphy), Python, Haskell, Ruby, Erlang и др.
Веб-программирование
Бурное развитие Интернета и Всемирной паутины обусловило появление методов программирования, в основе которых лежит язык HTML (Hypertext Markup Language). HTML не является языком программирования в строгом смысле, а относится к средствам разметки, или, в более широком смысле, к языкам описания данных. На его основе развились специфические средства разработки, применение которых характерно именно для веб-программирования. Речь идет, прежде всего, о языке PHP (PHP: Hypertext Preprocessor), который также трудно отнести к классическим языкам программирования. Он скорее представляет собой комбинацию из языка разметки с активными вставками, написанными с помощью Си-подобного синтаксиса. Они выполняются на стороне сервера и обуславливают динамику и специфику раздаваемых им веб-страниц в зависимости от пользовательских предпочтений и прочих специфических условий.
Скриптовые языки
На ранних этапах развития программирования выделилась особая группа языков - скрипты. От полноценных ЯП их отличает то, что они применяются преимущественно для быстрого решения оперативных задач. В качестве примеров можно привести языки Bash (в Unix-системах), VisualBasicScript (для Windows), Perl, Lua и др.
Интерпретируемые языки JavaScript, Python начинались когда-то как скриптовые, но со временем превратились в полноценные ЯП с развитой инфраструктурой и мощным коммьюнити.
Основные языки программирования 2019
По ходу развития информационных технологий одни языки устаревают, другие набирают популярность. Рассмотрим несколько актуальных на сегодняшний день языков программирования.
Рисунок 3. Рейтинг и применимость современных ЯП. Автор24 — интернет-биржа студенческих работ
Си, C++, C#, Objective C, Java
Язык Си стал классическим и до сих пор активно используется. От него ведут свое происхождение C++, C#, Java и др. Си используется для низкоуровневого программирования. На нем пишут драйверы, операционные системы, встраиваемое в автоматику ПО.
C++ возник как оптимизированный вариант Си, рассчитанный на объектно-ориентированное применение, которое способствует повышению масштабируемости и стабильности ПО.
Си и C++ считаются сложными в освоении. Более демократичными вариантами, основанными на том же синтаксисе, являются C# и Java. Первый примеряется в программировании для ОС Windows, второй - в корпоративной сфере, для создания мощных веб-систем, научных приложений и т.п.
Objective C используется для разработки программ для MacOS, iOS. В настоящее время этот язык считается устаревшим на смену ему приходит Swift.
PHP, ASP, JSP
Идея, заложенная в основу PHP - совместить язык разметки и активные, исполняемые на стороне сервера вставки, оказалась в свое время настолько плодотворной, что PHP длительное время доминировал в веб-разработке, породив массу подражаний: в среде Windows подобная технология известна как ASP (Active Server Pages), для серверов, написанных на Java - JSP (Java Server Pages).
PHP как нельзя лучше подходит для быстрого написания веб-приложений средней сложности, однако в настоящее время занимаемая этим средством разработки ниша сужается за счет роста популярности более современных и эффективных языков.
JavaScript и Python
JavaScript появился в первой половине 1990-х гг. как простой интерпретируемый язык для веб-страниц, однако после появления фреймворка Node.js этот ЯП быстро превратился в универсальный язык для решения любых задач. Его достоинством является то, что при разработке веб-приложений фронтенд и бэкенд можно писать используя один и тот же синтаксис.
Скриптовый язык Python является прямым конкурентом JavaScript. Его преимуществом является более развитая инфраструктура, более широкий диапазон библиотек и модулей. Специалисты, знающие этот ЯП востребованы на современном рынке.