Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Вниз

и чего дельфи хоронят?..   Найти похожие ветки 

 
O_o   (2011-12-21 23:30) [40]


> Где это сказано? Если нигде, значит как хочу - так и вычисляю.

не помню стандарт, уже писал
если это не так, то это UB фактически для любой функции, чего на практике замечено не было


> Dennis I. Komarov ©   (21.12.11 23:15) [38]

более боянистых приколов над хомяками не нашел?
или думаешь, что это правда? :-)


 
O_o   (2011-12-21 23:32) [41]


> Где это сказано? Если нигде, значит как хочу - так и вычисляю.

кстати, (не для холивара ради), а для делфи стандарт есть?
ведь подобные финты возможны и там, через те же указатели


 
Dennis I. Komarov ©   (2011-12-21 23:34) [42]


> более боянистых приколов над хомяками не нашел?
> или думаешь, что это правда? :-)

Какая разница, речь была о синтаксисе... :)


 
Anatoly Podgoretsky ©   (2011-12-21 23:34) [43]

> antonn  (21.12.2011 23:08:37)  [37]

Темный человек


 
Ega23 ©   (2011-12-21 23:36) [44]


> ведь подобные финты возможны и там, через те же указатели


Подобные - сомневаюсь
http://lurkmore.to/I%2B%2B


 
O_o   (2011-12-21 23:37) [45]


> Какая разница, речь была о синтаксисе... :)

и я о нем

теперь поищи историю текста, который ты привел


 
O_o   (2011-12-21 23:40) [46]


> Ega23 ©   (21.12.11 23:36) [44]

я про

> O_o   (21.12.11 22:43) [32]

с поправкой на [34] (без этого не скомпилится даже)
подобное (а о нем и был вопрос) возможно и в делфи


 
DVM ©   (2011-12-21 23:45) [47]


> antonn ©   (21.12.11 23:16) [39]


> Например FtpWebResponse.StatusCode.ToString() выведет текстом
> описание состояния, а вот ((int)FtpWebResponse.StatusCode).
> ToString() уже выдаст число строкой. Суматоху разводят..
> .

Могу тебя обрадовать, в делфи теперь все это тоже есть.


 
DVM ©   (2011-12-21 23:47) [48]


> antonn ©   (21.12.11 22:28) [24]


> И вообще студия тормозная, вечно что-то по пять раз перерисовывается
> с мерцанием.

А мне показалось наоборот. В разы быстрее чем делфи запускается.


 
antonn ©   (2011-12-21 23:51) [49]


> Могу тебя обрадовать, в делфи теперь все это тоже есть.

иттицкая сила... :(


 
Eraser ©   (2011-12-21 23:54) [50]

все равно все в итоге закончится хтмлом5 и джаваскриптом )


 
Inovet ©   (2011-12-22 00:00) [51]

> [36] Юрий Зотов ©   (21.12.11 23:00)
> если не оговорено в стандарте языка.

Я сейчас не помню точно, но это должно относится к оператору запятая ",", а значит слева направо.


 
Кто б сомневался ©   (2011-12-22 00:22) [52]


> Dennis I. Komarov ©   (21.12.11 22:20) [22]
>
> Сишный синтаксис придуман извращенными москами ради прикола.
> ..
> Пожалуй только перл переплюнул...


С этим я согласен. Человек который разрабатывал синтаксис языка не сильно задумывался о читабельности кода.
Почему то он решил что лучше будет регистрозависимый код - Var и var и VaR - были разными переменными.
Почему то он решил обозначить символами ряд простых операций, вместо букв, такие как && вместо простого and  || = or итп . Что интересно набрать and or быстрее чем символы т.к. для символов надо нажать шифт.
Краткость, которой надо избегать, т.к. когда код пишет человек это возможный рассадник ошибок - приветствуется - такие конструкции как int ((int*) ())(int *) () или та же i = ++i + ++i. Возможно сделано это для того чтобы код был нечитаемым для неподготовленных, казался "сложным".

Или та же возможность - объявлять переменные в любом месте - помню в php - Си подобном языке часто происходило такое - пишешь название вызываемой функции - и в ее параметрах ошибаешься на одну букву - все ок, но не работает. Получалось при вызове функции вместо уже объявленной переменной (var) создавалась новая переменная(vaar), которая и отправлялась в функцию.

Разработичиков языка паскаль, позже Delphi уважаю за то что они создали язык с учетом возможностей человека, с учетом того что человек часто бывает невнимателен.
В C# кстати также пришли к этому, ряд конструкций из С и С++ выбросили. Возможно повлияло на это еще и то что MS купили одного из талантливых разработчиков языка Delphi.


 
Кто б сомневался ©   (2011-12-22 00:23) [53]


> Возможно сделано это для того чтобы код был нечитаемым для
> неподготовленных, казался "сложным".

Эта фраза к символам относится.


 
O_o   (2011-12-22 00:38) [54]


> Почему то он решил обозначить символами ряд простых операций,
>  вместо букв, такие как && вместо простого and  || = or
> итп . Что интересно набрать and or быстрее чем символы т.
> к. для символов надо нажать шифт.

копитан очевидность подсказывает, что Ц разрабатывался, когда еще байты экономили
так же КО утверждает, что || или  OR особо никого не заботят (в mysql, например, можно и так и так), кроме упертых человеков, ниразу собсно на Цподобных языках неписавших

> ((int*) ())(int *) ()

признайся, что от балды придумал
это не скомпилируется
больше не ври

>  Возможно сделано это для того чтобы код был нечитаемым
> для неподготовленных, казался "сложным".

шизофазия?

> Или та же возможность - объявлять переменные в любом месте
> - помню в php - Си подобном языке часто происходило такое
> - пишешь название вызываемой функции - и в ее параметрах
> ошибаешься на одну букву - все ок, но не работает. Получалось
> при вызове функции вместо уже объявленной переменной (var)
> создавалась новая переменная(vaar), которая и отправлялась
> в функцию.

так кто идиот?


 
Кто б сомневался ©   (2011-12-22 00:44) [55]


> O_o   (22.12.11 00:38) [54]

Одна вода.

Т.е. ты хочешь подчеркнуть что ошибаются только идиоты?
Само собой ты не идиот, и никогда не ошибаешься.


 
Кто б сомневался ©   (2011-12-22 00:49) [56]


> копитан очевидность подсказывает, что Ц разрабатывался,
> когда еще байты экономили


Серьезно? Напомню паскаль в 1970 разрабатывался.


 
antonn ©   (2011-12-22 00:50) [57]


> Почему то он решил что лучше будет регистрозависимый код
> - Var и var и VaR - были разными переменными.

о дааа, это вообще современнее некуда, впендюрить регистрозависимость :)


> Или та же возможность - объявлять переменные в любом месте

а это вроде на дотнете повыше чем 2.0, там же тип можно не всегда указывать


 
O_o   (2011-12-22 00:50) [58]


> Кто б сомневался ©   (22.12.11 00:44) [55]

я где-то говорил, кто, где и когда ошибается? %-)
не люблю фанатиков

тут уже что только не говорили, а все сводится, что сами не знают, о чем говорят

посмотреть, что востребовано больше - поиск по hh.ru, monster.com дадут вполне адекватный результат

зы
о
> ((int*) ())(int *) ()
ответ будет?


 
O_o   (2011-12-22 00:53) [59]


> Серьезно? Напомню паскаль в 1970 разрабатывался.

напомню
паскаль - учебный язык
а Ц вполне использовался в написании, например, UNIX


 
DiamondShark ©   (2011-12-22 00:53) [60]


> antonn ©   (21.12.11 19:47) [5]
> да ладно ini, а вот, например, посмотреть как реализованы
> методы всяких FtpWebRequest/FtpWebResponse - как? только
> описание

ILDASM в комплект входит.

А Reflector тебе хоть на сишарп, хоть на дельфи исходник выдаст.


 
antonn ©   (2011-12-22 00:56) [61]


> ILDASM в комплект входит.
>
> А Reflector тебе хоть на сишарп, хоть на дельфи исходник
> выдаст.

я про то, чтобы была возможность нормально смотреть и править генофонд, как в дельфи


 
Inovet ©   (2011-12-22 00:56) [62]

> [52] Кто б сомневался ©   (22.12.11 00:22)
> ++i + ++i

такой красивее:)
i+++++i


 
Inovet ©   (2011-12-22 00:58) [63]

> [52] Кто б сомневался ©   (22.12.11 00:22)
> php - Си подобном языке часто происходило такое

В Си такое не произойдёт.


 
Anatoly Podgoretsky ©   (2011-12-22 00:59) [64]

Одной из целей было обеспечение высоких зарплат.


 
DiamondShark ©   (2011-12-22 01:00) [65]


> Юрий Зотов ©   (21.12.11 22:31) [27]
> Так кто-нибудь скажет, стандартизован ли в C (C++, C#) порядок
> вычисления параметров функции при ее вызове? Или неопределенность
> в моем любимом примере так и остается?

Если у программиста где-то появился код (не для "чиста паржать", а реальный), зависящий от порядка вычисления параметров, то такого кадра надо ссаными тряпками гнать вон из профессии.


 
Кто б сомневался ©   (2011-12-22 01:00) [66]


> O_o   (22.12.11 00:50) [58]
>
>
> > Кто б сомневался ©   (22.12.11 00:44) [55]
>
> я где-то говорил, кто, где и когда ошибается? %-)

[54] В самом конце.

> не люблю фанатиков

Также не люблю фанатиков. Я рассуждаю объективно.
Если ты думаешь что это не так, аргументируй.


> посмотреть, что востребовано больше - поиск по hh.ru, monster.
> com дадут вполне адекватный результат

Эт ты о чем?
Эмм. Мы как бы рассуждаем о другом. О том что С язык когда придумывали, не задумывались о читабельности кода, удобстве и его восприятии для человека.


> паскаль - учебный язык

Но это не помешало сделать его читабельным. Ты ж тут говорил о том что
> что Ц разрабатывался, когда еще байты экономили


 
O_o   (2011-12-22 01:02) [67]


> Если у программиста где-то появился код (не для "чиста паржать",
>  а реальный), зависящий от порядка вычисления параметров,
>  то такого кадра надо ссаными тряпками гнать вон из профессии.

я специально не стал это писать
жду таки ответ на счет делфи в такой ситуации


 
DiamondShark ©   (2011-12-22 01:06) [68]


> я про то, чтобы была возможность нормально смотреть и править
> генофонд, как в дельфи

Смотри и правь, кто мешает?

Поставь Reflector плагином к студии. Будешь видеть исходник (причём, язык на выбор, хочешь -- сишарп, хочешь -- бейсик, хочешь -- паскаль), сможешь трассировать на уровне исходника.

Декомпилируй илдасмом или тем же рефлектором (он тебе даже студийный проект создаст), потом пересобери.

Я так в 1.1 баги в System.Data правил, в 2.0 их потом поправили.
Нот э рокет сайнс.


 
O_o   (2011-12-22 01:07) [69]


> [54] В самом конце.

с логикой не лады
ты сам осознаешь, что ошибся и ругаешься на язык
кто идиот язык, или ты?
в английском ошибаешься? аналогия понятна?


> Если ты думаешь что это не так, аргументируй.

что аргументировать?


> Но это не помешало сделать его читабельным. Ты ж тут говорил
> о том что > что Ц разрабатывался, когда еще байты экономили

где я ошибся? :-\


 
DiamondShark ©   (2011-12-22 01:12) [70]


>  return sum (i, i++); // Результат зависит от порядка вычисления параметров

Кстати, бред. Не зависит.
Есть компиляторы, которые кладут болт на строгое следование правилам в сценариях, которые у психически здорового кодера могут возникнуть только прикола ради.
Это не баг, это фича.


 
O_o   (2011-12-22 01:14) [71]


> DiamondShark ©   (22.12.11 01:12) [70]

вопрос был о стандарте официальном
логикой-то то всем понятно, но ЮЗ хочет пункт стандарта, как я понял
на память не помню, искать лень


 
знайка   (2011-12-22 01:19) [72]

Для меня регистрозависимость является удобством и "объявление в любом месте" тоже.


 
DiamondShark ©   (2011-12-22 01:27) [73]


> O_o   (22.12.11 01:14) [71]

Этак ЮЗ скоро захочет пункт стандарта, в котором сказано, например, что любой литерал примитивного типа равен сам себе.

Сайд-эффект постфиксного оператора должен проявляться ПОСЛЕ того, как вычислено выражение, в котором используется терм с постфиксным оператором.
В отцитированном примере -- ПОСЛЕ возврата управления из вызова sum().


 
O_o   (2011-12-22 01:28) [74]

неожиданно для меня
таки UB, но не всегда
на совести программера

http://stackoverflow.com/questions/621542/compilers-and-argument-order-of-evaluation-in-c

на днях должен придти новый стандарт в бумаге, посмотрю там


 
Юрий Зотов ©   (2011-12-22 02:36) [75]

> DiamondShark ©   (22.12.11 01:00) [65]

Всегда с большим удовольствием читаю Ваши сообщения. Вы открываете для меня много нового, о чем я раньше даже и не догадывался. Большое Вам за это спасибо.


 
Кто б сомневался ©   (2011-12-22 03:37) [76]


> O_o   (22.12.11 01:07) [69]


Ты запутался в трех соснах. Это напоминает треп с фанатиком христианства. Ему говоришь вполне объективные вещи, а он дальше про Ерему, думая что Ерему реально ругают.
Никто не ругает С, с чего ты взял.
Я написал что С - язык когда его разрабатывали, про читабельность кода и человеческий фактор не особо задумывались.
Ничто разработчикам не мешало сделать язык приближенным к английскому тексту, как тот же паскаль, втч и экономия байт, - т.к. это позволит совершать меньше ошибок, и легче читать его, и быстрее выучить не знающему его. Не зря тот же паскаль являлся учебным языком - как раз из за того что его код очень похож на английский текст - его читаешь как книгу, причем даже неподготовленный может догадаться что там происходит.


 
TUser ©   (2011-12-22 04:52) [77]

Чего я не понимаю, - зачем писать, используя заведомо сомнительные конструкции, навроде z (i, i++). Конечно, это греет душу программиста, вот, мол, какие я тонкости языка умею использовать, но создает проблемы для читателя кода (да, он, конечно, ламер мастдайный), а также в случае миграции на другой компилятор.


 
Kerk ©   (2011-12-22 07:23) [78]


> O_o   (21.12.11 23:32) [41]
>
> > Где это сказано? Если нигде, значит как хочу - так и вычисляю.
>
> кстати, (не для холивара ради), а для делфи стандарт есть?

В Delphi порядок вычисления операндов зависит от calling convention данной функции.
А стандарта на Delphi вообще нет. Но т.к. производитель фактически один, это не большая проблема.


 
Псарь   (2011-12-22 08:29) [79]


> Кто б сомневался ©  


+86748


 
Inovet ©   (2011-12-22 09:06) [80]

> [52] Кто б сомневался ©   (22.12.11 00:22)
> Почему то он решил обозначить символами ряд простых операций,
> вместо букв, такие как && вместо простого and  || = or
> итп .

Он же ещё гад такой придумал сделать совершенно нечитаемые "+", "-", "*", "/" вместо понятных add, minus, multiplicate, divide, subtract. И верх его больного воображения - "%" вместо mod это же он в своих фантазиях представлял вот под этими кружочками с палочкой - дробь. Ужас! А может не дробь, а... ну вы поняли.



Страницы: 1 2 3 4 5 6 7 вся ветка

Форум: "Прочее";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.63 MB
Время: 0.017 c
15-1324577119
Artem
2011-12-22 22:05
2012.04.29
Как сменить диск при открытии файла в FreePascal?


15-1324626136
Gu
2011-12-23 11:42
2012.04.29
Пылесос


2-1325752404
alexdn
2012-01-05 12:33
2012.04.29
memo


2-1325588259
Валерий
2012-01-03 14:57
2012.04.29
Запретить перемещение окна зная его handle


2-1325437970
Каныбек
2012-01-01 21:12
2012.04.29
Возведение в квадрат и извлечение квадратного корня





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