RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Я вот как-то не уверен, что они писали компайлеры на Фортран IV. > > > > Я с ними работал в конце 80-х годов, а компиляторы они писали ещё до того, как я туда пришёл. Какой это мог быть фортран? > > скорее всего 77 или какие-то специфические расширения использовали ИМХО. > > > > Брр. Это как? Любой компилятор выругается на несоответствие типов. > > > > В языке, в котором отсутствует строгая типизация (а С ведь такой, не так ли?) полно ситуаций, когда выполняется автоматическое преобразование типов, поэтому компилятору в них ругаться просто не на что. > > Си имеет весьма строгую типизацию. Другое дело, что он дает возможность эту типизацию обойти при необходимости. Можно чего угодно куда угодно закастить, явно это указав. Но это уж никто не заставляет делать. > > > Не будучи специалистом по написанию программ на С, пример привести не могу, но мои знакомые об указанную выше ситуацию обжигались неоднократно - прямо у меня на глазах (потому я о ней и знаю). > > Ну какой смысл рассуждать о временах Очакова и покоренья Крыма. В K&R сях ессно много было упрощений и допущений. Дык им и не пользуется никто. > > > По поводу undef Славик уже сказал (я, кстати, именно об этом и думал, когда писал). Но вот сейчас передо мной лежит учебник по С, и в нём такой пример напечатан: > > --------- > > #define HUGE 5 > > [...] > > #define HUGE 10 /* HUGE переопределён как 10 */ > > --------- > > и никаких #undef между ними... > > Должен ли я не верить учебнику? > > Я Славику уже на это ответил. Из трех мной используемых компиляторов Си все три выругались. У кого warning, у кого error. Молча ни один не сожрал. А что за учебник-то? > > > >> Или случай, когда в двух используемых библиотеках имеются одноимённые функции - тоже кровь попортить может. > > > > > > Линкер тебе сообщит, что имеются одноименные функции (укажет имена) в двух либах (укажет либы) и чего-то некругло. > > > > Во-первых, линкер - не компилятор. Во-вторых, что с того, что он скажет? Мне же программу сделать нужно. А как, если мне для этого нужны обе библиотеки? Ведь язык не даёт мне возможности явно указать, из какой именно библиотеки я хочу функцию использовать. > > Стоп. А в каком языке (кроме пожалуй явы) такое вообще возможно? В Сях имя функции - идентификатор, который обязан быть уникальным. Это, так сказать, правило языка. Если кому приспичило сделать неуникальные идентификаторы, то наверно ему стоило бы подумать о последствиях таких действий? > > > У меня в университетет был такой предмет - "Логика". Так там наc учили, что из ложных утверждений вполне может следовать истинный вывод :-) > > Из ложных утверждений никаких определенных выводов сделать нельзя. Меня в университете учили так. ;) > > PS. Весь плач по поводу ненадежности Си сводится к тому, что Си дает любому желающему возможность застрелиться. Дело вкуса в общем-то. А о вкусах как известно не спорят. Мне лично язык, постоянно держащий за подтяжки, утомителен. >
_, _, _,
/ \ (_ / ~ )
\ / , ) / /
~ ~ ~~~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.