Re[12]: Исключения
От: remark Россия http://www.1024cores.net/
Дата: 01.11.06 06:11
Оценка: :)
Здравствуйте, Аноним, Вы писали:

А>Давно программируете? Что-то выглядит всё это так, как будто вы вчера про исключения и шаблоны узнали и преисполнились чувства собственного достоинства.


Достаточно для того, что бы писать то, что я пишу.

А>Исключения никак не относятся к самым сложным вещам из тех, которые должен знать профпригодный програмер.


Я и не утверждал обратного. Я считаю, что исключения просто относятся к тем вещам, которые "должен знать профпригодный програмер".

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


Если говорить о конкретных вещах/технологиях/библиотеках и т.д. То я считаю, что для человека с головой и способного для обучения вообще есть очень мало действительно сложных вещей.
При желании и наличии времени практически любую вещь можно изучить без особых сложностей. Различие в том, что можно желать и изучать что-то, а можно просто научится пользоваться на минимальном уровне и далее остановится.


А>Что значит "механизм распространения и перехвата исключений" — средства ОС + их использование компилятором? Как это выглядит в ассемблере? Уверен, если того же Александреску спросить о том как реализован "механизм распространения и перехвата исключений" в Win и Visual C++ — вряд ли он детально знает, да оно и не надо (хотя и не мешат). Важно что этот механизм работает так, как того требует спецификация языка, а как он это делает — не так уж и важно.


Зря ты такого мнения о Александреску. Он не только книжки пишет.
Хотя бы надо знать "как того требует спецификация языка". Многие не знают и этого. Вот что именно я подразумевал под "механизм распространения и перехвата исключений". Различные важные детали. Почему исключения надо ловить по ссылке. Почему кидать по значению. Что можно сделать в try блоке функции. Почему нельзя допускать вылета исключений из деструктора. И т.д. Тонких моментов много.
По поводу реализации на уровне ОС/компилятора. В принципе, это можно и не знать. Но. На то мы и с++ программисты, а не java программисты. Для java программиста, например, совсем не обязательно знать что такое стек и как на нём располагаются различные объекты. Или как изнутри выглядят их объектные сслыки. Или что такое указатель. Они и так вполне хорошо и быстро могут делать приложения определённого класса. С++ программист, я лично считаю, должен знать что такое стек, указатель, адрес возврата и т.д. Далее для себя каждый уже может решать лично хочет ли он знать эти вещи или нет.



1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.