Сравнительный анализ языков программирования Автор Родионов Михаил
Гиппотеза В наше время обучение программированию в школе проводится наморально устаревших языках, но правильно ли это, не лучше ли сразу приучать школьников к современным технологиям?
С точки зрения принципов программирования языки программирования можно разбить на 3 группы: процедурные, функциональные и логические
Основой всех языков программирования являются процедурные языки, поскольку в основе работы компьютера (центрального процессора) на самом низком уровне лежит возможность исполнять только примитивные команды, явно указывающие, что делать процессору. Языки других типов можно рассматривать как надстройки над процедурными языками программирования.
Процедурные языки программирования Программа состоит из последовательности императивных команд (явно, задающих какие преобразования выполнять над данными). Данные хранятся в виде переменных.
Логические языки программирования Языки программирования данного типа основываются на формальной логике и булевой алгебре. Программа не содержит в себе явных алгоритмов. Задаётся описание условий задачи и логических соотношений, по которым система программирования строит дерево вывода и находит решения задачи.
Функциональные языки программирования Функциональное программирование основывается на использование списков и функций. Переменные могут отсутствовать вообще.
Программы на логических и функциональных языках программирования обладают относительно низким быстродействием из-за сложности реализации.
Языки низкого уровня(машинный код и Ассемблер) являются по принципам работы процедурными языками программирования. Но, это языки такого низкого уровня, что к ним даже не подходит термин процедурные. Скорее, лучше называть их императивными языками программирования.
Большинство современных процедурных языков программирования развивается в направлении объектно-ориентированного программирования.
Объектно-ориентированное программирование Переменные и функции группируются в объекты и классы. Благодаря этому достигается более высокий уровень структуризации и абстракции программы. Одни объекты (классы) могут порождаться от других объектов (классов). В объектно- ориентированных языках имеют место такие понятия как наследование, полиморфизм и позднее связывание.
Язык Java Особое место занимает язык программирования Java. Это обуславливается 2-мя его великолепными свойствами. Во-первых, реализация этого языка не привязана к конкретной архитектуре вычислительного устройства (компьютера, мобильного телефона и так далее) и конкретной операционной системе. Программа на языке Java транслируется в промежуточной код, который может быть выполнен на любом компьютере, на котором запущена виртуальная Java-машина. Чтобы перенести Java-программу на новый тип компьютера, не нужно переписывать транслятор для языка Java и другие средства разработки. Более того, не нужно иметь исходные тексты Java-программ и выполнять их перекомпиляцию. Достаточно переписать для новой архитектуры компьютера виртуальную Java-машину и запускать на ней Java- приложения в промежуточном коде, одним и тем же для любых архитектур компьютеров.
Язык Pascal В языке Паскаль, как и в большинстве языков программирования, предусмотрены средства, позволяющие оформлять вспомогательный алгоритм как подпрограмму. Это бывает необходимо тогда, когда какой-либо подалгоритм неоднократно повторяется в программе или имеется возможность использовать некоторые фрагменты уже разработанных ранее алгоритмов. Кроме того, подпрограммы применяются для разбиения крупных программ на отдельные смысловые части в соответствии с модульным принципом в программировании.
Выводы Не смотря на все достоинства объектно- ориентированных языков, при обучении программированию в школе основное внимание должно уделяться не изучению новой технологии а формированию у учащихся базовых навыков таких как алгоритмизация, структуры данных. Для этих целей наиболее подходит язык программирования Pascal так как он имеет чёткую структуру программы и строго типизирован.