Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.077 c
2-1265445748
lewka
2010-02-06 11:42
2010.08.27
Размеры изображения


2-1267108150
Alex___
2010-02-25 17:29
2010.08.27
Как работать с бестиповой переменной?, func(VAR BUF;...)


15-1275251381
Юрий
2010-05-31 00:29
2010.08.27
С днем рождения ! 31 мая 2010 понедельник


6-1221550924
Colt
2008-09-16 11:42
2010.08.27
SimpleMapi из Win Service


2-1265836336
Dmitrijan
2010-02-11 00:12
2010.08.27
Загрузка exe файла в Memo





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский