Автор работы: Пользователь скрыл имя, 02 Октября 2011 в 18:18, реферат
До середины 60-х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз.
Языки программирования этой эры, как и компьютеры на которых они использовались, были разработаны для специфичных задач, таких как научные вычисления. Поскольку машины были дорогими и медленными, то и машинное время было дорого – поэтому скорость выполнения программы стояла на первом месте.
Введение
Язык формирует наш способ
мышления и определяет то,
о чем мы можем мыслить.
Б.Л Ворф
До середины 60-х компьютеры были слишком дорогими машинами, использовавшимися только для особых задач, и выполнявшими только одну задачу за раз.
Языки программирования этой эры, как и компьютеры на которых они использовались, были разработаны для специфичных задач, таких как научные вычисления. Поскольку машины были дорогими и медленными, то и машинное время было дорого – поэтому скорость выполнения программы стояла на первом месте.
Однако в течение 60-х цена на компьютеры стала падать так, что даже небольшие компании могли их себе позволить; скорость компьютеров всё увеличивалась, и наступило время, когда создатели языков программирования все больше стали задумываться об удобстве написания программ, а не только скорости их выполнения.
На заре компьютеризации, машинный язык был единственным языком, большего человек к тому времени не придумал. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня (т.е. немашинные языки).«Мелкие» (атомарные) операции, выполняемые непосредственно устройствами машины, объединили в более «крупные», высокоуровневые операции и целые конструкции, с которыми человеку куда проще и удобнее работать. Так программирование сделало колоссальный прорыв: новые языки стали своеобразным связующим мостом между человеком и машинным языком компьютера.
Прогресс
компьютерных технологий определил процесс появления новых
1.1 Понятие о программировании
Термин программирование означает процесс и искусство создания компьютерных программ с помощью специальных языков программирования.
Программирование позволяет
В общем смысле слова, программирование есть формализация предопределенного состояния, по реакции на событие, реализуемого средствами математики или естественных наук.
В более широком смысле под
программированием понимают
В
узком смысле слова, программирование рассма
Программирование
для ЭВМ основывается на использовании
языков программирования, на которых
записывается программа. В настоящее
время для того, чтобы программа
могла быть понята и исполнена ЭВМ, требуется
специальный инструмент — транслятор.
(Можно, конечно, обойтись и без транслятора.
Но тогда программу придется кодировать
непосредственно на языке машинных команд,
а это весьма трудоемкое занятие.) Существуют
два вида трансляторов — компиляторы и
Программирование в широком смысле можно разбить на несколько стадий:
Различные языки программирования поддерживают различные стили программирования (так называемые«парадигмы программирования»). Отчасти, искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый процессором - это машинный язык (также называемый «машинным кодом»). Как уже было сказано, изначально, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого, программисты пишут исходный код, и компьютер (используя компилятор, интерпретатор или ассемблер, речь о которых пойдёт чуть позже) транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Однако, в некоторых языках, вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code).
Теперь
можно переходить к материальной части
процесса создания программ. Это, разумеется,
технические (аппаратные) средства обеспечения
программирования - совокупность электрических,
электронных и механических компонентов
автоматизированных систем составляет
их техническое обеспечение (в отличие
от программных средств, представляющих
собой программное обеспечение автоматизированных
систем). Например, электронная вычислительная
машина (ЭВМ) или компьютер - комплекс технических
и программных средств, основанных на
использовании электроники и предназначенных
для автоматической или автоматизированной
обработки данных в процессе решения вычислительных
и информационных задач.
Паради́гма программи́рования —
это совокупность идей и понятий, определяющих
стиль написания программ. Парадигма в
первую очередь определяется базовой
программной единицей и самим принципом
достижения модульности программы. В качестве
этой единицы выступают определение (декларативное, функциональное программирование), действие (императивное программирование),правило(
Парадигма
программирования определяет то, в
каких терминах программист опи
Важно отметить, что парадигма программирования не определяется однозначно языком программирования — многие современные языки программирования являются мультипарадигменными, то есть допускают использование различных парадигм. Так на языке Си, который не является объектно-ориентированным, можно писать объектно-ориентированным образом, а на Ruby, в основу которого в значительной степени положена объектно-ориентированная парадигма, можно писать согласно стилю функционального программирования.
В
зависимости от назначения и/или
способа написания программ различают
парадигмы(также известные как подходы
или технологии)
Структурное программирование - методология программирования, базирующаяся на системном подходе к анализу, проектированию и реализации программного обеспечения. Эта методология родилась в начале 70-х годов и оказалась настолько жизнеспособной, что и до сих пор является основной в большом количестве проектов. Основу этой технологии составляют следующие положения:
- Сложная задача разбивается на более мелкие, функционально лучше управляемые задачи. Каждая задача имеет один вход и один выход. В этом случае управляющий поток программы состоит из совокупности элементарных подзадач с ясным функциональным назначением.
- Простота управляющих структур, используемых в задаче. Это положение означает, что логически задача должна состоять из минимальной, функционально полной совокупности достаточно простых управляющих структур. В качестве примера такой системы можно привести алгебру логики, в которой каждая функция может быть выражена через функционально полную систему: дизъюнкцию, конъюнкцию и отрицание.
- Разработка программы должна вестись поэтапно. На каждом этапе должно решаться ограниченное число четко поставленных задач с ясным пониманием их значения и роли в контексте всей задачи. Если такого понимания не достигается, это говорит о том, что данный этап слишком велик и его нужно разделить на более элементарные шаги.
Концепция модульного программирования.Так же как и для структурной технологии программирования, концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений: