• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Анализ стратегий компиляции для дженериков в языке Golang

ФИО студента: Тарасов Денис Вадимович

Руководитель: Федотов Станислав Николаевич

Кампус/факультет: Факультет компьютерных наук

Программа: Науки о данных (Магистратура)

Год защиты: 2021

Дженерики — это короткое обозначение для функции или типа, которое принимает параметр типа. Они позволяет писать код один раз, но затем использовать его для нескольких разных конкретных типов. Сегодня дженерики или похожие сущности есть во многих языках программирования. Их преимущества в том, что они уменьшают время на написание кода и его количество, упрощают тестирование. В языке программирования Golang на текущий момент нет дженериков, хотя ему уже почти 12 лет. Это было сделано намеренно, потому что философией этого языка программирования является простота. Но из-за многочисленных просьб сообщества разработчиков создатели языка решили рассмотреть их добавление. Сначала они разработали интерфейс для разработчиков, рассмотрев несколько вариантов и выбрав лучший. Затем предложили его реализацию в виде инструмента, который транслирует код из Generic Go в Go 1, используя кодогенерацию. В будущем планируется внедрение идей из этого инструмента в код самого языка. Целью этой работы было исследование других подходов к реализации такого же функционала. Рассмотрев несколько вариантов, мы остановились на использовании пакета reflect. В итоге созданный инструмент проигрывает по времени работы и другим параметрам оригинальному инструменту, как и ожидалось.

Выпускные квалификационные работы (ВКР) в НИУ ВШЭ выполняют все студенты в соответствии с университетским Положением и Правилами, определенными каждой образовательной программой.

Аннотации всех ВКР в обязательном порядке публикуются в свободном доступе на корпоративном портале НИУ ВШЭ.

Полный текст ВКР размещается в свободном доступе на портале НИУ ВШЭ только при наличии согласия студента – автора (правообладателя) работы либо, в случае выполнения работы коллективом студентов, при наличии согласия всех соавторов (правообладателей) работы. ВКР после размещения на портале НИУ ВШЭ приобретает статус электронной публикации.

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

В случае использования ВКР, в том числе путем цитирования, указание имени автора и источника заимствования обязательно.

Реестр дипломов НИУ ВШЭ