Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Современные компьютерные технологии. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
- 71 -
другое и обратно, но затем по мере появления таких возможностей, как метки и макросы, дизассемблирование становилось все более и более трудным делом. К концу ассемблерной эры возможность автоматической трансляции в обе стороны была утеряна окончательно. В связи с этим было разработано большое количество специальных программ­дизассемблеров, осуществляющих обратное преобразование, однако в большинстве случаев они с трудом могут разделить код и данные. Кроме того, вся логическая информация (имена переменных, меток и т.п.) теряется безвозвратно. В случае же задачи о декомпиляции языков высокого уровня примеры удовлетворительного решения проблемы и вовсе единичны.
Каждый оператор языка представляет собой мнемоническое (условное) обозначение машинной команды. Естественно, что каждый тип процессора имеет свой набор команд, а значит, и свой ассемблер. Ассемблеры используются для создания драйверов, программирования различных устройств, а также для написания фрагментов программ, где очень важно время выполнения (так как на ассемблере можно написать максимально эффективную программу).
Рассмотрим универсальные языки программирования. Иногда их делят на процедурно-ориентированные и объектно-ориентированные, но в настоящее время граница между этими видами стерлась. Эти языки используются чаще всего для решения самых разнообразных задач. И хотя каждый из языков имеет свои особенности, что делает его наиболее эффективным для решения определенного вида задач, но в принципе для решения любой задачи можно выбирать любой язык программирования.
Среди универсальных языков программирования в настоящее время наиболее распространены:
1. Си и его разновидности. Си [C] - многоцелевой язык
программирования высокого уровня, разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на мини - ЭВМ и ПЭВМ. Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы Microsoft ), а также Zortech C (фирмы Symantec). Многие из указанных версий обеспечивают также работу с Си и Си++.
Си++ [C++] - язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной
- 72 -
версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США). Поддерживает разные парадигмы программирования, но в сравнении с его предшественником — языком Си — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения. При создании Си++ стремились сохранить совместимость с языком Си. Большинство программ на Си будут исправно работать и с компилятором Си++. Си++ имеет синтаксис, основанный на синтаксисе Си.
Достоинства и недостатки языка. Прежде всего необходимо подчеркнуть, что оценивать достоинства и в особенности недостатки С++ необходимо в контексте тех принципов, на которых строился язык, и требований, которые к нему изначально предъявлялись.
Достоинства:
C++— чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности, высокая совместимость с языком С, позволяющая использовать весь существующий С-код (код С может быть с минимальными переделками скомпилирован компилятором С++; библиотеки, написанные на С, обычно могут быть вызваны из С++ непосредственно без каких-либо дополнительных затрат, в том числе и на уровне функций обратного вызова, позволяя библиотекам, написанным на С, вызывать код, написанный на С++).
Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщенное программирование, метапрограммирование (шаблоны, макросы).
Имеется возможность работы на низком уровне с памятью, адресами, портами.
Возможность создания обобщённых контейнеров и алгоритмов для разных типов данных, их специализация и вычисления на этапе компиляции с использованием шаблонов.
- 73 -
Кроссплатформенность. Доступны компиляторы для большого количества платформ, на языке C++ разрабатывают программы для самых различных платформ и систем.
Эффективность. Язык спроектирован так, чтобы предоставить программисту возможность максимального контроля над всеми аспектами структуры и порядка исполнения программы.
Недостатки C++ отчасти унаследованы от языка-предка Си и вызваны изначально заданным требованием возможно большей совместимости с Си. Это следующие недостатки;
– синтаксис, провоцирующий ошибки; – препроцессор, унаследованный от С, очень примитивен;
– плохая поддержка модульности (по сути, в классическом Си модульность на уровне языка отсутствует, её обеспечение переложено на компоновщик).
Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьёзно замедляет компиляцию при подключении большого количества модулей (потому что результирующий файл, который обрабатывается компилятором, оказывается очень велик).
C# (произносится си-шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.
C# относится к семье языков с C-подобным синтаксисом, из которых его синтаксис наиболее близок к синтаксису языков C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе, операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем. Так, C# не поддерживает множественное наследование классов (в отличие от C++).
- 74 -
C# разрабатывался как язык программирования прикладного уровня для CLR и как таковой зависит прежде всего от возможностей самой CLR. Это касается прежде всего системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к версии 2.0 значительно обогатился и сам C#. Подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющим собой расширения языка, не опирающиеся на расширения платформы .NET.) CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C#, точно так же, как это делается для программ, написанных наVB.NET, J# и др.
Версия 1.0
Проект C# был начат в декабре 1998 года и получил кодовое название COOL (C-style Object Oriented Language). Версия 1.0 была анонсирована вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия. C# 1.0 окончательно вышел вместе с Microsoft Visual Studio .NET в феврале 2002 года.
Версия 2.0
Проект спецификации C# 2.0 впервые был опубликован Microsoft в октябре 2003 года; в 2004 году выходили бета-версии (проект с кодовым названием Whidbey), C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и .NET 2.0.
Версия 3.0
В июне 2004 года Андерс Хейлсберг впервые рассказал на сайте Microsoft о планируемых расширениях языка в C#3.0. В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и .NET 2.0. Окончательно эта версия языка вошла в Visual Studio 2008 и .NET 3.5.
Версия 4.0
Первый C# 4.0 был представлен в конце 2008 года вместе с CTP­версией Visual Studio 2010. А Visual Basic 10.0 и C# 4.0 были выпущены в начале 2010 года, одновременно с выпуском Visual Studio 2010.
2. Паскаль. Паскаль [PASCAL - акроним с французского - Program
Applique a la Selection et la Compilation Automatique de la Litterature] -
- 75 -
процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского математика XVII века Блеза Паскаля. В своей начальной версии паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие его доработки позволили сделать его хорошим универсальным языком, широко используемым в том числе для написания больших и сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal ) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США).
Delphi является «наследником» языка паскаль; основные операторы в этих языках одинаковы. Но Delphi имеет средство для работы с различными графическими объектами, а также для обработки сложных структур данных. Поэтому он очень популярен при разработке различных Windows- приложений.
3. Фортран. В 1954 году в недрах корпорации IBM группой
разработчиков во главе с Джоном Бэкусом (John Backus) был создан язык программирования Fortran. Значение этого события трудно переоценить. Это первый язык программирования высокого уровня. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм. Напомним, что это современные компьютеры поддерживают подпрограммы на аппаратном уровне, предоставляя соответствующие команды и структуры данных (стек) прямо на уровне ассемблера, в 1954 же году это было совершенно не так. Поэтому компиляция Fortran была процессом отнюдь не тривиальным. Кроме того, синтаксическая структура языка оказалась достаточно сложной для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок. К примеру, в Фортране следующая конструкция описывает “цикл for до метки 10 при изменении индекса от 1 до 100”: DO 10 I=1,100. Если же здесь заменить запятую на точку, то получится оператор присваивания: DO10I = 1.100. Говорят, что такая ошибка заставила ракету взорваться во время старта.
Язык фортран использовался (и используется по сей день) для научных вычислений. Он страдает от отсутствия многих привычных языковых
- 76 -
конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения семантической корректности (соответствие типов и проч.). В нем нет поддержки современных способов структурирования кода и данных. Это осознавали и сами разработчики. По признанию самого Бэкуса, перед ними стояла задача разработки скорее компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже.
Появление фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Программистов пугало снижение эффективности программ за счет использования промежуточного звена в виде компилятора. И эти опасения имели под собой основания: действительно, хороший программист, скорее всего, при решении какой-либо небольшой задачи вручную напишет код, работающий быстрее, чем код, полученный как результат компиляции. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.
4. Бейсик. Бейсик [BASIC - Beginner's All-purpose Symbolic Instruction
Code] - язык программирования высокого уровня, разработанный в 1963 ­1964 гг. в Дартмутском колледже Томасом Куртом и Джоном Кемени. Первоначально предназначался для обучения программированию. Отличается простотой, легко усваивается начинающими программистами благодаря наличию упрощенных конструкций языка фортран и встроенных математических функций, алгоритмов и операторов. Существует множество различных версий бейсика, которые не полностью совместимы друг с другом. Некоторые реализации бейсика включают средства обработки данных и наборов данных.
Большинство версий бейсика используют интерпретатор, который преобразует его компоненты в машинный код и позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные версии бейсика позволяют использовать для этой цели трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0), предназначенную для создания многокомпонентных
- 77 -
программных приложений для систем уровня предприятий. Например, язык Lisp используется для создания экспертных систем, язык Java - для разработки сетевых (web)- приложений.
- 78 -
ЗАКЛЮЧЕНИЕ
Революция в сфере информационно-коммуникационных технологий, бурное развитие электронной индустрии, глобальные процессы компьютеризации, развитие Интернета, создавшие предпосылки возникновения информационного общества, изменяют представления о лидерах и центрах мирового прогресса. Современные процессы, происходящие в мировом и региональном взаимодействии, связанные с появлением новых независимых государств, новых индустриальных стран и «взрывом» информационной технологии, позволяют отметить, что в недалёком будущем следует ожидать появления информационных обществ.
Формирование и совершенствование информационных технологий ­один из главных факторов современности общества. Распространение ИТ преобразует жизнь людей, облегчает профессиональную деятельность, предоставляет больше свободного времени, способствует развитию в экономической, культурной, образовательной и других сферах. Развитие информационно - телекоммуникационной инфраструктуры в масштабах страны – это необходимое условие для того, чтобы предприятия могли выйти на зарубежные виртуальные рынки, взять на вооружение самые передовые технологии электронного бизнеса, а создание общенациональных банков данных позволит сделать их привлекательнее для потенциальных клиентов, партнеров и инвесторов. Но информационная насыщенность, с одной стороны, изменила мир, но с другой - и создала новые проблемы, которые не были заранее предусмотрены. Ведь сегодня весь мир наиболее быстро изменяется именно в информационной сфере.
В России социальная и политическая перестройка, формирование рыночной экономики объективно привели к необходимости существенного изменения информационных отношений в обществе. Несмотря на значительное расширение в последнее время рынка информационных услуг и продуктов, информационное обеспечение органов государственного управления, хозяйствующих субъектов и граждан остается на низком уровне. Возможность доступа к информации, как правило, ограничивается ее ведомственной принадлежностью и обусловлена зачастую должностным положением и социальным статусом потребителя. Не решена проблема доступа к территориально удаленным информационным ресурсам. Большинство населения получает
- 79 -
информацию в традиционном виде - печатные издания, радио, телевидение. Информационно-телекоммуникационные системы функционируют в основном в интересах государственных органов власти. Такое положение дел приводит к дублированию работ, избыточности в сборе первичной информации, удорожанию разработок и эксплуатации систем. Кроме того, ведомственная разобщенность затрудняет обмен информацией и доступ к ней. Информационные услуги, ресурсы и программные продукты распространены по территории России крайне неравномерно, причем в основном ими обеспечены краевые центры. Это распределение соответствует распределению основных научных и информационных центров России и не учитывает потребности населения и органов управления.
Именно поэтому требует скорейшего решения задача выравнивания информационного потенциала. Отечественная информационная индустрия должна развиваться с учетом мировых достижений в области информационных технологий и средств телекоммуникационного обмена. Это позволит России выйти на мировой уровень технического развития. В основе такой целенаправленной деятельности лежит долговременная программа создания системы информационного обеспечения всех потребителей информации в стране, которая предоставит им возможность использования новых информационных технологий на базе широкого применения информационно-вычислительных ресурсов и автоматизированной системы связи.
Современное общество наполнено и пронизано потоками информации, которые нуждаются в обработке. Поэтому без информационных технологий, равно как и без энергетических, транспортных и химических технологий, оно нормально функционировать не может.
- 80 -
Библиографический список
1. Горохов, В.Г. Философия науки и техники/ В.Г. Горохов, В.С.
Степин. – М., 1995.
2. Информатика. Компьютерная техника. Компьютерные технологии. /
под ред. О.И. Пушкаря.- Киев.: Изд. центр «Академия», 2001.
3. Клименко, С. Интернет: среда обитания информационного общества/
С. Клименко, В. Уразметов. - Протвино: РЦФТИ, 1995.
4. Колин, К.К. Информационная цивилизация: будущее или
реальность?/ К.К. Колин – М.; Изд-во РГБ «Пашков дом», 2001.
5. Колин, К.К. Фундаментальные основы информатики: социальная
информатика/ К.К. Колин - М.: Академический проект, 2000.
6. Информатика/ А.П. Курносов [и др.]; под ред. А.П. Курносова.-М.:
КолосС, 2005.-272 с
7. Образование и XXI век: информационные и коммуникационные
технологии. - М.: Наука, 1999.
8. Wikipedia [электронный ресурс] Режим доступа:
http://ru.wikipedia.org/wiki/IT-специалист
9. http://ru.wikipedia.org/wiki/Портал:Компьютерные_технологии
10. Glossary [электронный ресурс] Режим доступа:
http://www.glossary.ru/cgi - bin/gl_art2.cgi?qqragmm
11. http://revolution.allbest.ru/programming/00004698_0.html
12. http://ru.wikipedia.org/wiki/Информационное_общество
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]