Semenalidery.com

IT Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

К технологиям программирования относятся

Технологии программирования

Для начала разберёмся с тем, что такое технология. Постараюсь изъясняться простым языком, пусть даже это будет не очень точно. Зато понятно.

Итак, технология — это некий набор знаний (способов, инструментов), которые позволяют достичь желаемой цели. Исходя из этого

Технологии программирования — это способы создания программ. Эти способы включают в себя как определённые знания (например, знание языка программирования), так и определённые инструменты (например, средства разработки программ).

То есть технология программирования — это совокупность знаний и способов, использование которых приведёт к созданию нужной программы — от идеи до результата.

Различают также технологию программирования и методологию программирования. Но мы в эти дебри лезть не будем — оставим это удовольствие лютым теоретикам.

Развитие технологий программирования

Развитие технологий программирования — это эволюция способов разработки программ. Эту эволюцию можно разбить на следующие этапы (на текущий момент — в будущем может быть придумают что-то ещё):

  1. Стихийное программирование. То есть “как Бог даст”, как получится. Можно сказать, что на этом этапе какие-либо технологии отсутствовали. На этом этапе случился переход от машинных кодов к ассемблерам. А затем к алгоритмическим языкам программирования. На этом этапе обычно сначала создавали кучу подпрограмм, а потом пытались объединить их в одну программу. Первое время это удавалось. Но по мере усложнения задач, решать их в разумные сроки становилось всё труднее. Поэтому возникла необходимость перехода на второй этап.
  2. Структурное программирование. Появились структурированные языки программирования. Изначально Паскаль был именно таким языком. А язык С, можно сказать, таким языком и остался. Структурный подход представлял собой технологию, когда большая задача разбивалась на несколько относительно небольших, и представлялась в виде некой иерархической (древовидной) структуры.
  3. Модульное программирование. Эта технология рождалась почти одновременно со структурным программированием. Идея заключалась в том, чтобы разбивать программы на модули. В модули включали подпрограммы, близкие по своему назначению.
  4. Объектно-ориентированное программирование (ООП). Технология объектно-ориентированного программирования — это уже современный подход, хотя начиналось это ещё с середины 80-х годов 20-го века. Суть ООП заключается в представлении программы в виде совокупности объектов. Каждый из объектов имеет свои свойства (характеристики) и методы (функции). При этом программисту часто не обязательно знать, как устроен объект. Достаточно только общего описания свойств и методов. Объектно-ориентированные языки программирования — это С++, Object Pascal, Delphi и т.п.
  5. Компонентый подход и CASE-технологии. Развиваются с середины 90-х прошлого столетия. Программы создаются из отдельных компонентов. Большинство из этих компонентов уже имеются в средствах разработки. CASE-технологии позволяют не только создавать, но и сопровождать программное обеспечение от “рождения до смерти”, то есть на всём жизненном цикле ПО. Компонентный подход в совокупности с ООП на сегодняшний день и является наиболее используемой технологией программирования.

Ну и, как вы понимаете, на всех этих этапах было много чего придумано и создано. То есть эти эти группы можно разбить на подгруппы, а подгруппы — снова разбить и т.д.

Например, к компонентным технологиям можно отнести технологию OLE, разработанную всем известной компанией Microsoft. И к ним же можно отнести технологию CORBA.

То есть представленный выше список — это лишь основные технологии программирования. Точнее даже будет сказать, что это виды технологий программирования.

И в каждом из этих видов есть немало конкретных технологий, таких как OLE, API или .NET. Так что тема эта очень обширная и очень интересная. Как говорится — не переключайтесь ))))

Технология программирования

Технологии программирования — технологии разработки программ для ЭВМ, которые будут использоваться людьми для решения различных задач на ЭВМ.

Содержание

Разработка ПО — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.

Надежность и качества программ для ЭВМ

Надежность программ для ЭВМ — это одно из основных качеств не только программ для ЭВМ, но и любого типа техники, приборов, машин и устройств, используемых в быту, в жизни, транспорте, связи и на производстве.

Основные критерии надежности в технике:

  1. отказоустойчивость,
  2. ремонтопригодность,
  3. живучесть.

Отказоустойчивость — это отсутствие отказов и сбоев в работе машин, приборов и устройств. В том числе — отсутствие сбоев и отказов в работе ЭВМ — электронных вычислительных машин (компьютеров). Наличие сбоев и отказов в работе машин, приборов и устройств говорит о их недостаточной или низкой надежности.

Ремонтопригодность — возможность внесения исправлений в машины, приборы и устройства при обнаружении в них сбоев, отказов или других дефектов. В том числе — в компьютерах, вычислительных устройствах, машинах, системах и комплексах.

Особенности программ для ЭВМ — программы не ломаются и не подлежат износу в отличии от всей остальной техники, приборов, машин и устройств. В этом смысле программы для ЭВМ обладают исключительной жизнестойкостью.

Наличие сбоев и отказов в работе ЭВМ при выполнении программ являются их конструктивными ошибками и дефектами, закладываемых при разработке или отладке программ на ЭВМ. Количество ошибок и продолжительность отладки программ обычно считается неизвестным.

Ни в одном виде науки и техники нет такого положения с выявлением и исправлением ошибок и дефектов, как в программировании и разработке программного обеспечения для ЭВМ. Одна из крупнейших иностранных фирм объявила о появлении в их программной продукции неисправимых ошибок .

Программная продукция

Программная продукция — это программы для ЭВМ, поставляемые потребителям для ее установки и использования на ЭВМ или в сетях ЭВМ. Программная продукция должна являться одним из видов промышленной продукции и отвечать требованиям международных стандартов ISO.

Одно из основных требований международных стандартов ISO к промышленной продукции — это ее надежность поставляемых приборов, машин и устройств и в частности и в первую очередь — отказоустойчивость и отсутствие конструктивных ошибок и дефектов в поставляемой промышленной продукции.

Согласно Закону РФ «О защите прав потребителей» любой товар при обнаружении в нем дефектов подлежит замена либо возврату денежных средств за его приобретение и сопутствующие издержки.

Программный продукт в соответствии с международными требованиями ISO не должен содержат ошибок и дефектов, которые приводят к сбоям и отказам при выполнении этих программ на ЭВМ либо в сети ЭВМ.

Программы с дефектами и ошибками — это не продукт.

Основные этапы разработки программ

разработка ПО имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин и космических проектов.

Технологии программирование включают:

  1. Анализ и постановка задач
  2. Проектирование — разработка спецификаций
  3. Проектирование — разработка алгоритмов
  4. Написание исходных текстов программ
  5. Тестирование и отладка программ
  6. Испытания и сдача программ
  7. Сопровождение программ

Основная часть работы программистов связана с написанием исходных текстов программ на одном из языков программирования, а также тестированием и отладкой программ на ЭВМ .

Исходные тексты программ, а также исполняемые файлы являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.

Структурное проектирование программ

Информатика как научная дисциплина предлагает и использует на базе методов структурного программирования технологию надежной разработки программного обеспечения, используя тестирование программ и их верификацию на основе методов доказательного программирования для систематического анализа правильности алгоритмов и разработки программ без алгоритмических ошибок.

Данная методология программирования направлена на решение задач на ЭВМ, аналогичной технологии разработки алгоритмов и программ, используемой на олимпиадах по программированию отечественными студентами и программистами с использованием тестирования и структурного псевдокода для документирования программ в корпорации IBM с 70-х годов.

Читать еще:  Нисходящее программирование это

Методология структурного проектирования программного обеспечения может использоваться с применением самых различных языков и средств программирования для разработки надежных программ самого различного назначения.

Одним из больших проектов надежной разработки надежного ПО была разработка бортового программного обеспечения для космического корабля «Буран», в котором впервые использовался бортовой компьютер для автоматического управления аппарата, совершившего успешный старт и посадку космического корабля.

Обучение технологиям программирования

Обучение технологиям разработки ПО на основе методологии структурного проектирования программ была начата в начале 80-ых годов в МИЭМ при подготовке инженеров-математиков по специальности «Программное обеспечение ЭВМ» и изложена в наших учебниках информатики и программирования.

Наибольший успех — разработка базовых пакетов программ по информатике для отечественных и импортных персональных ЭВМ — БК, Корвет, УКНЦ, Ямаха и IBM PC, которые разошлись по всей стране в виде свободного и открытого ПО в конце 80-ых гг.

Все студенты МИЭМ с начала первого курса осваивали и осваивают псевдокод для описания алгоритмов и документирования всех разрабатываемых программ на языках Паскаль, Бейсик, Си, Фортан, ПЛ/1 и т.д. и т.п., а с третьего или даже второго курса приступают к разработкам ПО.

Наибольший успех достигался при обучении инженеров-математиков в МИЭМ и инженеров-экономистов в МАТИ, которые уже на первом курсе начинали разработки программ с доказательствами правильности составляемых алгоритмов относительно математических постановок решаемых задач.

Примеры решения задач с разработками алгоритмов и доказательствами их правильности изложены в вузовсих и школьных учебниках информатики Каймина, которые разошлись по всей нашей стране миллионным тиражом и вошли в стандарты образования в качестве спецификаций ЕГЭ по информатике.

50 тысяч школьников в 2009г. успешно сдали экзамены ЕГЭ по информатике, в спецификациях которых заложены основы алгоритмизации, логика, анализ правильности алгоритмов и элементы технологии программирования — основы современного профессионального программирования.

Понятие технологии программирования

Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:

· указание последовательности выполнения технологических операций;

· перечисление условий, при которых выполняется та или иная операция;

· описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п.

Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.

Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход (парадигма), определяющий совокупность методов, используемых на разных этапах разработки, или методологию.

Исторически в развитии программирования можно выделить несколько принципиально отличающихся методологий.

Изначально понятие технологии как таковой — это 60-е годы прошлого столетия — это период «стихийного» программирования. В этот период отсутствовало понятие структуры программы, типов данных и т.д. Вследствие этого код получался запутанным, противоречивым. Программирование тех лет считалось искусством. Конец 60-х — кризис в программирование.

Выход из этого кризиса — переход к структурной парадигме программирования. Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки программного обеспечения. В основе структурного подхода лежит декомпозиция (разбиение на части) сложных систем с целью последующей реализации в виде отдельных небольших подпрограмм. С появлением других принципов декомпозиции (объектного, логического и т.д.) данный способ получил название процедурной декомпозиции.

Другим базовым принципом структурного программирования является использование при составлении программ только базовых алгоритмических структур (см. билет 4), запрет на использование оператора GOTO.

Структурный подход требовал представления задачи в виде иерархии подзадач простейшей структуры. Проектирование осуществлялось «сверху-вниз» и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм. Одновременно вводились ограничения на конструкции алгоритмов, рекомендовались формальные модели их описания, а также специальный метод проектирования алгоритмов — метод пошаговой детализации.

Поддержка принципов структурного программирования была заложена в основу так называемых процедурных языков программирования. Как правило, они включали основные «структурные» операторы передачи управления, поддерживали вложение подпрограмм, локализацию и ограничение области «видимости» данных. Среди наиболее известных языков этой группы стоит назвать PL/1, ALGOL-68, Pascal, С.

Дальнейший рост сложности и размеров разрабатываемого программного обеспечения потребовал развития структурирования данных. Как следствие этого в языках появляется возможность определения пользовательских типов данных. Одновременно усилилось стремление разграничить доступ к глобальным данным программы, чтобы уменьшить количество ошибок, возникающих при работе с глобальными данными. В результате появилась и стала развиваться технология модульного программирования.

Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные, в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов. Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным) запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.

Объектно-ориентированное программирование (ООП) определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.

Основным достоинством объектно-ориентированного программирования по сравнению с модульным программированием является «более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку. Это приводит к более полной локализации данных и интегрированию их с подпрограммами обработки, что позволяет вести практически независимую разработку отдельных частей (объектов) программы. Кроме этого, объектный подход предлагает новые способы организации программ, основанные на механизмах наследования, полиморфизма, композиции, наполнения. Эти механизмы позволяют конструировать сложные объекты из сравнительно простых. В результате существенно увеличивается показатель повторного использования кодов и появляется возможность создания библиотек классов для различных применений.

Компонентный подход предполагает построение программного обеспечения из отдельных компонентов физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы. В отличие от обычных объектов объекты-компоненты можно собрать в динамически вызываемые библиотеки или исполняемые файлы, распространять в двоичном виде (без исходных текстов) и использовать в любом языке программирования, поддерживающем соответствующую технологию. На сегодня рынок объектов стал реальностью, так в Интернете существуют узлы, предоставляющие большое количество компонентов, рекламой компонентов забиты журналы. Это позволяет программистам создавать продукты, хотя бы частично состоящие из повторно использованных частей, т.е. использовать технологию, хорошо зарекомендовавшую себя в области проектирования аппаратуры. Компонентный подход лежит в основе технологий, разработанных на базе COM (Component Object Model — компонентная модель объектов), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture — общая архитектура с посредником обработки запросов объектов). Эти технологии используют сходные принципы и различаются лишь особенностями их реализации.

Структурное программирование

Структурный подход к программированию представляет собой совокупность рекомендуемых технологических приемов ,охват выполнения всех этапов разработки программного обеспечения .В основе структурного подхода лежит декомпозиция (разделение на части) сложных систем с целью последующих реализаций в виде отдельных, небольших подпрограмм .С появлением других принципов декомпозиции (объектного, логического и т.д.) данный способ получил название процедурной декомпозиции.
Другим базовым принципом структурного программирования является использование при составлении программ только базовых алгоритмических структур , запрет на использование оператора GOTO.
Структурный подход требовал представления задачи в виде иерархии подзадач простейшей структуры. Проектирование осуществлялось “сверху вниз” и подразумевало реализацию общей идеи, обеспечивая проработку интерфейсов подпрограмм. Одновременно вводились ограничения на конструкции алгоритмов, рекомендовались формальные модели их описания, а также специальный метод проектирования алгоритмов — метод пошаговой детализации.
44 Процедуры и функции .Локальные и глобальные переменные .

Читать еще:  Визуальное программирование это

Локальными называют любые переменные, объявленные внутри функции. Локальные переменные также называются автоматическими переменными, так как они создаются и разрушаются автоматически.

Работа программы при наличии в ней функций происходит следующим образом. Операторы программы выполняются последовательно до тех пор, пока не встретится оператор вызова функции. При каждом вызове функции текущий адрес программы запоминается в стеке и служит адресом возврата из функции после завершения её работы.

Стеком называется область памяти компьютера, организованная таким образом, что позволяет добавлять и удалять элементы данных, но при этом доступен только последний добавленный элемент.

Локальные переменные запоминаются в стеке. Стек динамически (т.е. во время выполнения программы) изменяется по мере того, как происходит вызов функций и возврат из них.

В начале работы функция выделяет память в стеке для запоминания своих локальных переменных. После возврата из функции стековая память удаляется, уничтожая все хранящиеся в ней переменные, что позволяет:

· обеспечить большее, по сравнению с доступной памятью, суммарное пространство, занимаемое всеми локальными переменными;

· бесконфликтно объявлять одинаковые идентификаторы для локальных переменных, используемых в различных функциях одной программы.

Глобальныминазывают переменные, объявленные в программе вне функций (в том числе и вне функции main()). Глобальные переменные существуют в течение всего времени работы программы и занимают память независимо от того, используются они или нет.

Глобальные переменные необходимы в тех случаях, когда данные нужно сделать доступными для многих функций, а передача параметров из функции в функцию является проблематичной. Однако использование глобальных переменных в силу своей общедоступности часто чревато возникновением ошибок.

Локальным переменным нужно присваивать начальные значения до их использования, так как в момент объявления значения этих переменных не определены. Глобальные переменные автоматически инициализируются нулевыми значениями при их объявлении.

Если в функции есть локальная переменная с именем, совпадающим с именем глобальной переменной, то внутри функции используется локальная переменная. Глобальная же переменная доступна внутри функции посредством операции разрешения области видимости (::):

Следует отметить, что параметры функции являются локальными переменнымидля функции, а переменные, объявленные в функции main(),являются локальными для функции main().

Локальные и глобальные переменные в программе характеризуются своей областью видимости, определяющей их доступность в различных частях программы. Локальные переменные существуют и видимы только внутри своей функции, их можно использовать только в своей функции, т.е. имеют локальную область видимости. Глобальные переменные имеют глобальную область видимости, т.е. доступны в любой функции программы, включая функцию main().

45 Объектно-ориентированное программированиеВ теории программирования ООП определяется как технология создания сложного программного обеспечения, которая основана на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств.Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.

Объектом объектно-ориентированного программирования называется … совокупность переменных состояния и связанных с ними методов (операций)

Под методами объекта понимают процедуры и функции, объявление которых включено в описание объекта и которые выполняют определенные действия. Возможность управлять состояниями объекта посредством вызова методов в итоге и определяет поведение объекта. Совокупность методов называется интерфейсом объекта.

События— сигналы, формируемые пользователем или программой, для которых объект имеет свои методы обработки.

Инкапсуляция — позволяет объединить данные и код в один объект и при этом скрыть реализацию объекта от пользователя

Наследование — способность описать новый класс на основе уже существующего (родительского). При этом свойства и функциональность родительского класса заимствуются новым классом.

Полиморфизм — возможность по разному трактовать одноименные объекты, их свойства и методы в зависимости от каких-то внешних обстоятельств. Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода.

Дата добавления: 2018-02-28 ; просмотров: 334 ;

Методическая разработка занятия по информатике и ИКТ на тему «Системы и технологии программирования»»

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

ПЛАН ЗАНЯТИЯ № 11

Тема 2.2.2. «Системы и технологии программирования»

Сформировать у учащихся представление о системах и технологиях программирования

Сформировать представления об истории развития языков программирования

Способствовать развитию умений учащихся обобщать полученные знания

Развитие навыков конспектирования материалов.

Способствовать дальнейшему формированию знаний и умений у учащихся по изучаемой дисциплине.

Способствовать развитию творческого отношения к учебной деятельности

Развитие познавательного интереса.

Вид занятия – лекция

Тип (урок) – комбинированный урок

Методы – Беседа, рассказ

Средства обучения – учебники, презентация

Проверка готовности к занятию

Цели (задачи), ход занятия.

Фронтальный опрос по контрольным вопросам, проверка решения заданных задач (1 и 2)

1. Что такое алгоритм?

2. Перечислите основные свойства алгоритма?

3. Что такое результативность алгоритма? Детерминированность? Понятность?

4. Словесно-формульный способ описания алгоритма?

5. Графическое описание алгоритма?

6. Запись алгоритма на псевдокоде?

7. Запись алгоритма на языке программирования?

8. Линейный алгоритм это?

9. Ветвящийся алгоритм это?

10. Циклический алгоритм это?

11. Основные элементы блок-схемы алгоритма?

12. Циклический алгоритм с постусловие?

13. Циклический алгоритм с предусловие?

14. Циклический алгоритм параметром?

1. Составить блок-схему решения следующей задачи. Даны значения двух действительных переменных a и b. Обменять местами их значения, то есть добиться, чтобы a получила значение, которое изначально имела переменная b, а b – получила бы значение a.

2. Составить блок-схему решения следующей задачи. Даны значения действительных переменных b и c. Решить линейное уравнение bx+c=0

понятие языка программирования

понятие системы программирования

понятие технологии программирования

основные поколения языков программирования

классификация языков программирования

Для закрепления полученных знаний проводится беседа по основным понятиям и определениям рассмотренной темы

Что такое языка программирования ?

Что такое технология программирования?

Что такое интерпретатор?

Что такое транслятор?

Какие языки программирования относятся к алгоритмическим?

Языки программирования первого, третьего поколений?

Ответы на контрольные вопросы

Выставление оценок с комментариями

Как и любой человек разговаривает на определенном человеческом языке (может на одном, а может и на нескольких), так и ЭВМ способна понимать только «свой» машинный язык – набор команд, распознаваемых и выполняемых компьютером (точнее, процессором). Составленный алгоритм решения задачи следует перевести на понятный ЭВМ машинный язык, аналогично тому, как переводят обычные тексты на иностранные языки, например, английский. Обычно процесс перевода состоит из двух частей.

Сначала осуществляется программирование – процесс перевода алгоритма в запись на каком-либо выбранном языке программирования.

Язык программирования – это искусственный формализованный язык со строго определенным синтаксисом для описания алгоритма решения задачи на компьютере, который включает набор команд (операторов), правил и соглашений, более понятных пользователю, чем машинный язык. В процессе программирования создается программа – упорядоченная последовательность указаний (команд) исполнителю (в нашем случае компьютеру), необходимых для решения некоторой задачи.

Далее необходим второй этап перевода алгоритма на машинный язык. Здесь возможны различные варианты в зависимости от используемой системы программирования – совокупности специальных средств создания программ и их перевода на машинный язык для выполнения на ЭВМ. Системы программирования включают в себя не только сам алгоритмический язык, определяющий синтаксис команд, но и их преобразователь в машинный код. В зависимости от способа преобразования программы различают интерпретаторы и трансляторы (компиляторы) языков программирования.

Интерпретация – это процесс пошагового перевода завершенной программы на языке программирования в машинный код с его незамедлительным исполнением. Программа, производящая интерпретацию исходного текста программы, называется интерпретатором .

Читать еще:  Языки программирования высокого уровня список

Трансляция (компиляция) – это процесс полного перевода завершенной программы на языке программирования в машинный язык для ее последующего исполнения. Программа, производящая трансляцию (компиляцию) исходного текста программы, называется транслятором (компилятором) .

Технология программирования – это совокупность средств и методов создания программного обеспечения. Применение эффективных технологий программирования подразумевает:

— внедрение прогрессивных инструментальных средств разработки программ;

— использование специальных методов и приемов организации работ по разработке программ;

— стандартизированность, тиражируемость и воспроизведение методов программирования различными разработчиками.

Инструментарий технологии программирования – это программный комплекс, обеспечивающий технологию разработки, отладки и внедрения создаваемых программных продуктов. Он обеспечивает процесс разработки программ и включает специализированные инструментальные средства разработчика. Пользователями технологии программирования являются системные и прикладные программисты.

В развитии инструментального программного обеспечения (т.е. программного обеспечения, служащего для создания программных средств в любой проблемной области) рассматривают пять поколений языков программирования (ЯП)

ЯП первого поколения представляли собой набор машинных команд в двоичном (бинарном) или восьмеричном формате, который определялся архитектурой конкретной ЭВМ. Каждый тип ЭВМ имел свой ЯП, программы на котором были пригодны только для данного типа ЭВМ. От программиста при этом требовалось хорошее знание не только машинного языка, но и архитектуры ЭВМ.

Второе поколение ЯП характеризуется созданием языков ассемблерного типа (ассемблеров, макроассемблеров), позволяющих вместо двоичных и других форматов машинных команд использовать их мнемонические символьные обозначения (имена). Являясь существенным шагом вперед, ассемблерные языки все еще оставались машинно-зависимыми, а программист все также должен был быть хорошо знаком с организацией и функционированием аппаратной среды конкретного типа ЭВМ. При этом ассемблерные программы все так же затруднительны для чтения, трудоемки при отладке и требуют больших усилий для переноса на другие типы ЭВМ. Однако и сейчас ассемблерные языки используются при необходимости разработки высокоэффективного программного обеспечения (минимального по объему и с максимальной производительностью)

Третье поколение ЯП начинается с появления в 1956 г. первого языка высокого уровня — Fortran, разработанного под руководством Дж. Бэкуса в фирме IBM. За короткое время Fortran становится основным ЯП при решении инженерно-технических и научных задач. Первоначально Fortran обладал весьма ограниченными средствами обеспечения работы с символьной информацией и с системой ввода-вывода. Однако постоянное развитие языка сделало его одним из самых распространенных ЯВУ на ЭВМ всех классов — от микро- до супер ЭВМ, а его версии используются и для вычислительных средств нетрадиционной параллельной архитектуры. Вскоре после языка Fortran появились такие ныне широко известные языки, как Algol, Cobol, Basic, PL/1, Pascal, APL, ADA, C, Forth, Lisp, Modula и др. В настоящее время насчитывается свыше 2000 различных языков высокого уровня.

Языки четвертого поколения носят ярко выраженный непроцедурный характер, определяемый тем, что программы на таких языках описывают только что, а не как надо сделать. В программах формируются скорее соотношения, а не последовательности шагов выполнения алгоритмов. Типичными примерами непроцедурных языков являются языки, используемые для задач искусственного интеллекта (например, Prolog, Langin). Так как непроцедурные языки имеют минимальное число синтаксических правил, они значительно более пригодны для применения непрофессионалами в области программирования. Второй тенденцией развития ЯП четвертого поколения являются объектно-ориентированные языки, базирующиеся на понятии программного объекта, впервые использованного в языке Simula-67 и составившего впоследствии основу известного языка SmallTalk. Программный объект состоит из структур данных и алгоритмов, при этом каждый объект знает, как выполнять операции со своими собственными данными. На самом деле, различные объекты могут пользоваться совершенно разными алгоритмами при выполнении действий, определенных одним и тем же ключевым словом 2(так называемое свойство поли- 42 морфизма). Например, объект с комплексными числами и массивами в качестве данных будет использовать различные алгоритмы для выполнения операции умножения. Такими свойствами обладают объектно-ориентированные Pascal, Basic, С++, SmallTalk, Simula, Actor и ряд других языков программирования. Третьим направлением развития языков четвертого поколения можно считать языки запросов, позволяющих пользователю получать информацию из баз данных. Языки запросов имеют свой особый синтаксис, который должен соблюдаться, как и в традиционных ЯП третьего поколения, но при этом проще в использовании. Среди языков запросов фактическим стандартом стал язык SQL (StructuredQueryLanguage). И, наконец, четвертым направлением развития являются языки па- раллельного программирования (модификация ЯВУ Fortran, языки Occam, SISAL, FP и др.), которые ориентированы на создание программного обеспечения для вычислительных средств параллельной архитектуры (многомашинные, мультипроцессорные среды и др.), в отличие от языков третьего поколения, ориентированных на традиционную однопроцессорную архитектуру.

К интенсивно развивающемуся в настоящее время пятому поколению относятся языки искусственного интеллекта, экспертных систем, баз знаний (InterLisp, ExpertLisp, IQLisp, SAIL и др.), а также естественные языки, не требующие освоения какого-либо специального синтаксиса (в настоящее время успешно используются естественные ЯП с ограниченными возможностями — Clout, Q&A, HAL и др.)

1. Что такое языка программирования?

2. Что такое технология программирования?

3. Что такое интерпретатор?

4. Что такое транслятор?

5. Какие языки программирования относятся к алгоритмическим?

6. Языки программирования первого, третьего поколений?

7. Языки программирования второго поколения?

8. Языки программирования четвертого поколения?

9. Языки программирования пятого поколения?

Технологии программирования (Software Engineering)

Теоретические основы технологии программирования

Прочитав эту часть курса, вы получите ответы на следующие вопросы:

  • Что такое жизненный цикл программ?
  • Каковы основные технологические подходы к ведению цикла?
  • Что такое классические и стандартные технологические процессы?
  • Как формируются технологические стадии и в чем заключается порядок их прохождения?
  • Что представляют собой технологии коллективной разработки программ?
  • Как добиться создания качественного программного обеспечения?

Современные технологии программирования

Трансляторы и поколения языков программирования

Лабораторные работы

  1. Практика программирования на 3GL
  2. Практика программирования на 4GL (конструкторы сайтов)
  3. Лабораторная работа 1 по Adobe Flash (4GL)
  4. Лабораторная работа 2 по Adobe Flash: Вставка Flash-объекта в html-файл
  5. Внедрение объектов в HTML
  6. Пошаговое руководство по созданию Flash-сайта в MotoCMS
  7. 3DS MAX. Лабораторная 1. НАЧАЛО
  8. 3DS MAX. Лабораторная 2. ГОРЯЩИЙ КОСТЕР
  9. Практика программирования на 5GL (MathCAD)
  10. СПб НИУИТМО Лабораторные работы — СПб, 2011
  11. Фастовский Э.Г. Лабораторные работы по курсу «Технология программирования» — Харьков, 2012

Лабораторные работы по системе программирования 1С:Предприятие

Дополнительная онлайн литература

  1. д. т. н., профессор Е.А. Жоголев «Технология программирования»
  2. д. т. н., профессор Анатолий Шалыто Технология автоматного программирования
  3. В. Аджиев MicroSoft — корпоративная культура разработки ПО
  4. В. Куртис Программисты и профессиональные спортсмены
  5. Т. Льюис О Java по Гамбургскому счету
  6. А. Фридман К вопросу о современной организации программирования
  7. Д. Волков и др. Заметки о российском программировании
  8. А. Васильев Заметки об американском программировании
  9. Н. Вирт Долой «жирные» программы
  10. В. Иванидзе Программист и интеллектуал
  11. Ж. Арсено и др. Переносимость программного обеспечения GNU
  12. М. Горбунов-Посадов Безболезненное развитие программы
  13. В. Колонцов Найти, проверить и обезвредить
  14. М. Горбунов-Посадов Система открыта, но что-то мешает

интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
мой телеграмм https://t.me/peshekhonovandrei
мой твиттер https://twitter.com/Andrey54708595
мой инстаграм https://www.instagram.com/andreipeshekhonow/

[b]Мой комментарий:
Андрей спрашивает: Краснодарская синагога — это что, военный объект?
— Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

[center][Youtube]CLegyQkMkyw[/Youtube][/center]
[center]10:22 [/center]

Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
http://av-inf.blogspot.com/2013/12/dalles.html

[center][b]Сон разума народа России [/center]

Ссылка на основную публикацию
Adblock
detector