LINUX.ORG.RU

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


0

2

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

★★★
Ответ на: комментарий от cnupm

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

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

>Только компилятор в нативный коду уже умер.

Как? Java больше не умеет компилировать в JVM-байткод? А он, как бэ, для некоторых платформ — нативный…

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

Угу. Только помоему это не рекомендуется.
И это...
Кому конечно и кобыла невеста, но при всех ужасах С++,
PInvoke страшнее extern c.

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

KRoN73> Как? Java больше не умеет компилировать в JVM-байткод? А он, как бэ, для некоторых платформ — нативный…

Да, забыл про них.

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

Ну вобщем-то я это и имел ввиду. Статику из CL лепить, дивное извращение.

Может и D ссылочку не покинете более конкретную. Сложно быстро осознать
степень динамичности и детали незнакомого языка.

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

Достаточно написать символы С++, чтобы набрать кучу комментариев. С++ это дежурное блюдо тролля-обжоры.

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

Вобщем какие-то там странные интерфейсы. Без бутылки не разберешся...
Например по кой черт:
Virtual interface member functions do not have implementations. Interfaces are expected to implement static or final functions.

Ну и с си у D интеграция через всякие конвертации утилитами...

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

Юмор оценил. К сожалению для всех до единой, с которыми я работал,
не нативный.

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

> какие-то они у D странные. хотя лучше, чем ничего, конечно

похоже что как в джаве.

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

какие-то они у D странные.

Мое впечатление слово в слово.

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

D это хорошо, но есть проблема - он, фактически, никому не нужен. Никто его не использует, развитие тухлое. За последние месяцев 6 было 2-3 «пинка» в его развитии, но они не пробудили интерес у публики, а жаль.

Совет ОПу: определись на чём ты специализируешься, выбери лучший инструмент для этого, который используется в данной специальности. Если ты точно не знаешь что сможешь полностью сделать с нуля всё то, что готово на этом языке, то лучше с него и не уходи, ибо в результате ты будешь как многие обитатели лора: знаешь Haskell, CL, BF, Bash, немного читал о хитростях C++, а на деле не знаешь ничего такого, на чём можно было бы эффективно и быстро решать проблемы.
Да, D - гениальная разработка для своего времени. D сильно лучше C++, но и только.

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

Мммм... Для каждой задачи есть свой удобный инструмент.
И вобщем-то я по ситуации использую и TCL и Java и Clojure и C# и Nimrod
и много чего еще не говоря о C и C++. И каждый из этих языков
вполне эффективно решал ту задачу которую мне было надо. И другой бы
его не заменил бы.
Но я не нахожусь в поисках рабочего или универсального инструмента. Я
ищу инструмент с определенными характеристиками. :)

P.S. BF - это Brainfuck?

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

Интересное предложение.

А можно конкретную ссылку на интерфейсы в ADA и ее интеграцию с СИ?

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

Предлагали. И пришли к выводу что особого смысла не имеет, в данном контексте.

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

>И другой бы его не заменил бы.
C# понятно, быстрая разработа, WinAPI через слой дотнета.
Java тоже понятно, эффективность при больших системах, кроссплатформенность, хотя может заменить C#.
Clojure, TCL и остальное, я уверен, вполне можно было бы заменить на что-то иное, если, конечно, это не было допиливанием или поддержкой готового продукта.

BF - это Brainfuck?

Да. Здесь есть знатоки.

Но я не нахожусь в поисках рабочего или универсального инструмента.

Я тоже. Я считаю что выбор наиболее подходящего инструмента - скилл. Его нужно развивать. У меня он достаточно развит и я смеюсь, когда люди говорят о Haskell для простейших приложений, десктопа или ещё где-либо, где нет огромной потребности в скорости и ленивости I/O.
Ruby и Rails являются инструментом из линейки «типичные веб-фреймворки для стартапов за 24 часа» - они делаются как можно более простыми и удобными для старта. Rails удобен, но попробуй Django. У Django есть куча минусов, но в сравнении с Rails - слишком много плюсов и всего пара-тройка минусов. Это при том, что и Django, и Rails решают одну задачу, находятся в одной «линейке».

tia
()
Ответ на: комментарий от undet

Поискал, узнал много интересного.
Что ADA шевелилась еще в 2005, и что ее взаимодействие с СИ
весьма ужасно, как и следовало ожидать от языка такой строгости ADA
при в взаимодействии с языком такой не строгости как СИ.

Единственное чего не узнал что это там значит понятие интерфейса появившееся в 2005 году.

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

Интерфейсы:

http://en.wikibooks.org/wiki/Ada_Programming/Object_Orientation#Multiple_Inheritance_via_Interfaces

http://www.adaic.org/resources/add_content/standards/05rat/html/Rat-2-4.html

Интеграция с C:

http://www.dwheeler.com/lovelace/s16s2.htm.

Ну, и документацию по пакету Interfaces.C можно почитать.

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

…ее взаимодействие с СИ весьма ужасно…

Почему ужасно? Вроде всё очень даже неплохо. В новом GNAT вон даже опция -fdump-ada-specs появилась для автоматической генерации привязок к коду C или C++.

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

…ADA шевелилась еще в 2005…

Она и сейчас шевелится — готовится стандарт Ada 2012.

undet
()
Ответ на: комментарий от tia

Java тоже понятно, эффективность при больших системах, кроссплатформенность, хотя может заменить C#.

Может и не заменить например на HP-UX ;)

Clojure, TCL и остальное, я уверен, вполне можно было бы заменить на что-то иное, если, конечно, это не было допиливанием или поддержкой готового продукта.

Clojure идеальный рантаймовый пробер java api. Лучше врядли есть в этой нише.
TCL найти что нибудь с такой богатой библиотекой, и при этом легко
пакующее только необходимую ее часть в exe и не требующей ничего на
клиенте, и при этом кроссплатформенное натолько сложно, что почти
невероятно. Конкуренты или требуют установки рантаймов или библиотек
или не портабельны.

Да. Здесь есть знатоки.

Языка надеюсь, а не процесса :)

Вобщем у всех свои задачи. И каждый их решает.
Но сейчас я хочу посмотреть как выглядит вилка для мидий.
Хотя возможно мидий есть и не буду. :)

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

Ничего так... Страшненько... За ссылки спасибо, но мозг на ночь глядя
уже такое переваривать отказывается. Завтра еще раз взгляну.

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

Ну генерация привазок это примерно как в D.
Хотелось бы попроще. Как С++ в идеале ;)
А лучше как в Objective-C ;)

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

Ну, это с непривычки :). По мне так намного читаемей, чем C++ с его шаблонными шаблонными шаблонными параметрами и (особенно) люмбдами из C++0x. Кроме того, есть много полезных мелочей вроде именованных параметров функций и т.п. Очень рекомендую ознакомиться с языком поближе.

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

Ну шаблоны зачастую вообще за гранью добра и зла.
Вернее то что gcc выдает при ошибке их компиляции.

А на C++0x я вообще старательно не смотрю. Я не уверен что моя психика
достаточно устойчива. :)

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

>Не выдержал и обо*рался
Иди собирай ошмётки попы.

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

>Clojure идеальный рантаймовый пробер java api.
Сомнительная ниша для такого языка, конечно. Ну промолчу, думается мне что можно заменить, но не хочу лезть в дебри джавистов.

TCL

Python
Py2exe
TK есть, как и в TCL.

Языка надеюсь, а не процесса :)

Да больше процесса, но и языка есть.

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

Сомнительная ниша для такого языка, конечно. Ну промолчу, думается мне >что можно заменить, но не хочу лезть в дебри джавистов.

Не по изначальному назначению, но идеально для моих целей :)

Python

Py2exe

TK есть, как и в TCL.

Ну и зачем мне питон к TK если есть более родной TCL?

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

>Ну и зачем мне питон к TK если есть более родной TCL?
Дык если тебе роднее PHP, ты будешь на нём пилить новый проект? В том и фишка, надо выбирать более хороший инструмент для задачи. Сравни стандартные библиотеки TCL и Python. TCL покажется просто препроцессором текста, когда Python настоящим универсальным языком для любых нужд c вкомпиленным TK.

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

Теология пошла.
У питона своего очень мало и почти все через биндинги.
А главный косяк, это то, что как правило этого всего уже скомпиленного нет.
Оно норовит само скачаться, само подтянуть зависимости и само скомпилиться.
Но вот только на некоторых виндовых(да в жизни и такое бывает) хостах
ни инета ни компилятора.
А у тикля как правило все скомпилено и готово.

Вобщем, я рассматривал питон, но мою задачу он не не решал, так же как и перл.
Вернее решали оба, но не так эффективно.

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

>У питона своего очень мало и почти все через биндинги.
Всё, что есть «искоропки» в TCL, есть и в Python. Только в Python в разы больше стандартная библиотека.
Дополнительные «библиотеки» такие же как и в TCL, py2exe пакует всё что нужно в один файл и нет нужды что-то качать. Всё уже скомпиленно, есть даже возможность скачать прекомпиленные «яйца».

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

Мой опыт показывает другое.
Нужного мне не было в питоне но было в тикле.
Спорить с этим бесполезно. Это факт.

Но предлагаю этот спор закончить. Он к топику не относится :)

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

Всяк кулик свое болото хвалит :)

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

Библиотеки для взаимодействия windows performance counter :)
Ну и киллер фича, своя личная гуи библиотека.
Врядли кто еще похвастается.

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

>windows performance counter
Ну «искоропки» нет, но может и есть либа, не буду смотреть.

Ну и киллер фича, своя личная гуи библиотека.

TK, говорю же.

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

TK, говорю же.

А разве tkinter не зависит от Tcl/Tk? Если да, то зачем нужен ещё и Python сверху, если уже зависишь от Tcl/Tk?

undet
()

Ну интерфейсом может быть класс с только чистыми виртуальными методами

vertexua ★★★★★
()

ФриПаскаль спасет отца русской демократии?

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

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

Думайте как хотите ;)

Кстати интерфейсы в ней точно есть?

Vala использует объектную систему GObject, интерфейсы в которой есть. http://live.gnome.org/Vala/Manual/Interfaces

dmitry_vk ★★★
()

Тебе нужно что-нибудь вроде

class MyInterface a where
  myMethod1 :: a -> Integer
  myMethod2 :: a -> Integer -> a
data MyType = ...
instance MyInterface MyData where
   myMethod1 object = ...
   myMethod2 object value = ...

Miguel ★★★★★
()

C++ и виртуальные классы спасут отца русской демократии.

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