Языки програмирования. Языки программирования по предмету информатика
![]()
|
Муниципальное бюджетное общеобразовательное учреждение «Средняя общеобразовательная школа с углубленными изучением отдельных предметов №30» города Кирова ИНДИВИДУАЛЬНЫЙ ИТОГОВЫЙ ПРОЕКТ на тему «Языки программирования» по предмету «информатика» Обучающийся: Цеховой Егор Сергеевич Класс 9 Руководитель проекта: Воробьёва О. В, учитель информатики ВВЕДЕНИЕ На современном этапе развития компьютерных технологий невозможно представить какого-либо высококвалифицированного специалиста, не владеющего информационными навыками, поскольку деятельность любого субъекта в значительной степени зависит от уровня владения информации, а также способности эффективно ее использовать. Для свободной ориентации в информационных потоках современный специалист любого профиля должен уметь получать, обрабатывать и использовать информацию, прежде всего, с помощью компьютеров, а также телекоммуникаций и других новейших средств связи, в том числе и уметь обращаться с языками программирования. С развитием мира и появлением компьютерной техники возникла потребность в создании языков, помогающих развитию программирования. Я хочу в своей работе рассказать о языках программирования. Актуальность работы - На сегодняшний день жизнь человека невозможна без компьютерной техники. Современные гаджеты не способны выполнять свою функцию без заложенных в них программ, написанных на специальном языке. Объект исследования – компьютерные технологии. Цель исследования - выяснить, как люди совершенствовали языки программирования, какие языки на данный момент являются самыми актуальными. Гипотеза - я предполагаю, что с усовершенствованием старых и созданием новых языков программирования людям стало легче работать, а программирование станет не таким сложным. Задачи: 1. Развитие познавательного интереса, 2. Воспитание информационной культуры. 3. Ознакомление с основными языками программирования. 4. Расширение кругозора. Вид проекта по содержанию – информационно - исследовательский. Вид проекта по комплектности – межпредметный. Методы исследования: Работа с научной литературой и интернет ресурсами. Систематизация найденных сведений об информационных технологиях. Продукты проекта: материалы работы, презентация в формате MicrosoftPowerPoint. Глава I. ПОНЯТИЕ О ЯЗЫКАХ ПРОГРАММИРОВАНИЯ 1.1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ Язык программирования – это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Языки программирования являются искусственными языками. От естественных языков они отличаются ограниченным числом “слов” и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка. Можно сформулировать ряд требований к языкам программирования и классифицировать языки по их особенностям. Основные требования, предъявляемые к языкам программирования: 1) наглядность - использование в языке по возможности уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ; 2) единство - использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть как можно меньше; 3) гибкость - возможность описания распространенных приемов математических вычислений с помощью имеющегося в языке ограниченного набора изобразительных средств; 4) однозначность - недвусмысленность записи любого алгоритма. Отсутствие ее могло бы привести к неправильным ответам при решении задач. В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения. Любой алгоритм - последовательность предписаний, выполнив которые, можно за некоторое число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка. По этому критерию можно выделить следующие уровни языков программирования: машинные; машинно-ориентированные (ассемблеры); машинно-независимые (языки высокого уровня). Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. В данном случае “низкий уровень” не значит “плохой”. Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. Основные компоненты алгоритмического языка: алфавит, синтаксис, семантика. Алфавит — это фиксированный для данного языка набор основных символов, т.е. букв алфавита, из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются. Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Разнообразие классов задач привело к тому, что на сегодняшний день разработано несколько сотен алгоритмических языков. Правда, широкое распространение и международное признание получили лишь 10-15 языков. Среди них в первую очередь следует отметить: Fortran и Algol - языки, предназначенные для решения научно-технических задач, Cobol – для решения экономических задач, Basic – для решения небольших вычислительных задач в диалоговом режиме. В принципе каждый из этих языков можно использовать для решения задач не своего класса. Однако, как правило, применение оказывается неудобным. Для создания многих мобильных приложений используют такие языки, как Java, Python, C, C++, C#. 1.2 ИСТОРИЯ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Программа – алгоритм, записанный на языке программирования. Программа – последовательность операторов языка. Языки программирования – искусственные языки, строго формализованные: существует правила записи операторов языка – синтаксис языка. Машинный язык (40-50 годы XX в.). Программы на машинном языке – очень длинные последовательности единиц и нулей, являлись машинно-зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу. Машинные и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека. Ассемблер (начало 50-ых годов XX в.). Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код). Язык ассемблера — это машинно-зависимый язык низкого уровня, в котором короткие имена соответствуют отдельным машинным командам. Используется для представления в форме программ, записанных в машинном коде. Первые языки программирования высокого уровня. С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-level language). Эти языки были машинно-независимыми (не привязаны к определённому типу ЭВМ). Но для каждого языка были разработаны собственные компиляторы. Языки высокого уровня были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров. Уровень языка характеризуется степенью его близости к естественному языку. Машинный язык не похож на человеческий, он крайне беден в своих изобразительных средствах. Примеры таких языков: FORTRAN (FORmula TRANslator; 1954) предназначен для научных и технических расчетов; COBOL (1959) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных) – Common Business-Oriented Language)); язык BASIC (Beginner’s All Purpose Instuction Code – универсальный язык символьных инструкций для начинающих; 1964) Алгоритмические языки программирования. С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора цикла). К этим языкам относятся: язык Pascal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970); язык Си, позволяющий быстро и эффективно создавать программный код (1971) Языки объектно-ориентированного программирования (90-ые г. XX в.). В основу этих языков положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны среды программирования, позволяющие визуально конструировать графический интерфейс приложений: язык С++ (1983) - продолжение алгоритма языка Си; язык Object Pascal (1989) был создан на основе языка Pascal. После создания среды программирования – Delphi (1995); язык Visual Basic(1991) был создан корпорацией Microsoft на основе языка Qbasic (1975) для разработки приложений с графическим интерфейсом в среде ОС Windows. Языки программирования для компьютерных сетей. В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, Mac OS и др.) могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной: язык Java - объектно-ориентированный язык был разработан фирмой Sun Microsystems для создания сетевого программного обеспечения (1995); язык JavaScript – язык сценариев Web-страниц (компания Netscape; 1995) Языки программирования на платформе .NET. Интегрированная среда программирования Visual Studio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе: на языке Visual Basic .Net (на основе Visual Basic) - 2003 г.; на языке Visual C# (С-шарп) – на основе языков С++ и J – 2003 г.; на языке Visual J# (J-шарп) – на основе Java и JavaScript – 2003 г. Для того, чтобы процессор мог выполнить программу, данные должны быть загружены в оперативную память. Необходимо, чтобы в ОП была размещена программа-транслятор, автоматически переводящая с языка программирования в машинные коды. Трансляторы бывают двух типов: интерпретаторы и компиляторы. Интерпретатор – программа, которая обеспечивает последовательный перевод операторов программы с одновременным их выполнением. Достоинством интерпретатора является удобство отладки (поиск ошибок), недостатком – малая скорость выполнения. Компилятор переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле (обычно с расширением .exe). ГЛава ii. ОБЗОР СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯАлгоритмический язык (язык программирования) представляет собой один из способов записи алгоритма. Язык программирования является строго формализованным, то есть все команды записываются по определенным правилам и отступления от этих правил не допускаются. Например, в русском языке можно при разделении элементов перечисления поставить запятую (,) или точку с запятой (;). А в языке программирования при записи команд нельзя изменить ни одного знака - возникает ошибка. Программа, написанная на языке программирования, состоит из команд (операторов), задающих последовательность действий. Эти действия выполняются над некоторыми объектами. Объектами могут быть числа, текстовые строки, переменные. Языки отличаются друг от друга множеством допустимых объектов и набором операций, которые можно выполнять над этими объектами. Первым значительным шагом представляется переход к языку ассемблера. Не очень заметный, казалось бы, шаг — переход к символическому кодированию машинных команд — имел на самом деле огромное значение. Программисту не надо было больше вникать в хитроумные способы кодирования команд на аппаратном уровне. Более того, зачастую одинаковые по сути команды кодировались совершенно различным образом в зависимости от своих параметров. Появилась также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ. Появилось даже некое подобие переносимости — существовала возможность разработки целого семейства машин со сходной системой команд и некоего общего ассемблера для них, при этом не было нужды обеспечивать двоичную совместимость. Среди универсальных языков программирования в настоящее время наиболее распространены следующие. 2.1 СИ [C] И ЕГО РАЗНОВИДНОСТИСи [C] - Многоцелевой язык программирования высокого уровня, разработанный Деннисом Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на мини-ЭВМ и ПЭВМ. Является базовым языком операционной системы Unix, однако применяется и вне этой системы, для написания быстродействующих и эффективных программных продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в том числе - Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы Microsoft), а также Zortech C (фирмы Symantec). Многие из указанных версий обеспечивают также работу с Си и Си++. Язык Си разрабатывался как язык системного программирования, для которого можно создать однопроходный компилятор. Стандартная библиотека также невелика. Как следствие данных факторов — компиляторы разрабатываются сравнительно легко[2]. Поэтому данный язык доступен на самых различных платформах. К тому же, несмотря на свою низкоуровневую природу, язык ориентирован на переносимость. Программы, соответствующие стандарту языка, могут компилироваться под различные архитектуры компьютеров. Целью языка было облегчение написания больших программ с минимизацией ошибок по сравнению с ассемблером, следуя принципам процедурного программирования, но избегая всего, что может привести к дополнительным накладным расходам, специфичным для языков высокого уровня. Си++ [C++] - Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США). C# (C Sharp) – “Си Шарп”: объектно-ориентированный яык программирования, о разработке которого в 2000 г. объявила фирма Microsoft. По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки C и С++ для того, чтобы они могли более эффективно создавать интернет-приложения. Указывается, что C # будет тесно интегрирован с языком XML. 2.2 PASCALПаскаль [PASCAL] - процедурно-ориентированный язык программирования высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского физика, математика и философа XVII века Блеза Паскаля. В своей начальной версии Паскаль имел довольно ограниченные возможности, поскольку предназначался для учебных целей, однако последующие его доработки позволили сделать его хорошим универсальным языком, широко используемым для написания больших и сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal, Turbo Pascal) и систем программирования на этом языке для разных типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland (США). Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию. Результат этой работы — язык Модула-2. К сожалению, этот язык программирования с каждым годом изживает себя. По сравнению с С и С++ Паскаль имеет более громоздкие конструкции. Чтобы выразить свою мысль приходится больше писать. В большом тексте тяжелее найти ошибки. Pascal устаревает: в нем отсутствует масса необходимых для создания современных приложений возможностей, в коммерческой разработке он не используется. 2.3 JAVA Java — строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle. Изначально язык назывался Oak («Дуб»), разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Из-за того, что язык с таким названием уже существовал, Oak был переименован в Java[4]. Назван в честь марки кофе Java, которая, в свою очередь, получила наименование одноимённого острова (Ява), поэтому на официальной эмблеме языка изображена чашка с горячим кофе. Существует и другая версия происхождения названия языка, связанная с аллюзией на кофе-машину как пример бытового устройства, для программирования которого изначально язык создавался. В соответствии с этимологией в русскоязычной литературе с конца двадцатого и до первых лет двадцать первого века название языка нередко переводилось как Ява, а не транскрибировалось. Java— это серьёзный объектно-ориентированный язык, на котором пишут программы для компьютеров и мобильные приложения. Он интересен тем, что один и тот же код можно скомпилировать под множество разных платформ. Java — один из основных языков для разработки под Android. Язык программирования Java работает с веб-приложениями, которые транслируются в байт-код. Он может работать на любой компьютерной архитектуре, так как код преобразуется с помощью Java-машины. Он появился в 1996 году и последние годы он стал самым популярным языком программирования. Однако многие недовольны из-за того, что он работает медленнее, чем его конкуренты. Перечислить все бренды, которые используют Java, невозможно. В качестве примера можно взять YouTube, Netflix, Facebook, EBay, PayPal.То, что в свое время Google выбрал Java для разработки Android, подогрело интерес к этому языку среди разработчиков. Сегодня это самая популярная операционная система, и практически все мобильные приложения для нее написаны на Java.2.4 PYTHON Python — активно развивающийся язык программирования, новые версии с добавлением/изменением языковых свойств выходят примерно раз в два с половиной года. Язык не подвергался официальной стандартизации, роль стандарта де-факто выполняет CPython, разрабатываемый под контролем автора языка. В настоящий момент Python занимает третье место в рейтинге TIOBE с показателем 8,5 %. Аналитики отмечают, что это самый высокий балл Python за все время его присутствия в рейтинге. Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources. С самого начала Python проектировался как объектно-ориентированный язык. Название языка произошло вовсе не от названия семейства пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Летающий цирк Монти Пайтона». Впрочем, всё равно название языка чаще связывают именно со змеёй, нежели с передачей — пиктограммы файлов в KDE или в Microsoft Windows и даже эмблема на сайте python.org (до выхода версии 2.5) изображают змеиные головы. Важная цель разработчиков Python — создавать его забавным для использования. Это отражено в его названии, которое пришло из Монти Пайтона. Также это отражено в иногда игривом подходе к обучающим программам и справочным материалам. Синтаксис Питона всегда выделял его на фоне других языков программирования. Он не страдает избыточностью, схожесть синтаксиса с обычным английским позволяет понять код даже обычному пользователю, кроме того, программист пишет меньше строк кода, потому что нет необходимости использовать символы: «;», «{», «}». Вложенность обозначается отступами, что повышает читаемость кода и приучает новичков к правильному оформлению. РЕЗУЛЬТАТЫ ОПРОСА В начале учебного года, как только я определился с темой своего проекта, я решил провести небольшой опрос среди учеников своего класса. Целью опроса было выяснить, знают ли девятиклассники, что такое языки программирования. Также учащимся было предложено перечислить языки, которые им известны. В ходе эксперимента было опрошено 26 девятиклассников. Результаты, полученные в ходе опроса, приведены в таблице 1 и диаграммах 1-5. Таблица 1. Результаты опроса
Диаграмма 1. Диаграмма 2 Диаграмма 3 ![]() ![]() ![]() Диаграмма 4 Диаграмма 5 ![]() ![]() По результатам опроса можно заявить, что все опрошенные ученики проинформированы о том, что такое языки программирования, а самым популярным среди них является Pascal. ЗАКЛЮЧЕНИЕ Изобретение языков программирования высшего уровня, а также их постоянное совершенствование и развитие, позволило человеку не только общаться с машиной и понимать ее, но использовать ЭВМ для сложнейших расчетов в области самолетостроения, ракетостроения, медицины и даже экономики. На сегодняшний день любое среднее и крупное предприятие имеет в своем штате группу программистов, обладающих знаниями программирования различными языками, которые редактируют, изменяют и модифицируют программы, используемые сотрудниками предприятия. Это говорит о том, что на рынке труда пользуются спросом обладающие знаниями и опытом работы с различными языками программирования люди. То есть, я доказал, что с усовершенствованием старых и созданием новых языков программирования людям стало легче работать, а программирование стало не таким сложным. В данном проекте мною были рассмотрены самые распространенные языки программирования, такие как: Фортран, Паскаль, Бейсик, которые используются для научных вычислений, для обучения программированию начинающих программистов. На данный момент я уже обучаюсь программированию на языке Python и задумываюсь над тем, чтобы связать свою жизнь с профессией программиста. Несмотря на то, что современный уровень развития языков программирования является довольно высоким, тенденция их развития, а также развития информационных технологий в целом, складывается таким образом, что можно предположить, что в ближайшем будущем, человеческие познания в этой сфере помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информацию в виде мысли, слова, звука или жеста. |