Форум: "Прочее";
Текущий архив: 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