Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (ТЕОРЕТИЧЕСКИЕ И ИСТОРИЧЕСКИЕ АСПЕКТЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 31.03.2023
Просмотров: 295
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ И ИСТОРИЧЕСКИЕ АСПЕКТЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
Исторические аспекты развития языков программирования
Низкоуровневые языки. Ассемблер и его реализация
Первые языки структурного программирования: Fortran и Algol
Языки структурного программирования. Возникновение ООП
1.5 Языки объектно-ориентированного программирования
Современные языки программирования
ГЛАВА 2. КРИТЕРИИ ВЫБОРА СРЕДЫ И ЯЗЫКА РАЗРАБОТКИ ПРОГРАММ
2.1 Языки программирования, особенности и критерии отбора
Распространенность указывает в основном на популярность того или иного языка. Языки программирования в процессе эволюции наследовали друг от друга правила написания и оформления программ, закономерности использования и названия команд. Эти правила и договоренности, с определенным уточнением, можно отнести к синтаксису языка программирования. Среди языков программирования, традиционно используются для обучения, можно, достаточно не строго, по сходству между собой, выделить три наиболее распространенных разновидности синтаксис[68]:
1) синтаксис языков Basic и Visual Basic;
2) как Pascal и Delphi;
3) синтаксис языков, подобных языка C (C ++, C #, PHP, Java и др.) [1.10].
Наряду с этим есть много специально разработанных учебных языков программирования. Некоторые из учебных языков достаточно развиты и носят универсальный характер: НАМ (учебный алгоритмический язык), Рапида. Есть и такие, которые используются для решения незначительного количества учебных задач, в частности Лого (черепаховая графика)[69]. В языках программирования, в какой-то степени, можно считать наборы и правила использования команд управления исполнителями в учебных средах «Ступеньки к информатике» и «Сокровищница знаний». Каждая из учебных языков, как правило, имеет свой специфический синтаксис и набор команд.
Для синтаксиса всех без исключения языков программирования важны такие общие характеристики, как понятность, гибкость, простота[70]. Отдавая предпочтение тому или иному синтаксиса, следует учитывать, что хотя в целом синтаксис языков подобный синтаксиса языка С, несколько сложнее, остальные разновидностей синтаксиса языков программирования не столь широко используются в профессиональной деятельности. Проблема перехода с учебной на профессиональный язык программирования является актуальной для большинства специалистов по разработке программного обеспечения. Использование в обучении языков программирования с «С-образным синтаксисом»[71] позволяет практически избежать проблем такого перехода.
2.2 Среды программирования, особенности и критерии отбора
Отбор языка программирования тесно связанный и обусловлен наличием доступного и качественного среды программирования. Для поддержки изучения некоторых языков программирования существует достаточно большой выбор сред.
Важные характеристики сред[72]:
· Распространенность (массовость, распространенность)
· Доступность (условия распространения, стоимость, условия оплаты)
· Особенности интерфейса (общая понятность, простота, принадлежность к тому или иному типу)
· Способ реализации (компиляция или интерпретация)
· Системные требования (аппаратные и программные).
Из всех приведенных характеристик стоит остановиться на особенностях интерфейса. Интерфейс должен соответствовать требованиям удобства и понятности[73]. Те или иные особенности интерфейса могут быть по-разному использованы в процессе обучения. Простой, традиционный интерфейс очень часто оказывается более методично целесообразным, а отсутствие некоторых функций может даже способствовать лучшему освоению тех или иных особенностей программирования[74]. Наряду с этим сложный многофункциональный интерфейс может отвлекать от выполнения основных задач.
В большинстве визуальных сред программирования реализованы функции автоматической генерации кода. Традиционно автоматическая генерация кода используется для создания форм, кнопок, переключателей и других визуальных элементов. Некоторые современные среды могут автоматически генерировать почти любые фрагменты программ, а то даже и цели программы.
Автоматическая генерация кода позволяет, с одной стороны, ускорить выполнение задач, продемонстрировать детям эффективность и мощность современных средств программирования. С другой стороны, использование готового кода, к которому следует отнести автоматически генерируемый код, недостаточно способствует пониманию учащимися механизмов разработки программ[75].
Для некоторых языков программирования существуют специальные, упрощенные учебные версии. Особенно удобны такие речи и разработаны для них среды программирования для знакомства с програмотворенням школьников младшего и среднего школьного возраста[76]. Примерами таких языков программирования и сред является упрощенная версия языка Pasсal, реализованная в среде «Алгоа» и упрощенная версия языка Visual Basic - среда Small Basic. Как указано на официальной странице Small Basic: «Microsoft Small Basic - система, которая пытается сделать программирования понятным для начинающих»[77]. Разработчики, кроме простоты и доступности, отмечают главное преимущество Small Basic - его современность.
Итак, учитывая интерфейс лучшей является та ситуация, когда можно самостоятельно выбрать среду программирования соответствии с определенными задачами и имеющегося аппаратного и программного обеспечения. К сожалению, такая возможность существует далеко не для всех языков программирования и не в каждом заведении[78]. О предоставлении услуг стоит отметить, что, учитывая большой спектр свободно-распространяемых сред программирования, подавляющее большинство программистов склоняется к использованию именно бесплатного программного обеспечения.
Например, осуществим общее сравнения, охарактеризуем пригодность языков программирования C # и Pascal.
Первое, что различает эти языки это то, что язык программирования Pascal создавалась как процедурная, а C # (читается «Си шарп») - как объектно-ориентированный. Для языка Pascal существует ее диалект Object Pascal, поддерживающий технологию объектного программирования. Однако использование этого языка значительно усложняет полноценное обучение объектно-ориентированного программирования. К тому же синтаксис Pascal мало используется в профессиональном написании программ. Нынешняя популярность языка Pascal обусловлена тем, что она была специально разработана как учебная и с мощным методическим обеспечением, которое накопилось в течение долгих лет ее использования в школах и вузах разных стран[79].
Создавая новый язык C #, ее разработчики значительно усовершенствовали именно синтаксис языка С ++. Бытует мнение, что язык C # достаточно проста в восприятии и чрезвычайно удобна как для профессионального программирования, так и для обучения его основ. Язык полностью объектно-ориентированный. Однако методическая поддержка для C # пока недостаточно[80].
Прежде всего отсутствие надлежащей методической поддержки, при всех преимуществах языка C #, не позволяет утверждать о безоговорочной целесообразность ее использования в качестве средства обучения[81].
Рассмотрим возможности отбора среды программирования для языков Pascal и C #. Язык программирования Pascal сейчас в основном изучают с использованием таких сред как Turbo Pascal версий 5.0 и 7.0, Free Pascal различных версий, Pascal ABC, Pascal ABC.Net, Delphi. Сейчас наиболее широко используются среды Turbo и Free Pascal, несмотря на то, что они разработаны для морально устаревших операционных систем типа DOS. Эти среды нормально работают под управлением Windows XP, хотя и не поддерживают многих его возможностей. Среда Delphi не имеет свободно распространяемых версий, среда ABC Pascal опирается на специфический диалект языка Pascal и нет, возможно пока, средств визуального программирования[82]. Поддерживаемая Microsoft язык C # обеспечена достаточным количеством сред разработки, ориентированных на современные и популярные операционные системы Windows XP, Windows Vista, Windows 7. Однако, несмотря на сравнительную новизну и привязывается связи к программной платформы Microsoft .Net Framework, существуют среды программирования, позволяющие создавать программы на языке C # как для уже архаического семейства операционных систем Windows 9x, так и для свободно распространяемого Linux (платформа Mono). Наряду с этим, программы для C # можно не только создавать в текстовом редакторе, но и компилировать из командной строки на любом компьютере, где установлен платформу Microsoft .Net.
Сейчас наиболее распространены такие среды разработки на языке C #[83]:
-· Microsoft Visual Studio Professional 2008, что бесплатно доступно как пробная 90-дневная версия;
-· Microsoft Visual C # 2008 Express Edition. Бесплатная практически полнофункциональная версия, отличающаяся от профессиональной лишь незначительным ограничением функций и неполным библиотеками классов;
-· Sharp Develop - бесплатное, независимое среда разработки на языке C #;
-· Borland C # Editor - среда разработки от фирмы Borland;
-· Antechinus С # Editor - среда, работает с любыми версиями Microsoft .Net Framework (даже Framework 1.0) и под управлением операционных систем семейства Windows 9х. Antechinus С # Editor также совместим с современными системами Windows XP, Windows Vista, Windows Seven[84].
Итак, по результатам сравнения языков программирования, а также сред разработки для них Pascal имеет преимущества по простоте синтаксиса и наличием значительного методической поддержки. Преимуществами языка C # является удобство изучения объектно-ориентированного программирования, наличие значительного количества свободно доступных сред разработки, подавляющее большинство из которых поддерживает визуальное программирование, и полная пригодность для обеспечения профессиональной деятельности специалистов-программистов.
ЗАКЛЮЧЕНИЕ
Таким образом, очевидно, что такие формальные языки, основанные на автоматных грамматиках, как языки программирования прошли длинный путь эволюции синтаксиса, связанный с семантической стороной языков.
От примитивных синонимов до сложных абстрактных конструкций языки программирования прошли длинный путь, полный развилок и сложных нетривиальных конструкций, которые ограничивали или напротив расширяли возможности более простого и точно специфицирования исполнения программы и требований к ней.
Стоит отметить, что эволюция языков программирования не завершена. Современное время показывает, что в силу все больше возрастающей сложности программирования и числа компонентов в системах сейчас, как никогда ранее, требуется глубинное исследование и анализ того, как может быть снижена сложность разработки программ за счет различных средств, в том числе и синтаксических средств самого языка.
Возможность использования языков программирования в качестве средства связи с существующими автоматическими компьютерами долгое время считалась их наиболее важным свойством. Эффективность, с которой существующие автоматические калькуляторы могут выполнять программы, написанные на определенном языке, стала основным критерием качества этого языка. Как неутешительное следствие, мы часто обнаруживаем, что аномалии существующих компьютеров тщательно воспроизводятся на языках программирования, и это происходит в ущерб интеллектуальной управляемости программ, выраженных на таком языке.
Также можно сказать, что на данный момент лидирующую позицию среди языков программирования занимает C ++.
C ++ был мощным и быстрым шагом вперед в развитии программирования. C ++ по сей день занимает доминирующее положение среди языков программирования в мире. Огромное количество профессиональных программистов используют его при разработке различных проектов. Очевидно, что этот язык будет сохранять свою твердую позицию в течение более одного года, в то же время все еще развивается и совершенствуется.
Я также думаю, что такие языки, как Паскаль и Дельфы, пережили все, что возможно, и тот факт, что Паскаль преподается во многих учебных заведениях, я считаю неправильным. Необходимо разрабатывать и не стоять на месте, есть много языков программирования, которые намного лучше и быстрее запоминаются, например, Ruby намного превосходит Pascal по функциональности.
БИБЛИОГРАФИЯ
Описания произведения из многотомного издания
1. Воройский Ф.С. Информатика. Энциклопедический систематизированный словарь-справочник: введение в современные информационные и телекоммуникационные технологии в терминах и фактах. – 4-е изд. – М.: Физматлит, 2017. – 965 с.
Описание книг одного-трех авторов
2.Аткинсон Л. MySQL. Библиотека профессионала: Монография. – М.:Вильямс, 2015. – 406 с.
3. Вирт Н., Паскаль Паскаль Й. К.. Руководство для пользователя и описание языка / Н. Вирт, Й. К. Паскаль. — М.: Финансы и статистика, 2014. — С. 151.
4. . Бенкен Е.С. PHP, MySQL, XML. Программирование для Интернета. СПб.: изд-во БХВ-Петербург, 2016 г. – 304 с.
5. Ворожцов А.В. Языки программирования в школе / А. В. Ворожцов. // «Потенциал», №3 — М., 2015.
6. Дронов В.А. PHP, MySQL, HTML5 и CSS 3. Разработка современных динамических Web-сайтов. – Спб.: BHV, 2016. – 688 c.
7. Дунаев В. Основы WEB-дизайна. СПб.: изд-во БХВ-Петербург, 2014 г. - 504 с
8. Душкин Р . В. Функциональное программирование на языке Haskell / Гл.ред. Д. А. Мовчан;. — М.: ДМК Пресс,, 2018. — 544 с.
9. Зандстра, М. PHP. Объекты, шаблоны и методики программирования. Перевод с англ.: Тригуб С. М.: изд-во Вильямс, 2015 г. – 560 с.
10. Информационные технологии. Теория и практика. История языков программирования [Электронный ресурс]. — Режим доступа: http://arxweb.net/load/shablony_i_blanki/istorija_jazykov_programmirovanija/3-1-0-46.
11. Колисниченко Д.Н. Профессиональное программирование на PHP: Монография. – М.: ООО «Бином» , 2017. – 512 с.
12. Котеров Д., Костаревы А. PHP 5 в подлиннике. Санкт-Петербург: Изд-во БХВ-Петербург, 2015. – 287 с.