Язык программирования для прикладных программ

Обновлено: 07.07.2024

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бабенко В.В., Гольчевский Ю.В.

Решается вопрос, возникающий при организации учебного процесса подготовки специалистов по информационным технологиям, можно ли выбрать «оптимальный» язык программирования , пригодный для всех программистских задач, удобный в обучении и использовании, гарантирующий высокий профессионализм. Анализируются требующие навыков программирования профессиональные задачи, стоящие перед специалистами направления « прикладная информатика », а также сравниваются среды разработки (реализации конкретных языков) и средства проектирования, которые должны войти в «набор оптимальных инструментов» прикладного информатика .

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бабенко В.В., Гольчевский Ю.В.

Сопоставительный анализ подготовки специалистов по информационным технологиям в вузах России и за рубежом Актуальность изучения современных языков программирования в системе непрерывного образования Республики Узбекистан Мобильность педагогического образования на примере обучения языкам программирования Преподавание дисциплины «Объектно-ориентированное программирование» i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Problem of programming languages and design tools choosing for educational process in direction «Applied Computer Science»

The paper discusses the problem, arising in the educational process of training on Information Technology is it possible to choose the «optimal» programming language , suitable for all programming tasks, easy to learn and use, and guarantees excellence? Professional tasks that require programming skills for specialists in Applied Computer Science are considered. Programming languages and development environments (or specific implementations of languages) that must be included into a «set of optimal programming tools» for specialists in applied computer science are compared.

Текст научной работы на тему «Выбор языков программирования и средств проектирования для обучения специалистов по направлению «Прикладная информатика»»

В. В. Бабенко, канд. геол.-минерал. наук, зав. кафедрой Информационных систем

Сыктывкарского государственного университета Ю. В. Гольчевский, канд. физ.-мат. наук, доцент Сыктывкарского государственного университета

выбор языков программирования и средств проектирования для обучения специалистов по направлению «Прикладная информатика»

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

Проблема оптимизации учебного процесса при подготовке специалистов любого профиля становится в настоящее время особенно актуальной в связи с принятием новых стандартов высшего образования и встающими задачами в области интеграции экономики России в мировые рынки. Если еще 6-7 лет назад задачи такого характера можно было обсуждать в сослагательном наклонении, без необходимости формирования достаточно четких выводов [1], то к сегодняшнему дню появилась потребность наличия гораздо большей конкретики. Российские специалисты в области информационных технологий (ИТ) вполне способны вносить существенный вклад в развитие мировой компьютерной индустрии и экономики. Помочь им в этом могут правильно построенные образовательные процессы, поскольку сами по себе такие специалисты не появятся — их надо «выращивать» с помощью грамотно построенных образовательных программ высшего профессионального образования.

Популярность языков программирования

На сегодняшний день существует более 2 тысяч языков программирования, и постоян-

-N ПРИКЛАДНАЯ ИНФОРМАТИКА

претенденты на вакансии программистов. И тут топ-лист востребованных языков практически тот же.

« что один язык можно использовать во всех S.

Л* случаях, не подтверждается практически

i никем. Особенно сомнительной такая по-S

Какие же факторы определяют популяр* ность конкретного языка программирова-| ния? Их достаточно много. Не претендуя § на полноту анализа, отметим следующие Ц факторы:

• Востребованность на рынке труда — о по-видимому, главный критерий для будущих ^ программистов-профессионалов, поскольку | интегрально учитываются сразу несколько 8 параметров: емкость рынка вакансий, типи-^ зация программистских задач и регионально ная специфика.

• Тренды эволюции информационных технологий вообще и методологий разработки и программных сред в частности — фактор, во многом задающий главные закономерности использования языков программирования и определяющий востребованность в тех или иных специалистах. Например, смещение задач, требующих специализированного программного обеспечения, в Интернет предсказуемо вывело на передний план языки, удобные для разработки веб-ресурсов. Аналогичная картина наблюдается в связи с резким ростом рынка мобильных коммуникативных устройств. Например, растет популярность среды разработки Eclipse и языков, оперативно предоставляющих интерфейсы и библиотеки для таких разработок. Также очень существенно влияют изменения парадигм программирования — от процедурной через объектную к функциональной (табл. 1), появление интегрированных средств быстрой разработки, весьма успешное рыночное продвижение технологии^ЕТ и стремительный рост рынка облачных решений.

Процентное соотношение популярности языков, сгруппированных по типам парадигм (по данным [2])

Языки Рейтинг на февраль 2013 г., % Изменение с февраля 2012 г., %

Процедурные 35,0 -1,4

Функциональные 3,3 -0,9

Логические 1,6 -0,3

• Универсальность — чем больше задач способен решать язык, чем большее количество операционных платформ поддерживают работу с ним, тем лучше.

• Легкость в освоении — фактор, который, по-видимому, сильно влияет на статистику (для учебных языков количество свя-

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

• Стоимость владения — языки, подпадающие под свободные от платы лицензии (свободные или открытые), значительно популярнее на первой стадии обучения. Уже несколько лет наблюдается тенденция, когда производители проприетарных средств разработки или моделирования и проектирования предоставляют учебным заведениям, студентам и преподавателям свободный доступ к своим продуктам (естественно, в учебных целях).

• Поддержка производителей и обеспеченность учебными и справочными ресурсами — один из существенных факторов выбора. Ведь он во многом определяет, какова возможность быстро научиться грамотно писать востребованные рынком программы, и способен влиять на формирование предложения на рынке труда.

• Личные предпочтения — критерий, зависящий, в свою очередь, от разных обстоятельств: последовательность знакомства конкретного программиста с языками, талант преподавателей, окружение, доступность учебных материалов и т. п.

навыки программирования для прикладного информатика

По целевому назначению следует различать несколько видов программирования:

• Математическое и системное программирование — поиск оптимальных алгоритмов, создание программ системного уровня, акцентированных на высокопроизводительный и устойчивый в работе код.

• Бизнес-программирование — разработка и настройка бизнес-ориентированных программ разного уровня сложности. Сюда же следует добавить и средства проектирования (например, UML, который не яв-

ляется языком программирования, но необ- | ходим грамотному разработчику информа- | ционных систем и т. п.). g

• Программирование игр и мультиме- ¡2

диа — разработка игровых интерфейсов g и алгоритмов, а также новых способов ра- g-боты с информацией: аудио- и видеопроигрывателей, трехмерной графики и т. п. и§

Все направления могут быть выделены ^ в применении к любым платформам, а противопоставление в достаточной степени условно — как правило, в реальных проектах эти подходы способны в разной степени сочетаться. Наибольшую значимость для специальности «Прикладная информатика» имеет бизнес-программирование.

Целевая профессиональная спецификация направления 230700 — «Прикладная информатика» описана в ФГОС недостаточно конкретно [5] и требует уточнения путем анализа фактического трудоустройства выпускников и уточнения формулировок компетенций [6, 7]. В большинстве случаев квалификация специалистов данного профиля интерпретируется как способность участвовать в проектах по разработке и внедрению бизнес-ориентированного программного обеспечения и в процессах эксплуатации и сопровождения управленческих программных систем.

В классификации авторитетной некоммерческой международной профессиональной организации «Институт инженеров по электротехнике и электронике» (IEEE, Institute of Electrical and Electronics Engineers) точного соответствия российскому квалификационному направлению «Прикладная информатика» нет (рис. 1). Сопоставление стандарта и структуры рынка труда позволяет сделать вывод, что это направление ближе всего к блокам SE (программная инженерия) и IT (информационные технологии) [8].

Перечислим наиболее типичные укрупненные профессиональные задачи, характерные для специалистов по прикладной информатике:

Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.

Конечно, это не значит, что надо ограничивать свой кругозор единственным языком. На мой взгляд, секрет успеха в том, чтобы стать профи в чем-то одном, а затем осваивать смежные области, которые будут дополнять друг друга и двигать в направлении одной цели. Например, если вы занимаетесь Web-разработкой, будет плюсом знать какой-то язык для бэкэнда и JavaScript для фронтэнда. Но если я буду учить С++ для бэкэнда, то знания JavaScript для фронтэнда мне ничего не даст, потому что я никогда не буду использовать их вместе.

Если осваивать программирование с целью карьеры, а не в качестве хобби, ориентироваться надо на рынок вакансий. Идем на HeadHunter и видим такую картину (данные собраны в конце 2019-го года):

Зеленым выделены языки с положительной динамикой вакансий. За год Kotlin и Go впервые оказались в этом списке. Красным выделен Ruby — для него число вакансий сокращается, и возможно, скоро из топ-10 его вытеснит какой-нибудь другой перспективный язык.

Может показаться, что если выбрать что-нибудь экзотическое, у вас будет меньше конкурентов, а значит проще найти работу. Это не совсем так. Работодатели тоже идут на hh, смотрят кандидатов и решают, на чем запускать проекты, под которые реально собрать команду. Замкнутый круг. Поэтому мой совет с точки зрения развития карьеры: выбирайте популярный язык, при этом ориентируйтесь на спрос на рынке труда, а не по каким-то другим рейтингам.

Вместо того, чтобы обсуждать актуальность отдельно взятого инструмента — а именно этим являются языки программирования — я рассмотрю их в разрезе 4-х направлений разработки и составлю наборы навыков, необходимых для решения разных задач.

Здесь больше всего вакансий, но и сильнее конкуренция среди специалистов, т.к. направление развивается уже много лет. Web-разработка состоит из Frontend — визуальная часть сайта, то, с чем взаимодействуют пользователи, и Backend — серверная часть сайта.

Начальный маршрут для фронтендера:

  • HTML, CSS — языки верстки
  • JavaScript — для интерактивных элементов
  • ECMAScript / Typescript — расширения JavaScript, дающие больше возможностей
  • Опыт работы с одним из фреймворков: React / Angular / Vue

Как правило, выбор фреймворка не столь принципиален: работодатель готов рассмотреть кандидата с опытом в любом из трех, т.к. довольно быстро можно пересесть на нужный специально под проект.

Для бэкендера есть несколько вариантов. Каждый пункт в списке — пара из языка и его фреймворков:

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

  • HTML & CSS — понимание верстки сайтов
  • SQL (PostgreSQL / MySql) — работа с базами данных
  • Архитектуры и паттерны — как писать код, который легко поддерживать и масштабировать

В большинстве случаев это необходимый минимум, джентельменский набор для бэкенд-разработчика, работающего над сайтами. Далее, можно развиться как разработчик в 2 разных направлениях: начать осваивать технологии из списка фронтендера, т.е. стать Fullstack-разработчиком, или углубиться в бекенд и хайлоад. Выбрав второй путь, будет полезно освоить следующие технологии:

Более молодое направление, в котором меньше вакансий, но пока наблюдается дефицит кадров. Языки программирования выбираются в зависимости от того, под какую платформу вы будете создавать приложения.

Android-разработчик:

  • В большинстве проектов нужно знать и Java и Kotlin
  • Новый код чаще пишется на Kotlin, однако очень много кода, который нужно поддерживать, написан на Java

Kotlin молодой, но очень перспективный язык, созданный питерской компанией Jetbrains в 2016 году. Он полностью совместим с Java, но примерно на 40% короче его, что значительно ускоряет разработку. Кроме того, в какой-то момент Google, устал от исков со стороны правообладателей Java за использование кода в Android и назвал Kotlin предпочтительным языком для Android-разработки. Сейчас все чаще приложения пишут на нем. Однако на текущий момент все еще очень много проектов, написанные на Java, которые нуждаются в поддержке и развитии. Поэтому Android-разработчику надо знать оба языка, чтобы уметь читать и вносить изменения в старый код.

iOS-разработчик:

  • Достаточно знать Swift
  • Старый код написан на Objective-C

Легкий и простой Swift пришел на смену и значительно потеснил первый iOS-язык Objective-C. Эти языки несовместимы, поэтому новые проекты начинают на Swift и его вполне достаточно для разработки на платформе. А Objective-C остается актуальным только для старых больших проектов, которые не решились переписывать на Swift.

Что касается востребованности, то Java и Kotlin универсальные языки, которые используют не только для мобильной разработки и под различные платформы. А вот Swift подходит исключительно для мобильной разработки под iOS и десктопной разработки под MacOS.

Еще один путь мобильного разработчика — освоить библиотеку ReactNative для JavaScript. Она устроена таким образом, что написанный код работает под все платформы. С одной стороны это очень удобно. Однако нередки случаи, когда появляется необходимость прописать нативный код для каждой платформы, а это значит нужно иметь наготове знания и Kotlin, и Swift.

Путь разработчика серверных приложений во многом похож на бэкендера, разрабатывающего сайты. Во-первых, надо выбрать и изучить один из языков. Сейчас в ТОП-е по количеству вакансий на российском рынке:

Во-вторых, как и бэкендеру, для большинства задач вам понадобятся навыки работы с базами данных и умение писать качественный код. Тут вам пригодятся:

  • SQL (PostgreSQL / MySql)
  • Архитектуры и паттерны

Дальше можно изучить:

Из этого самый сложный пункт — выбор языка. Я подготовил сравнительную таблицу:

C++, на мой взгляд, один из самых сложных в освоении язык, подходящий в основном для серверных, десктопных программ и игр, реже — для Data Science. Разработка на нем занимает значительно больше времени, но дает программисту огромные возможности. C++ используют для программ, требовательных к быстродействию, например, Photoshop, или масштабных игр, так как с его помощью можно контролировать и распределять нагрузку на «железо».

Golang (Go) появился как более простая версия С++. Его легко освоить, и он заточен под высокие нагрузки и многоядерные процессоры, но имеет очень ограниченный функционал, например, нет дженериков, исключений и т.д., которыми обладают другие языки программирования. В первую очередь его целесообразно использовать для консольных утилит и highload бэкенда. Вакансии разработчика на Go открывают преимущественно крупные корпорации, хотя в последнее время спрос на разработчиков Go начал появляться и в проектах поменьше.

Выбор языка во многом определяет платформу, на которой вы сможете писать игры:

Мой совет - выбирайте деятельность, а не язык. Посмотрите компании-работодателей, их проекты и вакансии и выберите те, что вам по душе. Ориентируйтесь на них с первых шагов, тогда вы сможете сфокусировать свои навыки вокруг конкретных задач программирования. И даже если вы потом не пойдете работать в эти компании, у вас будет актуальный набор скиллов и понимание своей специализации.

Специально для быстрого старта в профессию мы записали 5 видеокурсов для начинающих программистов: Java, Python, JavaScript, C++ и Linux. Их достаточно для решения задач уровня Junior, т.е. можно пойти на стажировку или претендовать на начинающую позицию в IT-компаниях. Или поступить и продолжить учиться на наших основных курсах, чтобы углубиться в выбранный язык.

Вторая часть интенсива посвящена карьерному пути в IT.

Рассмотрим, какие сферы есть, как и куда можно расти, в частности, как попасть в Data Science, какие варианты развития есть в DevOps и как айтишнику грамотно составить резюме.

Если по выбору языка какие-то моменты не осветил, задавайте вопросы — отвечу.

2. Базовые знания тех. колледжа (института). ОЧЕНЬ желательно.
Параллельно учите computer skills - xNIX (Linux, BSD и им подобные), Винду - на уровне администрирования в командной строке (. ).

Тогда можно рассчитывать на middle income $120K year и более. И жить где угодно, где есть Инет. Можно срать на Moscow или "грёбанные штаты". Не замечать ни Зеленского, ни Путина. И не гундить как всё вокруг плохо, и как вам Меркель мешает жить.
Good luck.

Язык программирования — язык (знаковая система), предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением. Язык программирования предназначен для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами, и т. п. Язык программирования отличается от естественных языков тем, что предназначен для взаимодействия человека с ЭВМ, в то время как естественные языки используются для общения людей между собой.

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

Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.

В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.

К языкам программирования высокого уровня относят Фортран (переводчик формул), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик, Си, Пролог и т.д.

Эти языки машинно–независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.

Языки программирования также можно разделять на поколения:

– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.

– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.

– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.

– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.

– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.

7. Прикладное программное обеспечение. Ппп ms Office.

Прикладное программное обеспечение – это комплекс программных средств и документации к ним, предназначенных для решения сравнительно узких классов задач в конкретных предметных областях, рассчитанных на определенного потребителя: научно-технических, экономических, инженерных, конструкторских и других специальных задач в различных сферах человеческой деятельности.

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

Пакет прикладных программ – это комплекс программ, предназначенный для решения задач определенного класса (функциональная подсистема, бизнес-приложение).

Различают следующие типы ППП:

· общего назначения (универсальные);

· организации (администрирования) вычислительного процесса

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

Метод-ориентированные ППП отличаются тем, что в их алгоритмической основе реализован какой-либо экономико-математический метод решения задачи.

Проблемно-ориентированными ППП называются программные продукты, предназначенные для решения какой-либо задачи в конкретной функциональной области.

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

ППП бухгалтерского учета (ППП БУ). Несмотря на то, что в мире существует более тысячи тиражируемых бухгалтерских пакетов различной мощности и стоимости, российские предприниматели предпочитают отечественные пакеты, более подходящие для условий переходной экономики и быстрой смены законодательных актов, регулирующих порядок бухгалтерского учета. В настоящее время появляется третье поколение российских автоматизированных бухгалтерских систем.

ППП финансового менеджмента (ППП ФМ) появились в связи с необходимостью финансового планирования и анализа деятельности фирм.

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

Гид по языкам программирования: решения для конкретных задач

Python очень популярен сегодня. Начало его разработки относится к концу 1980-х и связано с голландским программистом Гвидо ван Россумом, который и является первым автором этого языка. Со временем развитие языка перешло в ведение фонда Python Software Foundation, а Гвидо был удостоен неформального титула «великодушного пожизненного диктатора», который он сложил с себя только в 2018 году.

Язык Python известен как достаточно дружелюбный для начинающих. По этой причине, а также благодаря наличию огромного количества самых разнообразных прикладных библиотек, Python популярен у неспециалистов: от физиков и географов до лингвистов и биологов. Немалую роль тут сыграло и появление так называемых Jupyter-блокнотов. Они позволяют производить «живые» документы, которые не являются в полной мере программами, а скорее тетрадками, в которых смешаны вычисляющий исходный код, результаты вычислений, пояснения и интерпретации результатов. Сегодня Python используется для анализа данных, социологии и маркетинговых исследований, научных вычислений, а также в машинном обучении (где, впрочем, без знакомства с С++ обойтись едва ли получится).


Другой язык программирования, который широко используется в анализе данных — это R. Если Python специально не задумывался как язык для работы с данными, то R был создан специально для этого. R — это язык программирования для непрограммистов. Соответственно, его код интуитивно понятен большинству людей, обладающих каким-то опытом программирования и знаниями в предметной области (например, имеющих базовую подготовку по математической статистике).

Достаточно удобно (и эффективно) с помощью R можно выполнять операции с векторами и матрицами. Обычно R используют для написания небольших программ, предназначенных для проведения конкретных расчетов. Как и в экосистеме Python, программистам на R доступно огромное количество открытых библиотек, содержащих конкретные алгоритмы для решения вычислительных задач, и даже задач машинного обучения.

Если бы надо было расставлять языки программирования как книги по тематическим полкам, то R мог бы оказаться как на одной полке с Python, так и вместе с другими языками, предназначенными для решения инженерных и научных вычислительных задач, вроде Fortran или MATLAB.

Разработка языка была начата в середине 1990-х в Новой Зеландии как открытый проект, и продолжается с тех пор целым сообществом энтузиастов. Любопытно, что имена первых авторов — сотрудников Оклендского университета Росса Айхэки и Роберта Джентлмена — начинаются на букву «R».


В актуальной на сентябрь 2021 года версии известного рейтинга языков программирования TIOBE, язык Си занимает первое, а С++ — четвертое место. В принципе, этим можно было бы и закончить раздел про эти два языка программирования.

Язык Си был разработан в конце 1960-х — начале 1970-х годов в США Деннисом Ритчи. Целью Денниса было создать язык для программирования операционной системы UNIX — это определило и свойства языка, и его дальнейшую судьбу. До наших дней и Си, и его наследник С++ — основные инструменты в руках системных программистов, разработчиков операционных систем, драйверов, компиляторов, программного обеспечения для устройств, робототехнических устройств и т. д. До появления языка Си все эти специалисты были вынуждены программировать с использованием низкоуровневых ассемблеров, соответствующих конкретным машинам, для которых велась разработка, что было не слишком комфортно.

Программисты на Си имеют возможность напрямую работать с памятью: у них есть доступ к «железу» компьютера, отсутствующий (без использования специальных хитростей) у большинства прикладных программистов на других языках. Но это налагает дополнительную ответственность, ведь имея полный доступ к системе, легко испортить её состояние, «сломать» программу в памяти. По этой причине Си рассматривается как «опасный» язык, программировать на котором надо внимательно и с осторожностью.

Си — достаточно консервативный язык процедурного программирования. Размеренный темп его развития часто рассматривается как плюс. В то же время уже в 1980-х годах сотрудник Bell Labs Бьёрн Страуструп, пришел к выводу, что для решения поставленных перед ним задач, связанных с телефонией, возможностей процедурного программирования не хватает. Он предложил расширить язык Си функциями объектно-ориентированного программирования по аналогии с языком Симула (Simula). В результате получился новый язык, который сначала назывался «C with classes» (Си с классами), а затем был переименован в С++. Заметим, что сам язык с тех пор существенно изменился, а экосистема языка обогатилась многочисленными библиотеками, среди которых упомянем знаковые STL и Boost, без которых не обойтись современному разработчику на C++.


Наследником стиля исходного кода языка C++ стал язык Java, появившийся в середине 1990-х годов. Автор языка — Джеймс Гослинг — работал в компании Sun Microsystems и разрабатывал язык для программирования бытовой техники. Есть версия (впрочем, не единственная), что именно поэтому язык и назван Java в честь острова Ява, где в обилии произрастает кофе, а кофемашина — разновидность бытовой техники. Да и вообще, к кофе у программистов традиционно особенная любовь.

Довольно быстро язык стал использоваться не по своему первоначальному назначению. С развитием Интернета Java стала основным языком для разработки клиент-серверных приложений, функционирующих и во всемирной паутине, и в локальных сетях. Благодаря специфике исполнения (байт-код Java исполняется виртуальной машиной) стало действительно удобно разрабатывать приложения без привязки к особенностям конкретного «железа» и операционной системы. Кроме того, благодаря управляемой памяти и «сборщику мусора», который есть в этом языке, программисту стало сложнее допустить ошибку при работе с памятью — использовать Java стало безопаснее, чем C++. За что, конечно, приходится платить худшей, в среднем, производительностью.


JavaScript, TypeScript

Читайте также: