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

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

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

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

Готовые работы на аналогичную тему

Классификация прикладного программного обеспечения

Все прикладные программы делятся на следующие типы, представленные на рисунке ниже:

Языки прикладного программирования это. Смотреть фото Языки прикладного программирования это. Смотреть картинку Языки прикладного программирования это. Картинка про Языки прикладного программирования это. Фото Языки прикладного программирования это

Рисунок 1. Классификация прикладного программного обеспечения. Автор24 — интернет-биржа студенческих работ

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

Программные приложения общего назначения

Программные средства общего предназначения применяются для разрешения проблем общего плана во всех областях деятельности людей. Они соединяют в себе наиболее часто применяемые пользователями программы, такие как редакторы текстов, табличные редакторы, информационные базы и так далее. К приложениям, работающим с текстами, можно отнести редакторы текстов и текстовые процессоры. Грань между этими программами носит достаточно условный характер. Редакторы текстов, к примеру, NotePad, разработанный компанией Microsoft, могут осуществлять базовые редакторские функции, а именно, занесение текста, его коррекция, действия с его фрагментами, выполнение операции его сохранения. Текстовые процессоры, такие как, к примеру, Word компании Microsoft, помимо этих возможностей, способны к разнообразному оформлению, а другие программы этого класса могут формировать документацию, которая предназначена для отображения на компьютере в формате электронного документа, а не в виде бумажной распечатки.

Издательские системы способны автоматизировать операции вёрстки изданий полиграфии. Их отличает более широкий набор средств управления взаимодействием текстовых зон со страничными параметрами и объектами графики, но они обладают меньшим инструментальным набором, позволяющим автоматизировать ввод и корректировку текста. Их применение обосновано для документов, прошедших обработку в текстовом процессоре и графическом редакторе. Самыми популярными издательскими пакетами считаются: Adobe PageMaker, QuarkXPress, Microsoft Publisher, Corel Ventura.

Популярным прикладным программным приложением так же являются электронные таблицы. Главным предназначением электронных таблиц является работа с разными видами информации в табличной форме, к примеру, финансовая, бухгалтерская отчётность и другая документация этой сферы, мелкие инженерные расчёты. Наиболее известными программами этого типа являются Excel компании Microsoft, Lotus фирмы Lotus. Главным достоинством электронных таблиц по сравнению с текстовыми процессорами, в которых также возможно задавать таблицы и выполнять незначительные вычисления, является то обстоятельство, что содержимое выбранных ячеек можно менять в автоматическом режиме, согласно изменений содержимого других. То есть, это означает возможность функциональной зависимости ячеек. Помимо этого, табличные процессоры способны вести маленькие информационные базы данных и визуально отображать данные в табличном формате, то есть имеют инструменты сопровождения таблиц.

Далее рассмотрим системы управления базами данных (СУБД). Приложения данного класса, к примеру, Access компании Microsoft, дают возможность использования структурированных данных большого объёма. Обычно это базы данных с табличной структурой. СУБД служат для выполнения в автоматизированном режиме операций формирования, сохранения и извлечения данных в электронном виде. Очень много известных в разных областях деятельности людей информационных и справочных программных комплексов выполнены с применением инструментария СУБД. Используют базы данных, как правило, следующие категории людей:

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

Системами работы с графикой являются прикладные программы, которые предназначены для обработки графических изображений. К этому типу можно отнести программы редактирования графики в растровой и векторной форме, приложения для работы с трёхмерными графическими изображениями (редакторы 3D). Растровые программы редактирования применяют для формирования изображений растры, то есть наборы точек, которые обладают своим цветом и уровнем яркости. В таких редакторах хорошо выполнять обработку фотографий и предметов, которые имеют плавные градации цвета. Однако следует заметить, что изменение масштаба подобных изображений, как правило, делает качество хуже. Когда сокращается число точек, то расплываются маленькие детали и подписи. Пиксельная прибавка ведёт к понижению уровня резкости и яркости изображения, поскольку новые точки должны получать оттенки, являющиеся серединой среди двух или более пограничных цветов.

Безусловно лидирует в этом классе прикладных программ приложение Adobe Photoshop. Основным инструментарием, предназначенным для работы с растровыми изображениями в операционной системе Windows, является редактор графики Paint.

Источник

Классификация языков программирования

Языки программирования — основные понятия

Эволюция языков программирования тесно связана с историей развития компьютерных наук, которая началась в XIV веке, вместе с изобретением первой механической вычислительной машины английским ученым Чарльзом Бэббиджем. Программа для нее, позволяющая вычислять числа Бернулли, была написана леди Адой Августой Лавлейс в 1842 году. В честь нее впоследствии был назван один из языков программирования — Ада.

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

Язык программирования — искусственный язык, созданный для разработки и записи программ, предназначенных для выполнения их определенным техническим объектом, способным быть запрограммированным (станки с ЧПУ, все виды компьютерной техники). Его назначение — представить задачу в понятной и выполнимой для ЭВМ форме.

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

Команда (инструкция) — указание процессору, какое действие (операцию) ему необходимо выполнить.

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

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

Их условно можно классифицировать:

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

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

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

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

Высокого уровня

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

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

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

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

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

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

Компилятор — программа, которая полностью переводит текст исходной программы с высокоуровневого на низкоуровневый (машинный) язык.

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

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

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

По принципам программирования

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

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

Процедурные

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

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

Поскольку процедурные языки имеют операторный тип, то алгоритм, написанный с их помощью, является последовательностью операторов. Их характерным признаком также считается наличие оператора присваивания (Basic, Fortran, Pascal, Algol, С).

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

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

Непроцедурные

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

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

При декларативном типе программирования используется декларативная семантика. Вместо понятия «оператор» декларируются высказывания (объявления) с помощью символьной логики.

Декларативные языки принято делить на две группы (или семейства):

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

Программа, написанная на языке PROLOG, состоит из двух частей:

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

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

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

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

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

Объектно-ориентированные

Методика ООП появилась в конце XX века. Объектно-ориентированные языки вместо «процедур» и «данных» оперируют понятием «объект». С помощью ООП создается окружение в виде большого количества объектов. Каждый из них является независимым блоком, работая как отдельный компьютер.

Блоки используют для решения задач, не вникая в принципы их внутреннего функционирования (C++, Visual Basic, Delphi, Java, Python). На сегодняшний день среди профессиональных программистов самым популярным является язык C++, который затмил собой по популярности процедурные аналоги.

Дальнейшее развитие языков нацелено на их использование в современном «параллельном программировании» (программы представляют собой набор процессов, исполняемых одновременно). В связи с этим создаются специализированные языки ООП, одним из которых является высокоуровневый язык MC#, разработанный для платформы «.NET». Он позволяет создавать программы, работающие с асинхронными вызовами в распределенной среде.

По ориентации на класс задач

Универсальные

Универсальные языки программирования нацелены на решение широкого спектра задач. Среди них сегодня наиболее распространены C++, Visual Basic, Pascal, Java, Delphi, Python.

Специализированные

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

Существуют также языки:

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

Популярные языки

Краткая характеристика самых популярных языков:

Источник

Какие бывают языки программирования?

Языки прикладного программирования это. Смотреть фото Языки прикладного программирования это. Смотреть картинку Языки прикладного программирования это. Картинка про Языки прикладного программирования это. Фото Языки прикладного программирования это
Студенты периодически спрашивали меня какой язык программирования учить чтобы получить хорошую работу и зарплату. Конечно, я не мог сказать учите этот язык, а этот не учите и будет вам счастье. Но зато мог дать информацию о языках программирования чтобы этот выбор был легче. Проклассифицируем языки программирования с семи сторон: Модные и не модные • Компилируемые и интерпретируемые • Универсальные и специализированные • Алгоритмические и языки описания данных • Низкоуровневые и высокоуровневые • Объектно-ориентированные и языки структурного программирования • Сопутствующие Фреймворки, Библиотеки и Технологии.

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

Почему некоторые языки становятся модными, а о других почему-то забывают? Во-первых, смена технологий. Например, во времена операционной системы MS DOS, которая работала на 16-битных процессорах Intel, огромной популярностью пользовались языки Турбо C и Турбо Паскаль. А владеющие Ассемблером программисты считались элитой. Но, по понятным причинам, мы теперь не пользуемся ни этими устаревшими процессорами, ни системой MS DOS, так что языки отпали сами собой. Хотя мне, например, они до сих пор очень нравятся.

Другая ситуация с языком Delphi, который был продолжением Турбо Паскаля, и который был очень популярен во времена первых 32-х битных версий Windows, однако не выдержал конкуренции с другими языками программирования, в том числе от компании Microsoft, которые развивались более активно.

Это может быть и победа в конкуренции двух аналогичных языков, например, таких как JScript от Microsoft для веб-браузеров и JavaScript, первоначально представленный компанией Netscape. Популярным JavaScript стал за счет большей открытости и поддержки большим числом компаний разработчиков.

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

За большие возможности и гибкость С++ требует от программиста дисциплины и культуры программирования, иначе, как шутят программисты, он может превратиться из языка написания программ в язык для написания ошибок.

Несмотря на провозглашаемый стандарт языков C и C++, программы, написанные для компиляторов разных фирм редко когда бывают полностью совместимы по исходным кодам. Эту особенность тоже надо учитывать при его изучении.

А язык TypeScript получил популярность в качестве ответа на проблему сложности поддержки программ написанных на JavaScript, языке, который сам по себе достаточно популярен.

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

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

2. Компилируемые и Интерпретируемые

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

Такая схема, конечно, не всех устраивала и программисты придумали языки, которым не требуется компилятор. Для таких языков перевод текста в команды микропроцессора происходит незаметно сразу после запуска текстовой программы. Правда, для этого текстовая программа должна запускаться под управлением другой уже готовой программы, которая называется Интерпретатор. Интерпретатор и делает эту незаметную компиляцию. Языки для которых требуется интерпретатор назвали Интерпретируемыми.

Главное отличие компилируемых языков от интерпретируемых в скорости выполнения программ. Считается, что программы написанные на компилируемых языках выполняются быстрее чем на интерпретируемых. Но сам процесс написания и тестирования интерпретируемой программы проходит проще, так как нет необходимости в промежуточном шаге компиляции.

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

3. Универсальные и специализированные

Классификация говорит сама за себя. Есть языки, на которых можно в принципе написать любую программу, но не всегда это можно сделать, например, быстро. Или такая программа не обязательно будет оптимально быстро работать. Типичный универсальный язык всех времен и народов: С++. И в этом его большой плюс. А, может, даже два плюса )).

Специализация в языках программирования касается, как правило, либо предметной области, например, математические вычисления (Fortran, F#), искусственный интеллект (LISP), веб-разработка (PERL, PHP), компьютерные игры (Unity, Lua), бухгалтерия (1С) и т.д., либо какой-то технологии программирования, например, многопоточность как в языке Cи-Омега (Cw) или способ записи операторов как в F#.

Для разных областей приложений создаются свои языки или скрипты. Особенно это относится к компьютерным играм, в которых переплетаются сразу несколько видов искусства, науки и технологии. Но системы разработки игр также используют и уже известные языки, например, Python в системе нарративных игр Ren’Py или язык Swift для устройств Apple.

Универсальные: семейство Pascal/Delphi, C/C++, C#, Java
Специализированные:
Математические вычисления: Fortran, F#
Математическое моделирование: MatLab, Wolfram (Mathematica)
Искусственный интеллект: LISP,
На основе передачи сообщений: Small Talk,
Многопоточные приложения Cw,
Веб-разработка: Perl, PHP, JavaScript
Базы данных: SQL
Компьютерные игры: Lua, Unity, Godot, Twine
Компьютерная графика: MEL (Maya), MAX Script (3ds Max)
Бухгалтерия: 1С

4. Алгоритмические и Языки описания данных

Алгоритмические: Pascal, C++, Java, C#
Языки описания данных: XML, XAML, JSON, HTML, DDL SQL

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

Языки же описания данных предназначены только для описания данных для разных типов приложений. Эти языки можно считать необходимой нагрузкой к обычным алгоритмическим языкам. Например, если вы учите JavaScript для разработки веб-приложений, то скорее всего вам придется также изучить и синтаксис каскадных таблиц стилей CSS и язык описания данных JSON, в формате которого удобно передавать данные между веб-сервером и клиентом.

Или, например, язык работы с базами данных SQL, по сути является языком для обработки и получения данных, но также включает в себя раздел Data Definition Language или Язык Описания Данных.

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

5. Низкоуровневые и Высокоуровневые

Низкоуровневые: Assembler, CIL,
Высокоуровневые: любой объектно-ориентированный или поддерживающий сложные типы данных язык.

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

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

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

6. Объектно-Ориентированные и Структурные языки программирования

Появление объектно-ориентированного программирования, сокращенно ООП, примерно со второй половины 80-х годов 20-го века стало настоящей технологической революцией. Это был буквально переворот, сейчас объясню почему. До ООП были популярны языки структурного программирования. И программисты были вполне счастливы писать программы на структурных языках высокого уровня, потому что в свое время это тоже было колоссальным шагом вперед.

Дело в том, что компьютер удалось создать только после титанических усилий таких гениев как Алан Тьюринг, который разработал свою теорию — машину Тьюринга, на основе которой и работают все числовые компьютеры в наши дни. Принцип машины Тьюринга, вкратце, состоит в том, что в оперативной памяти записана последовательность команд микропроцессора, в том числе команд условных или безусловных переходов на другие команды. Эти переходы на ассемблере называются JMP (англ.: jump — прыжок, переход), а в языках высокого уровня обозначаются командой GOTO (англ.: go to — перейти к чему-л.).

Для программирования компьютера первоначально существовал язык Ассемблер, команды которого почти один в один соответствуют командам микропроцессора. Теоретически, на Ассемблере можно написать любую программу, но практически перенос абстракций прикладных задач на него совсем не простое дело.

Для программирования прикладных задач, примерно с начала 70-х годов 20-го века и появилось структурное программирование, для создания которого потребовались усилия других гениев, таких как Никлаус Вирт, создатель языка Паскаль и Эдсгер Дейкстра, который первым написал о необходимости избавляться от оператора GOTO в языках высокого уровня и предложил решение как это сделать с помощью трех типов операторов и функций.

На практике это вылилось в появление языков программирования, таких как Basic, С, Паскаль, Algol, Cobol, Fortran, PL1. Разработка программ методом «сверху вниз» в структурном программировании превратилась в сплошное удовольствие. Суть ее состояла в написании набора функций, содержащих подфункции, которые можно вызывать, подставляя на вход нужные данные и получая соответствующий результат.

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

Для небольших задач типа сортировки данных или нахождения кратчайшего пути структурное программирование подходило идеально. Были найдены решения для большинства сложных алгоритмических задач. Появились фундаментальные труды, такие как многотомник “Искусство программирования” Дональда Кнута, который до сих пор считается настольной книгой для программистов.

Однако, увеличение сложности программ в результате привело к появлению и бо́льших шансов на внесение ошибок в программы, так как возможность подставлять любые данные на вход процедурам и функциям влекло за собой побочные эффекты. Так, например, в 1999 году космический аппарат NASA «Mars Climate Orbiter» потерпел крушение в из-за ошибки в программе — подстановки неправильных данных.

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

После появления объектно-ориентированных языков программирования, таких как С++, Object Pascal, Java, С#, а также новых аппаратных возможностей компьютеров, объемы программ и данных для них увеличились многократно, если не на порядки, что легко оценить хотя бы по объемам дистрибутивов программ, которые перестали помещаться сначала на дискеты, а потом и на компакт диски. А программирование снова как бы встало с головы на ноги.

Update 24.02.2021
См. также видео-версию этой главы.

7. Сопутствующие Фреймворки (Frameworks), Библиотеки и Технологии

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

Для использования языка С++ от Microsoft для первых 32-х битных версий Windows программистам для создания оконных приложений также приходилось изучать библиотеку MFC.

Для разработки веб-приложений с помощью технологии MVC от Microsoft программистам также потребуется язык разметки веб-страниц Razor.

Для создания современных приложений на универсальной платформе Microsoft может потребоваться язык разметки XAML.

Другие примеры:
Ruby on Rails — серверная платформа разработки веб-приложений.
Для компьютерных игр, такие как Unity, Cocos, Unreal Engine.
Для 3D графики: OpenGL, DirectX.

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

Выводы

В принципе, чем больше языков знает программист, тем увереннее себя чувствует как профессионал. Но в наше скоростное время возможно и такое, что версия языка может потерять свою актуальность буквально за полтора-два года. Например, у языка TypeScript c 2015 по 2019 год, то есть примерно за 5 лет, было выпущено, внимание, более 20-ти обновлений.

Если же с компанией еще не определились, то можно начать с одного из универсальных языков программирования. Из-за повсеместного проникновения интернета, для программиста желательно хотя бы в общих чертах представлять себе что такое язык HTML, а также сопутствующие языки описания данных типа XML и JSON. Желательно также иметь представление о языке управления базами данных SQL.

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

Глядя на эти системы может сложиться впечатление, что программисты скоро окажутся не нужны. Но отгадайте, кто создает все эти системы программирования без программистов? Те же программисты с помощью все тех же обычных языков программирования.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Источник

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

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