Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Может не новость, но я только сейчас наткнулся 
:(
    Опции темы
baldina
Дата 19.1.2013, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



позиция ясна, но согласиться трудно. 

поясню:
Код

x = a ? b : c;

удобно как писать, так и читать. последнее с оговоркой: для тех, кто в теме. ну а если кто не в теме, ему писать/читать рано.

Код

x = (a < b) || (b > c) && (a < d) ? a=c-b, ++b : a -= d, --c;

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

Добавлено через 3 минуты и 40 секунд
Думаю г....код можно выдавать и на Ада, и вообще любом языке
PM MAIL   Вверх
volatile
Дата 19.1.2013, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(Фантом @  18.1.2013,  19:03 Найти цитируемый пост)
Perl и Ada. 

Аду на самом деле очень трудно читать.
Растекаясь мыслью по древу, простая функция может легко разбухнуть до непотребных размеров
Смысловая разряженность мешает охватить суть задачи одним мысленным взглядом.
Дочитав один из таких "протоколов судебных заседаний" до конца, уже трудно впомнить чем же собственно все начиналось, и для чего...
Приходицца читать еще и еще раз сначала, постоянно одергивая себя от посторонних мыслей, и пытаясь разглядеть
за природо-описательным пустословием не великое зерно смысла.

Добавлено через 20 секунд
 smile 
PM MAIL   Вверх
Фантом
Дата 19.1.2013, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(baldina @  19.1.2013,  20:57 Найти цитируемый пост)

Думаю г....код можно выдавать и на Ада, и вообще любом языке 


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

Цитата(volatile @  20.1.2013,  00:29 Найти цитируемый пост)

Аду на самом деле очень трудно читать.


Цитата(baldina @  19.1.2013,  20:57 Найти цитируемый пост)
последнее с оговоркой: для тех, кто в теме. ну а если кто не в теме, ему писать/читать рано.

 smile 
PM   Вверх
volatile
Дата 19.1.2013, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Фантом, Читаемость кода - вещь очень субъективная...
Возможно кто-то скажет что ему удобно читать пёрл, и кстати, будет прав.
Ну удобно ему читать пёрл и что? Вам Аду удобно? да ради бога!
Не нужно лишь это выдавать за непреложную истину, в последней инстанции. smile 
PM MAIL   Вверх
Фантом
Дата 20.1.2013, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(volatile @  20.1.2013,  00:51 Найти цитируемый пост)
Читаемость кода - вещь очень субъективная...

Гениально. А теперь отмотайте эту ветку форума назад на пару страниц и посмотрите, с чего именно началась эта ветвь дискуссии: с того, что мне старательно пытались доказать, что "синтаксическая выразительность" (будем для определенности называть это так) является характерным и универсальным свойством языка, позволяющим даже классифицировать языки .  smile 

Цитата(volatile @  20.1.2013,  00:51 Найти цитируемый пост)

Не нужно лишь это выдавать за непреложную истину, в последней инстанции. 

Вот именно.
PM   Вверх
mes
Дата 20.1.2013, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  19.1.2013,  23:59 Найти цитируемый пост)
 посмотрите, с чего именно началась эта ветвь дискуссии: с того, что мне старательно пытались доказать, что "синтаксическая выразительность"

нет, нет и нет. Ветка начиналась перечислениями плюсов платформы, которыми Ява красовалась перед С++.. На что был ответ, что не плюсы платформы, а именно выразительные свойства языка красят его. Что, как я позже понял, было воспринято, что сила выразительности определяется возможностью оперирования скобками.. 
Нет, нет и еще раз нет.. конечно наличие загромождающих конструкций, могут отвлекать внимание.. но в данном вопросе это действительно дело вкуса.. 
А вот к примеру С и С++ обладают обсолютно одинаковой "синтаксической выразительностью" однако выразительность языков совершенно разная..
Чтоб эффективно реализовать/выразить мысль на этих двух с виду похожих языках, нужно перестроить ход мыслей.... 
И речь была именно об этом ))



--------------------
PM MAIL WWW   Вверх
Фантом
Дата 20.1.2013, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(mes @  20.1.2013,  14:54 Найти цитируемый пост)
А вот к примеру С и С++ обладают обсолютно одинаковой "синтаксической выразительностью" однако выразительность языков совершенно разная..


Ой ли? В C++ несколько больше языковых конструкций. И, как хорошо известно, действительно можно писать на C++ как на "C с классами", а можно - как на C++. Во втором случае код даже визуально будет сильно отличаться от кода на C.
PM   Вверх
mes
Дата 20.1.2013, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  20.1.2013,  13:46 Найти цитируемый пост)
Ой ли? В C++ несколько больше языковых конструкций.

больше, но речь шла о скобках, кои как я понял, определяют по  Вашему ту самую "синтаксическую выразительность".. 

Цитата(Фантом @  20.1.2013,  13:46 Найти цитируемый пост)
 действительно можно писать на C++ как на "C с классами", а можно - как на C++.

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

Цитата(Фантом @  20.1.2013,  13:46 Найти цитируемый пост)
Во втором случае код даже визуально будет сильно отличаться от кода на C. 

ага, и это как раз то, что отличает один язык от другого..  Другой ход мыслей,  а не иные наименования определяют язык.

Это сообщение отредактировал(а) mes - 20.1.2013, 19:05


--------------------
PM MAIL WWW   Вверх
Фантом
Дата 20.1.2013, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(mes @  20.1.2013,  20:03 Найти цитируемый пост)
Другой ход мыслей,  а не иные наименования определяют язык.


Именно. Только вот не Вы ли ранее писали вот это:

Цитата(mes @  9.1.2013,  21:39 Найти цитируемый пост)

потому яву как язык надо сравнивать с другими языками ява-машины.. шарп с с++ сравнивается только в cli-шном исполнении.. 
в противном случае паскаль с с++ одно и то же , ибо отличаются только синтаксисом


PM   Вверх
mes
Дата 20.1.2013, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  20.1.2013,  18:19 Найти цитируемый пост)
Именно. Только вот не Вы ли ранее писали вот это:

ну и ?  вполне возножно, что я не точно сформулировал, ибо русским, окромя этого сайта практически и не пользуюсь. Давайте разберем, с учетом контекста :
Цитата(mes @  9.1.2013,  19:39 Найти цитируемый пост)

Цитата(mes @  9.1.2013,  19:39 Найти цитируемый пост)
Там останется только синтаксис.


потому яву как язык надо сравнивать с другими языками ява-машины.. шарп с с++ сравнивается только в cli-шном исполнении.. 
в противном случае паскаль с с++ одно и то же , ибо отличаются только синтаксисом 


я так понимаю проблема во второй части цитаты, ибо первая как раз и говорит о сравнении языков в одной плоскости.. 
"В противном случае.." это опровержении цитаты собеседника, который настаивал, что без  учета возможностей платформы, в языках останется лишь синтаксис.. На что и было приведено сравнение языков, которые не являются диалектами одного языка. Т.е. подобной фразой я пытался натолкнуть на мысль, что не синтаксисом отличаются С++ и Паскаль...
при этом даже если тут загвоздка, следующая фраза того поста, по идеи, расставляет все на свои места :

Цитата(mes @  9.1.2013,  19:39 Найти цитируемый пост)
при всем этом выразительность одного языка может быть неприемлимой/неудобной как для другой платформы, так и области программированния... потому это тоже должно быть уточнено перед спором.. 

именно выразительная способность, а не синтаксис. Не представляю, как синтаксис может быть нe приемлим для какой то платформы smile


Это сообщение отредактировал(а) mes - 20.1.2013, 22:41


--------------------
PM MAIL WWW   Вверх
Фантом
Дата 20.1.2013, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Так, собственно, и так уже понятно, что сошлись.   smile Итог такой:
1) Различие и сходство языков определяется не синтаксисом (это к вопросу о родственности Java и C);
2) удобство пользования языком от синтаксиса существенно зависит (но не только от него), однако этот фактор в основном субъективен (это к вопросу о преимуществе синтаксически-С-подобных языков над остальными).

Добавлено через 1 минуту и 51 секунду
Цитата(mes @  20.1.2013,  23:40 Найти цитируемый пост)
Не представляю, как синтаксис может быть нe приемлим для какой то платформы


Кстати, при желании исхитриться и представить можно.  smile  Именно это было одной из основных причин, погубивших APL.
PM   Вверх
mes
Дата 26.1.2013, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Фантом @  20.1.2013,  22:21 Найти цитируемый пост)
 Различие и сходство языков определяется не синтаксисом (это к вопросу о родственности Java и C);

зачастую к синтаксису приписывают морфологию,  так как морфология имеет сильное влияние на синтаксис, и сопутствуют друг другу.. 
вот например конструкции :
Код

1. if (true) {}
2. IF(True) Then Begin End;

синтаксически разные , но морфологически схожи, а
Код

1. for(int i=0; i>-10 &&  i<10; ++i){...}
2. For i=0 To 10 Begin ... End

отличаются не только синтаксически, но и морфологически.. но видно что синтаксис конструкции 2. немного избыточен для реализации морфологии 1.
так если в конструкцию 1. добавить To, Step, Begin, End, но при этом сохранить морфологию, то конструкции останется родственной, в отличие синтаксически похожей констукции 2..

Добавлено @ 13:46
Цитата(Фантом @  20.1.2013,  22:21 Найти цитируемый пост)
удобство пользования языком от синтаксиса существенно зависит (но не только от него), 

тут опять же, смысл не в том что удобнее && или AND, это действительно дело вкуса , a о том, каким синтаксисом удобнее отразить логику языка.. 
Так например опять те же Begin с End добавить в С не сложно.. но зачем они там нужны ?

Это сообщение отредактировал(а) mes - 26.1.2013, 19:40


--------------------
PM MAIL WWW   Вверх
volatile
Дата 26.1.2013, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(mes @  26.1.2013,  13:42 Найти цитируемый пост)
1. for(int i=0; i &&  i<10; ++i){}
2. For i=0 To 10 Begin End

Цитата(mes @  26.1.2013,  13:42 Найти цитируемый пост)
синтаксис конструкции 2. немного избыточен для реализации морфологии 1.

сама конструкция 1 избыточна, ибо цикл ни разу не выполницца.
mes, Щас фанаты паскаля набегут и скажут что в паскале это запишецца как
Код

;



Это сообщение отредактировал(а) volatile - 26.1.2013, 19:29
PM MAIL   Вверх
volatile
Дата 26.1.2013, 17:46 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Код

somenumericvalue ++;

Разбудите в 3 часа ночи, в дупель пьяного программера С/С++ и спросите что это такое. Он ответит что это инкремент, и будет прав!

Код

somenumericvalue := somenumerivcalue + 1;


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

(Это по поводу легкого прочтения ады, паскакаля и прочих)
И кстати личные предпочтения здесь не причем.
Код объективно неудобно ни писать, ни тем более читать !

PM MAIL   Вверх
mes
Дата 26.1.2013, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(volatile @  26.1.2013,  16:28 Найти цитируемый пост)
ама конструкция 1 избыточна, ибо цикл ни разу не выполницца.

не выполнится из ошибки... бывает.. концентрировался на мысли, а нe коде.. исправил как оно хотелось.. 
volatile,  спасибо за внимательность smile

Цитата

Щас фанаты паскаля набегут и скажут

под конструкцией в моем посте подразумевается не приведенная законченная конструкция с циклом до 10, а конструкция языка for  smile

Добавлено через 5 минут и 59 секунд
Цитата(volatile @  26.1.2013,  16:46 Найти цитируемый пост)
Код объективно неудобно ни писать, ни тем более читать !

ну так, наверняка вместо
Цитата(volatile @  26.1.2013,  16:46 Найти цитируемый пост)
Код

somenumericvalue := somenumerivcalue + 1;

пишут Inc(somenumericvalue); или ?

Это сообщение отредактировал(а) mes - 26.1.2013, 19:46


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1060 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.