Комментарии 17
Последний пункт выглядит провокационно. Как мне кажется, если уж заголовок предлагает расти в профессии, то призывать отказываться от Рихтера не стоит. Ну, с поправкой на то, что версии ушли вперед и не всё описанное актуально. Я скажу, возможно, токсичную вещь, но если крутая, отлично написанная книга может отбить желание работать, то эта работа не для вас, увы. Это мастхев именно для джунов, чтобы разобраться, как там шестеренки под капотом крутятся, но при этом написанный достаточно доходчиво. Не интегралы вместо арифметики, а Перельман с занимательной математикой в дополнение к скучным учебникам. После Дэвиса как логичное развитие предложил бы Стивена Клири, "Конкурентность в C#." По мне, достойная книга, весьма доходчиво объясняющая разницу между асинхронностью, параллельностью и многопоточностью. По мне, она хорошо зайдёт новичкам, поможет структурировать знания и убрать сумбур в голове.
Возможно, подойдёт книга новичку или нет зависит от того, кого мы считаем новичком. На старте моей карьеры я уже мог писать какой-то код и он даже работал, но меня тогда окружал такой объем новой информации, что Рихтер туда просто не влез. Потом уже прочитал, освоившись.
Кстати, есть что-то вроде clr Рихтера, но новое?
Увы, мне не попадалось, чтобы именно на свежих версиях, но с такой глубиной. Разве что серию Deep .NET смотреть, но по мне, это уж точно не для новичков. Let's Build Our Own ArrayPool например. Скотт Хансельман спрашивает, а Стивен Тауб в деталях объясняет, как работает ArrayPool в .NET
Привет.
Вместо Роя Ошерова, при всем к нему уважении, я бы лучше посоветовал книжку "Принципы юнит-тестирования" Хорикова. Она посовременнее, читается проще, есть масса прикладных полезных советов как писать/не писать тесты и чем юнит от не юнитов отличаются.
Примеры там тоже на C#.
Привет!
Слышал про неё, но сам не читал. Круто, что есть дополнение к списку, в значительной степени он для этого и делался.
Плюсанусь. Для Getting started может и пойдёт, но Osherove для меня сейчас книга про то, как не надо писать тесты, а Хориков - про то, как надо. Это у Osherove, кажется, был совет делать все методы класса виртуальными, чтобы их всегда можно было замокать.
Спасибо автору за подборку, начал уже что-то читать или перечитывать. С ИИ про эти бумажки совсем забыли(
Дай бог здоровья людям в комментах за интересные дополнения книг
C# Concurrency Асинхронное программирование и многопоточность Нир Добовицки мне наконец-то донесла концепт async await, до неё искренне не мог осознать, что происходит во время использования этих ключевых слов.
Все материалы, что пытался изучить до этого будто бы уже исходили из того, что async await всем давно известен и понятен и рассказывали сразу о его применении, нежели о том, как можно иначе представить эти блоки.
Вполне вероятно, что проблема именно во мне, но только на этой книге у меня в голове щёлкнула эта концепция. Очень рекомендую, если в интернете ничего внятного нет, а Стивен Клири не помог.
Решил почитать книгу от Добовицки. Дошёл до главы 2.1 "Лямбда-функции". И, мозг взорвался. На сколько помню, в C# нет лямбда-функций. В C# есть лямбда-выражения (lambda expression) и анонимные методы. При этом лямбда-выражения это просто краткая форма записи (синтаксический сахар) анонимного метода.
Второй раз мозг лопнул на фразе:
> Это блоки кода, записываемые в одну строку внутри более крупного метода, которые можно задействовать как отдельные методы.
Если речь о лямбда-выражении, то кто мешает записать "блок кода" в несколько строк?
Указано:
> Перевод на русский язык ООО «Прогресс книга», 2025.
Может, мне какой то не тот перевод попался?
Перевод у меня такой же, лямбда-функции так и указаны в оригинале, а вот однострочность получилась при переводе in-line. Тут действительно странные формулировки что у автора, что у переводчиков. Теперь есть повод насторожиться по поводу дальнейшего содержания. Но для меня всё равно книга пошла скорее в плюс.
Подборка полезная, хотя местами материалы кажутся слегка устаревшими, хотя базовые вещи и не меняются, но всё же было бы полезно и про докер с рест апи упомянуть. И всё-таки не лишним было бы сделать акцент на том, что всё-таки упор лучше упор делать в первую очередь на практическом обучении.
Я бы тоже для начинающего посоветовал Албахари, а не любимого Рихтера.
Сергея Теплякова в списке категорически приветствую. Со своим самым долгоиграющим багом я когда-то справился благодаря тому, что вспомнил когда-то написанную им статью.
The danger of TaskCompletionSource
https://devblogs.microsoft.com/premier-developer/the-danger-of-taskcompletionsourcet-class/
Зачем начинающим изучать .NET, если он сейчас не востребован у работодателей?
Решил почитать «C# для профессионалов: тонкости программирования» Джон Скит.

Проверяем:
using System.Text;
StringBuilder builder_ = new("Скит, ");
AppendHello(builder_);
Console.WriteLine(builder_.ToString());
void AppendHello(StringBuilder builder)
{
builder.Append("hello");
}
Результат:
Скит, hello
Т.е. "это изменение ВИДНО в вызывающем коде". Собственно, что произошло? По значению передана ссылка.
В книге опечатка? Ошибка в переводе?
Что изучать начинающему C#-разработчику, чтобы расти в профессии