Новый язык программирования

Что можно делать на компьютере? Поиграть в Counter-Strike, поставить лайки на фотографии, можно скачать интересный фильм или ... Да, еще можно принять участие в интернет-конкурсе, или пройти тест на подготовленность к ЕГЭ. А еще можно - создать новый язык программирования, правда, знаний для этого понадобится побольше, чем для игры в Minecraft.

Post Image 1
Post Image 2
Post Image 3

Дата, место рождения: 5 декабря 1994 год, Ульяновск.
Место учебы: Многопрофильный лицей № 20, Ульяновск.
Я хочу поступить в МГУ.
Увлечения: Программирование, игра на гитаре, литература, спортивное «Что? Где? Когда?».
Фильм: «Игры разума».
Музыка: Блюз и рок-н-ролл .
Книга: Александр Дюма «Граф Монте-Кристо».
Девиз: «Mens et manus» (лат. Головой и руками).

Не знаю, насколько точным будет утверждение, что каждый программист мечтает создать новый язык программирования, но задумываются об этом многие. Это не столько самоцель, сколько возможность проверить свои силы и применить полученные знания. Например, одиннадцатиклассник из Ульяновска Роман Трусов, разработал язык Riemann, позволяющий разрабатывать базовые алгоритмы.

– Какими были твои первые шаги в программировании?

– С программированием было так: начал я довольно бездумно, писал разные простейшие вещи вроде игры «Крестики-нолики» на Delphi, что к серьезному продвижению не приводило. В более старшем возрасте познакомился с базами данных и языком SQL, изучал все изнутри – чтобы понять механизм работы, я писал все сам, по учебникам заниматься было скучнее. После этого было кратковременное увлечение скриптами – написал несколько вещей для собственных нужд на Python, а затем начал осваивать современные профессиональные инструменты – Oracle Database и Java. На последней написал эмулятор машины Поста и исполнитель для алгоритмов Маркова с целью расширения познаний в теории алгоритмов, на данный момент изучаю Android SDK – весьма перспективная для молодых разработчиков отрасль.

Я принимал участие во многих олимпиадах и конкурсах по программированию, но задания там выполнялись на устаревших языках, используемых преимущественно в школах – Pascal с его вариациями и BASIC. Между тем, считаю, что начинать обучение программированию стоило бы с современных сред разработки, дабы не искажать представление о настоящей деятельности программистов.

– То, что в школе используются устаревшие технологии, еще можно объяснить, но почему на олимпиадах-конкурсах не применяются более новые языки программирования?

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

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

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

– Как, по-твоему, какие новые языки программирования стоило бы использовать сегодня в школе?

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

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

– Это и было отправным пунктом создания нового языка?

– Нет. Я создал его скорее ради интереса (назвал его Riemann – в честь великого немецкого математика Бернхарда Римана). Просто у меня появилась свободная неделя, и мне захотелось сделать что-то в этой области для ознакомления. Я до этого вообще ничего не знал о формальных языках.

- Почему именно Риман?

- Незадолго до описываемых событий прочитал книгу «Простая одержимость» Джона Дербишира, посвященную Гипотезе Римана – одной из величайших нерешенных математических проблем. Как-то само в голову пришло.

- А зачем понадобился еще один новый язык программирования? Было ли это просто хобби, проверкой сил, или были какие-то другие цели?

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

– Какие программы были написаны на этом языке?

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

– А что ожидается в перспективе?

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

– Что учительница информатики сказала, когда узнала о твоей затее?

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

– Что было главным для тебя при выборе будущей профессии?

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

– Какие твои увлечения помимо программирования?

– В двенадцать лет вместе с программированием я увлекся игрой на гитаре. Интерес к тому и к другому пробудил мой дядя, научивший меня азам, а дальнейшее продвижение было самостоятельным. От нотной грамоты я отказался, что совершенно не создало для меня препятствий. Учился играть, переигрывая фолк-баллады Ричи Блэкмора, впоследствии перешел на блюз и открыл для себя импровизацию, черпая вдохновение в записях австралийского виртуоза Томми Эммануэля.

– Нравится ли тебе играть в компьютерные игры?

– Да. С удовольствием играю в Minecraft, когда есть время. Серия Half-Life – вообще любовь с раннего детства.

Чтобы добавить комментарий или задать вопрос, авторизуйтесь. Не стесняйтесь!

Комментарии

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

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

Одним из примеров нового языка программирования является язык Rust, созданный Mozilla. Rust разработан для создания безопасного и надежного программного обеспечения и может быть использован для различных целей, от создания веб-приложений до написания операционных систем.

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

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