Файл: Системы программирования ( Понятие системы программирования).pdf
Добавлен: 31.03.2023
Просмотров: 315
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Понятие системы программирования
1.1 Элементы программных систем
1.2 Понятие о системе программирования и структура программы
1.5 Примеры языков и систем программирования
Глава 2. Системные программы для ПК
2.1 Системные программы для компьютера: общие понятия
2.2 Системные программы Windows
2.5 Программы для тестирования системы и ее компонентов
2.7 Программы для резервного копирования и восстановления
1.5 Примеры языков и систем программирования
Представляем самые известные языки программирования:
•Assembler. Он не новый, однако научит пользователей многим вещам, скрытым в других языках.
•C. Один наиболее часто используемых в мире. Именно этот язык дает самый полный контроль над машиной. Он используется для кодирования операционных систем. Его приличный почти полувековой возраст и огромное количество библиотек, которые подойдут для чего угодно, становятся незаменимыми как для начинающих, так и для продвинутых пользователей[4].
•Cobol. Это старый язык. Он, как правило, сложнее в использовании, чем другие. Однако по историческим причинам он по-прежнему широко используется в банковском деле, финансах и страховании.
•Fortran. Он все еще востребован в области научных вычислений, для которого и был разработан. Хотя синтаксис этого языка регулярно обновляется, ощущается его возраст. Кроме того, некоторые программные библиотеки в Fortran никогда не были сопоставлены с точки зрения эффективности.
•Java. Имеет особенность компиляции в байт-код, который затем интерпретируется виртуальной машиной. Это значительно упрощает создание программ для использования на нескольких платформах операционных систем. Например, Java является шлюзом для кодирования приложения для Android.
•Perl. Это язык, который в основном ценится в мире Linux и Unixoids. Он эффективен для создания небольших, но очень мощных приложений с командной строкой. Однако Perl не очень подходит для создания графических интерфейсов.
•PHP. Во многом доминирует в мире веб-программирования.
•Python. Этот язык рекомендуется начинающим.
•Ruby. Связан с Python, регулярно заимствует инновации. В целом они очень похожи. Можно констатировать, что Ruby предлагает больше синтаксической свободы и больше настаивает на своем объектно-ориентированном характере, а Python легче и поддерживается более крупным сообществом.
•Swift. Это довольно молодой язык, подвержен изменениям и корректировкам, подходит для продуктов Apple. В ближайшие годы он вполне может стать основным продуктом программирования приложений iOS и OSX.
Применение
Представляем пример машинного кода:
110101010010001000111001001 010101001000100001011101001 000111001101110001101101010 001111010010010101011001010 001010101111110100101010001.
Как видим, в этом типе кода очень мало различимой структуры. В языках программирования семантический разрыв - это разница между языком, который используется для программирования аппаратного обеспечения (машинный код), и тем, который нужно использовать для программирования компьютера, как системы. Пример системы программирования: для клиентской стороны JavaScript потребуется использование двух языков, за исключением того, который генерирует JavaScript (CoffeScript или Elm).
Для серверной стороны PHP держит верхние позиции, но Python и Ruby тоже активно применяются. JavaScript также используется на стороне сервера, благодаря NodeJS. Для видеоигр в Windows применяют C ++, Python и C #. Однако они далеко не единственные. Любой язык, который делает его достаточно легким для создания графического интерфейса, может быть подходящим (C, Java, Ruby или Tcl / Tk).
Для крупных приложений на рынке доминируют C ++ и Java, хотя C # тоже набирает силу. Для небольших утилитарных приложений, в частности, в командной строке, легко найти C, Perl, Python или Ruby. В области научных вычислений Фортран остается королем. Он все чаще конкурирует с C ++, Python или со специализированными языками, такими как Matlab и R.
1.6 Программирование PASCAL
На протяжении всей истории вычислений было предпринято сотни попыток сделать языки программирования на компьютере такими, как письменный английский - легко читать и легко понять. PASCAL является результатом одного из таких усилий. Создатель PASCAL Николас Вирт хотел иметь HLL, который можно было бы легко учить, читать и писать. Он разработал PASCAL на базе следующих концепций:
1.PASCAL должен закрыть или существенно сузить семантический разрыв.
2.Каждый оператор PASCAL должен быть как предложение в англоязычном тексте.
3.Программу PASCAL можно рассматривать как предложение на английском языке.
4.Имена процедур, структур данных и переменных в PASCAL должны быть легко узнаваемы.
Пример системы программирования в PASCAL
Ниже приведен пример для определения количества букв в слове.
Пример системы программирования в pascal
PASCAL облегчает модульное кодирование посредством:
1.Использования инкапсулирующего кода в процедурах и функциях.
2.Использования операторов BEGIN и END для определения функционального блока кода.
3.Строгой переменной (например, назначение типов данных, таких как integer, real или string) для поддержки передачи параметров между процедурами.
4.Дружественного синтаксиса, который сужает семантический разрыв.
Системы программирования на Паскале
В приведенном примере системы программирования на Паскале программа показывает двоичный выбор (есть только два случая: ActualMark> = 50 или ActualMark<50).
Распространенные ошибки в программировании
Необходимо избегать распространенных ошибок при кодировании. Тем самым пользователь сэкономит время и избежит проблем[5]. Виды ошибок:
1.Плохое форматирование кода. Он должен быть понятен. В нем должны быть комментарии в верхней части программы.
2.Плохое тестирование и проверка ошибок. Обработка ошибок принимает две формы: обработка структурированных исключений и функциональная проверка ошибок.
3.Плохая практика комментариев.
4.Наименование ненадежных переменных. Очень сложно работать над кодом, когда многие имена переменных короткие, а не описательного характера.
5.Выбор неправильной структуры данных.
Выделение синтаксиса и стиль отступов часто используются, чтобы помочь программистам распознавать элементы исходного кода.
При этом важно, чтобы цветовое кодирование выделялось во фрагменте кода как на примере системы программирования, написанной на Python.
Глава 2. Системные программы для ПК
Достаточно часто многие пользователи компьютерных систем сталкиваются с вопросом о том, что же собой представляют системные программы. При знании принципов их работы и правильном использовании можно добиться очень многого, ну хотя бы избежать появления ошибок в системе или ускорить (оптимизировать) ее работу.
2.1 Системные программы для компьютера: общие понятия
Как следует из названия, программы этого типа представляют собой специальные утилиты и инструменты для регуляции компьютерной системы - от диагностики всех программных и «железных» компонентов до максимального использования абсолютно всех возможностей ПК, причем даже скрытых.
В некотором смысле системные программы и приложения можно назвать прослойкой между самой ОС, установленным ПО и «железом». Ярким примером могут служить пакеты драйверов.
В целом, если описывать программы системного программного обеспечения подробнее, стоит для начала остановиться на том, какие же они бывают, какие функции на них возложены.
Если говорить о разделении системных программ на классы по своему назначению, можно выделить несколько основных групп. Так, к системным программам относятся (в разных вариантах классификации): управляющие (резидентные и транзитные), обрабатывающие, базовые и сервисные[6] .
Рассматривая функции системного ПО в общих чертах, не вдаваясь в тонкости принципов их работы, отметим, что управляющие приложения предназначены для использования внутренних данных ОС и отвечают за правильное функционирование всех вычислительных процессов. Обрабатывающие программы обеспечивают обмен данными между «операционкой» и установленными компонентами (самый яркий пример - DirectX и наборы драйверов). Базовые программы – это минимальный набор ПО, необходимого для функционирования системы в целом. Наконец, сервисные программы – это средства диагностики и повышения производительности современных компьютерных систем.
2.2 Системные программы Windows
Что касается операционных систем Microsoft Windows, все они имеют некий минимальный набор приложений, который устанавливается в компьютерную систему при инсталляции самой «операционки».
Если кто не знает, сами системные программы, например, в Windows 7 можно найти в меню «Пуск» в разделе «Программы / Стандартные / Служебные». Кроме того, здесь имеется еще два каталога: «Администрирование» и «Обслуживание». Во всех трех директориях и располагаются системные утилиты, предназначенные для мониторинга, оптимизации, защиты или восстановления системы, резервного копирования и т. д. Подробно их описывать смысла нет, поскольку, как правило, далеко не каждый пользователь обращается именно к ним, предпочитая приложения сторонних разработчиков. И в этом, надо сказать, есть определенный смысл.
Удаление системных программ Windows с компьютера не предусмотрено. Фокусы как в ОС Android, когда при наличии root-прав можно удалить любой системный компонент вплоть до самой «операционки», здесь не проходят. В принципе, деинсталлировать можно только приложения, установленные пользователем. В общем-то, это правильно, ведь после такого вмешательства вся система просто перестанет функционировать.
ОС Windows считается в мире чуть ли не самой распространенной «операционкой» по количеству пользователей. Однако и в плане уязвимостей, и минимального набора функций, огромного количества недоделок и отсутствия, казалось бы, просто обязательных инструментов она, к сожалению, тоже всех опережает. Вероятно, именно по этой причине многие разработчики системного программного обеспечения и создают огромное количество утилит и программных пакетов именно для этой ОС. Посудите сами, ведь по большому счету те же программы для системного администратора в Windows практически отсутствуют.
Но тут тоже есть свои подводные камни. Дело в том, что очень часто возникает системная ошибка «Запуск программы невозможен (по такой-то причине или вообще без причины)». Связано это только с тем, что каждая утилита может устанавливаться в системы, скажем, в силу несоответствия системных требований, разной архитектуры ОС и устанавливаемого приложения (ошибка: «... не является приложением Win32»), отсутствия необходимых драйверов и т. п .
Тем не менее основные системные программы у сторонних разработчиков представлены намного шире, нежели у корпорации Microsoft. Рассмотрим базовые приложения, которые в своем распоряжении должен иметь каждый пользователь компьютерной системы.
2.3 Антивирусы
Антивирусы известны достаточно давно. О таких программах слышали абсолютно все люди, даже далекие от компьютерной техники. В принципе, если говорить в общих чертах, то антивирус – это ключ к пониманию безопасности всей компьютерной системы и сохранности данных.
Если говорить о том, что представляет собой антивирусное программное обеспечение, то, грубо говоря, это одно приложение или комплекс программных средств, которые предназначены для защиты системы и информации от вредоносных программ, поиска и выявления вирусов, их удаления или лечения зараженных компонентов системы в виде файлов или установленных приложений[7].
Таким образом, можно сказать, что антивирус – это программное обеспечение для комплексной защиты компьютерной системы от внешних угроз, которые могут проникать в нее из сети Интернет, по электронной почте или при использовании съемных носителей.
Что касается классификации, антивирусы условно можно разделить по предназначению и технологиям проводимого анализа, не говоря уже об операционных системах, в среде которых предполагается их функционирование.
В смысле предназначения, антивирус – это либо одна программа для анализа, выявления или удаления вредоносных кодов и приложений, либо комбинированный программный пакет, способный не только производить вышеуказанные действия, но и обеспечивать комплексную защиту в плане работы во Всемирной паутине, получения и отправки электронной почты, защиты от шпионских модулей, способных красть информацию в фоновом режиме, когда пользователь об этом даже не догадывается, и т.д. (это так называемые версии антивирусов).
Самым простым примером могут служить два программных продукта типа Eset NOD32 и Eset Smart Security.
Второй пакет имеет больше возможностей и может не только заниматься определением наличия в системе вирусов, удалять их и лечить остальные файлы. Здесь имеется достаточно мощный функционал даже для защиты компьютерной системы и данных при постоянном подключении к сети Интернет, да еще и программа обладает функцией «проактивной» защиты, умеет создавать резервные копии для восстановления, может шифровать данные и многое другое.
Важное место в классификации такого ПО занимают и методы анализа. Они делятся на сигнатурный и вероятностный.
Как правило, после первой установки или переустановки системы с нуля первым делом нужно установить антивирусный программный пакет, который смог бы обеспечивать защиту системы на всех уровнях, включая отслеживание угроз извне, проникновения вирусов в оперативную память компьютера, мониторинг сети или работы в Интернете и т. д.