Показаны сообщения с ярлыком книги. Показать все сообщения
Показаны сообщения с ярлыком книги. Показать все сообщения

среда, 12 декабря 2018 г.

Наиболее эффективное программирование на C# - Билл Вагнер (2-е издание)


Закончил чтение очередной книги Билла Вагнера - Наиболее эффективное программирование на C#. 50 способов улучшения кода (2-е издание). Данная книга актуальна для C# версии 7.0 включительно.

Стиль изложения книги довольно понятный и лаконичный. Небольшой объем книги - реальное преимущество! Время стало довольно критичным ресурсом и на чтение воды его было бы жалко. Все предложенные советы уверен - пригодятся. Т.е. нет каких-то экзотических тем, на чтение которых подсознательно даже не захочется тратить время. Вагнер подобрал все по уму.

С большинством советом автора я согласен. По поводу некоторых можно подискутировать. Но в общем и целом, даже с учетом фактора субъективности, советы дельные. Предложенные советы сконцентрированы именно на языке C#. Т.е. нет детального описания платформы и прочих рихтерских штучек. Книга позволяет поднять ваши компетенции именно в части использования языка. Что как мне кажется и является наиболее важным в повседневной работе дотнетчика. Знание нюансов использования и синтаксиса языка позволит быть профессионалом, а не любителем.

Книга не является исчерпывающим описанием всех новых возможностей языка C# 7.0. Несколько советов показывают в каких случаях и для чего эти новые возможности могут пригодиться - локальные функции, кортежи и проч. Но отдельной главы, где были бы собраны все новые фичи языка, нет. Просто раскиданы по разным советам в разных главах  книги.

Качество книги  похуже чем в "Эффективное программирование на C# (3-е издание)". В первую очередь из-за мягкой обложки. Посмотрите на фото - фронтальная обложка уже оттопырилась. А это я фотографировал новую книгу. После чтения края стали топырится еще больше. Тем не менее качество страниц хорошее, фон белый, читать приятно. Но учитывая, что цена книги такая же как у "Эффективное программирование на C# (3-е издание)", то могли бы как и там сделать твердую обложку и не экономить.

Теперь что касается перевода. Переводчик тот же что и в книге "Эффективное программирование на C# (3-е издание)". Поэтому у меня изначально были не высокие ожидания. Но, по всей видимости переводчик понял и осознал свои ошибки в первой книге, поработал над собой. В итоге мы имеем очень хороший перевод. Собственно я даже и не нашел к чему можно придраться.

По тексту присутствуют отсылки к другой книге автора "Эффективное программирование на C# (3-е издание)". Поэтому желательно читать эти книги по очереди. Кроме того содержание книг не пересекается и они органично дополнят друг друга. Единственно как я и говорил - в первой книге перевод заметно хромает.

На сайте издательства есть оглавление и отрывок из книги, чтобы оценить содержание и перевод:
http://www.williamspublishing.com/Books/978-5-9909446-7-1.html







вторник, 27 ноября 2018 г.

Эффективное программирование на C# - Билл Вагнер (3-е издание)





Недавно купил и прочитал книгу Билла Вагнера - Эффективное программирование на C#. 50 способов улучшения кода (3-е издание). Данная книга актуальна для C# версии 6.0 включительно. 

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

И так - твердая обложка, скромная толщина в 224 белоснежных страницы качественной бумаги. Книгу приятно держать в руках. Она не производит ощущения дешевизны. Что в общем-то соответствует ее цене.

Самое главное - перевод. Не сказал бы что он идеален, но суть книги доносит. Я начинал читать ее еще в английском варианте, но осознание для меня лучше проходит на родном языке. Мне показалось лучшим - прочитать ее на русском, а потом закрепить на английском - заодно улучшить навыки понимания языка. Кроме того в ряде советов встречаются довольно длинные и грузные предложения. Но в оригинале также, поэтому "понять и простить".

Некоторые моменты, которые мне показались странными:
  • Кое-где встречалась копипаста в примерах кодах
  • В самом начале книги дается совет про использование интерполированных строк C# 6.0, в тоже время далее во всех примерах книги автор использует string.Format() (Сам не следует своему совету? Или не было время обновить примеры в книге?).

По поводу самих советов. Автор не представил их как истину в последней инстанции. Наоборот, приведены плюсы и минусы использования того или иного аспекта языка. В процессе чтения вы можете про себя дискутировать с автором и решать подойдет вам тот или иной совет и в каких случаях. Почти все советы проиллюстрированы примерами кода - короткими, прилично отформатированными и простыми в восприятии.

Книга хоть и небольшая по величине, но довольно дельная. Ее скромный размер - это большой плюс. Когда нет времени вчитываться в сотни страниц трудноперевариваемой информации. Когда и память и время и внимание уже на пределе. Когда нужна краткая выжимка конкретики. В ней советы, которые можно непосредственно применять в работе, если ваш основной язык программирования C#. Здесь нет глубин платформы .NET как в Рихтере, нет описания развития языка в исторической перспективе как у Скита. Просто советы - бери в работу и делай. 

На сайте издательства есть оглавление и отрывок из книги, чтобы оценить содержание и перевод:


Зачем читать Рихтера?

Книгу Рихтера (само собой речь идет о CLR via C#) я перечитывал порядка четырех раз в разных изданиях, начиная с C# 2.0. Вот моя первая книга Рихтера еще 2007-го года выпуска:


Немного потерлась, но аккуратное отношение привитое с детства позволяет содержать книги в довольно приличном состоянии.

Свою службу дотнетчиком я начал с чтения Троелсена и Дино Эспозито с его замечательными зелеными книжечками по ASP.NET. И только потом в ход пошел Рихтер. Читать его в качестве первой книги по C# и .NET крайне не рекомендую во избежания порчи психики. К слову в последней версии книги про .NET 4.5 в конце предисловия добавили фото Рихтера с семьей. Видимо это как-то должно успокаивать, что такую книгу написал вполне нормальный человек, у которого даже есть семья и дети. У меня сначала было подозрение на фотошоп или подсадных актеров ))

Увы забывается Рихтер довольно быстро. Материал в его книгах безусловно обязателен к прочтению любым дотнетчиком и полезен для понимания картины. Но для будней рядового разработчика в нем мало прока. Для собеседований - да, поставить галочку для самого себя - да, если спросят коллеги - скажешь - да, я читал Рихтера. Ну и все, поставил на полочку и забыл. 

Резюмирую, зачем читать Рихтера?:
- для прохождения собеседований (!)
- показать более молодым разработчикам какой ты умный
- для беседы с коллегами за рюмочкой чая
- чтобы понять (и благополучно забыть) внутренности платформы .NET и языка C#
- чтобы быть true-дотнетчиком
- для галочки в чеклисте

Собственно сам я недавно перечитывал Рихтера (уже версию .NET 4.5) как раз для прохождения собеседований. Пришлось искать новую работу. Нынешние собеседования предполагают знание внутренностей .NET и C#. Без этого увы никак.

Чтобы каждый день ездить на машине тебе не обязательно помнить устройство двигателя. Ты открываешь капот только для прохождения ТО и в случае внезапной поломки. Все остальное время ты просто ездишь. Вот и с Рихтером также...

Наиболее эффективное программирование на C# - Билл Вагнер (2-е издание)

Закончил чтение очередной книги Билла Вагнера - Наиболее эффективное программирование на C#. 50 способов улучшения кода (2-е издани...