LINUX.ORG.RU

Статья «Java to EXE» на Javalobby


0

0

В статье рассматриваются различные методы преобразований Java-приложений в native исполняемые файлы: от программ-обёрток (wrappers) до статических Java-компиляторов. Обсуждаются плюсы и минусы каждого подхода, при этом делается внушительный обзор существующих коммерческих и бесплатных программ-утилит.

>>> Статья

anonymous

Проверено: Shaman007 ()

Ответ на: Re: Статья "Java to EXE" на Javalobby от mutronix

Re: Статья "Java to EXE" на Javalobby

Эээ...
А ты пробовал делать то, что делает Элджер?
Я имею в виду использовать С++ как инструмент для создания новых языков

Fedor ★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от mutronix

Re: Статья "Java to EXE" на Javalobby

Если цпп --- это инструмент для создания новых языков, то доопределить сам цпп должно быть тем более легко. Приведи пожалуйста код, добавляющий в цпп синтаксическую конструкцию for-each. Это тот же самый for только он принимает на входе массив и обрабатывает его поэлементно. На каждом этапе в одной стандартной переменной находится номер элемента массива, а в другой --- его содержимое. Т.е. что то вроде этого.

for-each(a){ cout<<"number= " <<n <<" item = "<<item<<endl; }

и если в массиве содержались цифры 1 2 3, то оно выведет

number= 0 item = 1 number= 1 item = 2 number= 2 item = 3

На лиспе такие доопределения делаются с пол--пннка.

ugoday ★★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от Fedor

Re: Статья "Java to EXE" на Javalobby

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

--седайко стюмчик

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

ссаныч иди пость свои ссаные новости на opensolaris.org.ru

--седайко стюмчик

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

>многие говорят про абстракции и при этом мало в этом понимают.

И ты один из них. Управление уровнем абстракции/сложностью приложения --- очень удобный инструмент для решения *прикладынх* . Это видно даже в тех несложных счётно -- экспертных хреновинах, которыми я немножко занимиаюсь.

ugoday ★★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от Idiot

Re: Статья "Java to EXE" на Javalobby

На мой взгляд сравнение C++ и Common Lisp является некорректным. Это совершенно разные подходы к проектированию и кодированию.

Пример задачи просто решаемой на С++ и сложно или неэфективно на Lisp - численные методы во всяких проявлениях. Вы можете долго доказывать, что легко напишите библиотеку для решения различных УрВЧП на Lispе, но, как говаривал небезызвестный товарищ - не верю!

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

В Java можно делать implementation интерфейса, но множественное наследование дает возможность минимизировать интерфейс и при этом в родительском классе иметь не виртуальные вспомогательные методы, за счет которых код будет на много короче.

rymis ★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

>for-each(a){ cout<<"number= " <<n <<" item = "<<item<<endl; }
>На лиспе такие доопределения делаются с пол--пннка.

RTFM std::for_each уже давно написан и делает то что нужно.

Вы C++ вообще знаете?

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от kos

Re: Статья "Java to EXE" на Javalobby

Строго говоря в стандарте компилятора нет такого заголовка windows.h, да и вообще кстати виндовых библиотек ф-ции которых он описывает. Этот заголовок не из стандартной библиотеки, а из win32 sdk:-) Так что с вопросом о его кроссплатформенности, вместе с win api, к M$. Хотите переносимости пользуйтесь qt

stich ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

>for (i=1, i<100, i++) {}

>Двойка!

for (i=0, i<100, i++) {} ? Так правильно? Так это ошибка потому, что я этой дурью на C++ не маюсь, потому и ошибся. А у тебя видимо написание таких циклов доведено до инстинкта

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

Не понимаю, как можно называть себя программистом, не зная математики

Fedor ★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от rymis

Re: Статья "Java to EXE" на Javalobby

>Пример задачи просто решаемой на С++ и сложно или неэфективно на Lisp - численные методы во всяких проявлениях.

А зачем С++ для счётных задач? Классы, темплейты и дры и пры тут не используются. Тут голого С за глаза хватит. Что касается Lisp'а, то обычно тяжёлые вычисления выносятся в отдельную С--либу, а потом линкуются с основной lisp--программой.

ugoday ★★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от Fedor

Re: Статья "Java to EXE" на Javalobby

просто :)
из математиков почти всегда
самые плохие программисты
поэтому математически чистые языки программирования
самые плохие языки программирования
____
написание программ инженерная задача
к филосфии она имеет отдаленное отношение
и абстракции тут инструмент
а не занудная песня математиков
___
абстракции програмирования не есть абстракции
философии или математики

yeolahim ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

>Приведи пожалуйста код, добавляющий в цпп синтаксическую конструкцию for-each.

Вы будете смеяться, но в с++ есть таки for_each. Курите STL ;) Но из-за отсутсвия синтаксина для лямбды пользоваться им не очень-то удобно.

human0id ★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

кстати
есть тенденция переносить счетные задачи на c++
в силу белее высокой их эффектности и эфективности по сравнению с фортраном
и как раз там шаблоны и тд и тп
просто счастье
:))
______________
товарисчи
если вы собираетесь быть профессионалами
знайте 3-4-5-6 языков
спорить о преимуществах или недостатках
одного из них сравнивая с единственным который знаешь
верх ИДИОТИЗМА

yeolahim ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от mutronix

Re: Статья "Java to EXE" на Javalobby

> C++ - это на самом деле не столько язык, сколько инструмент для создания ваших собственных языков.

Про Лисп эта фраза была бы истинной. Про C++ - просто лживая реклама. Инструменты метапрограммирования в C++ крайне ограниченны и неполноценны.

> Проблема решается так же элегантно, как это слелал бы настоящий язык типа Smalltalk или Lisp, но при этом ваш процессор не дымится от напряжения, а на Уолл-Стрит не растут акции производителей чипов памяти.

И тут - ложь. По производительности Лисп ничуть не хуже C++, а по memory footprint часто - сильно лучше и компактнее, благодаря некоторым особенностям GC.

Idiot ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

Все задачи реального мира состоят из абстракций.

Гораздо интереснее и продуктивнее работать с абстракциями "клиент", "счёт", "транзакция", чем с низкоуровневым отстоем типа "класс", "массив", "signleton pattern" и пр.

Так что вам, жабафилам, оправдания нет и не будет. Вы не программируете, а только делаете видимость бурной деятельности.

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от human0id

Re: Статья "Java to EXE" на Javalobby

Товарищи, не надо меня считать совсем идиотом. Про stl я знаю. Говоря о for_each я хотел сказать, что вот такой код

template<typename _InputIter, typename _Function>
    _Function
    for_each(_InputIter __first, _InputIter __last, _Function __f)
    {
      // concept requirements
      __glibcpp_function_requires(_InputIteratorConcept<_InputIter>)
      for ( ; __first != __last; ++__first)
        __f(*__first);
      return __f;
    }

Не является верхом изящества. А ведь это --- простейшая конструкция. Следовательно при использовании С++ для создания проблемно--ориентированного языка программист умрёт с горя.

ugoday ★★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от rymis

Re: Статья "Java to EXE" на Javalobby

> Пример задачи просто решаемой на С++ и сложно или неэфективно на Lisp - численные методы во всяких проявлениях.

Ложь. Производительность CL в вычислительных задачах не хуже, чем у C++.

> Вы можете долго доказывать, что легко напишите библиотеку для решения различных УрВЧП на Lispе, но, как говаривал небезызвестный товарищ - не верю!

Это от безграмотности и тупости. Бывает...

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

Он не делает того, что нужно. Сравни с макрой loop в Лиспе и ужаснись убожеству C++.

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

>Гораздо интереснее и продуктивнее работать с абстракциями "клиент", "счёт", "транзакция", чем с низкоуровневым отстоем типа "класс", "массив", "signleton pattern" и пр.

>Так что вам, жабафилам, оправдания нет и не будет. Вы не программируете, а только делаете видимость бурной деятельности.

Не понял импликации.

Напиши класс "клиент", с требуемыми операциями. Это и будет абстракция.

WFrag ★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от yeolahim

Re: Статья "Java to EXE" на Javalobby

> поэтому математически чистые языки программирования самые плохие языки программирования

Слабо этот бредовый взвяк обосновать?

> и абстракции тут инструмент

Вот именно. И куда надо послать язык, этого инструмента не имеющий?

> абстракции програмирования не есть абстракции философии или математики

Обосновывать будешь, ничтожество? Или просто вякаешь?

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от WFrag

Re: Статья "Java to EXE" на Javalobby

Хотя, да, согласен, не все абстракции можно выразить тем убогим ООП, что есть в Java, при этом не попадая под 10 правило Гринспуна.

WFrag ★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

Раз уж тут пошёл такой злостный оффтоп, то подскажите мне, пожалуйста, хороший электронный источник для того, чтобы начать изучать Lisp. Желательно не reference, а именно tutorial.

the_one ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от WFrag

Re: Статья "Java to EXE" на Javalobby

Это будет не абстракция, а класс. Хреновина с методами, и т.п. Останется низкоуровневой сущностью, над которой нельзя будет производить непредусмотренные языком операции.

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

>Не является верхом изящества

ну измени имена и выкини то что не понимаешь

template<typename T, typename func>
void for_each(T *beg, T*end, func f)
{
for (T *p=beg; p!=end; ++p)
f(*p);
}

и что в это не изящного?

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

Переносимость - не основное, и не преимущество. Однородность рантайма - преимущество, но оно и не теряется при пре-компиляции.

Idiot ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от WFrag

Re: Статья "Java to EXE" на Javalobby

Компактификация, заточенность под выделение cons-ячеек - при активном их выжирании не будет появляться новых страниц, когда известно, что старые скоро наверняка освободятся.

Idiot ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

Нет. Это будет текст. На любом языке это будет текст. Абстракции - у тебя в голове. :)

>Останется низкоуровневой сущностью, над которой нельзя будет производить непредусмотренные языком операции.

Операция "выдать товар" разве предусмотрена языком?

В общем, я не понимаю в чем проблема. :) По-моему, более-менее объективные параметры языка - это стоимость решения той или иной задачи, стоимость внесения изменений, стоимость внесения изменений сторонним разработчиком. Тут Java, да, не на высоте (ну разве что стоимость внесения изменений сторонним идиотом для программы Java вестимо будет ниже). Остальные рассуждения про абстракции - ИМХО, демагогия.

WFrag ★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от WFrag

Re: Статья "Java to EXE" на Javalobby

Да нет, не демагогия. Ты тормозишь сильно - ты не можешь преобразовывать объект так, как это не предусмотренно языком. Далеко не всё можно представить в виде вызовов методов - это лишь самая примитивная (хоть и наиболее частая) абстракция, которая в реальной жизни встречается. А Java ограничивает тебя применением только этой абстракции, и не даёт возможности сформулировать никакие другие.

Idiot ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от Idiot

Re: Статья "Java to EXE" на Javalobby

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

--седайко стюмчик

anonymous ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от Idiot

Re: Статья "Java to EXE" на Javalobby

>Да нет, не демагогия. Ты тормозишь сильно - ты не можешь преобразовывать объект так, как это не предусмотренно языком. Далеко не всё можно представить в виде вызовов методов - это лишь самая примитивная (хоть и наиболее частая) абстракция, которая в реальной жизни встречается. А Java ограничивает тебя применением только этой абстракции, и не даёт возможности сформулировать никакие другие.

Нет. Как я уже говорил, абстракции - они в твоей голове.

Рассмотрим пример:

li.interpret("(print (+ 1 2))");

Что это? Вызов метода с параметром ввиде строки? Или вывод результата сложения двух чисел на языке LISP? По-моему, зависит только от твоего восприятия.

А если я в строку запихаю что-нибудь на LISP-е, например, с замыканиями. Казалось бы, в языке Java нет замыканий! Однако в программе они ведь будут использоваться? И это будет програма на Java. С замыканиями.

Философ из меня, конечно, тот еще :)

WFrag ★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от WFrag

Re: Статья "Java to EXE" на Javalobby

В твоём примере ты уже вышел за рамки языка Java, дополнив его другим DSL-ем. Скорее всего, реализованным крайне неэффективно - потому как в самой Java отсутствуют средства (АБСТРАКЦИИ!!!) для эффективной реализации языков с семантикой, отличной от семантики Java.

Так что да, философ - тот ещё. Описанный тобой пример - это и есть порождение абстракции высшего порядка - введение новой семантики. Но за счёт убожества самого языка Java ты не можешь эту абстракцию реализовать легко и дёшево.

Idiot ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от anonymous

Re: Статья "Java to EXE" на Javalobby

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

Idiot ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

Насчет инструмена для создания новых языков. Вы что такие дубовые то? Не в том смысле сказано было, что на нем парсеры хорошо пишутся или с мета объектами он работать научен. Вы цитату целиком осмыслили? Что за нелепая привычка выдергивать кусок предложения? Я вам про мебель, вы мне мне про жидкий стул. С++ - обобщеный язык программирования, какие к чертям мета объекты. Туго мыслим, туго.

mutronix ★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от Idiot

Re: Статья "Java to EXE" на Javalobby

>В твоём примере ты уже вышел за рамки языка Java, дополнив его другим DSL-ем.

Ну код-то на Java :) Все то же - вызовы методов, строчки.

>Скорее всего, реализованным крайне неэффективно - потому как в самой Java отсутствуют средства (АБСТРАКЦИИ!!!) для эффективной реализации языков с семантикой, отличной от семантики Java.

Ну вот. О чем и речь - отсутствуют средства. Но реализовывать-то абстракции ничто не мешает (пусть и через жопу, прямо скажем)!

>Но за счёт убожества самого языка Java ты не можешь эту абстракцию реализовать легко и дёшево.

О чем и речь - вопрос в стоимости. :)

WFrag ★★★★ ()
Ответ на: Re: Статья "Java to EXE" на Javalobby от ugoday

Re: Статья "Java to EXE" на Javalobby

>> Операционная система на Лиспе > А где про это почитать можно?

1) http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/

2) несколько лет назад по этим ссылкам лежали фильмы, снятые с экрана компьютера, на котором работала Genera OS.

ftp.linux.org.uk/pub/lisp/rainer-lisp-machine-3a.mov

lemonodor.com/misc-gems/lispm.mov.gz

--

SVK

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