Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Загниваение Delphi?   Найти похожие ветки 

 
Vuk ©   (2004-02-06 14:09) [40]

to Delirium:
>2-й этап: Непосредственно перед запуском приложения
>"докомиляция" сборки в платфоменный код и исполнение.
Никакой "докомпиляции" перед запуском нет. Компиляция кусков кода производится по мере необходимости. Так что если какой-либо код ни разу за время работы приложения не вызовется, то и компилироваться он не будет. В связи с такой техникой JIT компиляции возможны некоторые тормоза при первом вызове кода.

>О скорости я уже писал, размеры .Net сборок примерно в 10 раз
>меньше win32 приложений.
Не забывайте, что там весь рантайм подгружаемый и находится в сборках. Это примерно как если в Delphi компиляцию с пакетами включить. Минусы примерно те же самые - чтобы приложение заработало нужно иметь все необходимые версии сборок.
:o)


 
Alexander666 ©   (2004-02-06 14:18) [41]

У меня фреймворк вообще-то уже стоит. Ну ладно, я согласен. Допустим, пусть будут эти размеры. Но не понятно одно, вот идет перекомпиляция с обычного языка в MSIL (Microsoft Intermediate Language), а потом каким-то образом JIT-компилятор переводит этот весь код в ассемблерный с расчетом на систему, используя CLR (Common Language Runtime). Это он как-то переводит все на свой язык, а потом в ассемблерный код. Так вопрос в том, зачем ему на этот язык переводить? Все равно, получается один и тот же код. А если брать всю эту платформенность, то получается, просто новый набор библиотек от Microsofta, тоже самое, что было с Win9x, потом создали NT-системы. А сейчас просто их объединили. Какой смысл от этого. Зато доходы от этого пиличные.


 
Danilka ©   (2004-02-06 14:22) [42]

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


 
Polevi ©   (2004-02-06 14:23) [43]

>Alexander666 © (06.02.04 14:18) [41]
код будет разный, компилятор может учитывать архитектуру процессора данной машины и оптимизировать


 
Alexander666 ©   (2004-02-06 14:29) [44]

Ну вот пока он все это учитывать да оптимизировать будет, пролетят драгоценные миллисекунды :-))). А вообще, не представляется мне это все реальным, чтобы надежно работало и без тормозов.


 
Danilka ©   (2004-02-06 14:47) [45]

Все, нашел:

CLR — это своего рода аналог виртуальной Java-машины (JVM), предназначенной для выполнения программ на языке Microsoft Intermediate Language. Принципиальное отличие CLR от JVM состоит в том, что все приложения в этой среде выполняются только откомпилированными, никакого механизма интерпретации не предусматривается.


 
Cobalt ©   (2004-02-06 14:55) [46]

Хм, интересно, неужели в JVM по-другому? (то есть, там что-то интерпретируется?)


 
Карелин Артем ©   (2004-02-06 14:57) [47]

А я например не вижу особой разницы между "интерпретацией" по отношению к яве и трансляцией байткода CLR в натуральный машинный код.


 
Danilka ©   (2004-02-06 14:59) [48]

[46] Cobalt © (06.02.04 14:55)
вероятно, да. раньше как-то не задумывался об этом. но, похоже, JVM интерпритатор. :) в таком случае, NET, конечно, будет пошустрее явы и, вероятно, намного шустрее.


 
Anatoly Podgoretsky ©   (2004-02-06 15:19) [49]

Это не виртуальная машина, а рантайм библиотеки, такие же как и другие, конечно на данном этапе это в Win32 API, но после выхода Лонгхорн, это будет в ядре.
В чем различие с вируальной машиной Явы, а бог его знает, да и зачем мне это различие знать.


 
Anatoly Podgoretsky ©   (2004-02-06 15:29) [50]

Да и зачем сравнивать
Виртуальная машина ЯВА с NET API
Нет смысла сравнивать даже с Win32 API
Сейчас
Исполнимая программа NET API --> Win32 API
После
Исполнимая программа NET API


 
Anatoly Podgoretsky ©   (2004-02-06 15:29) [51]

Количество языков под NET уже свыше 20, а не один ЯВА


 
nikkie ©   (2004-02-06 15:41) [52]

разнообразие языков - маркетинговый ход.
мечта программиста - иметь один язык.
имхо.


 
h0use ©   (2004-02-06 15:50) [53]

А что тогда народ думае по поводу Delphi Studio 8.0?


 
Vuk ©   (2004-02-06 15:50) [54]

to nikkie:
>разнообразие языков - маркетинговый ход.
=8-| Чей?

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


 
Anatoly Podgoretsky ©   (2004-02-06 16:06) [55]

nikkie © (06.02.04 15:41) [52]
Только у каждого свой


 
Danilka ©   (2004-02-06 16:10) [56]

[49] Anatoly Podgoretsky © (06.02.04 15:19):))
> В чем различие с вируальной машиной Явы, а бог его знает,
> да и зачем мне это различие знать.

Знать в чем различие интересно, т.к. Ява намного медленнее нативе кода, вот и интересно что ожидать от Лонгхорна - тормоза или наоборот.
Вообще-то, я давно ждал операционки (или +железа) которая была-бы заточена под яву, такую, где явовский байтк-код был-бы нативе кодом, но видно не судьба, посмотрим что получится у Микрософта.

[54] Vuk © (06.02.04 15:50)
одно другому не мешает. :))


 
nikkie ©   (2004-02-06 16:12) [57]

>vuk
мой пост [52] - ответ на [51] Anatoly Podgoretsky. ну и имхо забыл приписать.

>>разнообразие языков - маркетинговый ход.
уточню. разнообразие языков для .Net

>=8-| Чей?
"автора". Microsoft. которому тяжелее было бы продвигать новую платформу, если бы под нее нельзя было бы писать на VB. грубо говоря.

>А поскольку задачи бывают разные
то давайте под каждую задачу сделаем свой язык? речь программировании AI не идет. как прикладные программисты, мы ведь в основном имеем дело с программированием бизнес-логики?

короче. представлять наличие COBOL.NET как преимущество .NET в сравнении с Java-платформой не стоит. имхо.

а вот реальная многоплатформенность Java против мнимой многоплатформенности .NET - преимущество серьезное. думаю, здесь имхо не требуется.


 
Danilka ©   (2004-02-06 16:17) [58]

[57] nikkie © (06.02.04 16:12)
> многоплатформенность Jav

С одной стороны - очень удобно, но с другой стороны - очень медленно. Если-бы они изначально делали прекомпиляцию перед выполнением, а не интерпритацию, вероятно, было-бы намного быстрее и тогда -глядишь - и наступило-бы всеобщее программерское щастье. :))


 
Vuk ©   (2004-02-06 16:18) [59]

to Danilka:
>одно другому не мешает. :))
Не мешает, но вот сочетания одного с другим случаются не очень чтобы часто.


 
Polevi ©   (2004-02-06 16:20) [60]

>Danilka © (06.02.04 16:17) [58]
а что, JIT-compiler отменили ?


 
Vuk ©   (2004-02-06 16:24) [61]

to nikkie:
>"автора". Microsoft.
Microsoft автор всех языков, которые работают под .Net? Ведь нет.

>представлять наличие COBOL.NET как преимущество .NET в
>сравнении с Java-платформой не стоит.
Как сказать. Есть такое понятие, как унаследованный код. Для многих это важно.


 
Anatoly Podgoretsky ©   (2004-02-06 16:25) [62]

nikkie © (06.02.04 16:12) [57]
Нет конечно, но вот Паскаль, Си++, Бейсик очень важны и плюc новый язык Си#


 
Danilka ©   (2004-02-06 16:27) [63]

[60] Polevi © (06.02.04 16:20)
Вообще, честно говоря, я ниразу им не пользовался. Поэтому не могу про него ничего сказать. Честно говоря, думаю, что это что-то близкое к самораспаковывающемуся архиву, чем к нормальному компилятору. То-есть - какой-то код, который делает ту-же самую интерпритацию во время выполнения. По-крайней мере, это было-бы намного более легко реализовать чем, настоящий компилятор. ИМХО.

[59] Vuk © (06.02.04 16:18)
На мой взгляд, и Ява и Дельфи близки к этому. Я не имею ввиду библиотеки, только сам язык, несмотря на то, что они разные.


 
Vuk ©   (2004-02-06 16:31) [64]

to Danilka:
Ну вот не нравится мне Java и C# с ней за компанию, т.к. на Java похож. И не нравятся именно как языки.


 
Danilka ©   (2004-02-06 16:35) [65]

[64] Vuk © (06.02.04 16:31)
> Ну вот не нравится мне Java и C# с ней за компанию, т.к.
> на Java похож. И не нравятся именно как языки.

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


 
MV   (2004-02-06 16:40) [66]

А если судьба у .Net кривая окажется, и MS-Soft поймет, что ошибалась?

Вообще, а как быть с приложениями, критичными к времени выполнения (СУБД, АСУП, управление оборудованием). Да-да, я знаю примеры на Delphi. На Java такое бы работало о-чень тормозно. Или теперь в новом LongHorn без .Net прослойки к процессору не достучаться? И что за компутеры такие должны быть, чтобы все это потянуть?


 
nikkie ©   (2004-02-06 16:41) [67]

>Danilka
1. JIT-компиляция была придумана не в microsoft.
и потом, кто сказал, что компиляция под конкретный процессор это круто?
решение данной проблемы на уровне железа - может тоже неплохо?
Микропроцессоры, построенные на ядре picoJava, могут непосредственно исполнять набор команд Java Virtual Machine, за счет чего исключается необходимость в Java-интерпретаторе или компиляторе just-in-time и ускоряется исполнение приложений на базе Java.
http://fort.stup.ac.ru/wmaster/mirrors/www.sun.ru/javaworld/1998/03/10.html

2. на основании чего и в отношении какого рода приложений ты говоришь о "тормознутости" JVM? ты проводил тесты, замерял время? или это твое субъективное ощущение от работы с GUI-приложениями? а какое от них требуется быстродействие? только до уровня приемлимого пользовательского отклика, который будучи достигнут не требует дальнейшего ускорения. могу только сказать, что сейчас на своем компьютере я не наблюдаю особых тормозов в работе Swing-приложений.


 
Vuk ©   (2004-02-06 16:42) [68]

to Danilka:
>хорошо, а как на счет дельфей?
Несколько лучше. :o) Впечатление одного моего коллеги от спецификации языка в D8 - "ну вот, на этом уже можно писать под .NET." :o) Примечание: коллега пишет на Delphi только последние 5-6 лет. До этого лет 10 работал на C/C++.

>и не нравятся именно из-за того что рука не набита.
Мне не нравится, что для работы с исходниками инструменты типа CodeExplorer становятся острой необходимостью - уж такая у этих языков структура. Ну неудобно мне так работать, хоть Вы меня режьте. :o)


 
h0use ©   (2004-02-06 16:44) [69]

Кто реально уже щупал D8? Она действительно только .Net или старые проекты под ней тоже компилятся?


 
Danilka ©   (2004-02-06 16:50) [70]

[67] nikkie © (06.02.04 16:41):))
> 1. JIT-компиляция была придумана не в microsoft.

Я в этом нисколько не сомневался. :))

> решение данной проблемы на уровне железа - может тоже неплохо?

На счет моего отношения к железу см. мой пост: [56]

> на основании чего и в отношении какого рода приложений ты
> говоришь о "тормознутости" JVM? ты проводил тесты, замерял
> время?

можно сказать и так.когда одна и та-же задача сделаная на дельфях и на яве, на последней выполнялась намного медленнее. :((

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

Повезло тебе с компом. :))


 
Danilka ©   (2004-02-06 16:53) [71]

[68] Vuk © (06.02.04 16:42)
> Мне не нравится, что для работы с исходниками инструменты
> типа CodeExplorer становятся острой необходимостью - уж
> такая у этих языков структура. Ну неудобно мне так работать,
> хоть Вы меня режьте. :o)

хм, я никаким CodeExplorer не пользуюсь.. работяю с явой через JCreator - отличная среда (на мой взгляд) правда, в стиле VS (и по-моему сделана на VC++) но, довольно удобная/шустрая и мало требовательна к ресурсам.


 
nikkie ©   (2004-02-06 16:59) [72]

>Danilka
>> 1. JIT-компиляция была придумана не в microsoft.
>Я в этом нисколько не сомневался. :))
:) продолжим. не знаю, была ли она придумана Sun-ом, но JIT используется в Java. чего ты, судя по твоим постам, не знал.

>На счет моего отношения к железу см. мой пост: [56]
не заметил. :) я, честно говоря, не знаю - в мобильниках Java как реализована? софтом или железками? текст-то, который я привел 98-м годом датирован...

>одна и та-же задача сделаная на дельфях и на яве
так какая задача? вычисление простых чисел? окошечки? 3D-графика?
и как замеряли быстродействие? на каком компьютере?

пока я так понял - GUI-приложение + замер "на глаз" на системе, где тормоза пользовательского интерфейса были заметны. ну так когда ставили win2000 на celeron300 c 64Mb я тоже плевался.

>Повезло тебе с компом. :))
мы сами кузнецы своего счастья :)


 
Danilka ©   (2004-02-06 17:02) [73]

[72] nikkie © (06.02.04 16:59)
> пока я так понял - GUI-приложение + замер "на глаз" на системе,
> где тормоза пользовательского интерфейса были заметны

примерно так. :)) но были и еще варианты.

> мы сами кузнецы своего счастья :)

мы-то сами, а как быть с заказчиками, для кого пишешь? :((


 
Danilka ©   (2004-02-06 17:05) [74]

[72] nikkie © (06.02.04 16:59)
попробуй тот-же нативный JCreator против JBilder например. Или Sun ONE (правда, я с ней работал когда она еще обзывалась Forte). Тормоза и обжираловка ресурсами против скорости и удобства.


 
nikkie ©   (2004-02-06 17:08) [75]

>работяю с явой через JCreator - отличная среда
у меня стоит IntelliJ IDEA - просто сказка. но написана на яве, так что вероятно ты не оценишь ;)

но как-то мы ушли от темы :))


 
Danilka ©   (2004-02-06 17:11) [76]

[75] nikkie © (06.02.04 17:08)
> но написана на яве, так что вероятно ты не оценишь ;)

Если такая-же прожорливая как и jbuilder, то действительно - не оценю :))


 
Vuk ©   (2004-02-06 17:22) [77]

to Danilka:
Ну важно, как называется инструмент, но сам синтаксис языка от этого не меняется. Мне в Java не нравится отсутствие разделения на секции объявлений/реализации.


 
nikkie ©   (2004-02-06 17:39) [78]

>vuk
мне тоже не нравится отсутствие такого разделения в ява и c#.
но мне также не нравится отсутствие в паскале разделения объявлений/реализации не на секции, а на файлы, как в си.
ничего, пережить можно. больше достает переключение с одного языка на другой, когда начинаешь задумываться - писать = или :=, != или <>, ставить круглые скобки или не ставить, какой приоритет логических/арифметических операций, можно ди сравнить строки так s1=s2 или надо писать s1.equals(s2).


 
Vuk ©   (2004-02-06 17:41) [79]

to nikkie:
>но мне также не нравится отсутствие в паскале разделения
>объявлений/реализации не на секции, а на файлы, как в си.
В C/C++ вообще модульности как таковой нет, а разделение на файлы сделано через include. Намек, я думаю, понятен? :o)


 
nikkie ©   (2004-02-06 17:48) [80]

>Намек, я думаю, понятен? :o)
модульность - это что такое? это наличие слов interface/implementation? или что-то иное?

ЗЫ я оскорбил ваши святые чувства? ну тогда - holy war! ;)



Страницы: 1 2 3 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.042 c
1-43633
Ivolg
2004-03-02 12:29
2004.03.14
Стрелки


1-43423
Vlad25
2004-03-03 18:44
2004.03.14
Добавление к версии build


1-43677
Mishenka
2004-03-01 00:16
2004.03.14
Кодировка Dos в RichEdit???


1-43484
Lisa
2004-02-28 16:25
2004.03.14
печать из TStringGrid a


14-43776
ИМХО
2004-02-18 14:53
2004.03.14
Описание RFC (на русском)