![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Вопрос:
Какой язык больше всего похож на Delphi, но при этом имеет возможность определять типы в модуле в произвольном порядке (типы, ссылающиеся друг на друга), возможность определять в разных модулях классы и типы ссылающиеся друг на друга. Делать все это совершенно произвольно, без ограничений на порядок объявлений. При этом нужно чтобы были конкретные от Delphi свойства: - Визуальное программирование под винду. Чтобы можно было бросить готовую кнопку (listbox, combobox, memo, etc) на форму и писать обработчики. - ООП со всеми примочками (виртуальные функции, наследование и т.п.). Желательно: чтобы были свойства (properties), но это не критично. - Компилированная программа должна работать очень быстро. Т.е. язык не должен быть интерпретируемым. - Ну и вообще как можно больше похожестей на Delphi. Идеал - Delphi с возможностью определять ссылающиеся друг на друга типы в разных модулях. Но я так понимаю, что такого делфи нет. Спрашиваю потому что пишу на Delphi и столкнулся с тем, что нельзя объявить ссылающиеся друг на друга классы в разных модулях. В связи с этим появилась мысль перейти на другой язык, без подобных ограничений. Ну и конечно если кто-то скажет как это сделать в Delphi, то это будет просто замечательно. ![]() |
|||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград |
Вопрос похож на - "Миня вчера прижало дверьми автобуса, посоветуйте автобус без дверей"
![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Абсолютно верно. Именно в этом вопрос и состоит. Я не мазохист и наслаждений от прижатия дверями не испытываю. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград |
Однако ж куча народу каждый день ездит на автобусах ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Мнение кучи людей для меня не является критерием истины. Именно свою маленькую проблему я и хочу решить. Глобальные меня не волнуют. Я же не собираюсь заставлять всех ездить в автобусах без дверей. |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
Delphi это lol
![]() |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Вам смешно, а у меня развитие программы остановилось. Как бы не до смеха ![]() Сейчас тестанул C#. Можно классы в разных модулях объявить, как мне нужно. Но... время работы компилированного кода в 2 раза ниже, чем в Delphi (простой цикл выполняется в 2 раза дольше). Жесть. |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
LamerTM,
давно пришел к утверждению что скорость работы программы зависит от кривизны рук кодера вне зависимости от среды... а чем С_два_креста не по нраву ? PS дельфи это и правда lol ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград |
Lazin, в С++ заголовки могут ссылаться друг на друга циклически?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
LamerTM |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Написал код в C#:
Я допускаю что руки кривые. Это мой первый код на С# в моей жизни. И такой же на делфи:
Время выполнения последнего в 2 раза меньше. Как написать код (прямыми руками) на C#, чтобы он работал хотя бы сопоставимое время? PS. Извиняюсь, вы имели ввиду C++ ? Просто у меня его нет. И никогда не было. Изучал в универе, но то было так... называлось Borland C++. Короче, как Borland Pascal. Ни окон тебе, ни кнопочек, ни прочей лабуды. На C++ можно писать приложения как на делфях? Есть какая-нибудь версия C++, чтобы так же просто, без заморочек на интерфейс, писать программы? Ну как Делфи, только вместо паскаля чтобы был С++ (и классы в разных модулях ссылающиеся друг на друга ![]() ![]() ![]() Это сообщение отредактировал(а) LamerTM - 31.7.2009, 20:17 |
||||||
|
|||||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко |
Насчет ссылок в классах не знаю, не занимался этим на плюсах, а вообще C++ Builder.
|
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
LamerTM, В шарпе(точнее в дотнете) вызов метода ToString у структур связан с достаточно затратной операцией боксинга, не думаю, что в дельфях есть что-то подобное. А если так, то эти коды нельзя считать эквивалентными. Попробуй в цикле просто выполнить какую-нибудь матеметическую операцию и присвоить её результат какой-нибудь переменной.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула |
LamerTM, с такими запросами на C++ лучше не обращать внимание. Я бы посоветовал Visual Basic.Net
![]() -------------------- ![]() |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Я неправильно понимаю код? Интересно. Основное время выполняется строка: for(i=0;i<1000000000;i++) {k=k+1;}. Если ее закомментить, то время выполнения падает до нуля. Остальные процедуры (ToString, Now, MilliSecondsBetween) выполняются один раз и на результат не влияют (что подтверждается падением времени вычислений до нуля если кроме них ничего нет). Или в С# в цикле неявно вызывается ToString ![]() |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Извиняюсь, это я невнимательно прочитал. ![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
ну а так в принципе замечаний по коду нет ![]() |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Еще слышал про Microsoft Visual C++ (вроде так). Это не то? Там какая-то принципиальная разница есть? |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко |
LamerTM, это совершенно разные вещи. Builder - клон Delphi, с дополнительными багами и другим языком как основой. MS VC++ - вообще другая вещь, я ее видел вплоть до 6-й версии - это бред, никаких визуальных редакторов, разработка в целом чистым WinAPI и MFC, что бред. И она сейчас трансформировалась в MS VS, насколько я в курсе, в которой на C# в том числе пишут. А если хочешь клон Delphi - это C++ Builder. Он, начиная с 2007, идет в комплекте с дельфой (RAD Studio 2007+).
|
|||
|
||||
Cheloveck |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула |
+1
Эмм... вообще-то в студии есть редактор диалгов визуальный. Можно интегрировать Qt вместе с его редактором форм. MFC и WinAPI далеко не обязательно, я в последнее время пишу на STL + boost, и только графику на чём-то другом. Но повторюсь, C++ - очень сложный язык, он только на первый взгляд белый и пушистый... -------------------- ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград |
Ребята ну глупость же менять язык только потому что невозможны циклические ссылки в заголовках.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
LamerTM,
потестил код , а разве две секунды это много ? |
|||
|
||||
LamerTM |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
А как иначе решить проблему? Или ради сохранения верности языку можно забыть что он предназначен для решения практических задач? То есть вообще перестать развивать программу (потому что это сейчас мне представляется невозможным) и смотреть на заставку Делфи испытывая священный трепет? Я и сам не хочу, я привык к делфям, я их любил. Я пишу на них 6 лет, и ни чем другом таикх больших программ никогда не писал. Но для меня важна цель. Если язык не позволяет ее достичь, то такой язык мне не нужен. Ограничение является искусственным. Оно ненормально. Оно мазохисткое. Сродни приковыванию себя наручниками к постели. Я там конечно посмотрю что еще можно сделать. Конечно в крайнем случае я всю программу забью в один модуль на несколько МБ кода. Но это будет последнее что я сделаю на этом языке. Если конечно не обнаружу ошибку в своих логических рассуждениях. Добавлено @ 12:18
Не 2 секунды, а в 2 раза медленее. 10-30% я еще могу простить. 100% - однозначно язык фтопку. Я лучше все буду писать в одном модуле на делфях, чем удобно но тормозно на C#. Такие вот у меня приоритеты. Скорость для меня очень важна. Я очень много вычисляю, вычисления длятся иногда часами. На C# вместо 30 минут код будет выполняться час. Это сообщение отредактировал(а) LamerTM - 1.8.2009, 12:21 |
||||
|
|||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко |
LamerTM, почитай в сторону unsafe-кода на C#.
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград |
Да ну зачем? Делается абстрактный класс или интерфейс в общем модуле, потом от него наследуются либо как от главного либо как от второго предка. Это мощный механизм инкапсуляции позволяющий строить максимально гибкие приложения. Посмотри на структуру VCL куча модулей с продуманной структурой и ни где нет необходимости циклического включения. Наоборот даже много классов прячется в Imlementation чтобы сокрыть детали реализации и оставить максимально простой интерфейс. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alkash |
|
|||
коллекционер жизни ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 5.7.2004 Где: / |
Погляди в сторону Delphi Prism.
-------------------- Подпись >> /dev/null |
|||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка |
-------------------- ![]() обычный день на винграде |
|||
|
||||
diadiavova |
|
||||||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Честно говоря озадачил ты меня своими тестами так, что я сам засел за тестирование. Дельфей у меня нет поэтому написал на C++. Создал 2 консольных приложения на С++ под Win32 и на шарпе. Сначала результаты были какими-то странными. Ощущение было такое, что на плюсах операции выполняются мгновенно а на шарпе тормозят так, что дождаться результатов просто невозможно. Дело дошло до того, что я написал на плюсах.
и время выполнения было равно нулю. Понятно, что это "дело рук" компилятора, который просто оптимизировал код. Второй тест
показал что-то около 18 секунд, в то время, как на шарпе его аналог выполнялся около 56 секунд ( в три раза дольше). А вот третий тест
на шарпе выполнился даже быстрее чем на плюсах. При этом надо заметить, что третий тест(в отличии от первых двух) оптимизировать вообще невозможно, придётся выполнять. Так что с выводами ты возможно поспешил ![]() ЗЫ Плюсов не знаю, возможно что-то и намудрил. Поэтому прилагаю код.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||||||||
|
|||||||||||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
тема - lol
![]() |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Не понял о чем это, но похоже это какое-то извращение. Мне надо было вставить одну ссылку. А тут столько писать. Да еще модули дополнительные. Вот в упор не понимаю зачем они. С точки зрения здравого смысла не понимаю. Хотя с точки зрения компилятора делфи они может быть и необходимы. "Абстрактный класс", "наследуются", "от предка", хм... так все же классы потомки TObject. Ну я тормоз. Можно определить поле как TObject. А потом обращаться к нему через as. Будет как через ass, но на первое время сойдет. Геморно конечно и неудобно, и даже слегка извращенно, но по крайней мере новых модулей делать не надо и код в кашу смешивать тоже. diadiavova Функция Sin сложная и скорее всего написана в обоих языках на асме. Отсюда другие резалты. В том коде что ты привел, бОльшую часть времени будет выполняться функция sin, то есть команды асма (или как она там реализована), а не команды тестируемого языка. Если функция синуса написана на чистом C#, то я сильно удивлюсь. |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
И что с того? На шарпе в релизе этот тест на моём компе показал 223 миллисекунды, а на плюсах - 7,5 ... СЕКУНД (примерно в 35 раз медленнее). В конечном итоге какая разница что и как реализовано? Если ты пишешь на языке, то используешь те возможности, которые он предоставляет. Тебе нужны вычисления? Пожалуйста - дотнет выполняет их довольно быстро. В каких-то других ситуациях может и тормозит, но зато там масса других вкусностей присутствует, а даром ничего не даётся - за удобство разработки чем-то жертвовать приходится. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Когда нужны функции библиотек языка - это одно. Когда нужен быстрый язык для реализации своих функций - это другое. Я не использую синусы. Я использую только примитивные операции (+-*/) с типами int и double, максимум Round, Trunc и Power. Купил сегодня Borland Developer Studio 2006. За 200 рублей. Надеюсь оно того стоит. ![]() Цикл на C# [ for(i=0;i<1000000000;i++) k=k+1; ] компилится в это: inc dword ptr [ebp-0x18] inc dword ptr [ebp-0x14] cmp [ebp-0x14],0x3b9aca00 jl 0x..... Цикл на Delphi7 [for i := 0 to 1000000000 do k := k + 1;] компилится в это: inc ebx dec eax jnz $-04 (Аж слезы навернулись ![]() Цикл на Delphi 2006 : inc ebx dec eax jnz $-04 (то же что Delphi7 ![]() ![]() C++Builder (BDS2006) inc dword ptr [ebp-$38] inc dword ptr [ebp-$34] cmp [ebp-$34],$3b9aca00 jl $00401bf9 ![]() Все это как бы неиллюзорно намекает, что Delphi рвет всех на части. По крайней мере на этом простом цикле. При этом C++Builder каким-то чудесным образом генерит код аналогичный C#, как по самому коду, так и по тормознутости. 200 рублей на ветер. Ну хоть делфю апргейднул, а то была Delphi7. Цикл и инкремент это еще не все операторы, однако тендеция налицо. Что-то похоже моя идея найти более крутой язык слегка обламывается. |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
LamerTM,
ну и на чем остановились ?)) PS по одному циклу полагать что он обходит C++ с дотнетом как минимум странно а вообще пишите на асме если так важна скорость , я думаю он удовлетворит ваши потребности |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Я и другие операторы посмотрю. Всякое может быть конечно. Но по-моему и так все ясно. Лет 5 назад написал процедуру на асме, чтобы заменить делфийскую для повышения скорости. Скорость не повысилась (в пределах погрешности измерений). Посмотрел код, компилируемый делфи. И проникся, так сказать, глубоким уважением к этому компилятору. Так что писать на асме, имея делфи, совсем не обязательно. Серьезной разницы не получится. В разы - точно. По крайней мере тогда я пришел именно к этом выводу. Тогда тестировался не один цикл, а довольно большая процедура, где было много всего разного. На чем остановился... да вот на том что надо будет думать как жить дальше на делфи, как обходить эти извраты что понаставили его создатели. Не эти бы ограничения, была бы конфетка. |
|||
|
||||
diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
LamerTM, а почему бы тебе не попробовать выполнить тест на каких-нибудь реальных вычислениях. Мне показалось, что я достаточно наглядно продемонстрировал, что тесты на липовом коде - не показатель.
Вот пример, добавь в приведённую программу ещё один тест
На моём компе плюсы показывают 1,168 секунд, а шарп - 1,068. Не 35 раз, конечно, но всё же. Кстати в дебаге шарп тормозит, а плюсы показывают одинаковые результаты. На дельфях проверить не могу. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||
|
|||||
diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
В последнем примере ошибку нашёл
Это чтобы на ноль не делить, работает быстрее, но шарп всё равно даёт немного лучшие результаты. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||
|
|||||
LamerTM |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
diadiavova,
О, это уже интереснее. C# порвал делфю! Код делфи:
На C#:
Резалты: делфи: 1608 мс (запуск экзешника такой же) С#: в дебагере 1.75, запуск екзешника - 1.14 Да, ты прав, тут надо целое исследование проводить. |
||||
|
|||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
LamerTM,
да зачем исследование , просто есть JIT компиляция и непосредственная компиляция на платформу типа C++ и дельфи |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Экзешник надо именно из папки Release запускать.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
LamerTM |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Папка Release это где? Я вот тут подумал, что код не эквивалентен. В С# перебирается Double, а на Delphi - Integer. Double там нельзя. Из-за чего там еще одна переменная получается. Но все равно C# рвет старую делфи. А с D2006 вровень. (у меня C# из BDS2006, если что)
Резалты: Delphi 7 - 1563 ms D2006 - 1000 ms C# - 1.031 s |
||||||
|
|||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
||||
|
||||
LamerTM |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Код генерится один и тот же. Да и как там из тех трех асмовских команд можно сделать лучше, мне, например, не понятно. |
||||
|
|||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
В BDS - не знаю. В VS создаётся два варианта ехешника: один для отладки, другой - как есть, первый запускается не сам по себе, а под контролем дедаггера, естественно на этом производительность падает дальше некуда.
Код можно изменить, например цикл while или что там в дельфях, это вообще не принципиально, я этот код от фонаря написал, первое, что в голову пришло, а чтобы делать выводы надо много тестов провести. Добавлено через 43 секунды Думаю - без разницы. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 |
![]() ![]() ![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
господа, вы кажется не учитываете то, что программа на C# - управляемая, тоесть, там весь код - ненативный, и этот код работает быстрее того, что создает компилятор delphi, что говорит о том, что компилятор delphi - очень плохо оптимизирует код
а BDS2006 видимо уже тоже создает .NET приложение, поэтому результат так похож на C# Добавлено через 1 минуту и 32 секунды это какбэ намекает нам на то, что Delphi, это lol ![]() Это сообщение отредактировал(а) Lazin - 3.8.2009, 15:27 |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Сегодня выяснилось что работа с Clipboard в C# в 3-5 раз медленнее чем в Delphi. Интересно, где еще в C# такие тормоза. Лучше бы знать это сразу, а не после того как мегабайт исходников напишу.
|
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
1Мб исходников?
допустим ты нажимаешь клавишу 1 раз в секунду, тогда, что-бы написать 1Мб исходников, тебе потребуется более 12 часов непрерывной работы ![]() |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Ааааа!!!! Тема доставляет.
Аффтар сферический долбламер в вакууме. Тот самый, про которого ходят легенды и складают былины. Жгите дальше, я подписался. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix |
Среди ИТ-шников ооочень не редки случаи фанатизма. Но в некоторых он достигает умопомрачительных высот
![]() |
|||
|
||||
RockClimber |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре |
Вот если честно, не очень верится, что умные делфисты советовали свалить весь код в один модуль (вот если не секрет, конечно, можно ссылку, где это советовали?). Если же "свалить все в один модуль" - это единственное, что приходит в голову автору, то могу только поддержать вариант "прекратить развитие программы". Кстати, циклические ссылки в Delphi делать можно. Модуль 1 ссылается на модуль 2 в разделе interface, а модуль 2 на модуль 1 - в разделе implementation. Этакая "получиклическая" ссылка. Точно не помню, но вроде должно работать. Есть еще visual basic, там все модули друг друга видят одновременно, и более того, их друг от друга скрыть просто нельзя (максимум, сделать приватные методы и переменные). Лирическое отступление: Когда Ахматова показала свои первые стихи мужу, тот посоветовал ей заняться танцами. Однако она своего добилась и получила признание вовсе не в балете. Автор топика пока находится на стадии таких вот "первых стихов", имхо... Добавлено через 4 минуты и 8 секунд
Ну точно ламер. Все нормальные люди качают из торрентов, бесплатно и не выходя из дома. А если серьезно, сформулируй проблему в наиболее общем виде и почитай книжку про паттерны. Вдруг что пригодится... Добавлено через 6 минут и 16 секунд Ах да, проблема должна быть сформулирована не "как сделать-таки циклическую ссылку" а "какая еще структура данных может решить мою задачу". -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
||||
|
|||||
LamerTM |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
http://programmersforum.ru/showthread.php?p=303360 http://www.aspfree.com/c/a/.NET/The-Delphi...guage-Part-2/3/
Программу я еще несколько месяцев назад решил переписать всю заново, с нуля. В любом случае буду это делать. Вопрос был только в том, на каком это будет языке.
Не будет работать. Классы имеют ссылки друг на друга в своем объявлении, которое в интерфейсной части. Для таких вещей в делфи придуманы предварительные объявления классов. Но они работают только внутри одного модуля. А для классов в разных модулях такое не придумали.
Да решить-то задачу можно. Но это же будет изврат. Писать таким образом неудобно. Я хочу чтобы программирование было удобным, а не самоистязанием. В паскале и так много лишних телодвижений надо делать. Мне он всегда этим не нравился.
Я на C# остановился. Почти портировал одну свою небольшую программку. Приятный язык конечно. Только клипбоард что-то тормозит. Думаю как его можно ускорить. |
||||||||||
|
|||||||||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Что за программа? Мне для себя, поржать. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
Artemon |
|
|||
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск |
LamerTM, это ваш код ?
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре |
LamerTM, по приведенным выше ссылкам только вопросы про циклические ссылки и никаких попыток объяснить, зачем они нужны. Могу только удачи пожелать, она вам понадобится...
-------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
А какая разница зачем они нужны. Есть задача сделать циклические ссылки. А для чего - это к вопросу не относится. |
|||
|
||||
NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Разница большая. Есть подозрение, что ты жутко тупишь. Ибо я за семь лет программирования самых разных задач на самых разнообразных языках ни разу не встречал необходимости создать "циклические ссылки". -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Ну если у тебя были задачи только из университета, то конечно. Впрочем, я уже понял что у крутых программеров, которые не тупят, ничего более сложного, чем кидать на форму компоненты, не было. PS В 23 года 7 лет программирования ? ![]() ![]() ![]() ![]() |
|||
|
||||
NightmareZ |
|
||||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 |
Я не буду показывать коммерческие проекты, в которых участвовал. Ибо нет желания светиться где я работал. Но на поделки, которыми я занимаюсь в свободное время, ссылки дам. Думаю, этого будет достаточно. FlowchartBuilder - редактор диаграмм. Применяемые средства: C#, VB.NET, F#. ![]() ![]() Bulldozer - редактор карт высот. Применяемые средства: C#. ![]() MakarovPhysics2 - комплекс физических программ (версия 2). Применяемые средства: изначально писал на Delphi, но сейчас перевёл разработку на C#. ![]() ![]() Можешь глянуть ещё моё портфолио на фриланс.ру: http://freelance.ru/users/NightmareZ Представляешь, да, я с 16 лет работал программистом.
Разница между нами в том, что я семь лет участвовал в разработке крупных проектов в командах от 20 человек, ты же в это время онанировал на Бритни Спирс. -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
||||
|
|||||
LamerTM |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 11.3.2006 |
Улыбнуло.
![]() ![]() Безосновательный переход на личности. Ты что видел как я онанировал на Бритни Спирс? Нет. Значит выдумал. Может ты и всё остальное выдумал (про коммерческие проекты свои)? ![]() Ну я надеюсь ты хотя бы поржал, а то ведь подписывался? ![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re |
а у меня 22 сантиметра, losers
![]() |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре |
Дальше говорить бесполезно, сдаюсь.
Я пацтолом. ![]() -------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
![]() |
|||
|
||||
Shaggie |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space |
Тогда понятно, отчего такие вопросы появляются. И про циклические ссылающиеся классы, и про наиболее дельфеобразные языки.
Ну конечно, что нет ничего проще и тупее программирования. Тут и спорить не о чем.
А вы у них спросили перевод на русский, или он сам собой придумался? Предложение-то вовсе не лишено смысла. Alexeis уже посоветовал решение с продуманной архитектурой, поразмысли над ним. Это лучше, чем флудотроллинг разводить. |
||||||
|
|||||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) |
Кто считает что Делфи лол, тот просто не умеет кодить, это типа если сказать что китайский лучше чем английский. Выразить свои эмоции можно как на китайском так и на английском, проблемма может заключаться только в недостаточном знание одного из языков. Так и тут.
А как вам такая идея, нет универсального языка! ;) Кодер не говорит я умею юзать C++ или Делфи, он говорит а на каком языке надо? ;) Если скорость работы проги не зависит от рук, то:
заюзай асм. ![]() Если вы говорите что делфи это лол, то как вам Бейсик? ;) Кому интересно почитайте вот это: http://orencode.info/forum/showthread.php?t=2458 думаю мнение о том что с++ круче делфи, а делфи круче бейсика у вас пропадет. ;) Это сообщение отредактировал(а) ConstantinXXX - 20.9.2009, 21:33 --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
ConstantinXXX,
про японский язык и эмоции.... если оба собеседника знают английский зачем нужен китайский ?)) и кодер вообще чаще всего молчит , так как чаще всего говорят что надо и как , а как это будет РЕАЛЬНО реализоваться заказчику очень часто бывает все равно , главное что бы работало pureBasic это вообще какой то страх божий, по сравнению с ним любой BrainFuck кажется намного проще |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) |
wester, вот я про тоже, если оба знают китайский тогда зачем им другой язык, тут тоже самое если хорошо знаешь делфи, то и с++ не нужен, и так же наоборот.
А насчет пуребейсика чет недопонял, хочешь сказать что вот это: http://orencode.info/forum/showthread.php?t=1076 лучше чем pureBasic ![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
ConstantinXXX,
угу, именно так после pureBasic , человек с нулевым опытом программирования вообще не поймет , что такое утечки памяти и зачем нужны всякие классы и методы это так сказать кузница всяких ###-кодеров, которые вместо for будут цепочки goto и прочие перлы BrainFuck хотя бы показывает что есть ячейки памяти и как с ними работать |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) |
wester, а зачем новичку это?
![]() Думаю у начинающих и так проблем будет докучи, и без всяких утечек памяти и т.п. ;) --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
DeadLine |
|
|||
![]() Мыслитель ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 736 Регистрация: 16.2.2006 Где: Готем |
Повторюсь с началом темы,но английский
|
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
ConstantinXXX,
начинающему до поры незачем , но такие поделки как pureBasic , портят весь будущий стиль написания программ |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) |
wester, да чем же pureBasic вам не нравиться? =)
Я тоже думал что бейсик это фигня, но после вот этих статей: http://orencode.info/forum/showthread.php?t=2458 http://orencode.info/forum/showthread.php?t=2528 http://orencode.info/forum/showthread.php?t=2493 http://orencode.info/forum/showthread.php?t=2461 сменил свое мнение, если бы было свободное время начал бы юзать его (для саморазвития). ;) --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
ConstantinXXX,
таки не увидел ничего выдающегося , скажи ради чего нужно знать основы pureBasic? читал листинги и думал что с таким диалектом семейство basic-подобных языков очень сильно отупело и застопорилось |
|||
|
||||
ConstantinXXX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) |
wester, я просто показал альтернативу.
![]() Я лично начинал программирование с VB.net. Потом самостоятельно перебрался на делфи, а потом понеслось, php, асм, html ![]() Так что не надо говорить что например делфи хуже чем с++ и т.п., ![]() --------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 |
ConstantinXXX,
сам начинал с pascal , еще со школьной скамьи , сейчас крепко засел за C#)) во многих аспектах delphi конечно хуже.... хотя скорее это во мне говорит отвращение ко всем паскалеподобным языкам)) |
|||
|
||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |