И опять С++ vs С#
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.04 20:18
Оценка: -1
Здравствуйте, vdimas, Вы писали:

V>>>Влад, ты же разбираешься в этом вопросе, а жонглируешь...


VD>>Чем? Чистое сравнение количества конструкций языка. Без каких личбо выводов.


Так все же чем?

VD>>Осталось определить смысл вкладываемый в это понятие и как перевести "это" в количественную составляющую...


V>смысл такой — количество допустимых выражений на единицу языка.


Это очень расплывчатое определение. Да и бессмысленное.

Скорее оно тянет на выразительность языка. Т.е. на то насколько компактно и понятно можно описать некий алгоритм.

Оба языка универсальны и позволяют построить идентичные по функциональности программы. Так что проще сравнить объем кода необходимый для решения сходных задач. Но тут все упирается в то, что только примитивные задачи можно решить без помощи библиотек, а с ними сравнение будет бессмысленным.

Так что подобное сравнение тяжело сделать точным и исчислимым. Скорее можно вести речь об субъективном сравнении.

V>есть подход от обратного.

V>берем допустимые цепочки и смотрим, скольким нетерминалам (конечным или промежуточным) удовлетворяет эта цепочка. Чем большим (чем больше неоднозначность), тем мощнее грамматика.

Какая нафиг не однозначность? Зависимость от контекста к неоднозначности не приводит.

В общем, это все бессмысленные рассуждения. Все намного проще. В Шарпе есть очень высокоуровневые конструкции и если не брать в рассчет библиотечный код (любой, даже входящий в стандарт), то выразительность Шарпа будет намного выше С++. Собственно для того язык и проектировался. Из самых ярких примеров... вот, например, реализация итератора на Шарпе:
public IEnumerator<НекоторыйТип> GetEnumerator()
{
    for (int i = 0; i < некотораяКоллекци.Count; i++)
            yield return некотораяКоллекци[i];
}

Для реализации того же самого на С++ прийдется создать внешний класс и кучу кода. Тут же 4 строки кода.

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

А мерить условные вариации просто бессмысленно. Как и использовать каие-то недетерминированные понятия вроде "мощьности".
... << RSDN@Home 1.1.4 beta 3 rev. 207>>

04.12.04 16:29: Ветка выделена из темы Качество стандарт
Автор: Павел Кузнецов
Дата: 13.11.04
— AndrewVK
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.