Введение
На учебно-ознакомительной практике моей целью и задачей было ознакомление с моей будущей профессиональной деятельностью и общим требованиям, предъявляемые специалистам, в выработке некоторых практических навыков в выбранной профессии.А также выполнение промежуточного задания в виде реферата
Классификация языков программирования
Существуют различные основы для классификации языков программирования.
1 способ классификации:
По наиболее распространенной классификации все языки программирования делятсяна два вида: языки низкого уровня и языки высокого уровня.
Языки низкого уровня ориентированы на определенный тип процессора и его набор команд, учитывают его особенности, поэтому называются также машинно-зависимыми языками.
Машинно – зависимые языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). [2,213]
К машинно-зависимым языкам относятся следующие языки программирования: Ассемблер,…
Языки низкого уровня обладают следующими преимуществами:
- создание эффективных и компактных программ, это объясняется тем, что разработчик имеет доступ к возможностям процессора и аппаратным ресурсам;
- предсказуемость объектного кода и заказов памяти;
- выполнение программ требуют меньшего объема памяти и времени выполнения.
Создавать программы на языках низкого уровня очень сложно и трудоемко, так как:
- необходимо знать команды и особенности функционирования ЭВМ конкретного типа;
- громоздкость программы, сложности в поиске ошибок, отладке;
- машинный язык не похож на человеческий, он весьма беден в своих изобразительных средствах;
|
- невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.
Область применения языков низкого уровня – это написание небольших системных приложений, драйверов устройств или модулей стыковки с нестандартным оборудованием. В этом случае важнейшими требованиями являются быстродействие, компактность, возможность прямого доступа к аппаратным ресурсам.
Следующую, более многочисленную группу составляют языки программирования высокого уровня, которые также называются машинно-независимыми.
Машинно-независимымиязыки ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов.[2,215]
Использование языков высокого уровня позволяет освободить программиста от необходимости учитывать технические и архитектурные особенности конкретных компьютеров, а при переходе на другую ЭВМ программа не требует переделки.
Можно выделить главные преимущества языков высокого уровня перед машино-зависимыми:
- алфавит языка превосходит алфавит машинного языка, что позволяет значительно повысить наглядность и читаемость текста программы;
- набор операций, которые допустимо использовать, не зависит от набора машинных операций, а выбирается из удобства формулирования алгоритма, операции задаются с помощью общепринятых математических обозначений;
- формат описания операций не фиксирован, что дает возможность одним оператором записать целые алгоритмические структуры;
|
- переменным присваиваются индивидуальные имена, самостоятельно выбираемые программистом;
- в языках, как правило, предусмотрена возможность описывать собственные типы данных, что значительно расширяет их количество по сравнению с набором машинных типов данных.
Способ классификации
Языки высокого уровня можно разделить на:
- процедурные;
- логические;
- функциональные;
- объектно-ориентированные;
- описания сценариев.
Процедурные языки предназначены для однозначного описания алгоритма решения задачи и требуют явно записать процедуру ее решения, как завершенную последовательность действий
При разработке алгоритма программисты пытаются максимально полно учесть специфику класса задач, для решения которых его предполагается использовать, поэтому возникли ряд специальных языков процедурного программирования. Fortran, Algol – языки, назначение которых решение научно-технических задач, Cobol – решение экономических задач, Basic, Pascal – для решения небольших вычислительных задач в диалоговом режиме.
Логические языки, самыми известными из которых являются: Prolog, Lisp, Mercury, KLO, ориентированы не на запись алгоритма решения задачи, а на создание формализованного описания задачи, что позволяло найти решение непосредственно из составленного описания. В этих языках указываются исходные данные и отношения между ними, после этого системе задаются вопрос, программа перебирает исходные данные и находит ответ на него.Поиск решения задачи поручает непосредственно компьютеру, порядок перебора не задается в программе, он неявно определен самим языком. Создание логической программы не требует алгоритмического мышления, программа описывает лишь статические отношения объектов, а динамика определяется механизмом перебора и недоступна программисту.
|
В функциональныхязыках программа описывает вычисление некоторой функции. Как правило, данная функция описывается как объединение других, более простых функций, а те также разлагаются на еще более простые. Рекурсия является одним из основных элементов функциональных языков, в процессе работы программы происходит вычисление значения функции через значение этой же функции от других переменных.
Объектно-ориентированные языки (ObjectPascal, C++,Java, ObjectiveCaml) основаны на понятие объекта.
Объект – совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств)[1,662]
Объектно-ориентированное программирование является модульным программированием нового уровня, когда вместо случайного, механического объединения процедур и данных основное внимание уделяется созданию смысловых связей.
Языки описания сценариев (Perl, Python, Rexx, Tcl, языки оболочек UNIX и др), предназначены для комбинирования существующих компонентов, набор которых создан заранее при помощи других языков программирования.
Способ классификации
Языки программирования также можно разделять на поколения:
– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.
– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.
– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, VisualBasic, Delphi.
История развития языков программирования
Первые языки программирования, использованные в 40-50 годы XX века,были ориентированы на физические принципы работы ЭВМ, и основывались на том, что компьютер может воспринимать только команды, состоящие из единиц и нулей – машинный код.Программисту было необходимо создать программу, в которой все команды состояли из кодов операций, адресов операндов, выраженных в различных сочетаниях нулей и единиц.
Использование подобных языков было очень трудоемко, программист должен был отлично знать числовые коды всех машинных команд и внутреннюю структуру ЭВМ, уметь самостоятельно выделить память для команд и данных. Вероятность допустить ошибку при создании программы была очень велика, для этого было достаточно просто поменять местами 1 или 0.
Сложность создания и отладки программного обеспечения требовала найти такое средство создания программ, которое позволило бы более просто наладить общение человека и компьютера. С этой целью в начале 50-хх годов начались работы по созданиюсимволических языков программирования, первым из которых является Ассемблер. Переменные величины в нем стали изображаться символическими именами, а числовые коды операций заменились на мнемонические обозначения, которые легче запомнить. Программы, записанные в машинном коде, были представлены в более удобочитаемой форме.
Первый язык высокого уровня был создан в 1954 году группой программистов, которой руководил Джон Бэкус. Название Fortran является сокращением от FOR mula TRAN slator (переводчик формул). Fortran широко используется как средство для выполнения научных и инженерных вычислений. Удобство, простота работы и большое количество написанных на нем программ и библиотек подпрограмм, позволяет Fortranи в наши дни остается одним из самых распространенных.
В 1959 году для решения экономических задач был разработан язык программирования COBOL (CommonBusiness-OrientedLanguage), он позволял обрабатывать большие объемы нечисловых данных.
Расширение областей применения ЭВМ требовало создания языков программирования, ориентированных на новые сферы применения, в 1962 году был создан Снобол ( SNOBOL, StriNgOrientedsymBOlicLanguage) –язык для обработки текстовой информации.Следом за ним был создан язык Лисп (LISP, LIStProcessinglanguage)– алгоритмический язык для обработки списков, который нашел широкое применение в исследованиях по созданию искусственного интеллекта.
Широкое распространение в качестве языка пригодного для обучения основам программированияв 1964 году получил язык BASIC (Beginner’sAll-purposeSymbolicInstructionCode) – универсальный код символических инструкций для начинающих, позволяющий взаимодействовать с ЭВМ в режиме непосредственного диалога. Язык создавался как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения собственных задач. Спустя много лет после изобретения Бейсика, он и сегодня самый простой для освоения из десятков языков общецелевого программирования.
В 1967 году в образовательных целях для обучения детей дошкольного и младшего школьного возраста основным концепциям программирования СамуэлемПайпертом был разработан язык Лого. Он отличается простотой и богатыми возможностями.
В 1968 г. был объявлен конкурс на лучший язык программирования для обучения студентов. Победителем стал язык Алгол-68, но широкого распространения не получил. После участия Никлауса Вирта в деятельности комитета по разработке стандарта языкаАлгол-68Виртв 1970 году создал язык Паскаль, достаточно простой, удобный, с наличием мощных средств структурирования данных. Представляя язык, автор указывал в качестве цели его создания — построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.[4]
Необходимость разработки больших программ, управляющих работой ЭВМ, потребовала создания специального языка программирования, который имел бы возможность непосредственного обращения к некоторым машинным командам и к определенным участкам памяти компьютера.Такой язык программирования был разработан и реализован в 1972 году сотрудником фирмы AT&T BellLaboratories Денисом Ритчии стал называться СИ. Он является одним из универсальных языков программирования.В 1983 году в язык были внесены ряд расширений, которые привели к появлению версии C++ (первоначальное название – C с классами). Эти новшества позволили пользователям конструировать собственные типы данных, включать в язык новые операции над такими данными.
Появление логического программирования привело к созданию языка Пролог. Этот язык программирования разрабатывался для задач анализа и понимания естественных языков на основе языка формальной логики и методов автоматического доказательства теорем.
В 90-хх годах XX века началось активное развитие объектно-ориентированных языков программирования. Для них были разработаны интегрированные среды программирования, позволяющие визуально конструировать графический интерфейс приложений. В 1989 году на основе языка Паскаль создается язык ObjectPascal, в 1995 году среда программирования Delphi. В 1991 году создается язык VisualBasic на основе языка Qbasic.
Интегрированная среда программирования VisualStudio.Net, разработанная в 2003 году корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе: наязыкеVisualBasic.Net, на языке Visual C# (С-шарп), на языке Visual J# (J-шарп).
Бурное развитие Интернет привело к необходимости того, чтобы на подключенных к Интернету компьютерах, имеющих разные операционные системы, могли выполняться одни и те же программы. Возникла необходимость в создании языков программирования, обеспечивающих межплатформенную совместимость. В 1995 году компанией SunMicrosystems был разработан язык Java для создания сетевого программного взаимодействия, а также компанией Netscape создан язык JavaScript для описания сценариев Web-страниц.
Заключение
В ходе учебно-ознакомительной практики я должен был изучить основы библиотековедения, базы данных, а также приобрести навык работы с ними, ознакомится с библиотечными фондами городских библиотек или библиотек Университета.
Список литературы
1. В.К., Лесневский А.С. Основы информационного моделирования // Информатика и образование. 1989. - №3. - С. 17-24.
2. В.А. Острейковский, Информатика: учеб.пособие для студ. сред. спец. учеб. заведений. – М.: Высш.шк., 2003, - 319 с.
3. Захарова И.Г. Информационные технологии в образовании: Учеб. пособие для студ. высш. пед. учеб. М.: Издательский центр 2003. - 192 с.
4. Семакин И.А., Информатика: Базовый курс /Семакин И.А., Залогова Л., Русаков С., Шестакова Л. – Москва: БИНОМ.,2005. – 105с.
5. Симонович С.В.Информатика. Базовый курс/Симонович С.В. и др. — СПб.: издательство "Питер", 2000. — 640 с.: ил. 2
6. Семакин И.А., Информатика: Семакин И.А., Залогова Л., Русаков С., Шестакова Л. БИНОМ., 105с.
7. Курносов А.П., Кулев С.А., Улезько А.В. и др.; Под ред. А.П. Курносова.-М.: КолосС, 2005.-272 с
8. Малышев Р.А. Локальные вычислительные сети: Учебное пособие/ РГАТА. – Рыбинск, 2005. – 83 с.
9. Островский В.А. Информатика: учеб. для вузов. М.: Высшая школа, 2000. —511 с.: ил.
10. Симонович С.В.Информатика. Базовый курс/Симонович С.В. и др. — СПб.: издательство "Питер", 2000. — 640 с.: ил. 2
11. C++,TurboPasckal,QBasik:Эволюция языков программирования
12. Информатика: Учебник для вузов/под ред. Н.В. Макаровой – М.: Финансы и статистика, 2004, 768 c.