LINUX.ORG.RU

программы на С++ в байткод


0

0

Наверняка, уже кто-то написал виртуальную машину для С++ или компилятор, который бы переводил С++ код в джаверный байт-код. Киньте пожалуйста ссылкой, уж больно не хочу писать на Java, а реальность такова, что этот язык становится мейнстримом. Если никто ещё не напиал, уважаемые программисты на С++ с опытом, ответьте, реально ли это? И как вы думаете, будет ли это сделано и когда?

anonymous

Это реально , было уже на питоне такое кажется

furyz
()


мне вот в своё время очень не хотелось приобщаться к C но в то-же время хотелось честного 32х битного защищённого режима в связке Pascal+DOS. я даже Delphi 2.0 для win32 в конечном итоге скрестил с DPMI экстендером и заставил его генерить код под дос...

ничего, со временем я все-таки заставил себя познакомиться с Watcom C тяга к извращениям прошла сама-собой, нормализовался аппетит и стул. все проходит, пройдёт и это.

// wbr

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

наверняка у вас был Смысл перехода на СИ, у меня же нет мотивации перейти на джаву. идеологически в ней нет ничего нового по сравнению с теми же плюсами (только без флеймов), мотив "деньги" неинтересен, деньги не зависят от языка, а зависят от программиста, уверен кто-нибудь забаработал на бреинфаке. ... а по теме: почему же до сих пор нет виртуальной машины? переносимость и все дела ... тем более что есть для СИ. то что она коммерческая не такая уж и проблема, печально, что только под венды (по ссылке не ходил, но осуждаю) ... пойду читать ссылку.

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

> нормализовался аппетит и стул

Вот что крест животворящий^W^W Watcom C творит :)

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

> наверняка у вас был Смысл перехода на СИ

потому что тогда, что сейчас C действительно был и есть main stream. по крайней мере в своей области применения. а в сравнении с Pascal вопрос даже не рассматривается [хотя сам по-себе Pascal язык хороший]...

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

кхм... ну и не переходите на Java, кто ж вас заставляет то? хоть убейте не вижу, в каком месте Java сегодня и завтра "более мейнстирим" чем C++. у каждого есть своя ниша и все довольны.

> а по теме: почему же до сих пор нет виртуальной машины?

а зачем?!

> переносимость и все дела ... тем более что есть для СИ. то что она коммерческая не такая уж и проблема, печально, что только под венды (по ссылке не ходил, но осуждаю) ... пойду читать ссылку.

...если есть Java? желаете VM - используйте Java. не желаете - используйте C++.

// wbr

klalafuda ★☆☆
()

>а реальность такова, что этот язык становится мейнстримом

Под каким камнем ты спал? Она не становится мейнстримом. Потому что она уже стала мейнстримом году так в 1998-м.

>виртуальную машину для С++ или компилятор, который бы переводил С++ код в джаверный байт-код.

Конечно написал. www.jazillian.com Но стоит дорого и не зря.

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

>> а по теме: почему же до сих пор нет виртуальной машины?
> а зачем?!
ну опять эти песни. если вам не надо - не значит, что не надо никому.

> желаете VM - используйте Java. не желаете - используйте C++.
зачем ставить себя в какие-то рамки. прада если никто не написал - придется писать самому ...

> кхм... ну и не переходите на Java, кто ж вас заставляет то?
да нет, всего лишь хочется VM для С/С++

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

> Под каким камнем ты спал?

под тем, что упал тебе на голову, друк.

> Она не становится мейнстримом. Потому что она уже стала мейнстримом году так в 1998-м.

почему тогда 99% программ на десктопе ничего не знают о джава? может быть тебе лучше полежать под камнем в теньке, чтобы снять приступ удара?

anonymous
()

А вы не допускаете мысли, что VM для C++ это чертовски сложно. Неужели создатели Java только ради прихоти изобретали новый язык? То же самое и с C# (будь он неладен).

P.S. Managed C++ похож на то, что вы ищете.

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

Не сложнее чем для жабы IMHO

> Неужели создатели Java только ради прихоти изобретали новый язык?
Именно

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

я думаю, что Java равно как и C# --- это средство деления пирога (читать: рынка), можно было бы просто улучшать С++, если кому не нравится в прежнем виде, быстрее стандартизировать boost, на ряду с gcc разрабатывать gnu cpp-vm какой-нить, увы, но Пиджаки IBM и MS посчитали, что выгоднее будет распирить новые недоподелия, одни для того чтобы зарабатывать деньги прямым путем, другие чтобы косвенно (привязывая разработчкиков к операционной системе) ... бабки как всегда победили.

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

Видимо всетаки s/IBM/Sun/, a так все верно сказал :)

+1

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

Улучшать C++ -- это, конечно, хорошо, но есть ли в этом смысл? C++ не состоялся ни как низкоуровневый язык (C он так и не вытеснил), ни как высокоуровневый (тут даже Java выглядит лучше). C++0x тоже интересная штука, фактически это признание поражения таким языкам как Java, C#. Boost -- тоже костыль, а не библиотека. Да, конечно, можно поиметь все новомодные фичи в C++, но какой ценой? Не проще ли сменить язык?

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

Уже можно говорить C++09 :)

> признание поражения таким языкам как Java, C#. Boost -- тоже
 костыль, а не библиотека.

Голословное утверждение, чем обоснуешь? В каком месте boost костыль?

> Да, конечно, можно поиметь все новомодные фичи в C++, но какой
ценой?

В С++ платишь только за то что используешь. О каких новомодных фичах 
в C++ идет разговор, где ты их там увидел (GC не в счет)?

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

c++ переносимее джавы:) Посмотрите на ACE. VM для C++ есть, называется это дело ROOT,http://root.cern.ch/ , используется для визулизации и обработки данных.

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

> В каком месте boost костыль?

shared_ptr, weak_ptr... жалкая попытка управлять памятью. Здесь ситуация такая, что нужно совсем отказываться от * в пользу shared_ptr, иначе программа превращается в кашу. Чего только стоит shared_from_this (или как его там)?

bind, function, lambda... как сделать bind функции с __stdcall, __fastcall? Никак.

> В С++ платишь только за то что используешь.

Дадада. Если ничего не используешь. Но это всё -- повседневно необходимые вещи. И здесь я плачу, как минимум, многократно возросшим временем компиляции, а это напрямую связано с моей производительностью.

Как-то так...

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

А кто заставляет пользоваться boostом? В qt boost не используют, и ничего нормально себе живут. Имхо, в qt правильно сделали, что не использовали извращения с template programming, так как это позволило сделать библиотеку достаточно переносимой между разными компиляторами.

Хотите ФП, управления памятью - не используёте тогда C++, для этого есть тот же haskell,lisp,ocaml.

По поводу времени компиляции: есть такая штука как precompiled headers.

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

Вот и я о том же.

ЗЫ. precompiled headers помогают, но не решают проблемы.

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

> Bind, function, lambda... как сделать bind функции с __stdcall, __fastcall? Никак.

Вызывающе не верная информация: http://www.boost.org/libs/bind/bind.html#stdcall

Кароче твоя позиция ясна, но вот скажи зачем же ты тогда кодишь на C++?

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

Может готовить и не умею, а вот писать на нём... :) Пишу на C++ уже много лет, зарабатываю им на хлебушек с колбаской.

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

Ну дыкть :). Зарабатывать можно на чем угодно. Профессионал отличается от непрофессионала тем, что может зарабатывать тем, что делает. Так же например таджики ремонтирующие квартиры. Зарабатывать они зарабатывают, а вот умеют ли они делать то, что делают? :)

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

> Дыкть есть же D :).

Мертворожденное фтопочное поделие :( Надо же было умудриться сделать язык, который сложнее Си++

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

И что? Самолёты тоже сложнее велосипедов, теперь летать не будем? Сложные задачи требуют сложных решений.

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

> Самолёты тоже сложнее велосипедов, теперь летать не будем?

Аналогии нас далеко заведут.

> Сложные задачи требуют сложных решений.

Язык программирования - это не решение задачи, ИМХО. Это _средство_ решения задачи. Сравни сложность Си и Си++, а потом сложность задач, решенных на том и на другом. Сложность языков различается в разы, а сложность задач? ИМХО, она практически не различается.

Язык, следующий за Си++ должен быть проще него, намного проще, потому что основная проблема Си++ - сложность (безопасность - вторая в списке). Вместо него нужно что-нибудь вроде Cyclone + одиночное наследование + сигнатуры + type inference.

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

> Опять приходим к Java в ее инкарнациях до 5'ки?

Нет. Я вообще не упоминал Java, мы вроде говорили о Си++ и его эволюции? (кстати, параметризованные типы - вещь полезная и даже необходимая). То, к чему мы приходим (или хотелось бы, чтобы пришли) - это скорее похоже на Си++ времен первого издания "The C++ programming language", плюс результаты НИОКР, проведенных с тех лет (практичекое использование type inference и pattern matching, проверяемые указатели в стиле Cyclone, сигнатуры).

tailgunner ★★★★★
()

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

Опять же как бы я не относился плохо к java все же лучше изучить ее - это не так сложно, вот ее библиотеки это отдельный вопрос.

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

>указатели, ссылки и тп - вот зачем ? оставили б только ссылки, а так каша такая получается что свихнутся можно.

Так бы сразу и сказал "ниасилил". %)

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