Re: плохой язык C++ :)
От: amih Россия  
Дата: 02.03.06 15:02
Оценка: 3 (1) +1 -1
Здравствуйте, Зверёк Харьковский, Вы писали:

ЗХ>avva пишет


ЗХ>

ЗХ>Следующие рассуждения в принципе мне кажутся очень простыми, но ни разу их не встречал.

ЗХ>Одна из главных причин, почему C++ плохой язык: для этого надо сначала понять, почему C хороший. В чем состоит то свойство C, из-за которого его называют "портабильным ассемблером"? Дело не в том, что "близко к машине", и всё низкого уровня. Дело в том, что почти всегда в C эффект любой строки кода локален и очевиден. Когда я что-то делаю в C, неважно что, я очень хорошо понимаю, что именно происходит. Если я пишу x=y, я знаю точно, что происходит. Если я пишу f(...), я знаю точно, какая конкретно функция будет вызвана, я могу указать на неё пальцем, и я знаю точно, что произойдёт в момент входа в неё и выхода из неё. Если я выделяю память, я знаю точно, что она не исчезнет, пока я её не освобожу. Итд. итп. Атомарные строки кода переходят в атомарные куски кода во время запуска, и никаких сюрпризов. Есть исключения: например, если я вызываю функцию через ссылку, я не знаю, что собственно я вызвал, до рантайма. Но этих исключений очень мало и они тоже "локализованы" и их легко понять.
...
превращает программиста в шизофреника.


угу, но только вот при объеме такого "простого и понятного" кода на С в несколько десятков тысяч строк кода понять где что происходит становится вабще невозможно. "из-за деревьев леса не видно". где что инициализируется, где разрушается... и механизмов поправить это в С нет. да, программирование уже вылезло из пеленок, теперь f(...) может означать что угодно, но обратного пути нет, т.к. системы будут становиться только сложнее и сложнее и язык должет отражать эти изменения. обычный человеческий язык тоже сложен и многозначан, но ты ведь понимаеш что я пишу. или ты предлагаеш вернуться к завязыванию узилков на веревочке?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.