История изменений
Исправление www_linux_org_ru, (текущая версия) :
И «не заставляет» для новичков означает, что надо обязательно иметь реального гуру, который некоторое время будет бить по рукам на всех местах, где «не трогай каку».
да, в этом случа по рукам должен бить не гуру, а компилятор (что-то аналогичное вроде хотели делать в D — safe D, не знаю че у них там вышло); да, отсутствие такого ключа(-ей) в компиляторе с++ — это недостаток
заодно отвечу на ряд твоего предыдущего нытья комментариев
1. нормальным программистом назовем такого, который пишет на жабке; тогда ему действительно можно освоить с++ в приемлемом качестве за неделю — в основном надо научиться тому, что указателями кто-то обычно владеет (btw, и в жабке *нужно* юзать разные там soft/weak/fantom references для кэша, так что невелика разница)
2. да, конечно, на сельской телеге (си) ни у кого не возникает желание сделать разворот с помощью торможения юзом, а на автомашине (с++) это желание возникает, но у некаскадера результат получается совсем не такой, как показывают в фильмах, а помятая машина, лежащая на боку; да, это недостаток проектирования с++; нет, это не мешает использовать с++ в работе
и еще по мелочам:
метапрограммирование на шаблонах — нездоровое пристрастие (в отличие от реализации полиморфизма на шаблонах); вместо него лучше алгоритм метапрограммы реализовать на каком-нить внешнем языке типа питона, перла, руби и иже с ними, и результат работы компилировать вместе с проектом
при этом с++ предоставляет гораздо лучшие, чем си, средства для работы в такой связке — именно
А. с++ хотя бы может напечатать название типа данных (хотя бы из довольно большого заданного подмножества), а си? (хотя тут уже кое-где без gcc-xml напряг)
В. с++ может дополнительно обрабатывать ту инфу о типах и значениях, что получена из внешного скрипта, реализующего метапрограммирование; простой пример, почему typeof недостаточно — он не позволяет узнать, какого типа аргумент требуется функции
да, под конец конкретный камешек в огород — у вас там на си как можно статически узнать размер массива? только чтобы он не врал нагло на указателе, а как-то указывал ошибку (т.е. sizeof(a)/sizeof(a[0]) не годится)
а на с++ можно
Исходная версия www_linux_org_ru, :
И «не заставляет» для новичков означает, что надо обязательно иметь реального гуру, который некоторое время будет бить по рукам на всех местах, где «не трогай каку».
да, в этом случа по рукам должен бить не гуру, а компилятор (что-то аналогичное вроде хотели делать в D — safe D, не знаю че у них там вышло)
заодно отвечу на ряд твоего предыдущего нытья комментариев
1. нормальным программистом назовем такого, который пишет на жабке; тогда ему действительно можно освоить с++ в приемлемом качестве за неделю — в основном надо научиться тому, что указателями кто-то обычно владеет (btw, и в жабке *нужно* юзать разные там soft/weak/fantom references для кэша, так что невелика разница)
2. да, конечно, на сельской телеге (си) ни у кого не возникает желание сделать разворот с помощью торможения юзом, а на автомашине (с++) это желание возникает, но у некаскадера результат получается совсем не такой, как показывают в фильмах, а помятая машина, лежащая на боку; да, это недостаток проектирования с++; нет, это не мешает использовать с++ в работе
и еще по мелочам:
метапрограммирование на шаблонах — нездоровое пристрастие (в отличие от реализации полиморфизма на шаблонах); вместо него лучше алгоритм метапрограммы реализовать на каком-нить внешнем языке типа питона, перла, руби и иже с ними, и результат работы компилировать вместе с проектом
при этом с++ предоставляет гораздо лучшие, чем си, средства для работы в такой связке — именно
А. с++ хотя бы может напечатать название типа данных (хотя бы из довольно большого заданного подмножества), а си? (хотя тут уже кое-где без gcc-xml напряг)
В. с++ может дополнительно обрабатывать ту инфу о типах и значениях, что получена из внешного скрипта, реализующего метапрограммирование; простой пример, почему typeof недостаточно — он не позволяет узнать, какого типа аргумент требуется функции
да, под конец конкретный камешек в огород — у вас там на си как можно статически узнать размер массива? только чтобы он не врал нагло на указателе, а как-то указывал ошибку (т.е. sizeof(a)/sizeof(a[0]) не годится)
а на с++ можно