Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизDelphi - "рулез форева"! Найти похожие ветки
← →
Дмитрий Белькевич (2010-02-15 17:48) [80]
> & - это и означает "and". см например названия компаний
> (Procter & Gamble и тому подобное)
Почему бы уже тогда не & а &&?
> или имеюттся в виду килобайты для хранения сорцов??
Ну - я думаю это имелось в виду.
← →
DVM © (2010-02-15 17:48) [81]
> jack128_ (15.02.10 17:42) [77]
> или имеюттся в виду килобайты для хранения сорцов??
Имеется в виду процесс создания программы. Она ж должна была где то храниться, компилироваться, редактироваться. Это я где то читал давно, в книге по си какой то.
Вообще, есть много странных вещей, истинная суть которых уже потеряна за древностью лет. Например, почему в Windows Explorer первых версий не было секунд на часах в панели задач. Сейчас это кажется смешным - но из экономии ресурсов.
← →
Кто б сомневался © (2010-02-15 17:51) [82]
> & - это и означает "and".
Нет ну то что автор языка пытался сократить по максимуму это видно сразу, только вот зачем, если это только усложняет чтение.
Ну ^ это xor - никакой логической связи нет.
Но зачем это надо было делать? Нет не из за размера исходников.
Basic придуман был в 63 году, С в 70. Фортран как здесь уже говорили раньше.
← →
Игорь Шевченко © (2010-02-15 17:51) [83]Дмитрий Белькевич (15.02.10 17:45) [78]
>
> Посему неясно, зачем он вообще может быть полезен
> Под кроссплатформенность есть жава.
Ты наверное не в курсе, что .Net был создан в первую очередь, как альтернатива Java, потому что Java придуман не в MS
DVM © (15.02.10 17:22) [72]
> Потому что короче. Наследие си. Когда памяти были считанные
> килобайты было важно.
Совершенно не связано с памятью. Писать меньше - только и всего.
Конструкции получаются охватываемые взглядом и, соответственно, легче понимаемые, если синтаксис в голове держать, а держать его несложно, это вам не APL.
← →
Дмитрий Белькевич (2010-02-15 17:53) [84]
> Вообще, есть много странных вещей, истинная суть которых
> уже потеряна за древностью лет. Например, почему в Windows
> Explorer первых версий не было секунд на часах в панели
> задач. Сейчас это кажется смешным - но из экономии ресурсов.
>
Ну с этим можно согласиться, видел перевод от Гансмокера что ли или еще чей-то блог - вполне логичное объяснение по поводу секунд. Кстати, их до сих пор нет. Но так извращать язык имхо не было никакой критической необходимости. Как уже говорил - Фортран вполне себе и уже давно работал.
← →
Кто б сомневался © (2010-02-15 17:56) [85]
> Конструкции получаются охватываемые взглядом и, соответственно,
> легче понимаемые,
Ниче подобного, наоборот усложняется чтение. Об этом тот же Кладов говорил, бывший сишник в своей книге по КОЛ.
Те же { } хуже чем человеческие begin end, попробуй заметь.
← →
Дмитрий Белькевич (2010-02-15 17:56) [86]
> Ты наверное не в курсе, что .Net был создан в первую очередь,
> как альтернатива Java, потому что Java придуман не в MS
В курсе. Я говорю, что реальной кросс-платформенности нет и, думаю, не будет (из-за политики MS).
← →
Кто б сомневался © (2010-02-15 17:58) [87]Знаете есть такой язык BrainFuck - вот это тот самый усложненный путь.
Легче читать Игорь?
+++++ +++++ initialize counter (cell #0) to 10
[ use loop to set the next four cells to 70/100/30/10
> +++++ ++ add 7 to cell #1
> +++++ +++++ add 10 to cell #2
> +++ add 3 to cell #3
> + add 1 to cell #4
<<<< - decrement counter (cell #0)
]
> ++ . print "H"
> + . print "e"
+++++ ++ . print "l"
. print "l"
+++ . print "o"
>++ . print " "
<< +++++ +++++ +++++ . print "W"
> . print "o"
+++ . print "r"
----- - . print "l"
----- --- . print "d"
> + . print "!"
> . print "\n"
← →
ANB (2010-02-15 18:00) [88]
> Кто б сомневался © (15.02.10 17:56) [85]
Дело вкуса.
1) Мне легче читать и писать на C
2) Как IDE мне делфи нравится намного больше VS (ща сижу и плююсь, т.к. посадили на VS2008 насильно).
3) Так же по опыту знаю, что процент заваленных проектов на C# намного выше, чем на делфи. Собственно, на делфи я ни одного заваленного не видел. А на C# - либо вообще не пошел, либо такое убожество получилось - просто жуть.
← →
@!!ex © (2010-02-15 18:01) [89]> [69] Eraser © (15.02.10 17:21)
> можно ли вызывать напрямую API хотя бы как это сделано,
> к примеру, в .NET? даже если можно, то теряется основной
> смысл QT, т.к. теряется кроссплатформенность. отсюда вывод,
> для приложений тесно взаимодействующих с ОС и сильно зависящих
> от окружения нет особого смысла и заморачиваться с лишними
> прослойками.
Виджеты QT сами по себе более прямые чем VCL.
Понятно, что если есть приложение на дельфи, то просто так брать и переписывать его на Qt эту бессмысленно.
Но вот ваш ROM Viewer, например, прекрасный кандидат на перевод под Qt, потому что ОС зависимых вещей в нем мало(или совсем нет), в отличии от сервера, а кроссплатформенность для него милое дело.
Кстати, что там с Mobile версией? Не в курсе?
← →
Дмитрий Белькевич (2010-02-15 18:02) [90]
> легче понимаемые, если синтаксис в голове держать
Как по мне - то читаемость (в среднем) у плюсов хуже чем у делфи. Если вылизывать сырцы под читаемость - может быть. Но всем ясно, что этим занимаются далеко не все.
Меня лично в плюсах убивает написание идентификаторов. Вот, например, код "в лоб" переведенный на делфи с плюсов:
Var
l__INT__Length : Integer;
l__CHAR__Result,
l__CHAR__Name : String;
l__CHAR__Extension : String[10];
l__INT__ExtStart,
l__INT__k : Integer;
Begin
l__INT__Length := Length(p__PCHAR__Name);
l__INT__ExtStart := 0;
l__INT__k := 0;
//
// make the string to be not less then two chars
//
While l__INT__Length<2 Do Begin
p__PCHAR__Name[l__INT__Length] :="0";
Inc(l__INT__Length);
p__PCHAR__Name[l__INT__Length]:=Chr(0);
End;
10 лет расстрела :)
в коде у рихтера:
SetEvent(g__hEvent),
WaitForSingleObject(g_hFvent, INFINITE);
интересный, конечно, язык. количество подчёркиваний решает :)
← →
@!!ex © (2010-02-15 18:03) [91]> интересный, конечно, язык. количество подчёркиваний решает
> :)
В данном случае это пробелмы венгерской нотации, на которую много грязи льется постоянно, а не языка.
← →
Дмитрий Белькевич (2010-02-15 18:07) [92]
> В данном случае это пробелмы венгерской нотации, на которую
> много грязи льется постоянно, а не языка.
Я не говорю, что именно язык плох. Я говорю, что привычки писать на нём - плохие. Я понимаю, что так уж исторически сложилось и могло сложиться по-другому. Но - так как уже сложилось, то можно это и к минусам языка отнести. Мы же рассматриваем не сферический язык в вакууме, а реальное его применение. В Делфи же не сложилось почему-то. Хотя тоже могло.
← →
Eraser © (2010-02-15 18:14) [93]> [89] @!!ex © (15.02.10 18:01)
> Кстати, что там с Mobile версией? Не в курсе?
ответил по почте.
> Но вот ваш ROM Viewer, например, прекрасный кандидат на
> перевод под Qt
не спорю. возможно. но кроссплатформенная версия будет на джаве, по разным причинам.
> [90] Дмитрий Белькевич (15.02.10 18:02)
> Как по мне - то читаемость (в среднем) у плюсов хуже чем
> у делфи.
это даже в MS осознали, см. C# - там все куда более наглядно и удобно.
← →
Дмитрий Белькевич (2010-02-15 18:16) [94]
> Ты наверное не в курсе, что .Net был создан в первую очередь,
> как альтернатива Java, потому что Java придуман не в MS
Я представляю, в общих чертах - что и почему происходит. Я говорю с позиции разработчика, выбирающего платформу, а не с позиции MS.
← →
@!!ex © (2010-02-15 18:17) [95]> по разным причинам.
По каким, если не секрет?
← →
Дмитрий Белькевич (2010-02-15 18:17) [96]
> выбирающего платформу
Читать - выбирающего среду.
← →
Дмитрий Белькевич (2010-02-15 18:19) [97]
> это даже в MS осознали, см. C# - там все куда более наглядно
> и удобно.
Я даже догадываюсь, кто помог осознать :)
← →
Кто б сомневался © (2010-02-15 18:19) [98]
> > Как по мне - то читаемость (в среднем) у плюсов хуже чем
>
> > у делфи.
>
> это даже в MS осознали, см. C# - там все куда более наглядно
> и удобно.
По сравнению с чем? С Delphi? В плане чего, синтаксиса? Если в плане синтаксиса, значит это маркетинговый отдел постарался.
← →
Игорь Шевченко © (2010-02-15 18:20) [99]Дмитрий Белькевич (15.02.10 18:02) [90]
> Меня лично в плюсах убивает написание идентификаторов. Вот,
> например, код "в лоб" переведенный на делфи с плюсов:
Переводчика не пробовал менять ?
> в коде у рихтера:
в коде у Рихтера все согласно стандарту Microsoft на именование. Практически весь Platform SDK содержит идентификаторы, поименованые таким вот образом.
Ну и что ?
Как ты понимаешь, грамматикой языка ни количество подчеркиваний, ни их наличие, ни регистр символов идентификаторов не регламентируется.
Если кому-то привычно писать с подчеркиваниями, а кому-то непривычно читать - кто им обоим доктор ?
← →
Дмитрий Белькевич (2010-02-15 18:32) [100]
> Переводчика не пробовал менять ?
Это - кусок сырцов примера использования библиотеки StarBurn. Уж не знаю чем они его переводили. Такое чувство - что каким-то софтверным конвертером.
> Как ты понимаешь, грамматикой языка ни количество подчеркиваний,
> ни их наличие, ни регистр символов идентификаторов не регламентируется.
>
Нет. Но на деле получается - что большинство сырцов именно так и написаны.
> Если кому-то привычно писать с подчеркиваниями, а кому-то
> непривычно читать - кто им обоим доктор ?
Ну вот например:
SetEvent(g__hEvent),
WaitForSingleObject(g_hFvent, INFINITE);
Это у Рихтера - опечатка? Или это нормальное написание? Можно ли только по этим двум строкам сказать - код верный или нет? Я, честно говоря, так и не понял.
← →
Eraser © (2010-02-15 18:36) [101]> [95] @!!ex © (15.02.10 18:17)
> По каким, если не секрет?
имеется опыт разработки, java куда более проверенная временем и устоявшаяся платформа, можно запускать прямо через браузер.
← →
DVM © (2010-02-15 18:40) [102]
> SetEvent(g__hEvent),
> WaitForSingleObject(g_hFvent, INFINITE);
Это называется угадай количество подчеркиваний. Вообще уродство эти подчеркивания, не знаю какой это стандарт от MS, но че то в MSDN их не особо встретишь.
← →
Игорь Шевченко © (2010-02-15 18:42) [103]Дмитрий Белькевич (15.02.10 18:16) [94]
> Я представляю, в общих чертах - что и почему происходит.
> Я говорю с позиции разработчика, выбирающего платформу,
> а не с позиции MS.
Позиция разработчика зависит от разрабатываемых программ и области их применения.
← →
Дмитрий Белькевич (2010-02-15 18:48) [104]
> Позиция разработчика зависит от разрабатываемых программ
> и области их применения.
И количества рекламной лапши развешенной на ушах у шефов конторы.
← →
Игорь Шевченко © (2010-02-15 18:48) [105]Дмитрий Белькевич (15.02.10 18:32) [100]
> Это - кусок сырцов примера использования библиотеки StarBurn
Язык здесь как бы и не при чем. Если тебе дадут пример использования библиотеки FooBar на Delphi с подобными идентификаторами, ты, я надеюсь, не станешь делать выводы относительно языка Delphi вообще ?
> Нет. Но на деле получается - что большинство сырцов именно
> так и написаны.
Большинство виденных тобой сырцов, давай уж так говорить. То есть, какое-то подмножество неизвестного размера.
> SetEvent(g__hEvent),
> WaitForSingleObject(g_hFvent, INFINITE);
>
> Это у Рихтера - опечатка? Или это нормальное написание?
> Можно ли только по этим двум строкам сказать - код верный
> или нет? Я, честно говоря, так и не понял.
Как минимум, в приведенном коде используются два разных идентификатора
g__hEvent и g_hEvent. Ошибка это или намеренное введение читателей в заблуждение можно сказать, увидев бумажный вариант (ну или ссылку на него).
Точно так же, как идентификатор типа TForm1 отличается от идентификатора типа TTForm1
← →
Игорь Шевченко © (2010-02-15 18:51) [106]Дмитрий Белькевич (15.02.10 18:48) [104]
> И количества рекламной лапши развешенной на ушах у шефов
> конторы.
Обычно шефы как-то с потенциальными исполнителями находят приемлемый баланс :) Было бы странно иначе, но этот аспект обсуждать неинтересно
← →
@!!ex © (2010-02-15 18:51) [107]> [105] Игорь Шевченко © (15.02.10 18:48)
Пример с TT не совсем корректен, т.к. проблема подчеркивания в том, что они сливаются в один.
← →
Игорь Шевченко © (2010-02-15 18:53) [108]@!!ex © (15.02.10 18:51) [107]
Не понял проблемы
← →
Дмитрий Белькевич (2010-02-15 18:59) [109]
> Пример с TT не совсем корректен, т.к. проблема подчеркивания
> в том, что они сливаются в один.
О чём собственно и речь.
TT или PP лучше чем ___ (это, кстати, сколько подчёркиваний? Чур не копипастить :))
Есть подозрение, что в конкретном случае проблема с распознаванием, т.к. и "hFvent" неверно распознан. Однако - семантика от этого не потерялась. Понятно - что там должна быть буква "E", а не "F". Сколько же там должно быть подчёркиваний - без остальных сырцов не ясно.
← →
Игорь Шевченко © (2010-02-15 19:01) [110]
> Сколько же там должно быть подчёркиваний - без остальных
> сырцов не ясно.
Компилятор подскажет.
← →
DVM © (2010-02-15 19:01) [111]
> Игорь Шевченко © (15.02.10 18:53) [108]
> Не понял проблемы
Неуемное использование данного символа создает проблемы как при чтении чужого кода так и использовании, т.к. визуально 2 __ отличаются от 3 ___ слабо, а некоторые умельцы применяют и 4 ____. Стоит забыть одно подчеркивание и проблемы обеспечены.
← →
Игорь Шевченко © (2010-02-15 19:03) [112]DVM © (15.02.10 19:01) [111]
А причем тут С(++) ? Или это только в этом языке, а в остальных не сливается ? :)
← →
Anatoly Podgoretsky © (2010-02-15 19:09) [113]> Кто б сомневался (15.02.2010 17:18:08) [68]
Они создавали язык для жрецов.
← →
DVM © (2010-02-15 19:11) [114]
> Игорь Шевченко © (15.02.10 19:03) [112]
> А причем тут С(++) ?
си тут не при чем. Я говорю лишь о том что подход с использованием подчеркиваний - плохой.
← →
Anatoly Podgoretsky © (2010-02-15 19:11) [115]> jack128_ (15.02.2010 17:42:17) [77]
А && означает Procter && Gamble
← →
Anatoly Podgoretsky © (2010-02-15 19:13) [116]> Kerk (15.02.2010 17:48:19) [79]
Только эт в английском это @
← →
Игорь Шевченко © (2010-02-15 19:14) [117]DVM © (15.02.10 19:11) [114]
> Я говорю лишь о том что подход с использованием подчеркиваний
> - плохой.
Нормальный. Обычно шрифт фиксированный, и один символ от двух вполне себе отличается. А если человек не может разобрать, сколько в книге с пропорциональным шрифтом подчеркиваний написано, это вовсе не повод обвинять язык/символы идентификаторов/Microsoft в злом умысле.
С тем же успехом он не разберет количество пробелов в символьной константе и уж точно(!) не сможет отличить пробел от табуляции.
← →
Virgo_Style © (2010-02-15 19:16) [118]Я боюсь приведений.
Приведений типов в C++.i = (int)(((TListBox *)Sender)->Items->Objects[1]);
i:=Integer(TListBox(Sender).Items.Objects[1]);
← →
@!!ex © (2010-02-15 19:22) [119]> [118] Virgo_Style © (15.02.10 19:16)
к счастью это решается шаблонами. там более человечее приведением можно сделать.
← →
Anatoly Podgoretsky © (2010-02-15 19:26) [120]> DVM (15.02.2010 19:01:51) [111]
Это от привычки удваивать.
Страницы: 1 2 3 4 5 6 7 8 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.7 MB
Время: 0.089 c