|
|
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Почему при разработке кросс-платформенных приложений победил подход именно виртуальных машин (NET, JAVA), а не подход QT, когда приложение компилируется для каждой ОС отдельно и получается на выходе EXE файл? В любом случае осуществляется компиляция - разница только в байт-код или в EXE. Мне кажется, это ведет к разбазариванию вычислительных ресурсов, т.к. на работу виртуальной машины тратится больше времени, чем на выполнение чистого машинного кода. А что вы думаете по этому вопросу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 14:48:05 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Потому что железо стало дешевым и быстрым. Скорость разработки программы стала дороже скорости ее работы С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:17:00 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
И с чего ты взял, что ушли "кросплатформеры"? Ушли те, для кого работать с гибкими инструментами не позволяют умственные способности и кто предпочитает писать а бы написать. Писать на яве и дотнете гораздо меньше мозгов требуется и знаний, чем для работы с C++/C. Вот и спрыгнули не справившись с управлением... ( http://www.forum.mista.ru/topic.php?id=407994 ) вкусите множество сексуальных наслаждений с нашей новой платформой... (с) 1С. Ну вы поняли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:29:07 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
никто никого не побеждал - это разные сегменты. одно решение пытается обеспечить совместимость на уровне исходного кода, а второе - на уровне скомпилированного бинарного. для разных ситуаций более оптимальным является тот или иной подход. а насчёт железа - есть класс задач где JIT-компиляторы могут быть быстрее обычных, т.к. могут проводить такие оптимизации, которые не могут выполнить обычные. так что виртуальные машины - это не значит что разработчикам наплевать на производительность. и вобще с чего вы взяли что дотнет кроссплатформенный? он же работает только на венде. _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:36:17 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Frenzy, есть класс задач где JIT-компиляторы могут быть быстрее обычных, т.к. могут проводить такие оптимизации, которые не могут выполнить обычные чисто теоретически не верится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:40:28 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Fixin, А почему вы собственно считаете что они ушли? они тут и никуда не уходили. Вам слово "интергация" говорит о чем нить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:42:09 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Никуда они не уходили, p-код всегда был есть и будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:49:58 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
NafFrenzy, есть класс задач где JIT-компиляторы могут быть быстрее обычных, т.к. могут проводить такие оптимизации, которые не могут выполнить обычные чисто теоретически не верится Вполне могут, только вот делают ли они это, я несколько сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:50:03 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Сравнение Qt и Java С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 15:56:40 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Naf Сравнение Qt и Java С уважением, Naf Почему то я так и предпологал. Быстродействие, лучшая производительность и гибкость в угоду продуктивности программирования. Либо километры кода и полный контроль на происходящем, либо красивые IDE? но как правило менее гибкое ПО ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 16:09:58 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
По сабжу: Ответ очевиден ИМХО. Потому что для кросс-платформенных приложений - это по сути самый удобный универсальный подход, обеспечивающий необходимую абстракцию от оборудования и ОС для работы одного и того же программного кода. При этом интерпретатор(виртуальная машина) выступает в качестве такой буферной прослойки. Она состоит, условно говоря, из 2 частей - 1) единая и независящая от платформы исполнительная среда, обрабатывающая и интерпретирующая пользовательский код; 2) машиннозависимая прослойка, обеспечивающая стыковку исполнительной среды с той или иной платформой(ОС). При такой архитектуре не надо каждый раз перекомпилировать код на соответствующем(для каждой платформы) компиляторе, что не просто неудобно, а зачастую и невозможно без переписывания значительной части кода, тем более, если программист изначально не предполагал кросс-платформенности для своего творения и, скажем, активно использовал API какой-то одной платформы. Ремарка к фразе Fixin "Мне кажется, это ведет к разбазариванию вычислительных ресурсов, т.к. на работу виртуальной машины тратится больше времени, чем на выполнение чистого машинного кода." Разумеется, интерпретируемый код выполняется несколько медленнее, чем на живом камне, но тут нет никакого разбазаривания ресурсов. Да и на современном железе это малоощутимо! Я вот перешел на Java после C++ и не могу сказать, что не замечаю принципиальные тормоза жавных модулей по сравнению с сишными аналогами. Я, конечно, бенчмарков не делал)), но субъективно - разница если и есть, то крайне незначительная. Здесь в принципе можно опять вернуться к дискуссии на тему кривых рук - наверняка одна и та же алгоритмическая задача, реализованная профессионалом на Java почти наверняка будет намного шустрее аляповатого кода неопытного студента, написанного в виде автономного исп.модуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 16:57:57 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Frenzyникто никого не побеждал - это разные сегменты. одно решение пытается обеспечить совместимость на уровне исходного кода, а второе - на уровне скомпилированного бинарного. для разных ситуаций более оптимальным является тот или иной подход. и вобще с чего вы взяли что дотнет кроссплатформенный? он же работает только на венде. Ну не скажите. QT один, а JAVA и NET - два. Значит виртуальные машины победили компиляторы. NET может работать под линукс, почитайте про MONO. Пока, правда, с ограничениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:00:52 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
PS очепяточка: в пред.посту фразу "и не могу сказать, что не замечаю", следует читать как "и могу сказать, что не замечаю". сорри, народ, пальцы к концу дня затекли))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:01:34 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
NafПотому что железо стало дешевым и быстрым. Скорость разработки программы стала дороже скорости ее работы С уважением, Naf trdmИ с чего ты взял, что ушли "кросплатформеры"? Ушли те, для кого работать с гибкими инструментами не позволяют умственные способности и кто предпочитает писать а бы написать. Писать на яве и дотнете гораздо меньше мозгов требуется и знаний, чем для работы с C++/C. Вот и спрыгнули не справившись с управлением... Почему нельзя написать компилятор явы? то есть использовать попсовый язык, тот же визуал бейсик, но чтобы он компилировал в EXE, а не в виртуальную машину NET. Собственно, интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:02:18 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
gdsNaf Сравнение Qt и Java С уважением, Naf Почему то я так и предпологал. Быстродействие, лучшая производительность и гибкость в угоду продуктивности программирования. Либо километры кода и полный контроль на происходящем, либо красивые IDE? но как правило менее гибкое ПО ИМХО Почему красивая IDE не может давать на выходе EXE, а только байт-код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:03:39 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
nicktcherПо сабжу: Ответ очевиден ИМХО. Потому что для кросс-платформенных приложений - это по сути самый удобный универсальный подход, обеспечивающий необходимую абстракцию от оборудования и ОС для работы одного и того же программного кода. При этом интерпретатор(виртуальная машина) выступает в качестве такой буферной прослойки. Она состоит, условно говоря, из 2 частей - 1) единая и независящая от платформы исполнительная среда, обрабатывающая и интерпретирующая пользовательский код; 2) машиннозависимая прослойка, обеспечивающая стыковку исполнительной среды с той или иной платформой(ОС). Это понятно, но ведь есть QT, демонстрирующий совершенно другой подход - работу не на всех ОС, а на основных. Почему его начинание осталось единственным и больше никем не поддержанным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:05:04 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Fixin ... Это понятно, но ведь есть QT, демонстрирующий совершенно другой подход - работу не на всех ОС, а на основных. Почему его начинание осталось единственным и больше никем не поддержанным? Э-э, вообще-то ОС много есть на свете и я не знаю ни одной виртуальной машины, которая бы работала на всех ОС, они все работают на основных ОС - Винда и семейка Unix'овых. Может кто знает, народ, есть такие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:13:17 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Fixin Почему нельзя написать компилятор явы? ... Потому что это уже не будет Java. Вам компиляторов что ли не хватает, чудак человек?))) Мы толкуем про кросс-платформенность или где? Любой компилятор(в классическом смысле этого слова) - это привязка к той или иной платформе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:17:47 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
FixinnicktcherПо сабжу: Ответ очевиден ИМХО. Потому что для кросс-платформенных приложений - это по сути самый удобный универсальный подход, обеспечивающий необходимую абстракцию от оборудования и ОС для работы одного и того же программного кода. При этом интерпретатор(виртуальная машина) выступает в качестве такой буферной прослойки. Она состоит, условно говоря, из 2 частей - 1) единая и независящая от платформы исполнительная среда, обрабатывающая и интерпретирующая пользовательский код; 2) машиннозависимая прослойка, обеспечивающая стыковку исполнительной среды с той или иной платформой(ОС). Это понятно, но ведь есть QT, демонстрирующий совершенно другой подход - работу не на всех ОС, а на основных. Почему его начинание осталось единственным и больше никем не поддержанным? Ну почемуже... QT не одинок )) Вопервых Сишная либа GTK. Есть wxWidgets для C++, но прада победнее QT. Во вторых Borland в свое время пытался сделать Kylix полностью совместимым с Delphi. Правда помер проект. Вот сейчас какие-то умельцы lazarus ( тоже среда аля Delphi ) ваяют ( правда пока он еще в очень зачаточном состоянии, и кстати как ни странно базируется на QT ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:22:14 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
FixingdsNaf Сравнение Qt и Java С уважением, Naf Почему то я так и предпологал. Быстродействие, лучшая производительность и гибкость в угоду продуктивности программирования. Либо километры кода и полный контроль на происходящем, либо красивые IDE? но как правило менее гибкое ПО ИМХО Почему красивая IDE не может давать на выходе EXE, а только байт-код? Про то что красивая IDE не может давать на выходе EXE я не говрил. Если вы про Vusial Studio NET, то вы можете в С++ приложение Win32 написать и будет вам exe вот только одну библиотеку придотся с собой взять. так навсякий случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:25:26 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Naf Сравнение Qt и Java С уважением, Naf Явно заказная хуета. Где бенчмарки? Где реальные сравнительные характеристики? Одно блабла, высосанное из пальца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 17:25:46 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Был один старый боянчик. Типа сравнительных тестов производительности. Из него выходило, что Java быстрее чем С++ на некоторых способах вызова методов, и на некоторых алгоритмах. Сам я лично в это не верю. Т.к. тест сам по себе не показательный. Еще в смежную тему была интересная статья. Называется "Заметки про Жабу. Околожабство (Часть 1, и часть 2)" . (Кому интересно может легко нагуглить). Хотя она написана провокационным тоном, но содержит любопытные факты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 18:03:30 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
Ага. Вот и тесты . Как раз рядом лежали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 18:06:10 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
gds Если вы про Vusial Studio NET, то вы можете в С++ приложение Win32 написать и будет вам exe вот только одну библиотеку придотся с собой взять. так навсякий случай. Это не Exe, под экзе там прячется код для виртуальной машины NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 18:33:27 |
|
||
|
Почему кросс-платформеры ушли в виртуальные машины?
|
|||
|---|---|---|---|
|
#18+
clihltНу почемуже... QT не одинок )) Вопервых Сишная либа GTK. Есть wxWidgets для C++, но прада победнее QT. Во вторых Borland в свое время пытался сделать Kylix полностью совместимым с Delphi. Правда помер проект. Вот сейчас какие-то умельцы lazarus ( тоже среда аля Delphi ) ваяют ( правда пока он еще в очень зачаточном состоянии, и кстати как ни странно базируется на QT ). Все это несерьезно, кроме QT и GTK ничего не взлетело. И это все на Си. Почему, что, комерчески невыгодно сделать быстро работающий продукт? Ведь компилер по любосу быстрее работает, чем виртуальная машина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2009, 18:34:58 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=123&tid=1344472]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 306ms |

| 0 / 0 |
