Теория категорий в JAVASCRIPT
Închide
Articolul precedent
Articolul urmator
676 26
Ultima descărcare din IBN:
2024-05-05 23:57
Căutarea după subiecte
similare conform CZU
004.43:512.5 (1)
Programe. Software (301)
Algebră (410)
SM ISO690:2012
НЕГАЛЮК, Максим. Теория категорий в JAVASCRIPT. In: Sesiune națională cu participare internațională de comunicări științifice studențești, Ed. 24, 15 februarie 2020, Chișinău. Chișinău, Republica Moldova: Centrul Editorial-Poligrafic al USM, 2020, Ediția 24, Vol.1, pp. 66-68. ISBN 978-9975-142-89-2.
EXPORT metadate:
Google Scholar
Crossref
CERIF

DataCite
Dublin Core
Sesiune națională cu participare internațională de comunicări științifice studențești
Ediția 24, Vol.1, 2020
Sesiunea "Sesiune naţională de comunicări ştiinţifice studenţeşti"
24, Chișinău, Moldova, 15 februarie 2020

Теория категорий в JAVASCRIPT

CZU: 004.43:512.5

Pag. 66-68

Негалюк Максим
 
Молдавский Государственный Университет
 
 
Disponibil în IBN: 6 mai 2020


Rezumat

Изменения в железе и растущая сложность программного обес­пе­чения заставляют нас переосмысливать основы прог­рам­ми­ро­ва­ния.Абстракция – это одна из основных техник в ИТ. Любой язык прог­раммирования или моделирования, любая парадигма прог­рам­­мирования (процедурная, функциональная, ООП, …) дают ответ на вопрос, как и от чего нужно абстрагироваться. Причём, адеп­ты каждого подхода предлагают какой-то свой вариант абстрак­ции.С помощью теории категорий можно единообразно описывать очень разные вещи.Теория категорий – раздел математики, изучающий свойства отношений между математическими объектами, не зависящие от внутренней структуры объектов.Категория – это очень простая концепция.Категория состоит из объектов и стрелок, которые направлены между ними. Поэтому категории так легко представить гра­фи­чески. Связи между объектами – есть морфизмы.Объект можно нарисовать в виде круга или точки, а стрелки – просто проставленные стрелки между ними. Но суть категории – композиция.Свойства композиции:1.    Композиция ассоциативна.2.    Тождественный морфизм действует тривиально.Основные типы категорий:·      Set – категория множеств и отображений между ними.·      Grp – категория групп и гомоморфизмов.·      Ring – категория ассоциативных колец и гомоморфизмов.Для того, чтобы сконструировать категорию чего-то, необ­ходимо помнить:·  каждый объект A имеет тождественный морфизм id_A: A -> A;·      можно составлять морфизмы f, g, если целевой объект f соответствует исходному объекту g;·      композиция ассоциативна;·      композиция с идентичностью возвращает тот же морфизм.Следующая фабрика абстрактно будет реализовывать кате­го­рии на JS. function SetCategory() {} SetCategory.prototype.object = function (elements) { return new Set(elements);}; SetCategory.prototype.morphism = function (A, B, mapping) { return new TotalFunction(A, B, mapping);}; SetCategory.prototype.id = function (A) { return this.morphism(A, A).initId();}; SetCategory.prototype.compose = function (g, f) { return g.compose(f);};Данная фабрика позволяет создавать:·      объекты (которые являются множествами);·      морфизмы (которые являются функциями, отображающими элементы некоторого множества A на элементы некоторого множества B);·      тождественные морфизмы (которые являются тождествен­ными отображениями некоторого множества A на себя);·      композиции двух морфизмов.Функтор – отображение между категориями.В чём заключается это обобщение теории категорий? В том, что в теории категорий мы полностью абстрагируемся от вну­т­рен­него устройства объектов и морфизмов. Вместо того, чтобы опре­делять эти виды морфизмов через кружочки и стрелочки, они определены через соотношения с другими морфизмами.Использование теории категорий помогает правильно орга­ни­зо­вывать код, правильно называть классы и функции. Теория ка­те­горий позволяет писать универсальные алгоритмы.