Saturday, September 13, 2025
Victor Frei - KRYLA
Ниже есть текст песни на украинском и перевод на русский.
Ниже есть продолжение.
Десь далеко він шукав її,
в горах, в морі та серед доріг.
Та й не знав він, що не там блукав,
"ти де?" "я тут" вона відповіла.
Очі вгору – там посеред хмар,
він побачив обличчя, що шукав.
То ж не в морі та й не серед гір,
саме з неба він зірвав її.
Вибач, я ненавмисно,
крилами поділися.
Та зі мною надалі поруч лети.
Вибач, я ненавмисно,
крилами поділися.
Та зі мною надалі поруч лети.
Хтось далеко їй крило зламав,
дай, подивлюсь, ось, я все владнав.
Якщо хочеш - вдвох до неба ми,
та як постріл – закрию крилами.
Бачиш? Яструб.
Він нам братом був,
ми, соколи, об’єднались в рух.
Він бажає відібрати мир,
але ми вдвох – нас нескорити.
Так ми разом навмисно,
крилами поділися.
Та зі мною надалі поруч лети.
Так ми разом навмисно,
крилами поділися.
Та зі мною надалі поруч лети.
Та зі мною надалі поруч лети.
Перевод на русский:
Где-то далеко он искал её,
в горах, в море и среди дорог.
Но и не знал он, что не там блуждал,
«Ты где?» «Я здесь», — она ответила.
Глаза вверх — там, среди облаков,
он увидел лицо, что искал.
Так что не в море, и не среди гор,
именно с неба он сорвал её.
Прости, я не нарочно,
крыльями поделись.
И со мной впредь рядом лети.
Прости, я не нарочно,
крыльями поделись.
И со мной впредь рядом лети.
Кто-то далеко ей крыло сломал,
«Дай, посмотрю, вот, я всё исправил».
Если хочешь — вдвоём к небу мы,
а если выстрел — закрою крыльями.
Видишь? Ястреб.
Он нам братом был,
мы, соколы, объединились в движении.
Он желает отобрать мир,
но мы вдвоём — нас не сломить.
Так мы вместе нарочно,
крыльями поделись.
И со мной впредь рядом лети.
Так мы вместе нарочно,
крыльями поделись.
И со мной впредь рядом лети.
И со мной впредь рядом лети.
Mistake: Discriminated Union where not included to C++ (English)
История языка Java служит прекрасной иллюстрацией того, как выбор той или иной фундаментальной структуры влияет на развитие языка на десятилетия вперёд.
Изначально, в 1996 году, язык Java был построен исключительно вокруг объектно-ориентированной парадигмы. В её основе лежит идея полиморфизма через наследование. Это, по сути, реализация идеи произведения. Класс (который является аналогом struct или декартового произведения) может иметь несколько полей и несколько методов. Когда мы создаём иерархию наследования, дочерний класс наследует все поля и методы родительского, то есть он является "произведением" старых и новых свойств. Это мощный, но открытый и расширяемый подход: любой может создать новый класс, унаследовав от вашего.
Однако существует и другой путь к полиморфизму, основанный на идее копроизведения (прямой суммы). В этом подходе мы заранее определяем закрытый, конечный набор возможных типов, которыми может быть наш объект. Вместо того чтобы спрашивать "что ты можешь делать?" (как в ООП), мы спрашиваем "кто ты?".
Спустя почти четверть века, в 2020 году, в Java 14 были введены sealed classes (запечатанные классы). Эта конструкция позволяет программисту объявить класс и явно перечислить '''всех''' его возможных потомков. Например, можно объявить
Это и есть, по своей сути, введение в язык размеченного объединения (tagged union). Оно позволяет компилятору проверять полноту обработки случаев (например, в операторе switch), гарантируя, что вы не забыли рассмотреть один из возможных типов. Это делает код более безопасным и предсказуемым.
Эта история показывает, что обе математические конструкции — произведение и копроизведени — являются фундаментальными и не заменяют друг друга. Они представляют два разных, дуальных подхода к моделированию мира. Классическое ООП выбрало один путь, а современные тенденции в программировании показывают всю важность и второго, основанного на идее прямой суммы.
В теории категорий, которая изучает математические структуры на самом высоком уровне абстракции, произведение объектов и — это такой объект вместе с двумя "проекциями" на и , который универсальным образом решает задачу "объединения информации" из и .
Эта глубокая идея находит прямое отражение в программировании. Когда вы определяете структуру или запись (record/struct), содержащую несколько полей (например,
Замечание:: Дуальная конструкция: Прямая сумма.
В математике у многих важных конструкций есть "зеркальный двойник", или дуальная конструкция. Для декартова произведения такой конструкцией является дизъюнктное (несвязное) объединение, или прямая сумма, обозначаемая (или ).
Если декартово произведение объединяет элементы из и в пары, то прямая сумма объединяет их в одно множество, но при этом "помечает" каждый элемент, чтобы мы знали, откуда он пришёл. Например, элемент попадает в сумму как пара , а элемент — как . Это гарантирует, что даже если множества и пересекались, в их прямой сумме их копии будут разделены.
Эта конструкция также является универсальной и известна в теории категорий как копроизведение. Её проявления в программировании известны как размеченные объединения (tagged unions) или типы-суммы (sum types). Они позволяют определить тип данных, который может принимать значение одного из нескольких других типов (например, переменная может быть либо целым числом, либо строкой).
Такие конструкции можно реализовать даже в таких языках, как C, используя комбинацию union и struct. union позволяет хранить в одной области памяти данные разных типов, а поле-«тег» в окружающей его struct указывает, какой именно тип данных там находится в данный момент.
The history of the Java language serves as an excellent illustration of how the choice of a fundamental structure can influence the development of a language for decades to come.
Originally, in 1996, the Java language was built entirely around the object-oriented paradigm. At its core lies the idea of polymorphism through inheritance. This is, essentially, an implementation of the idea of a product. A class (which is analogous to a struct or Cartesian product) may have multiple fields and multiple methods. When we create an inheritance hierarchy, a child class inherits all the fields and methods of its parent, meaning it is a "product" of old and new properties. This is a powerful, open, and extensible approach: anyone can create a new class by inheriting from yours.
However, there is another path to polymorphism, based on the idea of a coproduct (direct sum). In this approach, we define in advance a closed, finite set of possible types that our object may be. Instead of asking "what can you do?" (as in OOP), we ask "who are you?".
Nearly a quarter of a century later, in 2020, Java 14 introduced sealed classes. This construct allows a programmer to declare a class and explicitly list '''all''' of its possible subclasses. For example, one may declare
This is, in essence, the introduction of a tagged union into the language. It allows the compiler to check the exhaustiveness of case handling (for example, in a switch statement), ensuring that you haven’t forgotten to account for one of the possible types. This makes code safer and more predictable.
This story shows that both mathematical constructions — product and coproduct — are fundamental and do not replace one another. They represent two different, dual approaches to modeling the world. Classical OOP chose one path, while modern programming trends highlight the importance of the other, based on the idea of the direct sum.
In category theory, which studies mathematical structures at the highest level of abstraction, the product of objects and is an object together with two "projections" onto and , which universally solves the problem of "combining information" from and .
This deep idea finds direct expression in programming. When you define a structure or record containing multiple fields (for example,
'''Note:''': The dual construct: Direct sum.
In mathematics, many important constructions have a "mirror twin," or dual construct. For the Cartesian product, this construct is the disjoint union, or direct sum, denoted (or ).
If the Cartesian product combines elements from and into pairs, the direct sum combines them into a single set, but "tags" each element so we know where it came from. For example, an element appears in the sum as the pair , and an element as . This guarantees that even if sets and overlapped, their copies in the direct sum remain distinct.
This construct is also universal and is known in category theory as a coproduct. Its manifestations in programming are known as tagged unions or sum types. They allow you to define a data type that may take on the value of one of several other types (for example, a variable may be either an integer or a string).
Such constructs can even be implemented in languages like C, using a combination of union and struct. A union allows different types of data to be stored in the same memory area, while a "tag" field in the surrounding struct indicates which type of data is currently stored there.
פולין: הצבא הפולני הפעיל אזעקות במזרח המדינה (Hebrew, Russian)
פולין: התושבים מדווחים כי בנוסף לאזעקה, הם גם קיבלו התרעת חירום לטלפונים.
לשון ההתרעה שפרסם הצבא הפולני:
"אזהרה! סכנה מפני תקיפה אווירית. נהגו בזהירות מיוחדת, עקבו אחר הוראות שירותי החירום. המתינו לעדכונים נוספים."
https://t.me/TheMuhabrat/56370
https://t.me/TheMuhabrat/56371
Польша: Польская армия активировала сирены воздушной тревоги в восточной части страны из-за опасений атаки со стороны России.
Жители сообщают, что помимо сирены, они также получили экстренное предупреждение на телефоны.
Текст предупреждения, опубликованный польской армией:
"Предупреждение! Опасность воздушной атаки. Ведите себя с особой осторожностью, следуйте указаниям экстренных служб. Ожидайте дополнительных обновлений."
В Польше и Румынии воют сирены воздушной тревоги - угроза беспилотников
В Румынию уже прилетело. Вполне дежруно поднимают в воздух истребители.
Не успеют опомниться, как это превратится в рутину и такие звуки и действия почти не будут пугать. Как израильтянин говорю или пусть спросят у украинцев.
Никакого злорадства, если кому-то вдруг показалось. Просто такова сегодняшняя реальность. Если в Европе всерьез думали, что до них это не доберется, то вот - ошиблись. Но Европе проще - бОльшую часть принимает на себя Украина и можно купить израильские системы ПВО. Румыны, кстати, купили.
https://t.me/voinasordoy/4785
Subscribe to:
Comments (Atom)