понедельник, 29 августа 2011 г.

Wanted! Старые хиты Эрика Липперта

Если вы, вдруг не знали, то помимо всякой ерунды, публикуемой на этом блоге, я еще и занимаюсь переводом блога Эрика Липперта (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.

Еще раз напомню, что это не полный список, а лишь то, что было у меня в закладках, так что никакой претензии на полноту. А посему, жду ваших преложений!

----------------

(*) Я надеюсь на разумную аргументацию предложений. Мы просто не в состоянии перевести и опубликовать все старые посты, да и необходимости в этом, откровенно говоря, нет. Поэтому, если вы предлагаете к переводу некоторую статью, то разумно как минимум привести краткое содержание (парой предложений), ну и если возможно, то рассказать, чем же она такая выдающаяся.

6 комментариев:

  1. Речь про посты только дотнетовской тематики? Или возможет перевод ещё более старых постов до си-шарпной эры?

    ОтветитьУдалить
  2. Да все интересно... И Locks and exceptions do not mix, и The Stack Is An Implementation, пиши больше)) очень интересно читать твой блог!

    Кстати, с удовольствием бы принес пользу сообществу, так что если есть интерес на какую то статью и нет времени на перевод, готов предложить свои услуги, с последующей рецензией)

    ОтветитьУдалить
  3. @_FRED_: думаю, что подойдут любые посты. Лишь бы они интересными были широкой аудитории.

    @denis.agarev: спасибо за спасибо! Да, если будет нужна помощь, то буду иметь ввиду. Сейчас определимся с перечнем постов, а потом уже можно будет решить, насколько будет сложно все это дело перевести.

    ОтветитьУдалить
  4. Сергей, большое спасибо за эту чрезвычайно важную работу!
    С нетерпением жду новых переводов.
    Удачи!

    ОтветитьУдалить
  5. @valker: спасибо! Будем стараться ваше бгрдие! :)

    ОтветитьУдалить
  6. А все-таки зачем переводить? Ты дал классные ссылки. За это как говорится респект и уважуха. А переводить, ну не знаю. По-моему и так вполне читается.

    ОтветитьУдалить