Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Вниз

DELPHi На ubuntu   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2008-12-11 13:54) [40]

> pasha_golub  (11.12.2008 13:31:39)  [39]

И появится Эльфа


 
Городской Шаман   (2008-12-11 14:17) [41]


> pasha_golub ©   (11.12.08 13:31) [39]
>
>
> > Вывод - Delphi современный FoxPro, где можно быстро в
> одиночку
> > нашкрябать еще один учётный проект для малого бизнеса.
>
>
> И когда ж сдохнет оно (она, он) это Делфя.


Тогда когда и Cobol...


 
Кто б сомневался ©   (2008-12-11 15:29) [42]


> И когда ж сдохнет оно (она, он) это Делфя.


На данный момент существует 2 известных нативных языка С++ и Delphi.
С++ уже потихоньку отмирает, поэтому давайте лучше разрешим Delphi  жить, все таки это хороший конкурент.


 
pasha_golub ©   (2008-12-11 15:44) [43]

Я думал все поймут, что я издеваюсь. Ан нет.

PS Java sucks!


 
tesseract ©   (2008-12-11 15:45) [44]


> На данный момент существует 2 известных нативных языка С++
> и Delphi.


А C / Objective-C, Python (он тоже компилируеться). Уже не известные языки ? С++ умирает с момента выхода в свет, пока попка  живой.


 
Городской Шаман   (2008-12-11 15:55) [45]


> Кто б сомневался ©   (11.12.08 15:29) [42]
>
>
> > И когда ж сдохнет оно (она, он) это Делфя.
>
>
> На данный момент существует 2 известных нативных языка С++
> и Delphi.
> С++ уже потихоньку отмирает, поэтому давайте лучше разрешим
> Delphi  жить, все таки это хороший конкурент.


Вот когда Embacerdo выпустит Delphi для микроконтроллеров, то я задумаюсь над вашими словами.


 
Городской Шаман   (2008-12-11 15:59) [46]

А по поводу языков с возможностью компиляции в нативный код - вот:
The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada
http://gcc.gnu.org/

Это только один из компиляторов, причём открытый.


 
iZEN ©   (2008-12-11 17:58) [47]


> Vampire Hunter D.   (11.12.08 08:13) [28]
>
> iZEN   (11.12.08 03:35) [24]
>
> Я думаю, вы должны знать про CDT.


Eclipse-CDT? Не поверишь оно на Java написано с элементами JNI-вызовов к нативным компонентам. :O


 
iZEN ©   (2008-12-11 18:09) [48]


> Anatoly Podgoretsky ©   (11.12.08 09:37) [33]
>
> > iZEN  (11.12.2008 3:32:23)  [23]
>
> Стой а не ты ли это утверждал про 1.5 и теперь сливаешь?
>

Что утверждал насчёт 1.5?


> DVM ©   (11.12.08 10:30) [34]
> Кстати, приведенный тобой пример в [12] уже свидетельствует
> не в пользу Java.

Давай исходники — я напишу тест для Java, когда время свободное будет, протестируем.


> DVM ©   (11.12.08 10:30) [34]
> Кстати, приведенный тобой пример в [12] уже свидетельствует
> не в пользу Java.

Тесты показали, что основные свойства динамически сгенерированного кода JIT находятся на том же уровне качества и быстродействия, что и нативный код, полученный после статической компиляции (правда, в Delphi плохой оптимизатор для работы со строковыми данными, а если принять во внимание то, что она работала с однобитной кодировкой Cp1251, а Java с 16-битной UCS2, то разница в скорости конкатенации юникодных строк будет ещё более ужасающей).


> DVM ©   (11.12.08 10:40) [35]
>
>
> > iZEN   (11.12.08 03:32) [23]
>
> Простая вещь:
>
> 1) Загрузка JPEG 1600*1200 неважно откуда (сеть/файл/ит.
> д.).
> 2) Декодирование.
> 3) Поворот на 90 градусов
> 4) Уменьшение до 800*600
> 5) Вывод битмапа на поверхность окна
>
> 2-5 повторить 1000 раз.

http://cerncourier.com/cws/article/cnl/34848
подойдёт? :)


 
iZEN ©   (2008-12-11 18:14) [49]

http://java.sun.com/javaone/sf/2008/articles/gosling_toystory.jsp


 
Городской Шаман   (2008-12-11 18:46) [50]


> iZEN ©   (11.12.08 18:14) [49]
>
> http://java.sun.com/javaone/sf/2008/articles/gosling_toystory.jsp


А слабо Сталкер на Java?


 
Anatoly Podgoretsky ©   (2008-12-11 19:27) [51]


> Что утверждал насчёт 1.5?

Вот это

> Современные версии Java 6.0 и 6u11 (1.6.x) гораздо быстрее,
>  чем Java 5.0 (1.5). Даже тестировать неудобно — по ощущениям
> (глаза, руки) заметно.

Я помню как ты хвалил 1.5, а теперь оказывается даже неудобно.


 
DVM ©   (2008-12-11 21:39) [52]


> iZEN ©   (11.12.08 18:09) [48]


> подойдёт? :)

Не. Я конечно понимаю, что на Java написана куча отличных программ, но хотелось бы просто провести некий синтетический тест типа Delphi vs Java.
Я предложил сравнить графику, т.к. в преимуществе нативного языка в этой области я не сомневаюсь (особенно учитывая, что в ход можно пустить DirectX, Intel IPP и даже CUDA), но можно протестировать и по полной в разных областях. Мне было бы интересно, т.к. с делфи я вобщем то знаком неплохо, а вот Java только только коснулся.


 
iZEN ©   (2008-12-11 23:05) [53]


> Anatoly Podgoretsky ©   (11.12.08 19:27) [51]
> Я помню как ты хвалил 1.5, а теперь оказывается даже неудобно.

Не приписывайте мно того, чего я не говорил!

Уж чего-чего, а Java 5.0 я точно не хвалил. Мне не понравились новые обобщённые типы и введение класса StringBuilder наравне со старым StringBuffer, вместо того, чтобы всю оптимизацию сделать на уровне системного класса String. По-хорошему, класс String надо сделать мутабельным, обеспечить его дескриптором безопасности (чтобы можно было влиять на его мутабельность), а класс StringBuffer объявить "deprecated", и не заниматься ерундой. Поэтому долгое время (до выхода Java 6.0) занимался исключительно Java2 1.4.2.

Java 6.0 ввела такое понятие, как инлайнинг и задействование стэка процессора вместо кучи для инстанцирования короткоживущих объектов. Это в разы ускоряет производительность и экономит память. Кроме того, появились разные сборщики мусора с отличными стратегиями. Определённо, что Java 6.0 (1.6) — действительно инновационная технология, в отличие от "экспериментальной" Java 5.0 (1.5), которая делалась скорее для обкатки новых идей, чем для продакшена.


 
Sapersky   (2008-12-12 16:38) [54]

хотелось бы просто провести некий синтетический тест типа Delphi vs Java.
Я предложил сравнить графику, т.к. в преимуществе нативного языка в этой области я не сомневаюсь


В своё время наткнулся на программу обработки изображений на Java:

http://people.cs.vt.edu/~lithomas/robustestimation/imageprocess.java

Фильтр Гаусса (GaussianSmooth) на Дельфи у меня есть. Если вы сможете запустить Java-код (я вообще не в курсе как это делается) и засечь время - можно сравнить.


 
iZEN ©   (2008-12-12 20:19) [55]


> Sapersky   (12.12.08 16:38) [54]
> Фильтр Гаусса (GaussianSmooth) на Дельфи у меня есть. Если
> вы сможете запустить Java-код (я вообще не в курсе как это
> делается) и засечь время - можно сравнить.

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


 
DVM ©   (2008-12-12 21:01) [56]


> iZEN ©   (12.12.08 20:19) [55]


> Запустить что, простите?

Взять этот класс и использовать его для гауссовского размытия изображения (тестовое приложение создать). Правда не совсем понятно, что передавать в float [][] inImage, массив бит, но что за массив, какова цветность изображения и т.д.


> Sapersky   (12.12.08 16:38) [54]

Но чтобы сравнить, надо иметь идентичный код (тот же алгоритм так же реализованный) но на Delphi. Он у вас есть? Т.е. он портирован из Java кода или другая реализация?


 
Sapersky   (2008-12-12 21:28) [57]

Правда не совсем понятно, что передавать в float [][] inImage, массив бит, но что за массив, какова цветность изображения и т.д.

Там написано - gray values, т.е. 8 бит.

Но чтобы сравнить, надо иметь идентичный код (тот же алгоритм так же реализованный) но на Delphi. Он у вас есть? Т.е. он портирован из Java кода или другая реализация?

У меня совсем другая.
По-хорошему - да, надо чтобы был идентичный... а то я заранее могу сказать, что этот медленнее моего, потому как используется float вместо byte.
Ну смотрите, что проще - переводить Java-код на Delphi или наоборот. Если надо, подготовлю упрощённую версию своей функции (в текущем виде там много лишнего). Или взять что-нибудь из FastLIB, то же масштабирование картинки (Bilinear, FastResize), или какой-нибудь спецэффект.


 
iZEN   (2008-12-13 12:08) [58]

http://www.stefankrause.net/wp/?p=9


 
iZEN   (2008-12-13 12:14) [59]

Интересный момент:
http://balancer.ru/tech/forum/2008/02/t60021--CHto,gospoda-surovye-S-plus-plus-program.html


 
iZEN   (2008-12-13 15:34) [60]

Вот ещё удивительный ресурс:
http://processing.org/


 
Игорь Шевченко ©   (2008-12-13 15:44) [61]

Я одного не понимаю - чем вы тут меряетесь ?


 
boa_kaa ©   (2008-12-13 19:14) [62]


> Игорь Шевченко ©   (13.12.08 15:44) [61]
>
> Я одного не понимаю - чем вы тут меряетесь ?

кто больше произведет


 
koha!   (2008-12-13 19:47) [63]

C# - оказалася быстрее делфи ...
- вот сравнивал вызоф 1000000 функции StringReplace
результаты:
C# - ~700 ms
D2006 = ~2700 - 2800 ms
моя самопальня функция "StrReplace" в замен В2006 = ~2200 - 2400 ms  

private void button1_Click(object sender, System.EventArgs e)
{
 int bgnTime = System.Environment.TickCount;
 string Appdata = System.Environment.GetEnvironmentVariable("Appdata");
 string dubleAppdata = "";
 for (int i = 0; i < 1000000; i++)
 {
   dubleAppdata = Appdata.Replace("\\","\\\\");
 }
 int FullTime = System.Environment.TickCount-bgnTime;
 textBox1.Text = dubleAppdata + " "+FullTime.ToString();
}

procedure TForm1.Button3Click(Sender: TObject);
var
 BgnTime,LastTime,TestTime: Integer;
 i: integer;
 S, DubleAppData: String;
begin
 BgnTime:=GetTickCount;
 S:=GetEnvironmentVariable("AppData");
 for i:=1 to 1000000 do begin
   StringReplace(S,"\","\\",[rfReplaceAll]);
 end;
 LastTime := GetTickCount;
 TestTime := LastTime-BgnTime;
 //if TestTime > 1000 then TestTime := TestTime div 1000;
 Memo1.Lines.Add("End test StringReplace: time = "+IntToStr(TestTime)+ " mc");
end;

function StrReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
var
 SLen,  NPLen,Index, Count : Integer;
 temp, SearchStr, Patt  : String;
begin
 Count  := 1;
 Index  := 1;
 SLen   := Length(S);
 NPLen  := Length(OldPattern);
 if (S = "") or (OldPattern = "") then Exit;
 Setlength(temp,NPLen);

 if rfIgnoreCase in Flags then
 begin
   SearchStr := AnsiUpperCase(S);
   Patt      := AnsiUpperCase(OldPattern);
 end else
 begin
   SearchStr := S;
   Patt      := OldPattern;
 end;

 While true do begin

   if (Pred(Count)+NPLen) > SLen then begin
     Result:=Result+Copy(SearchStr,Index,(Count+NPLen)-Index);
     Break;
   end;

   Move(SearchStr[Count],temp[1],NPLen);
   if temp = Patt then begin
     Result:=Result+copy(SearchStr,Index,count-Index)+NewPattern;
     inc(count,NPLen);
     Index:=count;
     if Not (rfReplaceAll in Flags) then begin
       Result:=Result+Copy(SearchStr,Index,(Count+NPLen)-Index);
       Break;
     end;
     continue;
   end;
   inc(count);
 end;
end;


 
koha!   (2008-12-13 20:04) [64]

Может быть Делфа и лучше всех, но знают об этом только вы - "мастера", а остальные, например, работодатели просто посылают в Ж..пу дляних дешевле купить VS 2005 со всеми пребамбасиками чем не понятно за что блатить VC2005$ < BDS$
VC 2005 в комблекте предлагает заменшие гроши еще и Vista для тестировани и Windows server для тестирования и MSSQL сервер для тестирования и все это предачу гдето ~ за 2500$ А что предлагает Codegear за теже гроши? скромно D7? и все?


 
Узурап   (2008-12-13 20:14) [65]


> Я одного не понимаю - чем вы тут меряетесь ?


ИЗЕН сейчас еще и сказки о фрибсд достанет.


 
palva ©   (2008-12-13 20:26) [66]

Если вернуться к сабжу, то ответ на вопрос очевиден. Производителем Delphi является Codegear, а эта контора Delphi под Ubuntu не производит. Никакая другая фирма производить продукт под той же торговой маркой не имеет права. Следовательно Delphi под Ubuntu нет.


 
Узурап   (2008-12-13 20:33) [67]


> Следовательно Delphi под Ubuntu нет.


оно и не надо. убунту тоже не надо
под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
если хватит денег, или, если открытый проект - QTCreator+Qt
также всякие скриптовые языки и ява


 
Городской Шаман   (2008-12-13 21:25) [68]


> Узурап   (13.12.08 20:33) [67]


Если ну нужно угламереного интерфейса то достаточно C++ и wxWidgets + визуальный редактор, там их несколько - выберите по вкусу.

А С++ с "магией" не хуже delphi по удобству разработки.


 
@!!ex ©   (2008-12-13 22:42) [69]

> под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)

Всегда интересовало.. что такое "юзабельно"?


 
Городской Шаман   (2008-12-13 22:46) [70]


> @!!ex ©   (13.12.08 22:42) [69]
>
> > под gnu\linux есть fpc и lazarus (хотя оно не юзабельно)
>
> Всегда интересовало.. что такое "юзабельно"?


За дебагер в Lazarus нужно заставлять этих программистов писать на асме ПО для бухгалтерии. Вот это неюзабельно. Кроме того проще притащить вместе с программой jdk чем тащить этого монстра.

Хотите кросплатформенности - берите java или c++.


 
Узурап   (2008-12-14 14:48) [71]


> Всегда интересовало.. что такое "юзабельно"?

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


 
@!!ex ©   (2008-12-14 16:02) [72]

> [71] Узурап   (14.12.08 14:48)

Да ну...
дебагер там и правда отстойный... Благо можно другие дебагеры использовать.
А все остальное - вполне рабочее.


 
Узурап   (2008-12-14 20:02) [73]

Я не говорил, что не рабочее.
Но после eclipse и qtcreator`a оно уныло очень.


 
wicked ©   (2008-12-15 00:45) [74]


> Кроме того проще притащить вместе с программой jdk чем тащить
> этого монстра.

ага, тащи
то-то же, таскунов развелось :(


 
atruhin ©   (2008-12-15 12:14) [75]


> - вот сравнивал вызоф 1000000 функции StringReplace
> результаты:
> C# - ~700 ms
> D2006 = ~2700 - 2800 ms
> моя самопальня функция "StrReplace" в замен В2006 = ~2200
> - 2400 ms  

А вот я сравнил:
стандартная StringReplace - 1890
моя реализация StringReplace - 187
Так что дело не на чем писать, а как.


 
Cobalt ©   (2008-12-15 14:05) [76]


> atruhin ©   (15.12.08 12:14) [75]
> А вот я сравнил:
> стандартная StringReplace - 1890
> моя реализация StringReplace - 187


А можно на эту функцию взглянуть?


 
@!!ex ©   (2008-12-15 14:08) [77]

> [76] Cobalt ©   (15.12.08 14:05)

да там небось чистый асемблер. :)
так что дело не на чем писать.. а на чем писать на ассемблере. :)


 
Anatoly Podgoretsky ©   (2008-12-15 16:59) [78]

> @!!ex  (15.12.2008 14:08:17)  [77]

Не мешало бы взглянуть на исходные данные и методику теста.


 
Sapersky   (2008-12-15 17:08) [79]

так что дело не на чем писать.. а на чем писать на ассемблере

По моему опыту, дельфийский компилятор не так плох, как о нём принято думать... хотя, если работаешь в основном с floating-point кодом, у тебя вполне может быть противоположный опыт.

По StringReplace:
http://www.fastcode.dk/fastcodeproject/fastcodeproject/10.htm
Кстати, разница между asm (Blended, 14.1) и pas (13.8) - всего 2%.

В BDS2006 и далее фасткодовские функции (все или нет - не в курсе) используются в качестве стандартных.


 
Sha ©   (2008-12-15 17:16) [80]

> Cobalt ©   (15.12.08 14:05) [76]

http://new.fastcodeproject.org/fastcode-challenges/challenges/37-challenges/45-ansi-stringreplace.html

разница 9-15 раз в зависимости от процессора



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

Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.011 c
6-1179533427
anthems
2007-05-19 04:10
2009.02.08
IdFTP


6-1198670146
DmT
2007-12-26 14:55
2009.02.08
ICQ


2-1229951317
девушка
2008-12-22 16:08
2009.02.08
Как организовать работу с БД через хранимые процедуры?


2-1230373858
antonn
2008-12-27 13:30
2009.02.08
создание переменных в cmd


15-1229007794
Кто б сомневался
2008-12-11 18:03
2009.02.08
За смайлик ;-) теперь нужно платить 10000$





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский