Научная статья на тему 'ВЫБОР ПЕРВОГО ЯЗЫКА ДЛЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ'

ВЫБОР ПЕРВОГО ЯЗЫКА ДЛЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ Текст научной статьи по специальности «Языкознание и литературоведение»

CC BY
650
77
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБУЧЕНИЕ ПРОГРАММИРОВАНИЮ / ПЕРВЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ / РЕЙТИНГ ЯЗЫКОВ / ПАРАДИГМА ПРОГРАММИРОВАНИЯ / КРИТЕРИИ ВЫБОРА ЯЗЫКА ПРОГРАММИРОВАНИЯ / JAVA / PYTHON / TEACHING PROGRAMMING / FIRST PROGRAMMING LANGUAGE / RATING OF LANGUAGES / PROGRAMMING PARADIGM / CRITERIA FOR CHOOSING A PROGRAMMING LANGUAGE

Аннотация научной статьи по языкознанию и литературоведению, автор научной работы — Третьяков Олег Александрович, Федоркевич Елена Валентиновна

Авторами была поставлена задача определить языки программирования, наилучшим образом подходящие в качестве первого языка для обучения. Рассматривались возможности обучения в школе, высших учебных заведениях, на специализированных курсах для обучающихся любого возраста и образовательного опыта.В статье были описаны основные тенденции, влияющие на выбор первого языка программирования: инерционная, ситуативно-прикладная, направленного сотрудничества. Были выделены факторы, влияющие на выбор языка для обучения основам программирования: возраст и опыт обучающихся, простота изучения, универсальность языка и заложенные в него парадигмы (процедурная, функциональная и объектно-ориентированная), практическая направленность (способность решения конкретных задач), текущая популярность и независимость языка (отсутствие зависимости языка от единственного разработчика программного обеспечения и средств разработки).Были изучены существующие рейтинги популярности языков программирования, такие как TIOBE, PyPL, а также данные компании HeadHunter по спросу на программистов на российском рынке труда. На основе этих источников был составлен авторский сводный рейтинг, учитывающий популярность языков программирования в России и мире. Были рассмотрены области применения таких популярных языков, как Scratch, Pascal, Visual Basic, 1C, Swift, R, SQL, PHP, JavaScript, C, C++, C#, ряд других языков. Из языков программирования, популярных на середину 2020 года, были выбраны языки, отвечающие всем предложенным авторами критериям и рекомендуемые для начального обучения программированию: Java - для будущих профессиональных разработчиков программного обеспечения и Python - для всех остальных специалистов.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по языкознанию и литературоведению , автор научной работы — Третьяков Олег Александрович, Федоркевич Елена Валентиновна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

CHOOSING THE FIRST LANGUAGE FOR TEACHING PROGRAMMING

The authors set the task to determine the programming languages that are best suited as the first language for teaching. The possibilities of studying at school, higher educational institutions, at specialized courses for students of any age and educational experience were considered.The article describes the main trends affecting the choice of the first programming language: inertial, situational applied, directed cooperation. The factors influencing the choice of a language for teaching the basics of programming were identified: the age and experience of students, ease of learning, the versatility of the language and the paradigms embedded in (procedural, functional and object-oriented), practical orientation (the ability to solve specific problems), current popularity and language independence (absence of language dependencies on a single developer of software platform and development tools).Authors studied the existing ratings of the popularity of programming languages, such as TIOBE, PyPL, as well as HeadHunter data on the demand for programmers in the Russian labor market. Based on these sources, the author's summary rating was compiled, considering the popularity of programming languages in Russia and in the world. The areas of application of such popular languages as Scratch, Pascal, Visual Basic, 1C, Swift, R, SQL, PHP, JavaScript, C, C++, C#, and a few other languages were considered. Of the programming languages popular in mid-2020, there were selected languages that meet all the criteria proposed by the authors and recommended for initial training in programming field: Java - for future professional software developers and Python - for all other specialists.

Текст научной работы на тему «ВЫБОР ПЕРВОГО ЯЗЫКА ДЛЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ»

Мир науки. Педагогика и психология / World of Science. Pedagogy and psychology https ://mir-nauki.com 2020, №5, Том 8 / 2020, No 5, Vol 8 https://mir-nauki.com/issue-5-2020.html URL статьи: https://mir-nauki.com/PDF/64PDMN520.pdf Ссылка для цитирования этой статьи:

Третьяков О. А., Федоркевич Е.В. Выбор первого языка для обучения программированию // Мир науки. Педагогика и психология, 2020 №5, https://mir-nauki.com/PDF/64PDMN520.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.

For citation:

Tretiakov O.A., Fedorkevich E.V. (2020). Choosing the first language for teaching programming. World of Science. Pedagogy and psychology, [online] 5(8). Available at: https://mir-nauki.com/PDF/64PDMN520.pdf (in Russian)

УДК 378 ГРНТИ 14.35.09

Третьяков Олег Александрович

ГАОУ ВО ЛО «Ленинградский государственный университет имени А.С. Пушкина», Санкт-Петербург, Россия

Старший преподаватель кафедры «Информатики и информационных систем»

Кандидат экономических наук E-mail: tretiakovoa@yandex.ru ORCID: https://orcid.org/0000-0003-4390-3122 РИНЦ: https://www.elibrary.ru/author profile.asp?id=1029166

Федоркевич Елена Валентиновна

ГАОУ ВО ЛО «Ленинградский государственный университет имени А.С. Пушкина», Санкт-Петербург, Россия

Доцент кафедры «Информатики и информационных систем» Кандидат педагогических наук, доцент E-mail: jingerella@gmail.com; e.fedorkevich@lengu.ru РИНЦ: https://www.elibrary.ru/author_profile.asp?id=691163

Выбор первого языка для обучения программированию

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

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

Были изучены существующие рейтинги популярности языков программирования, такие как TIOBE, PyPL, а также данные компании HeadHunter по спросу на программистов на российском рынке труда. На основе этих источников был составлен авторский сводный рейтинг, учитывающий популярность языков программирования в России и мире. Были рассмотрены области применения таких популярных языков, как Scratch, Pascal, Visual Basic, 1C, Swift, R, SQL, PHP, JavaScript, C, C++, C#, ряд других языков. Из языков программирования, популярных на середину 2020 года, были выбраны языки, отвечающие всем предложенным авторами критериям и рекомендуемые для начального обучения программированию: Java - для

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

Ключевые слова: обучение программированию; первый язык программирования; рейтинг языков; парадигма программирования; критерии выбора языка программирования; Java; Python

Актуальность исследования

В связи с развитием информационного общества любой современный специалист, оканчивающий среднюю школу или, тем более, высшее учебное заведение, должен обладать профессиональными компетенциями, связанными с владением вычислительной техникой. Если 10-15 лет назад казалось, что достаточным является владение компьютером на уровне квалифицированного пользователя (умение работать с файлами, операционной системой, текстовыми и табличными процессорами, пакетами прикладных программ в выбранной сфере деятельности), то сейчас квалифицированному пользователю желательно владеть начальными навыками программирования. Еще более важны данные навыки для специалистов, работающих в сфере информационных технологий (IT): им требуется хорошее знание одного или нескольких языков программирования, позволяющих решать прикладные и системные задачи. В связи с вышесказанным возникает методическая проблема выбора первого языка программирования, позволяющего, с одной стороны, осуществлять первоначальное обучение программированию, эффективно способствовать получению базовых навыков программирования за ограниченный период времени, - с другой стороны, вызвать интерес у учеников, мотивировать их к продолжению обучения. Актуальность данного исследования обусловлена необходимостью разрешения очерченной методической проблемы.

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

Методы исследования

Авторы статьи провели анализ научных публикаций по теме выбора первого языка обучению программирования, обобщили опыт преподавания программирования с применением нескольких популярных языков программирования (Pascal, Python, C#, Java, PL/SQL, Visual Basic, JavaScript), сравнили скорость изучения студентами базовых идей и конструкций программирования, провели педагогическое наблюдение за сложностями, которые возникали у учащихся при изучении различных языков программирования. Также были изучены сетевые опросы и существующие рейтинги популярности языков программирования.

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

1. Инерционная. Используются технологии и методики, которые были досконально описаны в литературе по информатике и опираются на языки программирования, популярные 20-30 лет назад. Данная тенденция предполагает использование в качестве первых языков Паскаль и Бейсик, крайне популярные в 80-90-е годы XX века, но в настоящее время практически не развивающиеся и имеющие минимальное практическое применение. Тенденция опирается на специалистов по информатике, чьи компетенции сформировались в соответствующий период времени, и которые не предпринимали серьезных усилий по переходу на новые технологии.

2. Ситуативно-прикладная. Связана с появлением в учебных заведениях специалистов, имеющих некоторый опыт в определенной технологии, которую они и преподают в качестве основного языка программирования. В этом случае выбор первого языка программирования для преподавания в этом случае носит случайный характер. Это могут быть как универсальные фундаментальные языки, такие как Java, C++, Python, так и языки, имеющие прикладное значение только в рамках какой-то конкретной узконаправленной технологии, такие как 1С, PHP, VBA.

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

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

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

1. Возраст и опыт обучающихся. По данному критерию различаются три группы учеников: (а) старшеклассники, (б) студенты и молодые специалисты, (в) специалисты старше 30 лет, не имевшие в прошлом серьёзного опыта программирования. Представляется эффективным для первых двух групп связать выбор языка с будущей профессией и профилем учебного заведения. Для третьей группы ключевую роль играет профессиональный опыт обучающихся и текущие потребности в автоматизации той сферы деятельности, с которой они связаны. Например, для бухгалтера, желающего освоить программирование, первым языком может стать встроенный язык 1С: Предприятие.

2. Простота изучения языка. Изучение программирования «с нуля» представляет определенный вызов, поэтому требование к простоте и понятности изучаемого и создаваемого кода представляется одним из важнейших для учеников любого возраста. Использование интуитивно понятного высокоуровневого языка позволяет освоить больший объем знаний за отведенный промежуток времени, а также сделать сам процесс начального обучения программированию приятным и интересным. Кроме того, сам язык программирования диктует требования к написанию программ: использование более простого в изучении языка приводит к написанию более лаконичных программ, менее запутанного кода, содержащего меньшее количество ошибок.

3. Универсальность языка и заложенные в него парадигмы (концепция языка). В современном программировании выделяется три основных парадигмы: базовая процедурная и две продвинутых - функциональная и объектно-ориентированная. В идеале первый язык программирования должен в полной мере реализовывать базовую парадигму и давать некоторые возможности для изучения двух продвинутых.

4. Практическая направленность языка. Большинство существующих языков программирования направлены на решение задач в конкретных сферах применения и на определенных платформах. Выделяют языки и наборы библиотек для настольной, мобильной и веб-разработки, встраиваемых систем и т. д. Как пример можно упомянуть языки Objective-C и Swift, созданные Apple для программирования под платформы MacOS и iOS и практически неприменимые для программирования под другие платформы. Даже такие универсальные

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

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

6. Независимость языка. Данный фактор учитывает отсутствие зависимости языка от одного разработчика программного обеспечения и средств разработки, являющегося фактическим монополистом в своей сфере. Использование языков, сильнейшим образом привязанных к инфраструктуре какого-либо вендора (например, компании Apple, Microsoft и 1С) снижает уровень свободы программистов и пользователей. Таким образом, более предпочтительными для многих программистов и академической среды являются языки и наборы библиотек, разработанные формально независимыми программистскими сообществами либо имеющие в числе разработчиков сразу несколько крупных конкурирующих компаний. В качестве примера последнего подхода можно привести язык Java, на современное состояние которого оказывают влияние сразу несколько корпораций, в том числе, Oracle и Google.

Таким образом, исходя из указанных критериев, можно сделать предварительные выводы:

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

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

Для определения списка популярности языков авторы обратились к популярным общемировым рейтингам языков программирования, таким как индексы TIOBE (название

компании, выпускающей рейтинг)1 или PyPL (Popularity of Programming Languages)2, а также, для учёта перспектив специалистов на российском рынке труда - к статистике вакансий (ежегодно рейтинги вакансий по языкам программирования составляются компанией HeadHunter).

Авторы статьи составили сводный рейтинг, обратившись к рейтингам PyPL и TIOBE за октябрь 2020 года и к структуре спроса в 2019 г. на российском рынке труда по статистике HeadHunter [1]. За первое место в любом из трёх рейтингов начислялось 10 баллов, за каждое последующее - на 1 балл меньше в арифметической прогрессии. Соответственно, язык, занявший десятое место в рейтинге, получал один балл. В связи с тем, что в рейтинге PyPL в одной позиции были указаны вместе С и C++, рейтинги этих языков объединялись в одной позиции, таким образом мы учитывали то обстоятельство, что язык C++ представляет собой объектно-ориентированную надстройку над языком C и преобразовывается в команды языка C перед компиляцией. Также были объединены позиции языков SQL и PL/SQL, причиной послужило то, что SQL является языком запросов к реляционным базам данных и становится языком программирования лишь после добавления дополнительной функциональности (например, в языке PL/SQL). Затем было суммировано количество баллов, набранных в трёх представленных рейтингах. Полученный результат представлен в таблице 1.

Таблица 1

Сводный рейтинг языков программирования по популярности

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

1 Java 28

2 Python 24

3 PHP 19

4 C# 19

5 C и C++ 18

6 JavaScript 17

7 SQL и PL/SQL 9

8 1С 8

9 R 7

10 Visual Basic 6

Составлено авторами

Результаты и их обсуждение

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

Для аудитории учеников до 14 лет наилучшим вариантом представляется Scratch -визуальный язык программирования для детей [2]. Язык позволяет использовать лишь некоторый минимальный набор программных конструкций, но яркий интерфейс и простота могут позволить войти в программирование представителям самой молодой аудитории.

Начиная с 14 лет, можно обращаться к изучению основ программирования, обращаясь к «серьёзным» языкам. Отметим, что такой популярный в прошлом язык как Pascal уже достаточно давно следует считать реликтом прошедших эпох. Обладая строгой концепцией, позволяющей освоить процедурное программирование в сжатые сроки, язык проигрывает

1 TIOBE Index for October 2020. URL: https://www.tiobe.com/tiobe-index/ (дата обращения: 17.10.2020).

2 PyPL Popularity of Programming Language Index for October 2020. URL: https://pypl.github.io/PYPL.html?country=Russia (дата обращения: 17.10.2020).

https:// mir-nauki. com

конкурентам по двум факторам - практической направленности и популярности. В рейтинге TIOBE «чистый» Pascal занимает 243 место, его объектно-ориентированная версия Delphi/Object Pascal - 22-е. В рейтинге PyPL Delphi представлен на 28-м месте, в рейтинге HeadHunter - на 13-м. В ближайшее время следует ожидать окончательного перехода этого языка в категорию к Fortran и COBOL, языкам в прошлом феноменально популярным, но устаревшим и практически не используемым.

Другой популярный в прошлом язык Visual Basic еще не потерял окончательно свои позиции и занимает сводное 10-е место по популярности. он активно используется в программном обеспечении от Microsoft (версия VBA - основной язык для программирования макросов в Microsoft Office). Обладая некоторой простотой в изучении, язык проигрывает по двум важнейшим факторам - универсальности и независимости. Язык принадлежит компании Microsoft, не получал серьёзных обновлений с 1998 года, вся сфера его профессионального применения практически ограничена офисными приложениями от данной компании. И, хотя некоторые представители научного сообщества рекомендуют данный язык в качестве «первого» [3], существует несколько языков со значительно лучшими позициями по критериям универсальности, популярности и независимости.

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

Язык R используется специалистами по статистике [4], эконометрике и машинному обучению. Практически в тех же прикладных областях используется и язык Python, который при этом значительно шире в сфере применения и использует более широкие возможности концептуально.

Языки SQL и PL/SQL применяются исключительно для работы с базами данных. Знание SQL является обязательным для любого программиста и любого специалиста в сфере Data Science, но с учётом области применения этот язык не годится в качестве первого языка с помощью которого можно изучать конструкции программирования.

Языки PHP и JavaScript, предназначенные в первую очередь для веб-разработки, проигрывают по удобству и простоте изучения синтаксиса другим языкам из первой половины рейтинга, хотя и обеспечивают хорошую скорость выполнения программ [5]. Современные версии этих изначально процедурных языков обладают базовыми возможностями объектно-ориентированного и функционального подходов, имеют сообщества своих поклонников, но обладают рядом «подводных камней», затрудняющих их изучение в качестве «первого» языка программирования. Главными недостатками можно считать наличие нескольких несовместимых между собой версий этих языков и требование обязательной привязки к HTML-разметке веб-страницы для запуска кода [6].

Таким образом, в списке языков, с которых можно начинать изучение программирования, остаются пять универсальных языков, четыре из которых опираются на схожий синтаксис (С, С++, C#, Java). Из этих языков три имеют недостатки по одному из предложенных для оценки критериев. В языке С используется исключительно процедурный подход. В процессе изучения основ программирования этот язык требует переключения на один из других представленных в списке языков. Без использования объектно-ориентированной архитектуры в настоящее время невозможно представить ни один комплексный многокомпонентный проект промышленного уровня [7], поэтому обучающиеся

https:// mir-nauki. com

должны получить хотя бы общее понятие о парадигме объектно-ориентированного программирования. Язык С++ представляется достаточно сложным в качестве первого языка программирования: сочетание доставшихся в наследство от языка С указателей и нетривиальной объектно-ориентированной концепции затрудняет получение первых навыков, особенно для тех людей, которые не собираются становиться профессиональными программистами. Основным (и, пожалуй, единственным) недостатком С# является отсутствие независимости. Язык был создан и поддерживается компанией Microsoft и, хотя в последние годы было предпринято достаточно много шагов по развитию платформы .Net и языка С# в сторону кроссплатформенности и открытости кода, язык уступает по данному критерию лидерам рейтинга - языкам Java и Python.

Для изучения основ программирования подходит любой из этих двух языков, но следует отметить, что Python проще, в большей степени используется специалистами, далёкими от промышленного программирования (например, математиками), и не требует практически никакой подготовки среды программирования в отличие от Java [8; 9]. В то же время программы на Java выполняются ощутимо быстрее, концептуально язык Java основывается на значительно более мощной системе объектно-ориентированного программирования и позволяет реализовывать проекты, значительно более сложные в архитектурном отношении [10]. Таким образом, язык Java и другие языки с С-подобным синтаксисом обязательны для изучения людьми, выбирающими карьеру профессионального программиста. Для специалистов других профессий в качестве «первого» языка программирования можно рекомендовать изучать Python.

Отметим, что в последние годы в Ленинградском государственном университете имени А.С. Пушкина активно проводится обучение учителей информатики программированию с применением языка Python. Личный опыт авторов статьи по преподаванию основ программирования с использованием Python по сравнению с другими языками (Pascal, С#) в качестве первого языка программирования указывает на более быстрое освоение материала студентами. Код студентов был более лаконичным, простым, с самого начала написания позволял избегнуть большого количества логических ошибок.

Тема, затронутая в статье, имеет выраженную практическую значимость.

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

Были изучены существующие рейтинги популярности языков программирования, такие как TIOBE, PyPL, а также данные компании HeadHunter по спросу на программистов на российском рынке труда. На основе этих источников был составлен авторский сводный рейтинг языков программирования, учитывающий популярность языков программирования в России и мире. Были рассмотрены области применения таких популярных языков, как Scratch, Pascal, Visual Basic, 1С, Swift, R, SQL, PHP, JavaScript, C, С++, C#, ряд других языков.

Из языков программирования, популярных в 2020 году, были выбраны языки, наилучшим образом отвечающие всем предложенным авторами критериям и рекомендуемые для начального обучения программированию: Java - для будущих профессиональных разработчиков программного обеспечения и Python - для всех остальных специалистов.

Заключение

ЛИТЕРАТУРА

1. Величко Н. Популярные языки программирования 2019 от пользователей hh.ru. URL: https://habr.com/ru/company/hh/blog/474096/ (дата обращения: 17.10.2020).

2. Храмова М.В., Феоктистова О.А. Использование языка Scratch в курсе теории и методики обучения информатики. // Вестник Московского городского педагогического университета. 2008. №16. С. 179-181.

3. Двухглавов Д.Э., Сафин С.З. Обоснование выбора языка программирования Visual Basic for Application в качестве «первого» языка программирования. // Евразийское научное объединение. 2017. №12. С. 62-65.

4. Лысак Т.Р. Программирование в статистике. // Young Science. 2016. № 3. С. 5760.

5. Дерюгина Е.О., Борсук Н.А., Козеева О.О. Сравнительный анализ языков программирования Python и PHP. // Вестник образовательного консорциума Среднерусский университет. 2017. №1. С. 36-38.

6. Грамаков Д.А. Язык JavaScript и связанные с ним программные технологии в подготовке бакалавров физико-математического образования. // Современные информационные технологии и ИТ-образование. 2010. № 1, т. 6. С. 346-351.

7. Третьяков О.А., Федоркевич Е.В. Использование объектно-ориентированной архитектуры и микросервисов при разработке учебных проектов. // XXIV Царскосельские чтения. 75-летие победы в Великой Отечественной войне. Материалы международной научной конференции. 2020. С. 238-244.

8. Голанова А.В., Голикова Е.И. Выбор программного средства для обучения программированию будущих бакалавров педагогического образования. // Вестник Череповецкого государственного университета. 2018. № 2. С. 140-148.

9. Есауленко В.Г., Ракитин Р.Ю. Язык Python как основной язык программирования в школе. // Педагогическое образование на Алтае. 2017. №1. С. 48-50.

10. Осокин М.С. Язык Java как один из лучших языков программирования. // Конкурентоспособность территорий. Материалы XX Всероссийского экономического форума молодых ученых и студентов. 2017. С. 54-59.

Tretiakov Oleg Aleksandrovich

Pushkin Leningrad state university, Saint Petersburg, Russia

E-mail: tretiakovoa@yandex.ru ORCID: https://orcid.org/0000-0003-4390-3122 РИНЦ: https://www.elibrary.ru/author profile.asp?id= 1029166

Fedorkevich Elena Valentinovna

Pushkin Leningrad state university, Saint Petersburg, Russia E-mail: jingerella@gmail.com; e.fedorkevich@lengu.ru РИНЦ: https://www.elibrary.ru/author_profile.asp?id=691163

Choosing the first language for teaching programming

Abstract. The authors set the task to determine the programming languages that are best suited as the first language for teaching. The possibilities of studying at school, higher educational institutions, at specialized courses for students of any age and educational experience were considered.

The article describes the main trends affecting the choice of the first programming language: inertial, situational applied, directed cooperation. The factors influencing the choice of a language for teaching the basics of programming were identified: the age and experience of students, ease of learning, the versatility of the language and the paradigms embedded in (procedural, functional and object-oriented), practical orientation (the ability to solve specific problems), current popularity and language independence (absence of language dependencies on a single developer of software platform and development tools).

Authors studied the existing ratings of the popularity of programming languages, such as TIOBE, PyPL, as well as HeadHunter data on the demand for programmers in the Russian labor market. Based on these sources, the author's summary rating was compiled, considering the popularity of programming languages in Russia and in the world. The areas of application of such popular languages as Scratch, Pascal, Visual Basic, 1C, Swift, R, SQL, PHP, JavaScript, C, C++, C#, and a few other languages were considered. Of the programming languages popular in mid-2020, there were selected languages that meet all the criteria proposed by the authors and recommended for initial training in programming field: Java - for future professional software developers and Python - for all other specialists.

Keywords: teaching programming; the first programming language; rating of languages; programming paradigm; criteria for choosing a programming language; Java; Python

i Надоели баннеры? Вы всегда можете отключить рекламу.