LINUX.ORG.RU

А бывает ли такое?


0

2

Язык как С++ но с интерфейсами вместо множественного наследования.
Как С++, в смысле копмилируемый в нативный код, и по возможности с
более или менее прозрачной интеграцией с СИ.

★★★

Что мешает в С++ использовать интерфейсы вместо множественного наследования?

anonymous
()
Ответ на: комментарий от yoghurt

Ммм... Ну мы же оба знаем что он не компилируется в нативный код.
По крайней мере прямо. Так и Java посоветовать можно.

Svoloch ★★★
() автор топика
Ответ на: комментарий от vurdalak

Ну вобщем да, и еще до рождения. И наверное это было лучшее, что он мог сделать.

Svoloch ★★★
() автор топика
Ответ на: комментарий от Svoloch

на википедии рассказано. и я думаю ещё пара вводных статей по объектной модели Objective-C всё разъяснит. главное — совместимо с C на уровне исходного кода (C++ несовместим, разве только некоторое подмножество C совместимо с C++), ну и модель ООП там вроде как более «ТруЪ»

jeuta ★★★★
()
Ответ на: комментарий от zombiegrinder_6000

+поддержка свойств (это к недавнему срачу), сигналов, низкоуровневый контроль над объектами.

zombiegrinder_6000
()
Ответ на: комментарий от Svoloch

Svoloch> Боже... Он то здесь причем. Он вообще к нативу весьма не ага...

Лисп умеет копмилировать в нативный код. Вернее, некоторые из его реализация.

vurdalak ★★★★★
()
Ответ на: комментарий от Svoloch

Я просто не вполне понял предмет терзаний молодого Вертера. Интерфейс - это просто слово, за ним нет конкретного наполнения. Классы С++ - в чистом виде интерфейсы, и в чем состоит вопрос, загадка.

Vamp
()
Ответ на: комментарий от jeuta

Посмотрел про Objective-C похоже, но там протоколы а не интерфейсы.
Но суть похожа. Правда судя по тому что я прочел и по тому,
что его создатели на Smalltalk активно смотрели, у него много
рантаймовой динамики. Хотелось бы что-нибудь более статическое.

Svoloch ★★★
() автор топика
Ответ на: комментарий от vurdalak

vurdalak> реализация

*реализаций. Руки совсем искривились сегодня.

vurdalak ★★★★★
()
Ответ на: комментарий от Svoloch

> Ага... И они не есть интерфейсы.

они как раз интерфейсы, но имеют потенциальную возможность перестать ими быть, вот и все

aho
()
Ответ на: комментарий от zombiegrinder_6000

Интересный взгляд. Но все же хотелось чтобы в самом языке.

Svoloch ★★★
() автор топика
Ответ на: комментарий от vurdalak

Честно говоря слышал такое только про Scheme.
В лиспе как правило заворачивают vm в бинарник.
То что часть внутри компилится в нативный код этой сути не меняет.

Svoloch ★★★
() автор топика
Ответ на: комментарий от Svoloch

В состав SBCL входит компилятор, который по-умолчанию большую часть кода компилирует в машинный код, хотя есть возможность использовать режим интерпретатора.

vurdalak ★★★★★
()
Ответ на: комментарий от Vamp

В том, мой Гёте-любивый друг, что язык на котором ты говоришь
определяет как ты говоришь. Если в языке есть мат, кто-то
обязательно выматерится. Я хочу статический, компилируемый язык,
в котором выражаются интерфейсами а не множественным наследованием.
Попытки рассказать мне о том, что я лично могу, хотя все носители
языка матерятся бессмыссленны.

Svoloch ★★★
() автор топика
Ответ на: комментарий от Svoloch

Резумируя твою мысль: все вокруг козлы, потому что не сделали для меня язык, который я хочу.

anonymous
()
Ответ на: комментарий от zombiegrinder_6000

Ага, есть такое. Правда она какая-то недокументированная.
И не смотря на все потуги выглядит не как язык, а как кодогенератор
для си с gtk. Чем по сути я является.

Svoloch ★★★
() автор топика
Ответ на: комментарий от vurdalak

Вот эта меньшая часть, и является vm с рантаймом и без этого никуда.
А хотелось бы более статическую вещь.

Svoloch ★★★
() автор топика
Ответ на: комментарий от anonymous

Помоему вы свою мысль резюмировали, а не мою.
И ваша мысль, какая-то обиженно-невнятная.

Хотя... Дайте угадаю, плюсист решил, что его любимое множественное
наследование приравняли к мату?
Отнюдь нет. Это не было моей целью. Хотя ваша обида намекает на то,
что такое сравнение вполне могло бы иметь место.

Svoloch ★★★
() автор топика
Ответ на: комментарий от dmitry_vk

Повторюсь, скорее кодогенератор, чем полноценный язык.

Кстати интерфейсы в ней точно есть? Можно ссылку на конкретный раздел документации?

Svoloch ★★★
() автор топика
Ответ на: комментарий от Svoloch

>Повторюсь, скорее кодогенератор, чем полноценный язык.

Ага, а clang++ кодогенератор для llvm.

Кстати интерфейсы в ней точно есть? Можно ссылку на конкретный раздел документации?

http://live.gnome.org/Vala/Tutorial#Interfaces_.2BAC8_Mixins

zombiegrinder_6000
()
Ответ на: комментарий от anonymous

Сися, что с рп, что с РПЦ, в натив не компилится по человечески.
Про интеграцию оного с си вообще молчу. PInvoke способен вызвать
приступы ужаса даже а закаленных бойцов.

Svoloch ★★★
() автор топика

ЛОР внезапно снова торт

jtootf ★★★★★
()
Ответ на: комментарий от zombiegrinder_6000

:) Haskell тоже кодогенератор (по крайней мере раньше был, сейчас не
знаю), но из него это не так торчит.

За ссылку спасибо.

Svoloch ★★★
() автор топика
Ответ на: комментарий от korvin_

Ммм... Не мне конечно с вами спорить, но боюсь разногласия проистекают,
из не совсем корректной моей формулировки.
Под vm в данном случае я имел ввиду не виртуальную машину исполняющую байткод, а скорее здоровый кусок рантайма, без которого никуда.

Svoloch ★★★
() автор топика
Ответ на: комментарий от jtootf

Очень интересно. Особенно то что декларировать интерфейс при его
реализации не надо.

Svoloch ★★★
() автор топика
Ответ на: комментарий от Svoloch

компилится - .NET работает по принципу AOT. VM это абстракция.
Интеграция хорошая, даже плюсцы хуже с сишечкой хуже интегрируется.

anonymous
()

СИСЯРП

сисярп

anonymous
()
Ответ на: комментарий от Svoloch

> здоровый кусок рантайма, без которого никуда.

коммерческие реализации позволяют урезать исполнимые файлы до только используемых функций, но тогда и половина профита (если не весь) от использования CL пропадет.

по сабжу: может D?

korvin_ ★★★★★
()
Ответ на: комментарий от korvin_

СИСЯРП

остальных не слушай

ТОЛЬКО СИСЯРП

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.