
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.5] |
![]() |
|
Страницы: (117) « Первая ... 22 23 [24] 25 26 ... 116 117 ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#346
,
|
|
Ладно. 1. Для меня (человека с математическим складом ума) a=b означает "a равно b", а не "a присвоить b", отсюда мне больше нравиться a:=b. 2. Разнообразия ".", ":", "->" тоже немного напрягает, уж лучше, когда везде ".". 3. Надо писать "int i, int j", а не просто "i,j:integer" (нельзя задавать переменные списком). 4. Убивает разделение на *.cpp и *.h, намного проще и удобнее когда все в одном *.pas. Если что еще вспомню, напишу. |
Сообщ.
#348
,
|
|
|
Цитата Profi @ Надо писать "int i, int j", а не просто "i,j:integer" (нельзя задавать переменные списком). int i = 0, j = -3, *p = &i; не пробовал? Цитата Profi @ 4. Убивает разделение на *.cpp и *.h, намного проще и удобнее когда все в одном *.pas. Можно все в один cpp пихать - никто не мешает. Только для крупных проектов в несколько десятков строк такой подход не очень-то хорош ![]() Цитата Profi @ 2. Разнообразия ".", ":", "->" тоже немного напрягает, уж лучше, когда везде ".". Для разных сущностей - разные операторы ![]() квантификатор::квантификатор_или_идентификатор идентификатор.идентификатор Ну плюс еще -> для объектов, динамически создаваемых в памяти (в принципе можно и * с . заюзать, но это не так красиво). |
Сообщ.
#349
,
|
|
|
Цитата Мяут @ int i = 0, j = -3, *p = &i; не пробовал? Он про параметры функции. ![]() ![]() int foo(int a1, int a2); ![]() ![]() function foo(a1,a2: integer):integer; |
![]() |
Сообщ.
#350
,
|
|
Цитата mo3r @ Он про параметры функции. Угу. |
![]() |
Сообщ.
#351
,
|
|
Цитата Profi @ а такой:А как такой код: program Project1; {$APPTYPE CONSOLE} uses Variants,ComObj,ActiveX; Var v:variant; begin CoInitialize(nil); v:=CreateOleObject('Word.Application'); v.visible:=true; readLn; v.quit; end. Цитата Profi @ ох и долго же ошибку искать будете program Project1; {$APPTYPE CONSOLE} uses Variants,ComObj,ActiveX; Var v:variant; begin CoInitialize(nil); v:=CreateOleObject('Word.Application'); v.visibe:=true; readLn; v.quit; end. ![]() Добавлено Цитата Profi @ да, но он ни одну возможность языка не запретил тебе использовать А почему Flex меня заставил ломать голову над тем, как реализовать template? Плюс ко всему он использовал стороннюю библиотеку! ![]() |
![]() |
Сообщ.
#352
,
|
|
Цитата archimed7592 @ ох и долго же ошибку искать будете ![]() Я, конечно не знаю, как повели бы себя в похожей ситуации компиляторы C++, но Delphi выдал: ![]() ![]() Project Project1.exe raised exception class EOleError with message 'Method 'visibe' not supported by automation object' и остановил курсор на строке ![]() ![]() v.visibe:=true; Цитата archimed7592 @ да, но он ни одну возможность языка не запретил тебе использовать ![]() Он нет, а вот H.Iglesias II пытался. |
![]() |
Сообщ.
#353
,
|
|
Profi, да суть не в этом... вот когда тебе клиенты звонить будут и спрашивать "почему Ваша программа просит отослать отчёт в микрософт?", тебе компилятор на строчку не укажет...
![]() Добавлено Цитата Profi @ ну по сути... что есть в делфи, что НЕ реализовать на с++? про проперти отдельный разговор - это просто синтаксическая обёртка, которая "улучшает" внешний вид кода. в с++ они не реализованны по тем причинам, что там не только get и set будет... там ещё += -= *= &= |= >>= <<= и т. д. и проперти будут только путать, имхо... Он нет, а вот H.Iglesias II пытался. |
![]() |
Сообщ.
#354
,
|
|
Цитата archimed7592 @ Profi, да суть не в этом... вот когда тебе клиенты звонить будут и спрашивать "почему Ваша программа просит отослать отчёт в микрософт?", тебе компилятор на строчку не укажет... ![]() Если ты не отловил максимальное количество багов сам, плюс не сделал защиту от дурака, плюс не сделал ведение подробного лога, то грош цена такой программы. А все это, кстати, на Delphi делается намного проще чем на C++. Цитата archimed7592 @ ну по сути... что есть в делфи, что НЕ реализовать на с++? про проперти отдельный разговор - это просто синтаксическая обёртка, которая "улучшает" внешний вид кода. в с++ они не реализованны по тем причинам, что там не только get и set будет... там ещё += -= *= &= |= >>= <<= и т. д. и проперти будут только путать, имхо... А что есть в C++ чего нет в Delphi? Про template отдельный разговор... |
![]() |
Сообщ.
#355
,
|
|
Цитата Profi @ аргументируй, плз Про template отдельный разговор... ![]() |
![]() |
Сообщ.
#356
,
|
|
Цитата archimed7592 @ аргументируй, плз ![]() Все это заменяется TList'ом (см. мой перевод кода от Flex'а, про который, кстати, ты говорил, что это невозможно). |
![]() |
Сообщ.
#357
,
|
|
Цитата Profi @ аналог твоего TList'а boost::any... суть в том, что с таким подходом нужно динамичское вычисление и от этого в Дельфи не избавиться (можно только, если наплодить TXXXList, но тогда теряется вся прелесть)... т. е. шаблоны, как инструмент рефакторинга, для дельфи неповторимы Все это заменяется TList'ом ![]() Цитата Profi @ я говорил, что это будет также универсально и всё будет также связываться на этапе компиляции... и говорил я про _Find кстати, ты говорил, что это невозможно ![]() |
![]() |
Сообщ.
#358
,
|
|
В общем, опять пошло переливание из пустого в порожнее.
|
![]() |
Сообщ.
#359
,
|
|
Цитата Profi @ сказать то большего нечего В общем, опять пошло переливание из пустого в порожнее. ![]() ты либо обоснуй, что проперти - незаменимый инструмент, без которого не прожить, либо докажи мне, что шаблоны из себя ничего не представляют, кроме как пыли в глаза... |
![]() |
Сообщ.
#360
,
|
|
Кстати, что меня больше всего удивляет, это то, что Delphi’сты никогда не начинают кричать первыми: «C++ - отстой, Delphi – рулит!». Это всегда начинают C’шники. Вопрос: почему?
|