| swizard ( @ 2008-03-03 14:59:00 |
| Current location: | Home |
| Current music: | Threshold / The Ravages Of Time |
| Entry tags: | bugs, c++, code, daily, typing |
Строгая типизация?
Закончил недавно относительно большой проект по работе -- ~10k строк на несколько подзабытом мной C++.
Дабы не было совсем скучно, решил использовать исключительно статический полиморфизм -- вышло даже достаточно удобно, в итоге virtual даже не понадобился ни разу. Единственно, немного напрягли сначала длиннющие сообщения об ошибках, но я их достаточно быстро научился читать.
Но суть не в этом. Я заметил достаточно любопытную вещь: единственный серьезный баг, на поиск которого я потратил почти два дня, был связан с логической ошибкой -- забыл внести один вызов внутрь блока if, оставив его снаружи. Код, тем не менее, был абсолютно корректен и даже выглядел правильным :)
Количество ошибок, связанных с типизацией: 0. Даже после рефакторингов :)
Не, может, конечно, это я так излишне аккуратно пишу, но все-таки, имхо, вся эта серьезная возня вокруг строгой типизации несколько превышает реальную необходимость. Да, это серьезный бонус для оптимизирующего компилятора, но для программиста я особых "overkill" прелестей на практике не вижу. Хотя, конечно, pattern matching и Maybe вместо NULL жизнь облегчает :)