Если вы, вдруг не знали, то помимо всякой ерунды, публикуемой на этом блоге, я еще и занимаюсь переводом блога Эрика Липперта (Eric Lippert) Fabulous Adventures in Coding на русский язык. В русскоязычном варианте этот блог носит название Невероятные приключения в коде.
Занимаюсь я этим делом вот уже полтора года и не разу не пожалел потраченного времени. Я надеюсь, что чтение статей Эрика на русском языке доставляет хоть малую толику того удовольствия, которое я получаю при переводе!
Но сегодня я не об этом. Точнее не совсем об этом. Мы начали публиковать переводы, датированные апрелем 2009-го года, но, как это ни удивительно, до этого Эрик писал не менее часто и не менее интересно. Посему я предлагаю вернуться к его старым хитам и восстановить, так сказать, справедливость и перевести на русский язык и их.
Я сделал небольшой список того, что я думаю перевести, но, вполне возможно, что я что-то упустил (а я точно что-то упустил), поэтому я всецело открыт для предложений (*). Итак, вот сам список:
- The Stack Is An Implementation Detail, Part One (2009-04-27)
The Stack Is An Implementation Detail, Part Two (2009-04-05)
Пара весьма интересных и популярных статей, в которых рассматривается разница между значимыми и ссылочными типами с точки зрения расположениях их экземпляров в памяти. Эта тема рассматривается, наверное, в сотне различных статей, да и сам Эрик пишет об этом весьма часто. Тем не менее, это одна из лучших заметок в этой теме. - Events and Races (2009-04-29)
Одним из классических вопросов правильного “зажигания” событий является вопрос многопоточности. В этой заметке речь идет именно об этом. - Representation and Identity (2009-03-19)
Отличная заметка о том, почему при распаковке упакованного байта в int мы получаем исключение InvalidCastException. - Locks and exceptions do not mix (2009-03-06)
В статье рассматриваются изменения, внесенные в реализацию метода Monitor.Enter в .Net 4.0 для предотвращения возможных deadlock-ов, которые были вполне возможны в более ранних версиях .Net Framework. - References are not addresses (2009-02-17)
Рассматривается разница между ссылками и указателями в языке C#, ну и, как говорит название, Эрик показывает, почему ссылки некорректно рассматривать, как адрес в памяти. - Why no var on fields? (2009-01-26)
И правда, почему? На часть этих вопросов я уже ответил совсем недавно в своей заметке, ну а все сложности реализации компилятора лучше почитать у Эрика:) - Vexing exceptions (2008-09-10)
Очень полезная статья, в которой рассматриваются три «семантических» типа исключений. Все это помогает устаканить в голове некоторые вопросы обработки исключений и таки понять, как их обрабатывать. - High maintenance (2008-09-08)
Отличное ревью всего лишь одной функции, в 6-ти строках которой показаны 5 разных code smells. Много интересных мыслей, начиная от контракта функции заканчивая проблемами предварительного обобщения (premature generialization). - Reading Code Over the Telephone (2008-05-16)
Не rocket science, но, тем не менее, очень полезно знать, как читаются различные лямбда-выражение. - Subtleties of C# IL codegen (2007-08-17)
Интересная заметка, в которой показывается почему, например, lock(expression) statement не является потокобезопасными в случае возникновения асинхронных исключений, а также рассмотрена разница между инструкциями call и callvirt.
Еще раз напомню, что это не полный список, а лишь то, что было у меня в закладках, так что никакой претензии на полноту. А посему, жду ваших преложений!
----------------
(*) Я надеюсь на разумную аргументацию предложений. Мы просто не в состоянии перевести и опубликовать все старые посты, да и необходимости в этом, откровенно говоря, нет. Поэтому, если вы предлагаете к переводу некоторую статью, то разумно как минимум привести краткое содержание (парой предложений), ну и если возможно, то рассказать, чем же она такая выдающаяся.
Речь про посты только дотнетовской тематики? Или возможет перевод ещё более старых постов до си-шарпной эры?
ОтветитьУдалитьДа все интересно... И Locks and exceptions do not mix, и The Stack Is An Implementation, пиши больше)) очень интересно читать твой блог!
ОтветитьУдалитьКстати, с удовольствием бы принес пользу сообществу, так что если есть интерес на какую то статью и нет времени на перевод, готов предложить свои услуги, с последующей рецензией)
@_FRED_: думаю, что подойдут любые посты. Лишь бы они интересными были широкой аудитории.
ОтветитьУдалить@denis.agarev: спасибо за спасибо! Да, если будет нужна помощь, то буду иметь ввиду. Сейчас определимся с перечнем постов, а потом уже можно будет решить, насколько будет сложно все это дело перевести.
Сергей, большое спасибо за эту чрезвычайно важную работу!
ОтветитьУдалитьС нетерпением жду новых переводов.
Удачи!
@valker: спасибо! Будем стараться ваше бгрдие! :)
ОтветитьУдалитьА все-таки зачем переводить? Ты дал классные ссылки. За это как говорится респект и уважуха. А переводить, ну не знаю. По-моему и так вполне читается.
ОтветитьУдалить