LINUX.ORG.RU
ФорумTalks

C++ vs Ada


0

1

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

★★★★★

Последнее исправление: splinter (всего исправлений: 1)
Ответ на: комментарий от Xellos
Someone := new Person;
Someone.Name := "Fred";
Someone.Age  := 33;
Someone.all := Person'("Fred", 33);        -- вариант с позиционным агрегатом
Someone.all := Person'( Name => "Fred";    -- вариант с именованным агрегатом
                        Age  => 33      );

будет почитаемее чем

assert(t1.tm_sec == t2.tm_sec);
        assert(t1.tm_min == t2.tm_min);
        assert(t1.tm_hour == t2.tm_hour);
        assert(t1.tm_mday == t2.tm_mday);
        assert(t1.tm_mon == t2.tm_mon);
        assert(t1.tm_year == t2.tm_year);
        assert(t1.tm_wday == t2.tm_wday);
        assert(t1.tm_yday == t2.tm_yday);
        assert(t1.tm_isdst == t2.tm_isdst);

или

memmove(&*_Dest, &*_First, _Count * sizeof (*_First));

splinter ★★★★★
() автор топика
Ответ на: комментарий от splinter

Какая нафиг адресация? В первом случае - работа со структурами, тесезеть ООП. Во втором и третьем - рядом не стояло. Второй вообще я не понял при чём тут, работа с ассертами, я на плюсах почти десять лет не писал, ассерты плохо понимаю, но я понимаю, что ассерты к первому примеру относятся чуть больше, чем никак.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

Какая нафиг адресация?

извини, ляпнул не подумав.

не кипи, я не говорю что Си плох, я говорю что его трудно читать.

splinter ★★★★★
() автор топика
Ответ на: комментарий от splinter

Что трудно читать? Копирование из буфера в буфер? Или цепочку ассертов? Или ты хочешь сказать, что на cpp нельзя написать то же самое, что написано в первом примере?

Person Someone=new Person;
Someone.Name=«Fred»;
Someone.Age=33;
Person Someone=new Person («Fred, 33»); // если определён конструктор с двумя параметрами

Вот с именованными параметрами сложнее, на лету структуру создать нельзя. А может уже и можно.

Xellos ★★★★★
()
Ответ на: комментарий от splinter

Как будто в аде нельзя писать нечитаемые однострочники... Или вырвиглазную копипасту. Для первого примера тащемта Вирт в одном своем «чисто учебном языке»(ТМ) клаузу with придумал как reference abbreviation, как раз из-за проблем с читаемостью у копипастной инициализации членов структуры(так что, читаемость первого примера довольно относительная - можно читаемее, не напрягаясь). «Красота кода» - в большей степени вопрос вкуса и чувства меры программиста, нежели языка. А «читаемость» - сумма соглашений коллектива людей, то есть, разумный компромисс в практическом контексте, а не в сферическом в вакууме. (В отрыве от коллектива, признающего конкретный способ расстановки операторных скобок и отступов читаемым - так и вовсе субъективна.)

slackwarrior ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.