Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
По поводу языка спорить не буду - не лингвист. Но я точно... 14.03.05 12:43 Число просмотров: 2710
Автор: amirul <Serge> Статус: The Elderman
|
По поводу языка спорить не буду - не лингвист. Но я точно читал где то, что русский язык - один из самых сложных для изучения (после китайских/вьетнамских). А на более высокую избыточность английского указывает хотя бы жесткий порядок слов в предложении.
> > Избыточность асма ГОРАЗДО ниже, чем C. И еще ниже, чем > C++ > Да, блин, как же это? По определению, если на пальцах, то > избыточность - это количество текста, которое можно > выкинуть без ущерба для информации.
А вот тут речь уже идет об избыточности языка, а не текстов программ. Жесткая типизация - один из способов повышения избыточности. Если же говорить о тексте, то самым избыточным языком, который я знаю, является Ook:
http://en.wikipedia.org/wiki/Ook
> Пример на Си: > a=b+c > То же самое на АСМе: > mov ax, a > add ax, b > mov c, ax > И это я ещё не указывал в коде конкретных типов. Просто > сравните объёмы c учётом того, что смысл здесь один и тот > же. А в экзешнике получится так вообще девять байтов.
А вот C++ тянет с каждой переменной ее тип и в зависимости от этого принимает множество решений. На асме никакой дополнительной информации, кроме самих инструкций нет.
> > Ага, для "hello, world"-а достаточно. А для больших > > проектов не хватает уже и статической типизации. > Ну, не только "hello, world" мне писать доводилось. Если уж > ТАКАЯ НЕОБХОДИМОСТЬ жёстко задать тип указателя, кто мешает > сделать это в его имени? Например как-то так: > int a; > ptr xxx_int=&a; > ptr - это я "ввёл" такой тип нетипизированного указателя.
И что помешает тебе использовать твой xxx_int не по назначению? Говорю же, что в больших проектах даже статической типизации становится мало и программисты начинают вводить избыточность, которая не поддерживается языком напрямую (например Принцип подстановки Лискоу, Принцип инверсии зависимостей и пр.)
> Да ладно. А то прям так сразу в Майкросовте кинутся > исправлять все несоответствия. Всять хотя бы ситуацию с > вэб-буилдингом. Каждый браузер по-своему уникален и плевать > все хотели на W3C. Особенно если вспонить давнишнее > противостояние MS и Netscape, когда два браузера отличались > вообще ПРИНЦИПИАЛЬНО. Ну к рекомендациям w3c стараются все таки прислушиваться. А вот в расширениях стандарта - там да, разница принципиальная
> В этом самом комитете, я думаю, понимают, что если уж > вводить стандарт, то делать это надо так, что бы люди не > пострадали. Поэтому лично я не вижу поводов для опасения. > Да и потом, даже если комитет и разрушит мой код, то что > мне мешает сделать глобальную замену во всех моих проетах > NULL'а на упомянутый уже (void *) 0? Это займёт от силы пол > часа. Во первых (void *)0 - НЕДОПУСТИМОЕ определение NULL-а в C++, а во-вторых пробемы могут быть гораздо глубже
|
|
|