Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.29;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.022 c
15-1324623216
Faceless
2011-12-23 10:53
2012.04.29
информация об используемых библиотеках


15-1324593730
alexdn
2011-12-23 02:42
2012.04.29
Open source проект


2-1325763307
Scott Storch
2012-01-05 15:35
2012.04.29
использование оператора goto


15-1324540812
Фокс Йожин
2011-12-22 12:00
2012.04.29
Глюки IE9 с фреймами


15-1324931403
Юрий
2011-12-27 00:30
2012.04.29
С днем рождения ! 27 декабря 2011 вторник