Size: a a a

Compiler Development

2020 February 29

AT

Alexander Tchitchigin in Compiler Development
Т-34 85
просто объектным, не ориентированным
Просто "объектный язык" - это понятие из мат логики, чтобы не путать с мета-языком. 😄
источник

AK

Andrei Kurosh in Compiler Development
Alexander Tchitchigin
Так-то нет. В C тоже есть объекты в некотором смысле, и на нём определённо пишут в ОО стиле, но объектно-ориентированным его никто не считает.
В си есть структуры, но разве там есть объекты?
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
В си есть структуры, но разве там есть объекты?
Из структур и указателей на функции удаётся сварганить. 😊
источник

FO

FORTRAN ONE LOVE in Compiler Development
Alex Ф-ф-фэils!🌠︙
... Фортрана, Паскаля, и кучи других языков с концептом модулей🤷‍♂ не знаю точно, законспектировано ли это в соотв. исошных бумагах
источник

r

rbykov in Compiler Development
Andrei Kurosh
В си есть структуры, но разве там есть объекты?
Ну в ядре линукса используется обьекты например один из вариантов создания файла в procfs так устроен


https://www.linuxtopia.org/online_books/Linux_Kernel_Module_Programming_Guide/x814.html
источник

Т8

Т-34 85 in Compiler Development
Andrei Kurosh
В си есть структуры, но разве там есть объекты?
есть - экземпляры структур
источник

Т8

Т-34 85 in Compiler Development
лучше посмотреть на Vala, где используется glib в качестве источника фич ядра языка и стандартной библиотеки. Всё это обёртка над си
источник

AK

Andrei Kurosh in Compiler Development
Т-34 85
есть - экземпляры структур
Экземпляры - не объекты. На них тяжело реализуется полиморфизм/наследование, а сокрытие не реализуется вообще никак
источник

Т8

Т-34 85 in Compiler Development
Andrei Kurosh
Экземпляры - не объекты. На них тяжело реализуется полиморфизм/наследование, а сокрытие не реализуется вообще никак
а как тогда работает Vala? Только за счёт правил транспиляции есть сокрытие?
источник

r

rbykov in Compiler Development
Andrei Kurosh
Экземпляры - не объекты. На них тяжело реализуется полиморфизм/наследование, а сокрытие не реализуется вообще никак
Берешь void* и приводишь все к нему.

Возьмём memcpy это прям паттерн стратегия. Работает для любых типов.:)
источник

DS

Doge Shibu in Compiler Development
Andrei Kurosh
Немношк непоследовательно получается. Язык становится объектно-ориентированным, если там просто есть объекты, а функциональным - если там удобно писать в некотором стиле? Тогда как определить плохой ФП-язык? ;)
Ну объекты, как там уже правильно сказали, можно много где выразить и это не делает данные языки объектно-ориентированными.

То есть можно посмотреть статьи Олега Киселева, где он в хаскеле реализует различные модели ОО. И хаскель от этого объектно-ориентированным не становится.
источник

МБ

Михаил Бахтерев in Compiler Development
Вот до чего доводит замороченность синтаксисосом: уже и по наличию let языки классифицируют. 😂
источник

AT

Alexander Tchitchigin in Compiler Development
Andrei Kurosh
Экземпляры - не объекты. На них тяжело реализуется полиморфизм/наследование, а сокрытие не реализуется вообще никак
Сокрытие - никак, одиночное наследование и полиморфизм - реализуются. 🤷‍♀
источник

AT

Alexander Tchitchigin in Compiler Development
Т-34 85
лучше посмотреть на Vala, где используется glib в качестве источника фич ядра языка и стандартной библиотеки. Всё это обёртка над си
А ещё лучше - посмотреть GTK+, там просто Си без обёрток.
Или исходники Quake 3 для разнообразия.
источник

DF

Dollar Føølish in Compiler Development
Привет. Извините если не по теме. А можно как то с алгебраическими эффектами на с++ программировать малой кровью т.е. без ассемблерных вставок и лонгджампа?
источник

MM

Mikhail Maltsev in Compiler Development
Что за алгебраические эффекты?
источник

DF

Dollar Føølish in Compiler Development
Переслано от Gymmasssorla
источник

DF

Dollar Føølish in Compiler Development
Вот например
источник

DF

Dollar Føølish in Compiler Development
Но там лонгджамп
источник

MM

Mikhail Maltsev in Compiler Development
Но longjump же где-то внутри спрятан?
источник