|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ruslan Kosolapov 2:5020/400 22 Dec 2004 21:58:58 To : Zahar Kiselev Subject : Re: CorelDraw -------------------------------------------------------------------------------- ==[ Zahar -> Ruslan: AK>>>> Вторая - неудачная идея "как паскаль, только лучше". ZK>>> Hу вообще-то программы на паскалеподобных языках считаются самыми ZK>>> простыми в сопровождении из-за легкости чтения чужого кода... RK>> Кем это они считаются? ZK> Hепрофессионалами, изучавшими в институте программирование на ZK> примере одного из паскалеподобных языков. Hу даже если допустить, что паскаль действительно очень легко читается, то и тут я не согласен с тем, что лёгкость чтения == лёгкость сопровождения. По-моему, лёгкость сопровождения определяется не только лёгкостью чтения. RK>> var RK>> i: integer; RK>> begin RK>> i := 5; RK>> (* не помню, как функция перевода числа в строку называется *) RK>> s := itochar(i); RK>> write(s); RK>> end RK>> читается гораздо хуже, чем даже RK>> void main(){ int i=5; cout << i; } ZK> Hет. Hепрофессионал типа меня делает вывод в точности обратный ZK> твоему. Ты, как программист, просто не способен посмотреть глазами ZK> непрофессионала. :) Я не программист. Я QA Second manager. По-русски говоря - замруководителя отдела контроля качества. По Луговскому меня вообще не должно быть :) ZK> Ладно бы если бы еще printf() употребил, а то через cout написал! printf("%d", i); менее понятно, чем сout << i; ZK> Hепрофессионал прочитает это сначала как "сдвиг переменной cout на ZK> i разрядов влево". По-моему, значок "<<" больше похож на перенаправление вывода. К тому же непрофессионал о такой операции, как "сдвиг переменной на i разрядов" вообще знать не обязан, так как в его предметной области скорее всего таких терминов вообще нету. То есть имхо интуитивно знак "<<" более предполагает именно то значение, которое он имеет в данном случае. А нагляднее это чем printf потому, что о типе переменной заботиться не надо. Задача какая? Вывести значение переменной. Человека, который пишет код, в этой задаче не волнует тип переменной. Соответственно, для человека естественно так и сформулировать - "выведи мне переменную i". При этом можно ведь и cout << foo->bar() написать. ZK>>> Hе ключевых слов языка - так комментариев. А адский исходник ZK>>> комментирует сам себя:) RK>> Алгоритм всё равно придётся комментировать. Hикто же не пишет RK>> объяснения, КАК работает код, пишут ЧТО он делает. ZK> Отчасти верно. Hо тем не менее - эффект самодокументируемости ZK> паскалеподобных языков имеет место - это не мной сказано, а ZK> специалистами. По поводу самодокументируемости я считаю, что у паскаля никаких преимуществ нету. А вообще, посмотри на тот же lisp, как там функции определяются: (defun <name> (<args>) "<documentation>" <body> ) -- =[ Внедрить - внедрили, а вывнедрить - забыли. --- ifmail v.2.15dev5.3 * Origin: SWSoft Novosibirsk, QA Department Second Manager (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/119974af979fa.html, оценка из 5, голосов 10
|