Re[5]: Чем вам всем не угодил Delphi?
От: Lloyd Россия  
Дата: 30.04.08 11:49
Оценка:
Здравствуйте, kuj, Вы писали:

L>>Видимо имелось в виду то, что формат dfm-а время от времени перестает пониматься более новой версией IDE.


kuj>Microsoft движется (хоть и медленно) в правильном направлении со своим Visual Studio — начиная с VS 2005 все файлы проектов C# и VB это не что иное, как xml-скрипт msbuild. Солюшен VS 2005 можно собрать без самого VS 2005 — просто вызвав msbuild <name>.sln, где msbuild идет в поставке с .NET Framework, начиная с .NET 2.0.

kuj>Msbuild сам по себе фактически полный аналог (функционально) nAnt`у. Позволяет писать фактически какой угодно сложности сценарии по сборке, тестированию и deploying`у.

Я очень рад, что ты это знаешь, но при чем тут это?
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[3]: Чем вам всем не угодил Delphi?
От: CreatorCray  
Дата: 30.04.08 11:49
Оценка: +2
Здравствуйте, iiice, Вы писали:

I>Так и запишем: QIP и Total Commander — низкого качества.А мужики-то не знают

Дык факт! :P
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 30.04.08 11:54
Оценка:
Здравствуйте, hattab, Вы писали:

H>Ну во прикинь на каких машинках захочет работать .Net FW 3.0, а 4.0? А потом захочет Висту. Ну дальше развивать не буду пожалуй

.NET Framework бесплатен, кто мешает положить вместе с дистрибутевом фреймворк?

H>SOAP-сервис Delphi чем-то хуже SOAP-сервиса на .Net/Java?

Хуже. В WCF можно параметры сервиса (протоколы и пр.) поменять в конфиге, не трогая код.
Re[13]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 11:55
Оценка:
Здравствуйте, hattab, Вы писали:

H>>>Давай не будем углубляться в эту тему. В вопросе о цене владения перевес будет явно не на стороне .Net (но мне эту тему развивать не сильно интересно)


kuj>>Это с какой это радости-то?


H>Ну во прикинь на каких машинках захочет работать .Net FW 3.0, а 4.0? А потом захочет Висту. Ну дальше развивать не буду пожалуй


Ну захочет Висту и что? К тому времени XP давно уже не будет продаваться и скорее всего уже будет Windows 7...

.NET 2.0 работает себе на древней Windows 98, которой уже ОЙ как много лет...

К тому же все это копейки на фоне стоимости разработки и сопровождения.

Как в Delphi обстоят дела с unit test`ами? О каком scalability приложения может вообще идти речь, когда нет ни unit test`ов, ни DI/IoC?...

H>>>Ты знаешь, для меня веб-разработка, где-то очень далеко за горизонтом В демосах есть примеры реализации интернет магазинов/каталогов. Посмотри, если интересно. У Борланда QualityCentral работает на этом.


kuj>>Только все это прошлый век на фоне современных web-приложений .net и java.


H>SOAP-сервис Delphi чем-то хуже SOAP-сервиса на .Net/Java?


Web-приложения это далеко не только SOAP и таки да — хуже, так как сложнее в разработке и сопровождении. По вышеозначенным причинам.
Re[4]: Чем вам всем не угодил Delphi?
От: DOOM Россия  
Дата: 30.04.08 11:59
Оценка:
Здравствуйте, lifrsdn, Вы писали:

L>Здравствуйте, DOOM, Вы писали:


L>>>1. Объявление переменных в месте использования. Не критично, но ползти в var неприятно.

DOO>>На вкус и цвет — когда в одном месте, оно читабельнее.

L>Чем читабельнее? Особенно, когда временных много.

Тем и читабельнее. Почему-то в исходники самбы, написанной на C я могу въехать за пару тройку часов, а в среднестатистическую C++'ную программу и за пару дней не въеду.
Временные переменные при этом есть везде — но вот возможность на каждый блок объявить свою, как ни странно, сильно захламляет код.


L>>>2. Переопределяемых операторов. Часто сложная математика выглядит с ними привычнее.

DOO>> Читать потом тяжко...
L>
DOO>>CString str;
DOO>>...
DOO>>(char *)str //вот и пойми, что это перегруженный оператор на самом деле :xz:
L>


L>Во-вторых — оно в каких случаях нужно-то?

Что конкретно? Понять, что это перегруженный оператор? Это нужно когда читаешь/модифицируешь чужой код.

L>>>3. Вынесу отдельно — возможности построения типов с поведением, как у стандартных.

DOO>>А подробнее? Вроде все строилось как надо...
L>С большими числами, с особоточными числами, с тензорами формулы записывать не пробовали?
А все понял, что имелось ввиду...


L>>>4. Препроцессор. Да его ругают, но лучше иметь возможность его использовать.

DOO>>Используй внешний (и отлаживаться проще).
L>Так тут вопрос в том, что есть выбор.
Дак тут замечание о том, что препроцессор к языку отношения не имеет (хотя к IDE имеет, не спорю).


L>Ну это, кстати, всё мелочи. По основным пунктам возражений что лучше нет?

А каким основным?
Про деструкторы? Что-то есть — я просто сейчас уже точно не смогу грамотно на эту тему поспорить.
Про обязательность вызова конструктора как-то не понял, что имелось ввиду.
Шаблоны — на вкус и цвет. Мне они как-то не нравились в свое время.
Про оптимизатор на уровне Intel C++ — ну и сколько процентов народу используют этот компилятор? А у остальных тоже не такие уж выдающиеся результаты по сравнению с ним.
Re[10]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:00
Оценка: +1 :)
Здравствуйте, DOOM, Вы писали:

TEO>>Кто-нибудь может то же самое написать для Delphi?


DOO>Еще раз: криптосинтаксис лучше всего развит в перле. Приведенное выше — детский лепет, по сравнению хотя бы с этим:


Давайте не будем меряться криптосинтаксисом!

Re[4]: Чем вам всем не угодил Delphi?
От: Sinclair Россия https://github.com/evilguest/
Дата: 30.04.08 12:00
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Не знал . А пример можно?

На всякий случай напомню, что автор Delphi (точнее, Object Pascal) перешел из инпрайз в майкрософт и последние много лет занимается разработкой языка C# и оказывает влияние на всю .Net платформу.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Чем вам всем не угодил Delphi?
От: wallaby  
Дата: 30.04.08 12:03
Оценка:
Здравствуйте, goto, Вы писали:

G>Сей ужас был в основном пораньше, > 10 лет назад. Из-за этого, в частности, многие вещи, совершенно не вычислительные, когда-то даже писали на FORTRAN IV, это был едва ли не единственный общий знаменатель. Потом им стал С.


Там где я начинал трудовую деятельность мейнфрейм (IBM/360) сдали на металлолом около 15 лет назад. Кстати, в нём была куча драгметаллов, вырученных денег хватило на несколько самых современных по тем временам персоналок. А cофт (в основном Кобол, меньше — Фортрана и PL) переводили на FoxPro, когда я оттуда уволился.
---
The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true
Re[6]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 30.04.08 12:05
Оценка: 1 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, hattab, Вы писали:


H>>Пример использования:

H>>
H>> <skip>
H>>


MC>Ага, пасиб. А можно, например, зная имя класса, получить экземпляр этого класса? Как Class.forName() плюс Class.newInstance() в Java?


Можно. Для потомков TPersistent даже RTTI не требуется, это штатное поведение. Через RTTI тоже можно, с условием, что у класса будет виртуальный конструктор. Но даже и без этого условия можно, только будет сильно сложнее.
FindClass('TButton').Create;
Re[14]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 30.04.08 12:07
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, hattab, Вы писали:

H>>SOAP-сервис Delphi чем-то хуже SOAP-сервиса на .Net/Java?

MC>Речь не о SOAP-сервисах, а о создании веб-морд. Т.е. упрощенно — когда есть HTML-шаблоны и java/.net код, который на их основе хитро генерит динамические страницы. Ну, короче, как в php.


WebSnap. Ребята, оно было еще в 6 версии. Intraweb еще круче
Re[10]: Чем вам всем не угодил Delphi?
От: TheEvilOne Россия  
Дата: 30.04.08 12:09
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Здравствуйте, TheEvilOne, Вы писали:


TEO>>Кто-нибудь может то же самое написать для Delphi?


DOO>Еще раз: криптосинтаксис лучше всего развит в перле. Приведенное выше — детский лепет, по сравнению хотя бы с этим:

<skip>
Я против перла ничего не имею и не говорил. Только вот Вы забыли, откуда что взялось.
По поводу детского лепета — то же самое можно сказать и о приведенной Вами программе.
Re[7]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:10
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>>>Не может быть никаких фризов. Сборщик муссора ведь не в главном потоке приложения выполняется.


H>>>Суслика видишь? Нет. А он есть (c) ДМБ. А сборщику не нужно лочить кучу, чтоб дефрагментацию делать? А процы уже у всех поголовно двух/четырех головые?


kuj>>То, чего пользователь не видит для него не существует. Это только то, что имеет значение.


H>Я в WindowsLiveWriter наблюдаю периодические фризы. Не стану утверждать, что это GC или JIT. Но они есть.


Я тебе как разработчик .Net с 99% вероятностью скажу, что фризы эти, если они и имеют место, не имеют отношения к GC.

kuj>>В том, что GC один на всех. Если один процесс пнет его — очисти кучу в то время, как другой процесс нагружает его alloc`ами, то что произойдет? GC сам должен регулировать этот процесс, чтоб для пользователя он был абсолютно незаметным.


H>Мы точно о Delphi говорим?

Конечно нет. В Delphi (не .NET) нет GC.

H>Какие там разные процессы? Или ты про разные Delphi-процессы? Там же нет такого отдельного понятия, как GC в .Net/Java. Просто есть типы с управляемым временем жизни. Вышла переменная из области видимости -- компилер ее тут же зафиналил. Все просто и эффективно.


Ты не путай GC и недо- smart pointers.
В C++, например, есть реализация smart pointers (в boost), базирующаяся на подсчете ссылок. Это куда эффективнее области видимости.

kuj>>>>Без полноценного DI в Delphi толку от интерфейсов куда как меньше.


H>>>Чего-то не улавливаю связи...


kuj>>Я писал где-то в этом топике. Вся сила интерфейсов раскрывается при наличии полноценного DI/IoC контейнера.


H>Все это сильно зависит от способа применения и изобретательности


Не понял. Поясни.
Re[11]: Чем вам всем не угодил Delphi?
От: DOOM Россия  
Дата: 30.04.08 12:13
Оценка: :)))
Здравствуйте, TheEvilOne, Вы писали:

TEO>Здравствуйте, DOOM, Вы писали:


DOO>>Здравствуйте, TheEvilOne, Вы писали:


TEO>>>Кто-нибудь может то же самое написать для Delphi?


DOO>>Еще раз: криптосинтаксис лучше всего развит в перле. Приведенное выше — детский лепет, по сравнению хотя бы с этим:

TEO><skip>
TEO>Я против перла ничего не имею и не говорил. Только вот Вы забыли, откуда что взялось.
Откуда? Ларри Волл вообще-то лингвист, скорее всего именно поэтому перл такой "не такой".


TEO>По поводу детского лепета — то же самое можно сказать и о приведенной Вами программе.

Ну дак это был самый древний пример
Вот уже более прикольная штука:
#
                                                   sub j(\$){($
                     P,$V)=                      @_;while($$P=~s:^
                 ([()])::x){                    $V+=('('eq$1)?-32:31
           }$V+=ord(  substr(                 $$P,0,1,""))-74} sub a{
          my($I,$K,$  J,$L)=@_               ;$I=int($I*$M/$Z);$K=int(
         $K*$M/$Z);$J=int($J*$M             /$Z);$L=int($L*$M/$Z); $G=$
         J-$I;$F=$L-$K;$E=(abs($          G)>=abs($F))?$G:$F;($E<0) and($
          I,$K)=($J,$L);$E||=.01       ;for($i=0;$i<=abs$E;$i++ ){ $D->{$K
                  +int($i*$F/$E)      }->{$I+int($i*$G/$E)}=1}}sub p{$D={};$
                 Z=$z||.01;map{    $H=$_;$I=$N=j$H;$K=$O=j$H;while($H){$q=ord
                substr($H,0,1,"" );if(42==$q){$J=j$H;$L=j$H}else{$q-=43;$L =$q
              %9;$J=($q-$L)/9;$L=$q-9*$J-4;$J-=4}$J+=$I;$L+=$K;a($I,$K,$J,$ L);
              ($I,$K)=($J,$L)}a($I,$K,$N,$O)}@_;my$T;map{$y=$_;map{ $T.=$D->{$y}
              ->{$_}?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\e[H$T"}$w= eval{
              require Win32::Console::ANSI};$b=$w?'1;7;':"";($j,$u,$s,$t,$a,$n,$o
              ,$h,$c,$k,$p,$e,$r,$l,$C)=split/}/,'Tw*JSK8IAg*PJ[*J@wR}*JR]*QJ[*J'.
               'BA*JQK8I*JC}KUz]BAIJT]*QJ[R?-R[e]\RI'.'}Tn*JQ]wRAI*JDnR8QAU}wT8KT'.
               ']n*JEI*EJR*QJ]*JR*DJ@IQ[}*JSe*JD[n]*JPe*'.'JBI/KI}T8@?PcdnfgVCBRcP'.
                '?ABKV]]}*JWe*JD[n]*JPe*JC?8B*JE};Vq*OJQ/IP['.'wQ}*JWeOe{n*EERk8;'.
                  'J*JC}/U*OJd[OI@*BJ*JXn*J>w]U}CWq*OJc8KJ?O[e]U/T*QJP?}*JSe*JCnTe'.
                   'QIAKJR}*JV]wRAI*J?}T]*RJcJI[\]3;U]Uq*PM[wV]W]WCT*DM*SJ'.  'ZP[Z'.
                      'PZa[\]UKVgogK9K*QJ[\]n[RI@*EH@IddR[Q[]T]T]T3o[dk*JE'.  '[Z\U'.
                        '{T]*JPKTKK]*OJ[QIO[PIQIO[[gUKU\k*JE+J+J5R5AI*EJ00'.  'BCB*'.
                             'DMKKJIR[Q+*EJ0*EK';sub h{$\ = qw(% & @ x)[int    rand
                              4];map{printf  "\e[$b;%dm",int(rand 6)+101-60*   ($w
                               ||0);system(  "cls")if$w ;($A,$S)=    ($_[1],   $
                                _[0]);($M,   @,)= split  '}';for(     $z=256
                                ;$z>0; $z   -=$S){$S*=   $A;p @,}      sleep$_
                                [2];while   ($_[3]&&($    z+=$ S)       <=256){
                                p@,}}("".   "32}7D$j"     ."}AG".       "$u}OG"
                                ."$s}WG"    ."$t",""      ."24}("        ."IJ$a"
                                ."}1G$n"    ."}CO$o"     ."}GG$t"        ."}QC"
                                 ."$h}"      ."^G$e"    ."})IG"          ."$r",
                                 "32}?"       ."H$p}FG$e}QG$r".          "}ZC"
                                 ."$l",          "28}(LC" .""            ."".
                                 "$h}:"           ."J$a}EG".             "$c"
                                 ."}M"             ."C$k}ZG".            "$e"
                                 ."}"             ."dG$r","18"          ."}("
                                ."D;"            ."$C"  )}{h(16         ,1,1,0
                               );h(8,          .98,0,0   );h(16         ,1,1,1)
                               ;h(8.0         ,0.98,0,     1);         redo}###
                             #written                                 060204 by
                           #liverpole                                  @@@@@@@
                        #@@@@@@@@@@@


Только консольку надо сделать 120x50.
Re[5]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:15
Оценка:
Здравствуйте, DOOM, Вы писали:


L>>>>1. Объявление переменных в месте использования. Не критично, но ползти в var неприятно.

DOO>>>На вкус и цвет — когда в одном месте, оно читабельнее.

L>>Чем читабельнее? Особенно, когда временных много.

DOO>Тем и читабельнее. Почему-то в исходники самбы, написанной на C я могу въехать за пару тройку часов, а в среднестатистическую C++'ную программу и за пару дней не въеду.

Тогда уж сравнивай среднестатистическую C со среднестатистической C++... Хотя это из разряда сферических коней...

DOO>Временные переменные при этом есть везде — но вот возможность на каждый блок объявить свою, как ни странно, сильно захламляет код.


Не согласен.

DOO>Шаблоны — на вкус и цвет. Мне они как-то не нравились в свое время.

Re[15]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:17
Оценка:
Здравствуйте, hattab, Вы писали:

MC>>Речь не о SOAP-сервисах, а о создании веб-морд. Т.е. упрощенно — когда есть HTML-шаблоны и java/.net код, который на их основе хитро генерит динамические страницы. Ну, короче, как в php.


H>WebSnap. Ребята, оно было еще в 6 версии. Intraweb еще круче


Хочу полноценный MVC с unit test`ами и расширяемым view-engine по типу Brail (из Castle Monorail)! Где?
Re[4]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:19
Оценка:
Здравствуйте, CreatorCray, Вы писали:

I>>Так и запишем: QIP и Total Commander — низкого качества.А мужики-то не знают


CC>Дык факт! :P


Забыли еще The Bat!
Re[6]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:22
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>>>Видимо имелось в виду то, что формат dfm-а время от времени перестает пониматься более новой версией IDE.


kuj>>Microsoft движется (хоть и медленно) в правильном направлении со своим Visual Studio — начиная с VS 2005 все файлы проектов C# и VB это не что иное, как xml-скрипт msbuild. Солюшен VS 2005 можно собрать без самого VS 2005 — просто вызвав msbuild <name>.sln, где msbuild идет в поставке с .NET Framework, начиная с .NET 2.0.

kuj>>Msbuild сам по себе фактически полный аналог (функционально) nAnt`у. Позволяет писать фактически какой угодно сложности сценарии по сборке, тестированию и deploying`у.

L>Я очень рад, что ты это знаешь, но при чем тут это?


При топике?
Re[10]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 30.04.08 12:22
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>>>Называется: слышал звон, да не знаю где он?


H>>А ты думал я сейчас побегу на хобот искать Я же не пытаюсь тебе чего-то доказать.


kuj>Хотя это и повсеместная практика на КСВ, но все-таки это не хорошо кидаться безосновательными утверждениями...


Прикольная практика это ссылки просить по всякому поводу. Где же мне их помнить, истории уж полгода если не больше...

kuj>>>Человеческий фактор это не отмазка, а основной мотивирующий момент при разработке языков программирования.


H>>Сильно спорный тезис.


kuj>Ты это серьезно?


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

kuj>>>Все познается в сравнении.


H>>И чего теперь, роадмапами меряться?


kuj>При чем тут роадмапы?

kuj>В OP речь шла о сравнении Delphi с современными управляемыми средами типа Java и .Net

Так ты перечислил что будет в C# 4.0. Вот когда оно будет, и когда в Delphi будет то о чем я тут говорил, тогда и можно мечами побряцать.

kuj>>>>>Только без generic`ов ОЙ как плохо.


H>>>>Не сильно, если честно

kuj>>>
H>>Ну, по личным ощущениям. Хотя мне идея дженериков нравится. Но есть идею которые нравятся больше

kuj>При чем тут идеи? Generics это вполне конкретный механизм, значительно повышающий читабельность и эффективность (производительность, качество) кода.


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

kuj>Поясняю: препроцессорная реализация это костыль. Имея generics на языковом уровне я получаю все плюшки статически типизированной среды разработки: intellisense, refactoring и прочее.


Все это понятно и никто не оспаривает собственно идеи дженериков Чего на этом так заостряться? Будут они у нативных дельфистов во второй половине этого года
Re[3]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 30.04.08 12:23
Оценка:
Здравствуйте, misha_irpen, Вы писали:

_>Все-таки я смотрю на синтаксис тоже много наездов. Но тут мои взгляды крайне противоположные. Мне очень не нравится write-only код всех сиподобнх языков, пусть он и дает большую гибкость, но цель не ИМХО оправдывеет средства.


_>Хоть ныне я уже не програмлю так много как раньше, тем не менее нахожусь в глухой оппозиции ко всему C-подомному и когда меня заставляют (люди или обстоятельства) писать на таком языке (чаще всего это PHP, JS и т.п. скрипты), то я становлюсь очень злой и использую все сишные синтаксические штучки-дрючки везде где это хоть малость оправдвно. Если конструкция типа a[i]+=(j=++i) сэкономит мне хоть одну строчку кода, то я использую ее без зазрений совести. Ибо нефиг. И пусть потом тот сишник, который будет этот код читать, прочувствует на собственной шкуре смысл поговорки "за что боролся, на то и напоролся".


Спасибо. ПоржалЪ.
Re[7]: Чем вам всем не угодил Delphi?
От: TheEvilOne Россия  
Дата: 30.04.08 12:25
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Здравствуйте, goto, Вы писали:


G>>Да вроде как С++ придумывался как отдельный язык по подходу. Видимо синтаксис C хорошо ложится на большинство программистских мозгов, вот и был взят.

DOO>Да при чем тут конкретно синтаксис — libc осталась. Появились char * vs std::string. Много еще таких несоответствий — если уж придумывали как отдельный язык, то и надо было делать отдельным языком, а поддержку C вынести в опциональную библиотеку, например.

Кризис мозга у обоих в чистом виде. Читайте оба — Википедиа &mdash; C++, особенно раздел "История". А вот потом уже делайте различные умозаключения, только, пожалуйста, исторически и логически правильные.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.