Articolul precedent |
Articolul urmator |
![]() |
![]() ![]() |
Ultima descărcare din IBN: 2024-06-12 22:01 |
Căutarea după subiecte similare conform CZU |
004.43:512.5 (1) |
Programe. Software (303) |
Algebră (413) |
![]() НЕГАЛЮК, Максим. Теория категорий в 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 | ||||||
|
||||||
CZU: 004.43:512.5 | ||||||
Pag. 66-68 | ||||||
|
||||||
![]() |
||||||
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 на себя);· композиции двух морфизмов.Функтор – отображение между категориями.В чём заключается это обобщение теории категорий? В том, что в теории категорий мы полностью абстрагируемся от внутреннего устройства объектов и морфизмов. Вместо того, чтобы определять эти виды морфизмов через кружочки и стрелочки, они определены через соотношения с другими морфизмами.Использование теории категорий помогает правильно организовывать код, правильно называть классы и функции. Теория категорий позволяет писать универсальные алгоритмы. |
||||||
|
DataCite XML Export
<?xml version='1.0' encoding='utf-8'?> <resource xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://datacite.org/schema/kernel-3' xsi:schemaLocation='http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd'> <creators> <creator> <creatorName>Negaliuc, M.</creatorName> <affiliation>Universitatea de Stat din Moldova, Moldova, Republica</affiliation> </creator> </creators> <titles> <title xml:lang='ru'>Теория категорий в JAVASCRIPT</title> </titles> <publisher>Instrumentul Bibliometric National</publisher> <publicationYear>2020</publicationYear> <relatedIdentifier relatedIdentifierType='ISBN' relationType='IsPartOf'>978-9975-142-89-2</relatedIdentifier> <subjects> <subject schemeURI='http://udcdata.info/' subjectScheme='UDC'>004.43:512.5</subject> </subjects> <dates> <date dateType='Issued'>2020</date> </dates> <resourceType resourceTypeGeneral='Text'>Conference Paper</resourceType> <descriptions> <description xml:lang='ru' descriptionType='Abstract'><p>Изменения в железе и растущая сложность программного обес­пе­чения заставляют нас переосмысливать основы прог­рам­ми­ро­ва­ния.</p><p>Абстракция – это одна из основных техник в ИТ. Любой язык прог­раммирования или моделирования, любая парадигма прог­рам­­мирования (процедурная, функциональная, ООП, …) дают ответ на вопрос, как и от чего нужно абстрагироваться. Причём, адеп­ты каждого подхода предлагают какой-то свой вариант абстрак­ции.</p><p>С помощью теории категорий можно единообразно описывать очень разные вещи.</p><p><strong>Теория категорий</strong> – раздел математики, изучающий свойства отношений между математическими объектами, не зависящие от внутренней структуры объектов.</p><p>Категория – это очень простая концепция.</p><p>Категория состоит из объектов и стрелок, которые направлены между ними. Поэтому категории так легко представить гра­фи­чески. Связи между объектами – есть морфизмы.</p><p>Объект можно нарисовать в виде круга или точки, а стрелки – просто проставленные стрелки между ними. Но суть категории – композиция.</p><p>Свойства композиции:</p><p>1. Композиция ассоциативна.</p><p>2. Тождественный морфизм действует тривиально.</p><p>Основные типы категорий:</p><p>· Set – категория множеств и отображений между ними.</p><p>· Grp – категория групп и гомоморфизмов.</p><p>· Ring – категория ассоциативных колец и гомоморфизмов.</p><p>Для того, чтобы сконструировать категорию чего-то, необ­ходимо помнить:</p><p>· каждый объект A имеет тождественный морфизм id_A: A -> A;</p><p>· можно составлять морфизмы f, g, если целевой объект f соответствует исходному объекту g;</p><p>· композиция ассоциативна;</p><p>· композиция с идентичностью возвращает тот же морфизм.</p><p>Следующая фабрика абстрактно будет реализовывать кате­го­рии на JS.</p><p> </p><p>function SetCategory() {</p><p>}</p><p> </p><p>SetCategory.prototype.object = function (elements) {</p><p> return new Set(elements);</p><p>};</p><p> </p><p>SetCategory.prototype.morphism = function (A, B, mapping) {</p><p> return new TotalFunction(A, B, mapping);</p><p>};</p><p> </p><p>SetCategory.prototype.id = function (A) {</p><p> return this.morphism(A, A).initId();</p><p>};</p><p> </p><p>SetCategory.prototype.compose = function (g, f) {</p><p> return g.compose(f);</p><p>};</p><p>Данная фабрика позволяет создавать:</p><p>· объекты (которые являются множествами);</p><p>· морфизмы (которые являются функциями, отображающими элементы некоторого множества A на элементы некоторого множества B);</p><p>· тождественные морфизмы (которые являются тождествен­ными отображениями некоторого множества A на себя);</p><p>· композиции двух морфизмов.</p><p>Функтор – отображение между категориями.</p><p>В чём заключается это обобщение теории категорий? В том, что в теории категорий мы полностью абстрагируемся от вну­т­рен­него устройства объектов и морфизмов. Вместо того, чтобы опре­делять эти виды морфизмов через кружочки и стрелочки, они определены через соотношения с другими морфизмами.</p><p>Использование теории категорий помогает правильно орга­ни­зо­вывать код, правильно называть классы и функции. Теория ка­те­горий позволяет писать универсальные алгоритмы.</p></description> </descriptions> <formats> <format>application/pdf</format> </formats> </resource>