— расширение русского языка новыми терминами — могу поучаствовать как тролль, но лучше пропущу, хотя это хорошая и серьезная тема
— разделение понятий связывания имен на стадии ld и связывание конкретных объектов во время исполнения. Так получилось, что первая стадия просто исторически часто называется линковкой, а вторая стадия (точнее даже не стадия, а трактовка поведения), более свежая и молодая уже именуется поздним/ранним связыванием. Проблема такая же как и в случае с шаблонами проектирования, которые стали путаться с шаблонами языка. Зато теперь у нас есть прекрасные русские слова «паттерн» и «темплейт» :)
Препроцессор препроцессит (никогда так не говорю), компилятор компилирует, линковщик (или линкер?) линкует.
Линковка это низкоуровневый процесс, который дает нам то, что можно назвать ранним связыванием.
Линковку можно выполнить в рантайме, при загрузке динамической библиотеки и получить позднее связывание.
Позднее связывание можно получить и при использовании статической линковки, например, при использовании указателей на функции или виртуальных методов. Линковка уже прошла, но какая именно реализация под указателем будет понятно в рантайме (во время работы), на этом построены многие паттерны (шаблоны уже заняты).
Пусть уж лучше линковка останется линковкой. Уже были переводы applet как «приложеньице». У нас же нет цели стихи про березы и линковку писать :)
В правиле 1, я полагаю, основной посыл в том, чтобы придерживаться stl-стиля в работе с контейнерами и основной упор делается на то, как хотелось бы, чтобы это выглядело в современном коде. Утверждение, что тем, кто пишет давно все ясно, совершенно справедливо, но, полагаю, будущая книга ориентирована на поколение, для которых 14 или 17 полюсы это и есть норма, других версий нет :) Соответственно и подходы к работе с stl навязываются самой библиотекой.
Я сам не очень понял, к чему был комментарий о типе sum, не заметил какой-то подвох?
Цитата Шона не вырвана, он это любит повторять при каждом удобном случае, в разных формулировках, но основной посыл остается прежний — если есть готовый алгоритм, используйте его и не пишите своего.
В правиле 2 примеры не идентичны, они лишь иллюстрируют разный подход. То есть я в приведенных примерах вообще не вижу попыток автора сделать их идентичными ни с точки зрения интерфейса ни с точки зрения реализации. Это не отменяет ошибки в тексте read1 :) Думаю, по примеру кода, который просто иллюстрирует разный подход делать такие резкие выводы об авторе может и рано :)
Правило 5 действительно можно трактовать как призыв писать небольшие функции, как частный случай. Речь в принципе идет о сокращении времени жизни объектов. Это касается циклов, условий и тел функций. Призыв не давать объектам жить дольше, чем это требует задача.
В 6 правиле кажется с примером все нормально, insert возвращает pair<iterator,bool>. result.second имеет тип bool.
не прочел последний абзац, пришлось все удалить :)
— расширение русского языка новыми терминами — могу поучаствовать как тролль, но лучше пропущу, хотя это хорошая и серьезная тема
— разделение понятий связывания имен на стадии ld и связывание конкретных объектов во время исполнения. Так получилось, что первая стадия просто исторически часто называется линковкой, а вторая стадия (точнее даже не стадия, а трактовка поведения), более свежая и молодая уже именуется поздним/ранним связыванием. Проблема такая же как и в случае с шаблонами проектирования, которые стали путаться с шаблонами языка. Зато теперь у нас есть прекрасные русские слова «паттерн» и «темплейт» :)
Препроцессор препроцессит (никогда так не говорю), компилятор компилирует, линковщик (или линкер?) линкует.
Линковка это низкоуровневый процесс, который дает нам то, что можно назвать ранним связыванием.
Линковку можно выполнить в рантайме, при загрузке динамической библиотеки и получить позднее связывание.
Позднее связывание можно получить и при использовании статической линковки, например, при использовании указателей на функции или виртуальных методов. Линковка уже прошла, но какая именно реализация под указателем будет понятно в рантайме (во время работы), на этом построены многие паттерны (шаблоны уже заняты).
Пусть уж лучше линковка останется линковкой. Уже были переводы applet как «приложеньице». У нас же нет цели стихи про березы и линковку писать :)
мимоПонял, что все они зависят от ответа на вопрос «Как и где реализована связь между расширением и форматом?»
Я сам не очень понял, к чему был комментарий о типе sum, не заметил какой-то подвох?
Цитата Шона не вырвана, он это любит повторять при каждом удобном случае, в разных формулировках, но основной посыл остается прежний — если есть готовый алгоритм, используйте его и не пишите своего.
В правиле 2 примеры не идентичны, они лишь иллюстрируют разный подход. То есть я в приведенных примерах вообще не вижу попыток автора сделать их идентичными ни с точки зрения интерфейса ни с точки зрения реализации. Это не отменяет ошибки в тексте read1 :) Думаю, по примеру кода, который просто иллюстрирует разный подход делать такие резкие выводы об авторе может и рано :)
Правило 5 действительно можно трактовать как призыв писать небольшие функции, как частный случай. Речь в принципе идет о сокращении времени жизни объектов. Это касается циклов, условий и тел функций. Призыв не давать объектам жить дольше, чем это требует задача.
В 6 правиле кажется с примером все нормально, insert возвращает pair<iterator,bool>. result.second имеет тип bool.