Файл: Современной налоговой системы РФ.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 59

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

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

Первыми языками программирования, облегчающими общение человека с ЭВМ, стали языки программирования типа Ассемблер и затем появились языки программирования более высокого уровня.

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

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

Для достижения поставленной цели в ходе исследования были сформулированы и решены следующие задачи:

1) Проанализировать историю развития современных языков программирования;

2) Классифицировать современные языки программирования.

3) Описать достоинства и недостатки современных языков программирования.

4) Проанализировать возможности и особенности разработки компьютерных программ на популярных современных языках программирования;

5) Дать оценку результатам проведенного исследования.

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

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


Курсовая работа состоит из двух разделов.

В первом разделе описываются история, классификация, достоинства и недостатки современных языков программирования.

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

В заключении сделан вывод по результатам исследования.

Приложения содержат исходные тексты разработанных программ.

Глава 1. Общие сведения о языках программирования

1.1. История

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

Одним из первых языков программирования высокого уровня является Фортран, от англ. Formula Translation. Он был создан компанией IBM в середине 50-х годов прошлого века.[9]

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

Для решения экономических задач был разработан язык программирования Кобол. Расширение сферы применения ЭВМ привело к разработке языков программирования, специализированных для различных сфер применения:

  • снобол является алгоритмическим языком для обработки текстовых данных;
  • лисп - алгоритмическим языком для обработки символов, лисп широко используется в исследованиях по созданию и развитию искусственного интеллекта.

В 1968 г. проводился конкурс лучшего языка программирования для обучения студентов. Победителем стал язык Алгол-68, но он не получил широкой популярности.

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


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

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

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

Язык Си широко применяется при разработке операционных систем, трансляторов, баз данных и прочих прикладных и системных программ. Си является языком программирования общего назначения, он хорошо известен эффективностью, переносимостью, экономичностью.

В ряде случаев программы, написанные на Си, сопоставимы по скорости с программами на языках Ассемблера. При этом они более наглядны и легче сопровождаются. Си сочетает мощность и эффективность при относительно малом размере программного кода.[4]

Сегодня многие программисты, работавшие на СИ, переходят на более современный язык программирования С++, совмещающий эффективность старого СИ с современными объектно-ориентированными возможностями.

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

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

Большой вклад в развитие новых языков программирования внесло появление технологий WWW (World Wide Web). Появление популярного языка программирования РНР связано исключительно с WWW, хотя позже для этого языка программирования был создан интерпретатор командной строки.

1.2. Классификация

В современных языках программирования выделяют три основные группы:[14]


  • процедурные;
  • объектно-ориентированные;
  • логические и функциональные.

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

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

1) Фортран — «преобразование формул», (англ. Fortran - Formulae Translation). Фортран один из наиболее старых языков программирования высокого уровня. Его существование, применение и популярность объясняется простотой и эффективностью его структуры;

2) Язык Бейсик, от англ. Basic, иногда расшифровывают как «Beginner’s All-purpose Symbolic Instruction Code». Бейсик является многоцелевым символическим обучающим языком для начинающих. Он используется с 1964 г. как обучающий программированию язык;

3) язык СИ (пишется как «С»), создан в 1970-х годах прошлого века. Он используется в качестве языка системного программирования для разработки операционных систем семейства UNIX. В 1980-х годах прошлого века на базе языка С был создан язык С++, в котором объединились возможности языка С и средства объектно-ориентированного программирования;

4) язык Паскаль англ. Pascal, был назван в честь французского ученого Блеза Паскаля. Он широко применяется с конца 60-х и начала70-х годов прошлого века. Сначала Паскаль использовался для обучения программированию, но в позднее приобрел популярность при разработке программных средств в промышленных проектах. Есть мнение ряда исследователей[9], что в промышленные проекты Паскаль привнесли студенты, окончившие обучение и не желавшие изучать другие языки программирования. Но как бы то ни было, а язык Паскаль до сегодняшнего дня остается популярным и его модификации используются в коммерческих промышленных средах разработки (например, RAD Studio, Embarcadero Delphi).

Объектно-ориентированные языки программирования сегодня развиваются особенно активно. Большинство таких языков являются развитыми версиями проблемных и процедурных языков, но разработка с помощью языков этой группы более проста и наглядна.

К наиболее популярным объектно-ориентированным языкам программирования относят:[11]

  1. Java;
  2. С++ на базе С;
  3. C#;
  4. Visual Basic на базе Basic;
  5. Delphi на базе Pascal;
  6. Visual Fortran на базе Fortran.

Объектно-ориентированное программирование представляет собой направление в программирования, которой определяет главными элементами программы - объекты.


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

Объединение в одном объекте процедур обработки и связанных с ними данных называется инкапсуляцией. Инкапсуляция является одним из наиболее важных принципов объектно-ориентированного программирования.

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

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

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

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

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

В декларативных языках осуществляются построения каких-либо систем и структур, то есть декларируются какие-либо свойства создаваемых объектов.

Декларативные языки широко применяются в CAD-пакетах, в системах автоматизированного проектирования (САПР), в системах искусственного интеллекта и моделирования.

Проблемно-ориентированные языки используются при решении целого класса задач, возникающих при постоянном расширении области применения вычислительной техники:[12]

  • язык Лисп, англ. Lisp — List Information Symbol Processing, создан Джоном Маккарти в 1962 году. Сначала он использовался как средство для работы со строками символов. Сегодня Лисп используется в экспертных системах, аналитических вычислениях, и т. п.;
  • язык Пролог, англ. Prolog — Programming in Logic, предназначен для логического программирования в системах искусственного интеллекта.

1.3. Достоинства и недостатки