Books — Подскажите книгу c# для unity!


Содержание

Стань мастером C#: подборка книг по языку родом из Microsoft

C# — объектно-ориентированный язык программирования, созданный в 1998–2001 годах компанией Microsoft как язык разработки приложений для платформы Microsoft .NET Framework. Он совмещает в себе силу и гибкость C++ с простотой Visual Basic.

C#, конечно же, уступает по популярности таким языкам, как C, Java, C++ и PHP, но, несмотря на это, он используется довольно часто. Ниже вы найдёте подборку книг, которые помогут вам в изучении этого языка программирования.

C# Programming Yellow Book

Эта книга — пособие для первокурсников на факультете компьютерных наук университета Халла. Вот рассматриваемые темы:

  1. Компьютеры и программы. Вы узнаете, что такое компьютер, как работают программы и как их писать. В конце раздела начнётся знакомство с самим C#.
  2. Обработка данных. В этой главе разбирается написание простой программы.
  3. Создание программ. Вы научитесь разбивать программы на отдельные части и использовать массивы.
  4. Создание решений. Здесь рассматривается процесс создания сложного проекта.
  5. Продвинутое программирование. Заканчивается книга разбором более сложных и мощных возможностей C#.

Для скачивания также доступны и другие материалы учебного курса.

Fundamentals of Computer Programming with C#

Данная книга предназначена для новичков. Она учит вас мыслить как программист, а C# в данном случае — просто инструмент, который можно заменить на Java, C++, PHP или Python. Это книга о программировании, а не о C#.

Она была написана командой болгарских разработчиков, затем её перевели на английский.

Изучаем C#

C# спроектирован и разработан специально для применения с .NET Framework — он идеально подходит для создания мощных Windows-приложений.

Прочитав эту книгу, вы освоите не только C# и .NET, но и XAML, Visual Studio и даже программирование под Windows Phone.

C# 7.0. Карманный справочник

Вам никогда не хотелось иметь всегда под рукой книгу, в которой можно быстро найти ответ по той или иной особенности языка? Для C#-программистов такая книга уже существует — «C# 7.0. Карманный справочник». Это наиболее актуальная версия книги, охватывающая стандарт C# 7.0. Кроме того, книга также подойдет для опытных программистов, пишущих на Си, C++ или Java и желающих освоить в сжатые сроки новый для себя язык как для саморазвития, так и для использования в существующем проекте.

Принципы, паттерны и методики гибкой разработки на языке C#

Авторы Роберт и Мика Мартины собрал в этой книге множество методов гибкой разработки, а также продемонстрировали на примерах их работоспособность. Применяя объектно-ориентированный подход, авторы рассматривают конкретные паттерны, применяемые к проектированию приложений, описывают методы рефакторинга и способы эффективного использования различных видов UML-диаграмм.

Microsoft Visual C#. Подробное руководство

Данная книга наиболее полно охватывает все возможности языка C#. Кроме того, она сертифицирована Microsoft. В ней много материала по работе с переменными, операторами, выражениями и методами, разработке надежных приложений с обработкой ошибок и исключений, использованию коллекции, созданию запросов LINQ и основам объектно-ориентированного программирования.

В 8 издании рассматривается стандарт C# 6.0 и среда разработки Visual Studio 2015. Книга ориентирована на тех, кто уже знает хотя бы один из языков программирования, но желающих знать C#, а также на программистов, уже знакомых с C# и желающих углубить свои знания в разработке приложений.

Разработка обслуживаемых программ на языке C#

В книге содержится 10 рекомендаций по разработке легко поддерживаемых и адаптируемых программ. Данные советы были выработаны авторами книги путем анализа сотен функционирующих систем. У этой книги также имеется версия для языка Java. Руководство будет полезно тем, кто стремится написать качественный код, который смогут в дальнейшем читать и поддерживать другие программисты.

C# Programming

Эта книга подробно описывает возможности языка C#. Рассматриваются основы языка, классы, продвинутые концепции, фреймворк .NET и ключевые слова.

В изучении C# вам также поможет этот русскоязычный видеокурс.

Creating Mobile Apps with Xamarin.Forms

Эта книга рассказывает о создании кроссплатформенных мобильных приложений при помощи Xamarin.Forms. Рассматриваются такие темы, как анимация, MVVM, триггеры, поведения, макеты и рендеры.

The Daily Design Pattern

В этой книге вы найдете подробный анализ 22 популярных паттернов проектирования и их реализации на C#.

Также советуем обратить внимание на серию видеоуроков по этой же теме.

Threading in C#

Это подробное руководство познакомит вас с возможностями работы с потоками в C#. Кстати, доступна и версия на русском языке.

Introduction to programming and the C# language

Эта книга — практическое введение в C#. В ней на простых примерах объясняются все основные концепции ООП. Цель книги — научить вас разрабатывать полноценные приложения и помочь выбрать дальнейшее направление развития.

Кстати, для изучения ООП вам может пригодиться и этот русскоязычный видеокурс.

Object Oriented Programming using C#

В этой книге при помощи небольших упражнений объясняется объектно-ориентированный подход к программированию. Кульминацией является написание большой программы. Затрагиваются следующие темы:

  • абстракция;
  • наследование;
  • полиморфизм;
  • ООП;
  • UML;
  • agile;
  • разработка через тестирование.

Object-Oriented Programming in C# Succinctly

Эта книга познакомит вас с основами объектно-ориентированного программирования. В ней достаточно как теории, так и практических примеров. Вот разделы книги:

  1. Три столпа ООП.
  2. Интерфейсы.
  3. SOLID.
  4. Шаблоны проектирования.
  5. Шаблоны GRASP.
  6. Архитектура.
  7. Другие парадигмы.

C# Code Contracts Succinctly

Контрактное программирование — это метод проектирования ПО, предполагающий, что проектировщик должен определить формальные, точные и верифицируемые спецификации интерфейсов для компонентов системы. В C# такой подход реализуется при помощи библиотеки Code Contracts, об использовании которой и рассказывает эта книга. Вот её оглавление:

  1. Вступление.
  2. Использование контрактов для кода.
  3. Полезные советы.
  4. Тестирование контрактов для кода.
  5. Расширения контрактов для кода.
  6. Заключение.
  7. Полезные ресурсы.

Data Capture and Extraction with C# Succinctly

Обнаружение и извлечение информации — это одна из самых сложных задач, поэтому для её решения стоит пользоваться специальными инструментами. Эта книга расскажет вам, как извлекать данные из электронных писем, скриншотов, сайтов и текстов при помощи языка C#.

Если вы знаете другие бесплатные книги по C#, которые стоит добавить в нашу подборку, делитесь ими в комментариях!

Programming stuff

Страницы

вторник, 22 апреля 2014 г.

Книги для изучения C#/.NET

DISCLAIMER: выбор хорошей книги – это довольно сложный и индивидуальный процесс. Список ниже основывается на моем личном опыте и обилии «перекрестных ссылок» из разных книг, статей, обсуждений в форумах и личных обсуждениях с коллегами. Если вдруг вы не увидите свою любимую книгу в этом списке, это не значит, что она его недостойна, возможно, она просто аналогично одной из книг, представленных ниже.

Пришло время немного переформатировать старый пост с «классическими книгами по C#/.NET», чтобы отразить не просто список достойных источников для изучения C#/.NET, но и упростить выбор нужных книг в зависимости от уровня и потребностей читателя.

Для новичка в программировании

Ни одна из книг не научит вас программированию, а книги о конкретном языке или платформе обычно даже не пытаются этого сделать. Путь профессионального программиста достаточно труден и мечты стать профессионалом за 21 день всегда будут оставаться мечтой (помните о замечательной статье – Teach Yourself Programming in Ten Years?).

Именно поэтому книги о C#/.NET вряд ли будут лучшими источниками, если вы хотите научиться основам программирования, правильному кодированию, или дизайну. Для этого есть масса других источников и упомянуть хочется лишь несколько базовых книг по разработке ПО: «Структура и интерпретация компьютерных программ» Харольда Абельсона и Джеральда Сассмана (MIT), «Почувствуй класс» Бертрана Мейера (MIT) и «Программирование. Принципы и практика использования С++» Бьярне Страуструпа (Texas A&M University). Каждая из этих книг обкатана на тысячах студентов в различных университетах и являются общепризнанной классикой. (Интересно, что в этих книгах используются разные методологии: SICP – ФП и Scheme, в книге Мейера – OO и Eiffel, а у Страуступа – в структурное + ОО программирование на языке С++.)

Для новичка в .NET

Выбор книги для новичка в C#/.NET зависит того, что понимается под понятием «новичок»: это новичок в C#/.NET или новичок в программировании? Если у вас есть 3+ опыта в С++, Java или другом высокоуровневом языке программирования, то разумнее будет сразу перейти к списку книг для продвинутых .NET разработчиков.

В противном случае подойдет практически любая обзорная книга о C# и платформе .NET, при этом классическим примером такой книги является книга Эндрю Троелсена:

«Язык программирования C# 5.0 и платформа .NET 4.5», Эндрю Троелсен, 6-е издание, 2012


В отличии от всех других книг, приведенных в этом списке, лишь эта книга не предполагает практически никакого опыта со стороны читателя. Поэтому в книге рассказывается о циклах, объявлении переменных и основах ООП. Также это единственная «универсальная» книга в списке, которая покрывает самые разные технологии платформы .NET: ASP.NET, WPF, WWF, WCF, ADO.NET, а также основы языка C#, отражение, процессы/потоки/домены, многопоточность и ввод-вывод.

Дополнительные ссылки: amazon.com, goodreads.com, ozon.ru (ru)

Для продвинутого .NET разработчика

Еще раз напомню, что под «продвинутым» в данном случае имеется ввиду скорее ваш собственный уровень зрелости, а не » продвинутое» знание C#/.NET. Так, если вы хорошо знаете С++, то чтение Троелсена будет пустой тратой времени, поскольку вы будете стараться понять, как же C#/.NET устроен внутри, чего книга Троелсена просто не даст.

Так что если вы чувствуете в себе силы копнуть глубже, то лучше всего выбрать одну книгу из списка ниже. При этом выбор должен основываться на следующем критерии: если интересны внутренности платформы .NET/CLR + многопоточность, то это книга Джеффри Рихтера, если же больше интересен именно язык C# — то это книги Албахари или Барта де Смета (при этом у Албахари будет побольше описания базовой библиотеки классов). Если вы уже неплохо знаете C# и хочется ускоренного глубокого погружения, то нужно брать книгу Джона Скита или книги Билла Вагнера.

Книги, ориентированные на платформу .NET

“CLR via C#”, Джеффри Рихтер, 4-е издание, 2012

С момента выхода языка C# и платформы .NET прошло без малого десять лет и за это время появилось немало отличных книг и статей, но при этом одна книга была и будет настоящей классикой в этой области. Я не знаю ни одной другой книги, которая бы пользовалась такой бы популярностью все эти годы, которую бы столько цитировали и советовали другим. Основное преимущество этой книги заключается в фирменном стиле Рихтера, невероятной глубине изложения и отличной подаче материала. Эта книга посвящена именно платформе .Net, ее фундаментальным основам и основным компонентам; в ней практически нет ничего о конкретном языке программирования, за исключением тех мест, когда автор рассказывает о том, как поступает компилятор в тех или иных случаях. Эта книга уже давно заслужила свое место на полке каждого профессионального .Net разработчика и в дополнительных рекомендациях, в общем-то, не нуждается.

«Программирование на платформе .NET», Дон Бокс, Крис Селлз, 2002

Что вы скажете о книге, в которой для знакомства с платформой .NET советуют книгу Рихтера для ознакомления с темой, поскольку в противном случае, ее, родимую, читать будет сложновато? Так вот, именно Дон Бокс, гуру технологии COM (который правда и сам на нее уже не может смотреть) и Крис Селлз (тоже славный малый) осмелились на это в своей книге. И совет этот, действительно полезен, поскольку авторы иногда залазят в такие дебри, что без бУтыля – никуда. Многие темы, такие как взаимодействие управляемого и неуправляемого кода или механизм кросс-доменного взаимодействия описан просто невероятно подробно. Конечно, некоторые темы уже устарели (ведь книга вышла в далеком 2002 году), но большинство из них будут актуальны на протяжении всего времени жизни платформы .NET.

Книги, ориентированные на язык C#

“C# 5.0 Unleashed” by Bart De Smet, 2 nd Edition, 2012

Представьте себе, что Рихтер таки нашел в себе силы и добавил в последнее издание не сотню новых страниц о многопоточности, а полностью переработал книгу и добавил туда сотню страниц по DLR (Dynamic Language Runtime), сотню страниц по лямбда-выражениям и деревьям выражений, еще сотню страниц с советами по работе в Visual Studio, полторы сотни страниц по LINQ-у, да еще и о контрактах не забыл. Добавьте сюда отличные картинки, которые иллюстрируют ход мыслей автора и помогают понять тот или иной аспект рассматриваемой темы; сотню сносок, в которых автор рассказывает, почему были приняты те или иные решения разработчиками языка или платформы, не забудьте о лирических отступления на разные теоретические аспекты программирования — и вы получите одну из лучших книг о языке C# и платформе .Net, которая когда-либо выходила в свет! И, кстати, в отличие от того же Троелсена, в этой книге вы не встретите никаких WPF-ов, WCF-ов или других ASP.NET-ов, все 1650 (!) страниц книги посвящены «всего лишь» языку C# и фундаментальным основам платформы .Net. Сочетание широты охвата и глубины изложения делает эту книгу одним из лучших источников информации для всех, кто хочет заняться изучением языком C# или пополнить свои знания в одной из тем.

“C# 5.0 in a Nutshell” by Joseph Albahari, Ben Albahari, 5 th Edition, 2012

Это еще один фундаментальный труд, объемом немногим более тысячи страниц, посвященный исключительно языку программирования C# и платформе .NET. И хотя у нас принято считать книгу Рихтера настоящей классикой, а ко всем остальным относиться с пренебрежением, книга братьев Албахари действительно заслуживает внимание. В этой книге рассматриваются практически все ключевые темы, касающиеся языка C# и платформы .NET, начиная от таких распространенных тем, как многопоточность, сборка мусора, сборки, домены, LINQ, заканчивая менее распространенными темами, как контракты, сериализация, потоковый ввод/вывод и регулярные выражения. И хотя глубина изложения иногда может не дотягивать до некоторых других представителей, в ней отлично соблюден баланс между сложностью изложения и практичностью, так что этой книги в большинстве случаев достаточно для глубокого понимания соответствующей темы.

“C# in Depth” by Jon Skeet, 3d Edition, 2013

Если вы когда-либо осмелитесь задать вопрос на StackOverflow.com о том, чтобы почитать для повышения своих знаний о языке C#, то он будет закрыт примерно через 3,5 секунды, как дубликат одного из сотен (!) сообщений, при этом в большинстве из них в первом же ответе будут советовать книгу Джеффри Рихтера, если речь касается еще и CLR и платформы .NET, и книгу Джона Скита, если речь идет о языке C#. Конечно, немаловажную роль в этом играет статус Джона Скита на StackOverflow.com, но, тем не менее, правда в этом действительно есть. У Скита есть удивительная особенность рассказывать сложные вещи простыми словами; многие весьма непростые темы раскрыты очень подробно; автор рассказывает о том, как «думает компилятор» и, что немаловажно, о чем думали разработчики компилятора, принимая то или иное решение при реализации этой возможности.

Благодаря своей структуре, книга “C# In Depth” позволяет увидеть эту целостную картину языка C# и структурировать новые или существующие знания. На протяжении всей книги автор рассказывает об эволюции языка C#, рассматривая по ходу изложения проблемы, присущие предыдущим версиям и способы их решения в последующих версиях. При этом автор дает понять, каким путем идет развитие языка C#, прогнозируя его новые возможности и будущие изменения.

“Effective C# (Covers C# 4.0)”, “More Effective C#” by Bill Wagner, 2010, 2008

Тема эффективности использования стала настолько популярной, что подобная литература появляется по большинству языков программирования и многим технологиям. Язык программирования C# не является исключением. Представителем серии «эффективного программирования» на языке C# являются две книги Била Вагнера. Первая книга вышла еще в 2004-м году и посвящена C# 1.0; в ней рассматриваются самые разные вопросы, начиная от различий между классами и структурами, заканчивая важностью строгой гарантии исключений и проблемами взаимодействия управляемого и неуправляемого кода. Вторая книга вышла незадолго до официального выхода C# 3.0 и уже отражает всю специфику этой версии языка и платформы. В книге рассматриваются особенности работы с обобщениями (generics), многопоточностью (в том числе и при работе с пользовательским интерфейсом), новые возможности языка C# 3.0 и отдельно рассматриваются вопросы, связанные с LINQ. В марте 2010 года вышло второе, переработанное издание первой книги, в которой отражены изменения C# 4.0, включая такие новшества как PLINQ и тип Dynamic (которому посвящена целая глава).

Дополнительные ссылки для «More Effective C#»: amazon.com, goodreads.com

Для эксперта

Несмотря на всю глубину глубин книг Рихтера, Барта Де Смета или Джона Скита, есть еще более специфические и более подробные источники по конкретным темам. Так, например, ни одна из книг выше не заменит аннотированную спецификацию языка C# Андерса Хейлсберга с прекрасными комментариями ведущих экспертов нашей области. Да и какими бы полными не были разделы о параллельном и асинхронном программировании в книгах Рихтера и Албахари, ничто не сможет сравниться с книгой Джо Даффи. А если вам потребуется копнуть действительно глубоко, то вам пригодятся знания по языку IL, и о том, как IL преобразуется в машинный код, и в этом случае будут полезны книги Сергея Лидина и Саши Голштейна соответственно.

“The C# Programming Language” by Anders Hejlsberg et al, 4 th Edition, 2010

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

“Concurrent Programming on Windows” by Joe Duffy, 2008

Самый подробный труд о многопоточном программировании под Windows. Здесь покрыты практически все темы: начиная от асинхронных моделей программирования в .NET (к сожалению не покрыта TAP – Task-based Asynchronous Programming) и асинхронным вводом-выводом, заканчивая моделями памяти и lock-free. Хотите сломать себе мозг об многопоточность? Книга Джо Даффи к вашим услугам!

В качестве дополнения к книге Джо Даффи можно посоветовать «Design Patterns for Decomposition and Coordination on Multicore Architectures», в которой покрыты TPL, PLINQ и другие темы, появившиеся уже после выхода книги Даффи.

Дополнительные ссылки: amazon.com, goodreads.com

“.NET 2.0 IL Assembler” by Serge L >

Сколько раз вам приходилось декомпилировать код, чтобы понять, как работает та или иная возможность компилятора C#? Или сколько раз вы смотрели на сгенерированный IL код, чтобы понять, что происходит внутри вашего любимого кода? Обе эти задачи возникают не слишком часто, да и Рефлектор со своей задачей отлично справляется в большинстве случаев. Но, тем не менее, знание языка ассемблера виртуальной машины никогда лишним не бывает, к тому же некоторые возможности CLR доступны только через него. Ну, а если когда-нибудь у вас появится желание или необходимость пополнить свои знания «управляемого» ассемблера, то неплохо иметь под рукой (или хотя бы знать о его существовании) отличное руководство, качество которого признано многими специалистами.

P.S. Сергей является автором языка IL;)

“Pro .NET Performance: Optimize Your C# Applications” by Sasha Goldshtein, 2012

Когда речь заходит о высокопроизводительных системах, то о C# и .NET Framework вспоминают в последнюю очередь. В этом есть разумное зерно, но что если вам все же нужно выжать все возможное из вашего «управляемого» приложения? В этом плане недостаточно спуститься с высокого уровня языка C# на уровень IL-кода, приходится копать глубже, на уровень машинного кода и внутренностей CLR. Именно для таких случаев нужна книга Саши Голшейна, известного блоггера и спикера.

«Pro .NET Performance» – это уникальная на данный момент книга с описанием внутреннего устройства типов, обобщений, с описанием тонкостей сборки мусора (например, с описанием Card Table) и другими экспертными техниками.

“Under the Hood of .NET Memory Management” by Chris Farrell, 2011

200 страниц) книга о сборке мусора от компании Red Gate. Это отличная книга, в которой процесс сборки мусора показан несколько более детально, чем в любом другом источнике. Здесь довольно подробно описываются сегменты, card table, типичные проблемы перерасхода и утечек памяти, и даже кратко рассматривается модель памяти Windows.

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

Книги по проектированию

Ни одна из книг, представленных выше не даст нужных знаний об ООП, функциональном программировании, или о дизайне приложений. Если вам нужна книга по ООД, то нет ничего лучше книги Мейера «Объектно-ориентированное конструирование программных систем», о которой я говорю трижды в день десятку человек, но пока лишь двое решились за нее взятьсяJ.

Цукерберг рекомендует:  Препроцессор - Использование и настройка less в PHPStorm

Тем не менее, есть ряд книг о дизайне в контексте платформы .NET, на которые стоит обратить внимание. Во-первых, это знаменитая FDG – Framework Design Gu >Ни одна из этих книг не заменит фундаментальных книг о дизайне, DDD или архитектуре приложений, но отлично подойдет в качестве дополнительного источника по этим темам.

“Framework Design Guidelines” by Krzysztof Cwalina, Brad Abrams, 2 nd Edition, 2008

Разработка качественных систем является весьма сложной задачей, а разработка качественных библиотек (особенно фреймворков) является поистине вершиной мастерства архитекторов и разработчиков. Сложность здесь кроется в специфике принимаемых решений, ведь акцент серьезно смещается в сторону простоты и удобства использования, расширяемости и надежности. И хотя именно тема разработка библиотек является центральной, книга будет также невероятно полезна и простым разработчикам, ведь знание ключевых идиом языка является совершенно необходимым, когда команда смотрит хотя бы немного дальше своего носа, и заботится не только о написании кода, но и о его последующем сопровождении. Кроме того, книга очень часто выступает таким себе арбитром во многих спорах, касающихся идиом именования, обработке исключений, проектированию собственных классов или использованию других идиом языка C#; а поскольку такие дискуссии происходят с завидным постоянством, то подобный козырь лишним точно не будет.

“Dependency Injection in .NET” by Mark Seemann, 2011

Внедрение зависимостей (DI, Dependency Injection) – это уже чуть ли не де факто стандарт любого enterprise приложения. Но вот вопрос: помогает ли эта техника вместе с контейнерами создавать более простые в сопровождении и развитии системы? Не превратились ли контейнеры в очередной культ карго программирования? Поскольку любую технологию довольно легко использовать неправильно, то всегда полезно получить более фундаментальное представление о том, чем она является и чем она не является.

Книга Марка Сиимана является довольно уникальным сборником советов, паттернов и примеров использования техники внедрения зависимостей. Поэтому не зависимо от того, являетесь ли вы сторонником или противником DI и IoC эта книга будет вам полезной.

“The Art of Unit Testing with Examples in C#” by Roy Osherove, 2 nd Edition, 2013

Паттерны не ограничиваются классическими паттернами, описанными в книге банды четырех. Паттерны повсюду: есть архитектурные паттерны, есть паттерны проектирования, есть DI-паттерны, есть DDD паттерны, есть паттерны рефакторинга, есть даже паттерны поведения. Точно также существуют паттерны разработки юнит-тестов. Есть типовые подходы к организации тестового кода для решения тех или иных задач. Лучшим источником по этой теме является фундаментальный труд «xUnit Test Patterns: Refactoring Test Code», а книга Роя является отличной книгой по этой же тематике в контексте платформы .NET.

“Real-World Functional Programming: With Examples in F# and C#” by Tomas Petricek and Jon Skeet, 2010

Что лучше ООП или ФП? Опыт последних лет (мой и многих других специалистов) показывает, что эти парадигмы не являются соперниками, а прекрасно дополняют друг друга. ООП рулит в области стратегии, а ФП незаменимо в вопросах тактики; ООП со своей абстракцией определяет крупные строительные блоки, а ФП со своей чистотой прекрасно справляется с вопросами реализации.

В этом плане книга Томаса Петрисека (с участием Джона «Stackoverflow» Скита) не слишком уникальна, но весьма полезна, поскольку дает представление о том, как думать в функциональном стиле и как это мышление влияет на дизайн и реализацию. Отличительной же особенностью этой книги являются примеры на языках C# и F#.

Книги по технологиям

Я не хочу детально описывать книги по конкретным технологиям, таким как WCF, WPF, ASP.NET (+MVC), Entity Framework и других. Причин здесь несколько: во-первых, очень сложно найти книгу, которая будет *значительно* выделяться среди конкурентов; во-вторых, цена ошибки при выборе неудачной книги в этом случае не столь велика. Наверняка книга с хорошим рейтингом даст вам все необходимые знания по конкретной технологии и вряд ли сможет существенно повлиять на ваши фундаментальные знания.

К тому же, книги по технологиям выходят настолько часто, что они устаревают буквально каждые полгода. Ниже представлен перечень книг по тройке технологий: WPF, WCF и ASP.NET MVC. Книги по другим технологиям готов обсудить в комментариях.

Заключение

Еще раз хочу напомнить, что не стоит переживать, если вдруг вы не увидите своей любимой книги в этом списке. Моя цель дать набор хороших источников, которые покрывают определенную нишу и потребуются разработчику на определенном этапе его карьеры; при этом вполне понятно, что есть аналогичные книги, которые ничем не хуже некоторых приведенных книг. Так, например, «C# 5.0 Essentials» вполне может заменить книгу Джо Албахари «C# 5.0 In a Nutshell», но читать их обе не имеет практически никакого смысла.

Если же вы знаете книгу, которая действительно достойна этого списка своей уникальностью, я с удовольствием ее сюда добавлю.

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

Не правильные ты, дядя Серёжа, ссылки на книжки даёшь — сравни прайс озона http://www.ozon.ru/context/detail/id/6089823/ и альтернативного магазина, который я не так давно для себя открыл http://www.combook.ru/product/10189381/ ;о) И как не маловажное дополнение, например эта книга «там» в наличии, в отличии от озона (который, быть может, там же её и закажет :о)

Обрадовался, побежал смотреть, чуть тапки не потерял :) Однако не все так радужно — http://www.combook.ru/product/10780473/ — 692р, http://www.ozon.ru/context/detail/id/26230428/ — 614р Причем мало того, что у ozon-а еще и доставка дешевле, так он еще в нашу деревню доставляет курьерской компанией, быстро и без предоплаты, а combook — с предоплатой и только почтой :(
Не, сидим на озоне :)

Спасибо, понял! Виноват – не учёл.

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

Да понятно :о) Но тогда можно дать ссылку в действительно максимально универсальное мерило – в маркет яндекса ;о)


А вот это очень ОК идея!! Нужно будет воспользоваться.

Очень здоровоская подборка!

Подскажите, где нибудь в Москве можно купить книги в оригинале? Или только с амазона заказать?

Я покупал на озоне, но цены сверх суровые. Есть опыт заказа с амазона, идут не быстро, но даже с учетом доставки получается дешевле.
Ну и всегда остается вариант купить электронную версию. Быстро и дешево.

Хочется оставлять заметки прямо в книге, а если электронную версию то я пока не нашел вменяемого ридера с удобными заметками, может у вас есть что посоветовать?

Я пользуюсь goodreader-ом (под iOS). Сам давно не читаю без заметок, но в электронном виде их и писать удобнее, да и просматривать их потом проще.
Например, все мои посты в Г+ с цитатами появляются именно таким путем: делаю заметку в книге причтении, потом пересматриваю их и публикую наиболее интересные.

Спасибо за совет, отличное приложение, стоит своих денег!

Спасибо за статью. Как раз закончил читать Ошерова и стал искать новую книгу для чтения.

Пара опечаток:
>решились за нее взятьсяJ.
>баны четырех

И еще вопрос автору (а может и не только): стоит ли начинать изучение веб-разработки с Pro ASP.NET MVC 4?
C# знаю достаточно хорошо (мое мнение :-) ), ASP.NET изучал только обзорно (на уровне книги Троелсона), с html проблем нет (но можно обновить знания), JS — совсем ни как. Хотелось бы найти книгу, после прочтения которой сформировалась бы хорошая база для разработки веб-приложений на ASP.NET. В общем какие есть рекомендации по данной теме? :-)

Pro ASP.NET ИМХО вполне подойдет, как и многие другие книги.
Тут главное не искать идеальный учебник, а просто взять хороший и начать учиться;)
За очепятки — спасибо, поправлю.

Сергей, .net perfomance перевели — http://www.ozon.ru/context/detail/id/23816449/ можно добавить ссылку на ozon :)

Ух ты!! Здорово! Обязательно добавлю ссылку.

Книгу Эндрю Троелсен. Язык программирования C# 5.0 и платформа .NET 4.5 (6-е издание) я скачивал вот отсюда http://hitanyway.in.ua/category/develop/book-c/ . может еще кому то пригодится.

Этот комментарий был удален автором.

Владимир, спасибо, пригодилось!

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

Со временем это просто не требует такого фундаментального количества времени.
Обычно сложно начать, если же процесс более или менее поставлен, то усилий тратится меньше, а значит и поддерживать читательский интерес — тоже проще.

Хочу спросить Вас, вот сейчас я прохожу как раз Абельсона и Сассмана по Вашей рекомендации. Эта книга у меня вторая (первая книга была по javaScript) и мне приходится прилагать большие усилия для решения каждой задачи. Пока я осилил лишь 20 самых первых. Одну задачу могу решать целый день. Неужели мне придется целый год одну эту книгу проходить? Или стоит параллельно читать две другие книги для новичков? Я просто не хотел бы брать везде по чуть-чуть, а в итоге не понять ничего. Надеюсь вопрос не глупый)

По сути, книга Сассмана — это полноценный университетский курс, рассчитанный на два семестра. Если вы еще и работаете, то усилия спокойно могут распределиться на год.

Я бы тут посоветовал два момента: во-первых, разумнее подойти к упражнениям. Возможно, нужно более здраво оценивать, какие из них выполнять, а какие нет. Понятно, что перфекционизм может требовать сделать их все, но тут главное, чтобы он (перфекционизм) не прибил желание учиться и идти дальше. Во-вторых, есть смысл делать «итерации» в несколько недель-месяц (зависит от вас) и переключаться на что-то другое. Тут, опять таки, важно держать мотивацию на должном уровне. Данная книга — не вполне практична, что может негативно сказаться на мотивации. В этом случае лучше совместить ее с чем-то более полезным на практике в данный момент.

З.Ы. Вопрос — не глупый:) Риск взяться за слишком многое и не преуспеть ни с чем — проявляется на практике с завидным постоянством.

Я сейчас учусь на 3 курсе, и пока не знаю где применять знания из этой книги. Надвигается лето и будет много свободного времени. Допустим я буду решать упражнения из sicp, где рекурсивные процедуры используются для решения математических задач, поэтому у меня выстраивается картинка калькулятора. Значит мне им и заниматься? Или есть книга, где есть более полезные упражнения?

Спасибо! Хорошая подборка.
От себя могу добавить только то, что для тех, кому больше нравится смотреть видео, есть классный портал http://itvdn.com/. Я начинал именно с них, а потом уже читал книги. Может быть, кому-то пригодится.

Добрый день, у вас рецензия на Скита перенаправляет на рецензию Вагнера.

И еще вот тут: «Если вам нужна книга по ООД»

А что Вы можете сказать про книгу «Герберт Шилдт — C# 4.0. Полное руководство — 2011» ?

С него начинал изучать c#, очень хорошая книга

Сергей, как считаешь, книга Албахари C# 5.0 In a Nutshell и CLR via C# Рихтера, взаимозаменяемы?

Если книги Албахари и Гриффитса нацелены на изучение темы «в ширину», то CLR via C# уходит «в глубину».

Согласен с @Shnur: они не совсем взаимозаменяемы, поскольку Рихетр больше направлен на внутренности платформы, а Албахари покрывает большой объем материала, но не с такой глубиной.

Уважаемый Сергей! С вашим списком литературы по языку C# я солидарен. Мне кажется, что можно было добавить ещё три книги, которые весьма удачные:
1.Mark Michaelis, Eric Lippert Essential C# 6.0
2.Eric Gunnerson, Nick Wienholt A Programmer’s Guide to C# 5.0
3.Иэн Гриффитс Программирование на C# 5.0

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

О, спасибо! Пропустил книжку Гуннерсона. Должно быть интересно.

Добрый день, Владимир! Подскажите пожалуйста если эти книги есть в открытом доступе или их можно только приобрести, что достаточно хорошо бьёт по карману. Спасибо!

Сергей! Прежде всего, хочу сказать, что рад знакомству с вашей книгой и блогом. Большая редкость встретить талантливого русско-язычного автора, умеющего умно, интересно, ясно и доходчиво излагать сведения, связанные с профессиональным программированием. Важно, что вы даёте своё понимание, свой взгляд, свою интерпретацию и пишете своим стилем. Ваша книга выделяется не только профессионализмом, но и тем, как она структурирована. Кто ясно мыслит, тот ясно излагает – это в полной мере относится к вам. Желаю вам продолжить писательское творчество — ведь программистам, живущим в России, естественно, лучше читать качественную специальную литературу именно на родном русском языке.
Теперь о выборе книг. Человеку, приступившему к изучению языка C#, сделать правильный выбор наиболее подходящих и лучших книг из нескольких десятков уже имеющихся, — это не тривиальная задача. Важен выбор именно первой книги.
Несколько лет назад, я начал изучать язык C# 4.0 и стал искать подходящую книгу. Прочитал множество книг, в том числе и на английском языке. Удивился тому, что нет книги, в которой на 350 стр. было бы ясное и полное изложение всего инструментария этого языка. При изучении нового языка программирования, хочется быстрее узнать все его возможности, а не брести через многословные описания примеров тысяче-страничных учебников. Мне был нужен удобный учебник (примерно 300-350 стр.) для первого чтения, но не просто для «чайников», а формирующий базовые знания программиста на C#.
Для первой книги совершенно не подходит 1000 страничный «кирпич» Троелсена. Он напихал туда, как вы сами об этом уже говорили, массу всего, что связано с применением C# и плохо структурировал материал конкретно о языке C#. Непродуманные группировка и порядок изложения сведений о всех имеющихся средств этого языка – вот чем часто грешат авторы учебников. Книга “C# 5.0 Unleashed” by Bart De Smet великолепно написанная, энциклопедическая книга и гораздо лучше, чем у Троелсена, но там ведь 1500 стр. Это существенно затягивает процесс узнавания всех средств языка. В качестве первой книги тоже не годится, а вот второй книгой – обязательно должна быть!
Книга, которая, по-моему, лучше подходит на роль первой – это Eric Gunnerson, Nick Wienholt A Programmer’s Guide to C# 5.0. Она не только хорошо структурирована и упорядочена, но там всего 400 стр. и ясный стиль изложения.
Что касается меня, то в итоге, я сам для себя написал книгу и назвал её «C# 6.0 — Концентрированный учебник». В ней изложено фактически всё, что я усвоил из множества прочитанных книг по C# (книги из вашего списка я тоже читал). Конечно, в моём учебнике всё творчески переработано, со своими примерами, по-своему упорядоченно так, чтобы уместилось на 330 стр. но, ничего важного не было упущено.
Посоветуйте, пожалуйста, возможно ли реализовать на этой основе проект создания бесплатного коллективного учебника по C#? Идея состоит в том, чтобы где-нибудь выложить свой текст и предоставить возможность всем желающим писать свои комментарии и свои добавления, как приложение к основному тексту, который будет продолжать составлять объём не более 350 стр. Все желающие смогут принять участие с целью совершенствования и развития этого учебника. Такой учебник будет оставаться совершенно бесплатным и доступным для всех, кто хочет освоить язык C#.

Владимир, спасибо за столь развернутый комментарий (только недавно увидел, что он попал изначально в спам и из-за этого не был виден какое-то время).

Посоветуйте книгу по C#

Всем добрый вечер!

Моим следующим проектом будет iOS-игрушка на Unity3d. Насколько я понимаю, Unity работает с C#.
Поскольку с C# я еще не работал (да — когда то начинал читать, сделал пару курсовых на нем, но серьезно за пару ночей не углубишься), встает проблема его быстрого изучения (где-то в районе недели).
C++ я когда-то знал достаточно плотно, хотелось бы узнать, есть ли стоящие книги по C# для С++-программистов, но при этом не обойдены главные отличия и синтаксис, если можно — основные паттерны.
Поиском по гуглу пока нашел Шилдта (судя по отзывам — лучшее из того что есть для начинающих), собственно, по нему полтора года назад и читал основы.

Смотрел, там ИМХО просто более подробно виндовые АПИ рассмотрены, но по отзывам — воды больше.
Мне больше надо именно по синтаксису — Unity же ;)
Или я чего то не понимаю?

(сейчас читаю Шилдта)

Паттерны проектирования с примерами на шарпе, есть в свободном доступе.
Лучший способ изучить язык, на мой взгляд, — практика. К юнити есть примеры проектов, можно поизучать. Там в языке есть нюансы, он более скриптовый получается.
Плюс, шикарный гайд есть в youtube, там пошаговое создание клона диабло с нуля. Очень многосерийное руководство.

Всем спасибо!
В Шилдте есть все что нужно по синтаксису.
Остальное начну изучать после

Для начинающих Unity3d программистов

Полезный материал для начинающих (и не только) программистов unity3d: ссылки, мнения, литература, ресурсы для обучения, как проходить интервью и готовиться к нему. Как учиться программировать под Unity3d?

Дисклеймер

По большей части мысли, мнения и советы — мои. Они работают для меня, и, я надеюсь, сработают и для вас. Я даю субъективные оценки книгам и другим источникам информации. Даю рекомендации проверенные только моим опытом.

Решил написать эту статью, после нескольких комментариев с просьбой привести ответы на список вопросов для программистов unity3d.

Прямых ответов на список вопросов не будет. Чуть позже прямо в статье я дополню вопросы комментариями почему тот или иной вопрос хороший и какого рода ответ ожидается. Это позволит кандидату узнать на что обратить внимание при обучении, а интервьюверу, что подсказать кандидату и тп.

Прямые ответы — очень плохая практика еще и потому, что некоторые HR-manager’ы могут неправильно использовать такой список в качестве тестов, чего совсем не хочется допустить. Да и для начинашек, мне кажется вредно все готовенькое, гораздо полезнее знать где ответы получить и поучиться.

В этой статье хочу привести источники, из которых нужные знания можно почерпнуть. И бонусом добавлю комментарии для самых-самых начинающих: как учиться/где/на что обратить внимание.

Просьба. Если Вам что-то не понравится, ПОЖАЛУЙСТА, высказывайтесь в комментариях к статье, а не вконтакте или на форумах). Ваши полезные комментарии тонут, а я не успеваю отвечать и вносить по ним правки в статью

Готовимся к интервью

Чтобы хорошо подготовиться к техническому собеседованию нужно вспомнить/изучить/проработать многие вопросы. Я разбил вопросы по группам, они совпадают с темами из вопросов для unity3d программиста). Давайте их подробно рассмотрим.

Общие вопросы

Техническое собеседование скорее всего начнется с простых вопросов о предыдущем опыте кандидата или не технических вопросов. Часто кандидату предлагают самому рассказать о себе и своем опыте. Мои мысли на счет этой части интервью такие: нужно быть готовым. Порепетируйте. Очень часто я пишу сопроводительные письма к отклику на вакансию на хедхантере или когда просто шлю резюме на почту. Это примерно и есть то, что Вас попросят рассказать. Расскажите заранее, заодно потренеруетесь.
Если коммерческого опыта нет: расскажите о ваших наработках, лабораторных, собственных проектах и даже принесите ноутбук с вашим кодом!

Алгоритмы и структуры данных

Эта область, кмк, которая программиста-профессионала отличает от начинашки. Лучшим ресурсом для изучения базовых алгоритмов считаю русскоязычный курс Александра Куликова в Computer Science Center: Семестр раз, Семестр два.
А сам Computer Science Center очень хороший обучающий центр, который всем очень рекомендую.
Рекомендаций по книгам в этом разделе никаких приводить не буду, их довольно много.
Видео-курс смотрится очень быстро, и на самой первой лекции рекомендации по книгам, для тех кто предпочитает читать, а не смотреть/слушать тоже дадут.

Графика/3D математика/Rendering pipeline

Программирование графики очень тесно связано с математикой. Линейной алгеброй в частности. Матрицы, векторы, кватернионы и операции над ними — это необходимый базис, без которого в программировании графики никак не обойтись.

Математика

Лучшие книги для изучения математики. Две из них можно найти в pdf, в интернете, а Foundations не встречал.
Очень советую приобрести ее на амазоне. Довольно неплохой paperback, качественная бумага, картинки. Содержание, само собой, просто супер.

Все три книги ориентированы именно на тех, кто интересуется математикой применительно к программированию графики и игр в целом. В книге 3D Math Primer for Graphics and Game Development даже главы про работу графического пайплайна и шейдеры есть.


Графика

Непосредственно посвященные программированию графики книги:

Книги

Давайте начнем с книг. Очень хороший туториал есть у nVidia, лаконичный и очень по делу.
Еще есть книга Кенни Ламмерса. Это сборник рецептов, можно пытаться повторять, можно полистывать иногда, но учиться писать шейдеры по ней нельзя с нуля. Нужно изучить математику, нужно изучить синтаксис и возможности CgFx. У Ламмерса этого нет. Поможет книга от nVidia и чтение документации Unity.

C# и .Net

Я рекомендую подойти к изучению языка основательно. Не стоит смотреть видео «как сделать платформер/три-в-ряд/другой-жанр» на ютубе от героев-скриптеров. Даже обучающие видео от Unity я не рекомендую, не нужно изучать язык по ним.

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

Книга Джефри Рихтера — это огромный талмуд и прочитать ее очень сложно, там все тонкости CLR, .NET. А вот книга Джона Скита читается очень легко, и становится ясно почему разработчики языка привносили те или иные синтаксические удобства.

Unity3d

Я не читал ни одной книги по Unity, но слышал о существовании «Unity в действии» (Unity in Action). Если кто-то читал, отпишитесь пожалуйста, в комментариях.

На момент моего начала с Unity я довольно хорошо был знаком с C#. Порог входа у нее очень низкий. Тоесть время, чтобы начать программировать на Unity очень небольшое, по сравнению с другими игровыми движками и .NET технологиями.

Советы от меня

Этой мой путь, поэтому, наверное я его и рекомендую, не бросайтесь делать поделки, когда вы не знакомы с языком и программированием вообще.

Сначала алгоритмы, концепции, аббревиатуры (имею ввиду, почитайте про выработанные практики: SOLID, DRY, GRASP, KISS). И много-много практики, пишите код, много кода. Изучите слепой десятипальцевый метод печати и пишите код быстро. Сейчас я тьфу-тьфу-тьфу боюсь представить на сколько замедлится моя производительность если я сломаю палец (однажды в детстве ломал, почти вся кисть в гипсе). Уже очень привык и думать и печатать с определенной скоростью. Если скорость печати будет в 3-4 раза ниже, чем скорость мысли, наверняка и сконцентрироваться очень сложно. Бррр, страшно подумать.

Цукерберг рекомендует:  Хранение данных в локальном хранилище браузера

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

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

Про устройство в студию мечты

Совсем недавно читал большую дискуссию в твиттере, которую организовала @sehurlburt, с участием известных графических инженеров и выцепил несколько хороших идей. Далее следует мой вольный их перевод. Ссылки с символом «@» ведут на оригинальные твиты, которые можно прочитать. А так же можно подписаться на их авторов в твиттере, порой там появляются очень интересные ссылки и мысли.

@sehurlburt (Stephanie Hurlburt, Graphics Engineer)
Начинайте изучать новую большой область, такую, как например, программирование графики понемногу. Ставьте себе небольшие задачи и выполняйте их, таким образом вы научитесь очень многому. Огромный плюс такого подхода заключается в том, что вы будете оставаться сфокусированы на конкретной задаче. И, что немаловажно, выполнив какое-то завершенное демо, вы сможете представить его на интервью в качестве портфолио.

@Atrix256 (Alan Wolfe, Graphics Programmer at Blizzard)
Рекомендую пробовать проходить интервью в студию мечты и в случае отказа, пытаться через полгода.

@IonSwitz (Henrik Jonsson, Graphics Programmer EA)
Посылайте резюме, даже если в данный момент открытых вакансий нет.

Особенно полезен 1й совет Стефани! Сам стараюсь придерживаться такой же тактики. Сейчас я делаю небольшой игровой движок в качестве обучения. И всегда ставлю небольшую цель для демки, например: «Сделать демо с летающим космическим кораблем». Исходя из такого определения задачи для демо, я разбил это на подзадачи: скайбокс со звездами, космическая станция относительно которой будет заметно движение корабля, загрузка моделей, загрузка текстур, математика трансформа и тд. Посмотреть, что у меня получилось: первое демо.

Конец

В конце хочу сказать, никогда не отчаивайтесь, если что-то не получается. Учитесь программировать, читайте книги по разным областям программирования: графика, AI, физика. Ходите на интервью часто, не оседайте и вообще оставайтесь голодными до новых знаний. Учитесь всегда! Ставьте под сомнение все!
Эта статью в том числе :)

Буду признателен более опытным коллегам за любые советы программистам в комментариях!

Полезные ссылки

Подборка ресурсов по Unity3d — собранные мной полезные материалы по теме Unity3d.

Ресурсы для программистов графики — полезнейшие ссылки по теме программирования графики: рецепты, статьи и видео.

Менеджер событий на языке C# в Unity3D: разработка, оценка удобства использования и производительности

Скачать книгу

О книге «Менеджер событий на языке C# в Unity3D: разработка, оценка удобства использования и производительности»

В ходе нашей разработки приложения в Unity3D возникла необходимость организации обмена сообщениями и данными между различными объектами. В данной работе исследуются различные методы обмена сообщениями между объектами и проводится сравнительное тестирование производительности каждого метода и удобства его использования. Основной акцент сделан именно на удобство использования конечным программистом для разработки и передачи проекта другим разработчикам для дальнейшего развития проекта. Приводятся примеры архитектур событийно-ориентированных приложений, основанных на следующих методах: «события» платформы C#; менеджер событий, ведущий списки типов событий и их и издателей; статические списки событий с разграничением возможностей для издателей и подписчиков и интеграцией со средой разработки. Данные методы были протестированы авторами в популярной на сегодняшний день среде разработки Unity3D 4 версии, использующей старую и измененную Mono версии 2.0, совместимый с C#.et Framework 3.5. Также авторы оценили удобство использования различных методик, как стандартных, так и разработанных нами в ходе развития нашего проекта.

На нашем сайте вы можете скачать книгу «Менеджер событий на языке C# в Unity3D: разработка, оценка удобства использования и производительности» В. С. Палто бесплатно и без регистрации в формате fb2, rtf, epub, pdf, txt, читать книгу онлайн или купить книгу в интернет-магазине.

Unity в действии. Мультиплатформенная разработка на C# PDF

  • Объем: 352 стр.
  • Жанр:L ibros de ordenadores extranjeros, P rogramación
  • Теги:и гровые движки, к омпьютерная графика, к омпьютерные игры, к россплатформенные приложения, р азработка программного обеспечения, т ехнологии разработки программного обеспечения, я зык C#

Второе издание знаменитого бестселлера «Unity в действии» было полностью переработано, чтобы познакомить вас с новыми подходами и идеями, позволяющими максимально эффективно использовать Unity для разработки игр. Больше внимания уделено проектированию двумерных игр, фундаментальные концепции которых читатель может применить на практике и построить сложный двумерный платформер. Эту книгу можно смело назвать введением в Unity для профессиональных программистов. Джозеф Хокинг дает людям, имеющим опыт разработки, всю необходимую информацию, которая поможет быстро освоить новый инструмент и приступить к созданию новых игр. А учиться лучше всего на конкретных проектах и практических заданиях.

Unity зачастую представляют как набор компонентов, не требующих программирования, что в корне неверно. Для создания успешной игры необходимо многое: великолепная работа художника, программистские навыки, интересная история, увлекательный геймплей, дружная и слаженная работа команды разработчиков. А еще нельзя забывать про безупречную визуализацию и качественную работу на всех платформах – от игровых консолей до мобильных телефонов. Unity объединяет мощный движок, возможности профессионального программирования и творчества дизайнеров, позволяя воплотить в жизнь самые невероятные и амбициозные проекты.

Осваивайте Unity и быстрее приступайте к созданию собственных игр!

  • Возрастное ограничение: 16+
  • Дата выхода на ЛитРес: 23 апреля 2020
  • Дата перевода: 2020
  • Дата написания: 2020
  • Объем: 352 стр.
  • ISBN: 978-5-4461-0816-9
  • Общий размер: 7 MB
  • Общее кол-во страниц: 352
  • Размер страницы:
  • Переводчик:
  • Правообладатель: Питер

Купил книгу в печатном виде. Я только нервы сорвал( ничего не получилось, много воды, а где то наоборот не достаточно объяснений. Не советую покупать эту книгу.

Книга для начинающих программистов на Unity, книга неплохая. Недостатки есть, опечатки не всегда корректный перевод не всегда очевидные вещи, в общем все как обычно для переводной книги. Знание С# необходимо еще более необходимо знание построения алгоритмов.

    • О компании
    • Контакты
    • Служба поддержки
    • Возврат
    • © ООО «ЛитРес»
    • Активировать купон
    • Публичная оферта
    • Политика обработки
      персональных данных
    • Согласие на получение рассылки


  • Сотрудничество
    • Издательствам
    • Авторам
    • Библиотекам
    • Партнёрам
    • Вебмастерам
  • Что почитать?
    • Бестселлеры
    • Скоро в продаже
    • Популярные авторы
    • Интервью с авторами
    • ЛитРес: Истории
    • ЛитРес в соц.сетях
    • Чтобы воспользоваться акцией, добавьте нужные книги в корзину. Сделать это можно на странице каждой книги, либо в общем списке:

      1. Нажмите на многоточие
        рядом с книгой
      2. Выберите пункт
        «Добавить в корзину»

      Programming stuff

      Страницы

      вторник, 22 апреля 2014 г.

      Книги для изучения C#/.NET

      DISCLAIMER: выбор хорошей книги – это довольно сложный и индивидуальный процесс. Список ниже основывается на моем личном опыте и обилии «перекрестных ссылок» из разных книг, статей, обсуждений в форумах и личных обсуждениях с коллегами. Если вдруг вы не увидите свою любимую книгу в этом списке, это не значит, что она его недостойна, возможно, она просто аналогично одной из книг, представленных ниже.

      Пришло время немного переформатировать старый пост с «классическими книгами по C#/.NET», чтобы отразить не просто список достойных источников для изучения C#/.NET, но и упростить выбор нужных книг в зависимости от уровня и потребностей читателя.

      Для новичка в программировании

      Ни одна из книг не научит вас программированию, а книги о конкретном языке или платформе обычно даже не пытаются этого сделать. Путь профессионального программиста достаточно труден и мечты стать профессионалом за 21 день всегда будут оставаться мечтой (помните о замечательной статье – Teach Yourself Programming in Ten Years?).

      Именно поэтому книги о C#/.NET вряд ли будут лучшими источниками, если вы хотите научиться основам программирования, правильному кодированию, или дизайну. Для этого есть масса других источников и упомянуть хочется лишь несколько базовых книг по разработке ПО: «Структура и интерпретация компьютерных программ» Харольда Абельсона и Джеральда Сассмана (MIT), «Почувствуй класс» Бертрана Мейера (MIT) и «Программирование. Принципы и практика использования С++» Бьярне Страуструпа (Texas A&M University). Каждая из этих книг обкатана на тысячах студентов в различных университетах и являются общепризнанной классикой. (Интересно, что в этих книгах используются разные методологии: SICP – ФП и Scheme, в книге Мейера – OO и Eiffel, а у Страуступа – в структурное + ОО программирование на языке С++.)

      Для новичка в .NET

      Выбор книги для новичка в C#/.NET зависит того, что понимается под понятием «новичок»: это новичок в C#/.NET или новичок в программировании? Если у вас есть 3+ опыта в С++, Java или другом высокоуровневом языке программирования, то разумнее будет сразу перейти к списку книг для продвинутых .NET разработчиков.

      В противном случае подойдет практически любая обзорная книга о C# и платформе .NET, при этом классическим примером такой книги является книга Эндрю Троелсена:

      «Язык программирования C# 5.0 и платформа .NET 4.5», Эндрю Троелсен, 6-е издание, 2012

      В отличии от всех других книг, приведенных в этом списке, лишь эта книга не предполагает практически никакого опыта со стороны читателя. Поэтому в книге рассказывается о циклах, объявлении переменных и основах ООП. Также это единственная «универсальная» книга в списке, которая покрывает самые разные технологии платформы .NET: ASP.NET, WPF, WWF, WCF, ADO.NET, а также основы языка C#, отражение, процессы/потоки/домены, многопоточность и ввод-вывод.

      Дополнительные ссылки: amazon.com, goodreads.com, ozon.ru (ru)

      Для продвинутого .NET разработчика

      Еще раз напомню, что под «продвинутым» в данном случае имеется ввиду скорее ваш собственный уровень зрелости, а не » продвинутое» знание C#/.NET. Так, если вы хорошо знаете С++, то чтение Троелсена будет пустой тратой времени, поскольку вы будете стараться понять, как же C#/.NET устроен внутри, чего книга Троелсена просто не даст.

      Так что если вы чувствуете в себе силы копнуть глубже, то лучше всего выбрать одну книгу из списка ниже. При этом выбор должен основываться на следующем критерии: если интересны внутренности платформы .NET/CLR + многопоточность, то это книга Джеффри Рихтера, если же больше интересен именно язык C# — то это книги Албахари или Барта де Смета (при этом у Албахари будет побольше описания базовой библиотеки классов). Если вы уже неплохо знаете C# и хочется ускоренного глубокого погружения, то нужно брать книгу Джона Скита или книги Билла Вагнера.

      Книги, ориентированные на платформу .NET

      “CLR via C#”, Джеффри Рихтер, 4-е издание, 2012

      С момента выхода языка C# и платформы .NET прошло без малого десять лет и за это время появилось немало отличных книг и статей, но при этом одна книга была и будет настоящей классикой в этой области. Я не знаю ни одной другой книги, которая бы пользовалась такой бы популярностью все эти годы, которую бы столько цитировали и советовали другим. Основное преимущество этой книги заключается в фирменном стиле Рихтера, невероятной глубине изложения и отличной подаче материала. Эта книга посвящена именно платформе .Net, ее фундаментальным основам и основным компонентам; в ней практически нет ничего о конкретном языке программирования, за исключением тех мест, когда автор рассказывает о том, как поступает компилятор в тех или иных случаях. Эта книга уже давно заслужила свое место на полке каждого профессионального .Net разработчика и в дополнительных рекомендациях, в общем-то, не нуждается.

      «Программирование на платформе .NET», Дон Бокс, Крис Селлз, 2002

      Что вы скажете о книге, в которой для знакомства с платформой .NET советуют книгу Рихтера для ознакомления с темой, поскольку в противном случае, ее, родимую, читать будет сложновато? Так вот, именно Дон Бокс, гуру технологии COM (который правда и сам на нее уже не может смотреть) и Крис Селлз (тоже славный малый) осмелились на это в своей книге. И совет этот, действительно полезен, поскольку авторы иногда залазят в такие дебри, что без бУтыля – никуда. Многие темы, такие как взаимодействие управляемого и неуправляемого кода или механизм кросс-доменного взаимодействия описан просто невероятно подробно. Конечно, некоторые темы уже устарели (ведь книга вышла в далеком 2002 году), но большинство из них будут актуальны на протяжении всего времени жизни платформы .NET.

      Книги, ориентированные на язык C#

      “C# 5.0 Unleashed” by Bart De Smet, 2 nd Edition, 2012

      Представьте себе, что Рихтер таки нашел в себе силы и добавил в последнее издание не сотню новых страниц о многопоточности, а полностью переработал книгу и добавил туда сотню страниц по DLR (Dynamic Language Runtime), сотню страниц по лямбда-выражениям и деревьям выражений, еще сотню страниц с советами по работе в Visual Studio, полторы сотни страниц по LINQ-у, да еще и о контрактах не забыл. Добавьте сюда отличные картинки, которые иллюстрируют ход мыслей автора и помогают понять тот или иной аспект рассматриваемой темы; сотню сносок, в которых автор рассказывает, почему были приняты те или иные решения разработчиками языка или платформы, не забудьте о лирических отступления на разные теоретические аспекты программирования — и вы получите одну из лучших книг о языке C# и платформе .Net, которая когда-либо выходила в свет! И, кстати, в отличие от того же Троелсена, в этой книге вы не встретите никаких WPF-ов, WCF-ов или других ASP.NET-ов, все 1650 (!) страниц книги посвящены «всего лишь» языку C# и фундаментальным основам платформы .Net. Сочетание широты охвата и глубины изложения делает эту книгу одним из лучших источников информации для всех, кто хочет заняться изучением языком C# или пополнить свои знания в одной из тем.

      “C# 5.0 in a Nutshell” by Joseph Albahari, Ben Albahari, 5 th Edition, 2012

      Это еще один фундаментальный труд, объемом немногим более тысячи страниц, посвященный исключительно языку программирования C# и платформе .NET. И хотя у нас принято считать книгу Рихтера настоящей классикой, а ко всем остальным относиться с пренебрежением, книга братьев Албахари действительно заслуживает внимание. В этой книге рассматриваются практически все ключевые темы, касающиеся языка C# и платформы .NET, начиная от таких распространенных тем, как многопоточность, сборка мусора, сборки, домены, LINQ, заканчивая менее распространенными темами, как контракты, сериализация, потоковый ввод/вывод и регулярные выражения. И хотя глубина изложения иногда может не дотягивать до некоторых других представителей, в ней отлично соблюден баланс между сложностью изложения и практичностью, так что этой книги в большинстве случаев достаточно для глубокого понимания соответствующей темы.

      “C# in Depth” by Jon Skeet, 3d Edition, 2013

      Если вы когда-либо осмелитесь задать вопрос на StackOverflow.com о том, чтобы почитать для повышения своих знаний о языке C#, то он будет закрыт примерно через 3,5 секунды, как дубликат одного из сотен (!) сообщений, при этом в большинстве из них в первом же ответе будут советовать книгу Джеффри Рихтера, если речь касается еще и CLR и платформы .NET, и книгу Джона Скита, если речь идет о языке C#. Конечно, немаловажную роль в этом играет статус Джона Скита на StackOverflow.com, но, тем не менее, правда в этом действительно есть. У Скита есть удивительная особенность рассказывать сложные вещи простыми словами; многие весьма непростые темы раскрыты очень подробно; автор рассказывает о том, как «думает компилятор» и, что немаловажно, о чем думали разработчики компилятора, принимая то или иное решение при реализации этой возможности.

      Благодаря своей структуре, книга “C# In Depth” позволяет увидеть эту целостную картину языка C# и структурировать новые или существующие знания. На протяжении всей книги автор рассказывает об эволюции языка C#, рассматривая по ходу изложения проблемы, присущие предыдущим версиям и способы их решения в последующих версиях. При этом автор дает понять, каким путем идет развитие языка C#, прогнозируя его новые возможности и будущие изменения.

      “Effective C# (Covers C# 4.0)”, “More Effective C#” by Bill Wagner, 2010, 2008

      Тема эффективности использования стала настолько популярной, что подобная литература появляется по большинству языков программирования и многим технологиям. Язык программирования C# не является исключением. Представителем серии «эффективного программирования» на языке C# являются две книги Била Вагнера. Первая книга вышла еще в 2004-м году и посвящена C# 1.0; в ней рассматриваются самые разные вопросы, начиная от различий между классами и структурами, заканчивая важностью строгой гарантии исключений и проблемами взаимодействия управляемого и неуправляемого кода. Вторая книга вышла незадолго до официального выхода C# 3.0 и уже отражает всю специфику этой версии языка и платформы. В книге рассматриваются особенности работы с обобщениями (generics), многопоточностью (в том числе и при работе с пользовательским интерфейсом), новые возможности языка C# 3.0 и отдельно рассматриваются вопросы, связанные с LINQ. В марте 2010 года вышло второе, переработанное издание первой книги, в которой отражены изменения C# 4.0, включая такие новшества как PLINQ и тип Dynamic (которому посвящена целая глава).

      Дополнительные ссылки для «More Effective C#»: amazon.com, goodreads.com

      Для эксперта

      Несмотря на всю глубину глубин книг Рихтера, Барта Де Смета или Джона Скита, есть еще более специфические и более подробные источники по конкретным темам. Так, например, ни одна из книг выше не заменит аннотированную спецификацию языка C# Андерса Хейлсберга с прекрасными комментариями ведущих экспертов нашей области. Да и какими бы полными не были разделы о параллельном и асинхронном программировании в книгах Рихтера и Албахари, ничто не сможет сравниться с книгой Джо Даффи. А если вам потребуется копнуть действительно глубоко, то вам пригодятся знания по языку IL, и о том, как IL преобразуется в машинный код, и в этом случае будут полезны книги Сергея Лидина и Саши Голштейна соответственно.

      “The C# Programming Language” by Anders Hejlsberg et al, 4 th Edition, 2010

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

      “Concurrent Programming on Windows” by Joe Duffy, 2008

      Самый подробный труд о многопоточном программировании под Windows. Здесь покрыты практически все темы: начиная от асинхронных моделей программирования в .NET (к сожалению не покрыта TAP – Task-based Asynchronous Programming) и асинхронным вводом-выводом, заканчивая моделями памяти и lock-free. Хотите сломать себе мозг об многопоточность? Книга Джо Даффи к вашим услугам!

      В качестве дополнения к книге Джо Даффи можно посоветовать «Design Patterns for Decomposition and Coordination on Multicore Architectures», в которой покрыты TPL, PLINQ и другие темы, появившиеся уже после выхода книги Даффи.

      Дополнительные ссылки: amazon.com, goodreads.com

      “.NET 2.0 IL Assembler” by Serge L >

      Сколько раз вам приходилось декомпилировать код, чтобы понять, как работает та или иная возможность компилятора C#? Или сколько раз вы смотрели на сгенерированный IL код, чтобы понять, что происходит внутри вашего любимого кода? Обе эти задачи возникают не слишком часто, да и Рефлектор со своей задачей отлично справляется в большинстве случаев. Но, тем не менее, знание языка ассемблера виртуальной машины никогда лишним не бывает, к тому же некоторые возможности CLR доступны только через него. Ну, а если когда-нибудь у вас появится желание или необходимость пополнить свои знания «управляемого» ассемблера, то неплохо иметь под рукой (или хотя бы знать о его существовании) отличное руководство, качество которого признано многими специалистами.

      P.S. Сергей является автором языка IL;)

      “Pro .NET Performance: Optimize Your C# Applications” by Sasha Goldshtein, 2012

      Когда речь заходит о высокопроизводительных системах, то о C# и .NET Framework вспоминают в последнюю очередь. В этом есть разумное зерно, но что если вам все же нужно выжать все возможное из вашего «управляемого» приложения? В этом плане недостаточно спуститься с высокого уровня языка C# на уровень IL-кода, приходится копать глубже, на уровень машинного кода и внутренностей CLR. Именно для таких случаев нужна книга Саши Голшейна, известного блоггера и спикера.

      «Pro .NET Performance» – это уникальная на данный момент книга с описанием внутреннего устройства типов, обобщений, с описанием тонкостей сборки мусора (например, с описанием Card Table) и другими экспертными техниками.

      “Under the Hood of .NET Memory Management” by Chris Farrell, 2011

      200 страниц) книга о сборке мусора от компании Red Gate. Это отличная книга, в которой процесс сборки мусора показан несколько более детально, чем в любом другом источнике. Здесь довольно подробно описываются сегменты, card table, типичные проблемы перерасхода и утечек памяти, и даже кратко рассматривается модель памяти Windows.

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

      Книги по проектированию

      Ни одна из книг, представленных выше не даст нужных знаний об ООП, функциональном программировании, или о дизайне приложений. Если вам нужна книга по ООД, то нет ничего лучше книги Мейера «Объектно-ориентированное конструирование программных систем», о которой я говорю трижды в день десятку человек, но пока лишь двое решились за нее взятьсяJ.

      Тем не менее, есть ряд книг о дизайне в контексте платформы .NET, на которые стоит обратить внимание. Во-первых, это знаменитая FDG – Framework Design Gu >Ни одна из этих книг не заменит фундаментальных книг о дизайне, DDD или архитектуре приложений, но отлично подойдет в качестве дополнительного источника по этим темам.

      “Framework Design Guidelines” by Krzysztof Cwalina, Brad Abrams, 2 nd Edition, 2008

      Разработка качественных систем является весьма сложной задачей, а разработка качественных библиотек (особенно фреймворков) является поистине вершиной мастерства архитекторов и разработчиков. Сложность здесь кроется в специфике принимаемых решений, ведь акцент серьезно смещается в сторону простоты и удобства использования, расширяемости и надежности. И хотя именно тема разработка библиотек является центральной, книга будет также невероятно полезна и простым разработчикам, ведь знание ключевых идиом языка является совершенно необходимым, когда команда смотрит хотя бы немного дальше своего носа, и заботится не только о написании кода, но и о его последующем сопровождении. Кроме того, книга очень часто выступает таким себе арбитром во многих спорах, касающихся идиом именования, обработке исключений, проектированию собственных классов или использованию других идиом языка C#; а поскольку такие дискуссии происходят с завидным постоянством, то подобный козырь лишним точно не будет.

      “Dependency Injection in .NET” by Mark Seemann, 2011

      Внедрение зависимостей (DI, Dependency Injection) – это уже чуть ли не де факто стандарт любого enterprise приложения. Но вот вопрос: помогает ли эта техника вместе с контейнерами создавать более простые в сопровождении и развитии системы? Не превратились ли контейнеры в очередной культ карго программирования? Поскольку любую технологию довольно легко использовать неправильно, то всегда полезно получить более фундаментальное представление о том, чем она является и чем она не является.

      Книга Марка Сиимана является довольно уникальным сборником советов, паттернов и примеров использования техники внедрения зависимостей. Поэтому не зависимо от того, являетесь ли вы сторонником или противником DI и IoC эта книга будет вам полезной.

      “The Art of Unit Testing with Examples in C#” by Roy Osherove, 2 nd Edition, 2013

      Паттерны не ограничиваются классическими паттернами, описанными в книге банды четырех. Паттерны повсюду: есть архитектурные паттерны, есть паттерны проектирования, есть DI-паттерны, есть DDD паттерны, есть паттерны рефакторинга, есть даже паттерны поведения. Точно также существуют паттерны разработки юнит-тестов. Есть типовые подходы к организации тестового кода для решения тех или иных задач. Лучшим источником по этой теме является фундаментальный труд «xUnit Test Patterns: Refactoring Test Code», а книга Роя является отличной книгой по этой же тематике в контексте платформы .NET.

      “Real-World Functional Programming: With Examples in F# and C#” by Tomas Petricek and Jon Skeet, 2010

      Что лучше ООП или ФП? Опыт последних лет (мой и многих других специалистов) показывает, что эти парадигмы не являются соперниками, а прекрасно дополняют друг друга. ООП рулит в области стратегии, а ФП незаменимо в вопросах тактики; ООП со своей абстракцией определяет крупные строительные блоки, а ФП со своей чистотой прекрасно справляется с вопросами реализации.

      В этом плане книга Томаса Петрисека (с участием Джона «Stackoverflow» Скита) не слишком уникальна, но весьма полезна, поскольку дает представление о том, как думать в функциональном стиле и как это мышление влияет на дизайн и реализацию. Отличительной же особенностью этой книги являются примеры на языках C# и F#.

      Книги по технологиям

      Я не хочу детально описывать книги по конкретным технологиям, таким как WCF, WPF, ASP.NET (+MVC), Entity Framework и других. Причин здесь несколько: во-первых, очень сложно найти книгу, которая будет *значительно* выделяться среди конкурентов; во-вторых, цена ошибки при выборе неудачной книги в этом случае не столь велика. Наверняка книга с хорошим рейтингом даст вам все необходимые знания по конкретной технологии и вряд ли сможет существенно повлиять на ваши фундаментальные знания.

      К тому же, книги по технологиям выходят настолько часто, что они устаревают буквально каждые полгода. Ниже представлен перечень книг по тройке технологий: WPF, WCF и ASP.NET MVC. Книги по другим технологиям готов обсудить в комментариях.

      Заключение

      Еще раз хочу напомнить, что не стоит переживать, если вдруг вы не увидите своей любимой книги в этом списке. Моя цель дать набор хороших источников, которые покрывают определенную нишу и потребуются разработчику на определенном этапе его карьеры; при этом вполне понятно, что есть аналогичные книги, которые ничем не хуже некоторых приведенных книг. Так, например, «C# 5.0 Essentials» вполне может заменить книгу Джо Албахари «C# 5.0 In a Nutshell», но читать их обе не имеет практически никакого смысла.

      Если же вы знаете книгу, которая действительно достойна этого списка своей уникальностью, я с удовольствием ее сюда добавлю.

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

      Не правильные ты, дядя Серёжа, ссылки на книжки даёшь — сравни прайс озона http://www.ozon.ru/context/detail/id/6089823/ и альтернативного магазина, который я не так давно для себя открыл http://www.combook.ru/product/10189381/ ;о) И как не маловажное дополнение, например эта книга «там» в наличии, в отличии от озона (который, быть может, там же её и закажет :о)

      Обрадовался, побежал смотреть, чуть тапки не потерял :) Однако не все так радужно — http://www.combook.ru/product/10780473/ — 692р, http://www.ozon.ru/context/detail/id/26230428/ — 614р Причем мало того, что у ozon-а еще и доставка дешевле, так он еще в нашу деревню доставляет курьерской компанией, быстро и без предоплаты, а combook — с предоплатой и только почтой :(
      Не, сидим на озоне :)

      Спасибо, понял! Виноват – не учёл.

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

      Да понятно :о) Но тогда можно дать ссылку в действительно максимально универсальное мерило – в маркет яндекса ;о)

      А вот это очень ОК идея!! Нужно будет воспользоваться.

      Очень здоровоская подборка!

      Подскажите, где нибудь в Москве можно купить книги в оригинале? Или только с амазона заказать?

      Я покупал на озоне, но цены сверх суровые. Есть опыт заказа с амазона, идут не быстро, но даже с учетом доставки получается дешевле.
      Ну и всегда остается вариант купить электронную версию. Быстро и дешево.

      Хочется оставлять заметки прямо в книге, а если электронную версию то я пока не нашел вменяемого ридера с удобными заметками, может у вас есть что посоветовать?

      Я пользуюсь goodreader-ом (под iOS). Сам давно не читаю без заметок, но в электронном виде их и писать удобнее, да и просматривать их потом проще.
      Например, все мои посты в Г+ с цитатами появляются именно таким путем: делаю заметку в книге причтении, потом пересматриваю их и публикую наиболее интересные.

      Спасибо за совет, отличное приложение, стоит своих денег!

      Спасибо за статью. Как раз закончил читать Ошерова и стал искать новую книгу для чтения.

      Пара опечаток:
      >решились за нее взятьсяJ.
      >баны четырех

      И еще вопрос автору (а может и не только): стоит ли начинать изучение веб-разработки с Pro ASP.NET MVC 4?
      C# знаю достаточно хорошо (мое мнение :-) ), ASP.NET изучал только обзорно (на уровне книги Троелсона), с html проблем нет (но можно обновить знания), JS — совсем ни как. Хотелось бы найти книгу, после прочтения которой сформировалась бы хорошая база для разработки веб-приложений на ASP.NET. В общем какие есть рекомендации по данной теме? :-)

      Pro ASP.NET ИМХО вполне подойдет, как и многие другие книги.
      Тут главное не искать идеальный учебник, а просто взять хороший и начать учиться;)
      За очепятки — спасибо, поправлю.

      Сергей, .net perfomance перевели — http://www.ozon.ru/context/detail/id/23816449/ можно добавить ссылку на ozon :)

      Ух ты!! Здорово! Обязательно добавлю ссылку.

      Книгу Эндрю Троелсен. Язык программирования C# 5.0 и платформа .NET 4.5 (6-е издание) я скачивал вот отсюда http://hitanyway.in.ua/category/develop/book-c/ . может еще кому то пригодится.

      Этот комментарий был удален автором.

      Владимир, спасибо, пригодилось!

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

      Со временем это просто не требует такого фундаментального количества времени.
      Обычно сложно начать, если же процесс более или менее поставлен, то усилий тратится меньше, а значит и поддерживать читательский интерес — тоже проще.

      Хочу спросить Вас, вот сейчас я прохожу как раз Абельсона и Сассмана по Вашей рекомендации. Эта книга у меня вторая (первая книга была по javaScript) и мне приходится прилагать большие усилия для решения каждой задачи. Пока я осилил лишь 20 самых первых. Одну задачу могу решать целый день. Неужели мне придется целый год одну эту книгу проходить? Или стоит параллельно читать две другие книги для новичков? Я просто не хотел бы брать везде по чуть-чуть, а в итоге не понять ничего. Надеюсь вопрос не глупый)

      По сути, книга Сассмана — это полноценный университетский курс, рассчитанный на два семестра. Если вы еще и работаете, то усилия спокойно могут распределиться на год.

      Я бы тут посоветовал два момента: во-первых, разумнее подойти к упражнениям. Возможно, нужно более здраво оценивать, какие из них выполнять, а какие нет. Понятно, что перфекционизм может требовать сделать их все, но тут главное, чтобы он (перфекционизм) не прибил желание учиться и идти дальше. Во-вторых, есть смысл делать «итерации» в несколько недель-месяц (зависит от вас) и переключаться на что-то другое. Тут, опять таки, важно держать мотивацию на должном уровне. Данная книга — не вполне практична, что может негативно сказаться на мотивации. В этом случае лучше совместить ее с чем-то более полезным на практике в данный момент.

      З.Ы. Вопрос — не глупый:) Риск взяться за слишком многое и не преуспеть ни с чем — проявляется на практике с завидным постоянством.

      Я сейчас учусь на 3 курсе, и пока не знаю где применять знания из этой книги. Надвигается лето и будет много свободного времени. Допустим я буду решать упражнения из sicp, где рекурсивные процедуры используются для решения математических задач, поэтому у меня выстраивается картинка калькулятора. Значит мне им и заниматься? Или есть книга, где есть более полезные упражнения?

      Спасибо! Хорошая подборка.
      От себя могу добавить только то, что для тех, кому больше нравится смотреть видео, есть классный портал http://itvdn.com/. Я начинал именно с них, а потом уже читал книги. Может быть, кому-то пригодится.

      Добрый день, у вас рецензия на Скита перенаправляет на рецензию Вагнера.

      И еще вот тут: «Если вам нужна книга по ООД»

      А что Вы можете сказать про книгу «Герберт Шилдт — C# 4.0. Полное руководство — 2011» ?

      С него начинал изучать c#, очень хорошая книга

      Сергей, как считаешь, книга Албахари C# 5.0 In a Nutshell и CLR via C# Рихтера, взаимозаменяемы?

      Если книги Албахари и Гриффитса нацелены на изучение темы «в ширину», то CLR via C# уходит «в глубину».

      Согласен с @Shnur: они не совсем взаимозаменяемы, поскольку Рихетр больше направлен на внутренности платформы, а Албахари покрывает большой объем материала, но не с такой глубиной.

      Уважаемый Сергей! С вашим списком литературы по языку C# я солидарен. Мне кажется, что можно было добавить ещё три книги, которые весьма удачные:
      1.Mark Michaelis, Eric Lippert Essential C# 6.0
      2.Eric Gunnerson, Nick Wienholt A Programmer’s Guide to C# 5.0
      3.Иэн Гриффитс Программирование на C# 5.0

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

      О, спасибо! Пропустил книжку Гуннерсона. Должно быть интересно.

      Добрый день, Владимир! Подскажите пожалуйста если эти книги есть в открытом доступе или их можно только приобрести, что достаточно хорошо бьёт по карману. Спасибо!

      Сергей! Прежде всего, хочу сказать, что рад знакомству с вашей книгой и блогом. Большая редкость встретить талантливого русско-язычного автора, умеющего умно, интересно, ясно и доходчиво излагать сведения, связанные с профессиональным программированием. Важно, что вы даёте своё понимание, свой взгляд, свою интерпретацию и пишете своим стилем. Ваша книга выделяется не только профессионализмом, но и тем, как она структурирована. Кто ясно мыслит, тот ясно излагает – это в полной мере относится к вам. Желаю вам продолжить писательское творчество — ведь программистам, живущим в России, естественно, лучше читать качественную специальную литературу именно на родном русском языке.
      Теперь о выборе книг. Человеку, приступившему к изучению языка C#, сделать правильный выбор наиболее подходящих и лучших книг из нескольких десятков уже имеющихся, — это не тривиальная задача. Важен выбор именно первой книги.
      Несколько лет назад, я начал изучать язык C# 4.0 и стал искать подходящую книгу. Прочитал множество книг, в том числе и на английском языке. Удивился тому, что нет книги, в которой на 350 стр. было бы ясное и полное изложение всего инструментария этого языка. При изучении нового языка программирования, хочется быстрее узнать все его возможности, а не брести через многословные описания примеров тысяче-страничных учебников. Мне был нужен удобный учебник (примерно 300-350 стр.) для первого чтения, но не просто для «чайников», а формирующий базовые знания программиста на C#.
      Для первой книги совершенно не подходит 1000 страничный «кирпич» Троелсена. Он напихал туда, как вы сами об этом уже говорили, массу всего, что связано с применением C# и плохо структурировал материал конкретно о языке C#. Непродуманные группировка и порядок изложения сведений о всех имеющихся средств этого языка – вот чем часто грешат авторы учебников. Книга “C# 5.0 Unleashed” by Bart De Smet великолепно написанная, энциклопедическая книга и гораздо лучше, чем у Троелсена, но там ведь 1500 стр. Это существенно затягивает процесс узнавания всех средств языка. В качестве первой книги тоже не годится, а вот второй книгой – обязательно должна быть!
      Книга, которая, по-моему, лучше подходит на роль первой – это Eric Gunnerson, Nick Wienholt A Programmer’s Guide to C# 5.0. Она не только хорошо структурирована и упорядочена, но там всего 400 стр. и ясный стиль изложения.
      Что касается меня, то в итоге, я сам для себя написал книгу и назвал её «C# 6.0 — Концентрированный учебник». В ней изложено фактически всё, что я усвоил из множества прочитанных книг по C# (книги из вашего списка я тоже читал). Конечно, в моём учебнике всё творчески переработано, со своими примерами, по-своему упорядоченно так, чтобы уместилось на 330 стр. но, ничего важного не было упущено.
      Посоветуйте, пожалуйста, возможно ли реализовать на этой основе проект создания бесплатного коллективного учебника по C#? Идея состоит в том, чтобы где-нибудь выложить свой текст и предоставить возможность всем желающим писать свои комментарии и свои добавления, как приложение к основному тексту, который будет продолжать составлять объём не более 350 стр. Все желающие смогут принять участие с целью совершенствования и развития этого учебника. Такой учебник будет оставаться совершенно бесплатным и доступным для всех, кто хочет освоить язык C#.

      Владимир, спасибо за столь развернутый комментарий (только недавно увидел, что он попал изначально в спам и из-за этого не был виден какое-то время).

      Введение в программирование C# на Unity

      Несмотря на то, что встроенные компоненты Unity могут быть очень разносторонними, вскоре ты обнаружишь, что тебе нужно выйти за пределы их возможностей, чтобы реализовать свои собственные особенности геймплея. Unity позволяет тебе создавать свои компоненты, используя скрипты. Они позволяют активировать игровые события, изменять параметры компонентов, и отвечать на действия Игрока каким тебе угодно способом.

      Unity поддерживает следующие языки программирования: C# и Javascript. Языки C# и Javascript считаются одними из самых популярных среди программистов. На C# пишутся программы для компьютера, веб приложения, а Javascript активно используется для создания интернет-страниц. В нашем случае:

      Установка среды разработки

      Чтобы писать скрипты, необходим редактор кода. В комплекте с Unity идет MonoDevelop, так что его не требуется устанавливать отдельно. Другой вариант — использовать Visual Studio — мы рекомендуем ее. Сменить среду разработки можно в настройках: Edit → Preferences, а затем выбери панель External Tools.

      Вывод сообщения в консоль Unity

      Когда ты напишешь свой первый код и добавишь его в Unity, Unity проверит код и, если в нем нет ошибок, произойдет компиляция.

      Консоль (англ. — Console) – это панель в Unity, которая отображает ошибки в коде (отображаются красным значком), предупреждения (отображается желтым значком) и позволяет выводить справочную информацию (белый значок). По умолчанию эта панель отображается в нижней части программы в закладке Console. Если эта панель не отображается на экране, то в главном меню выбери Window → Console.

      Чтобы создать скрипт выбери Assets → Create → C# Script. Имя скрипта должно быть обязательно на английском и начинаться с большой буквы. Открой созданный скрипт и напиши:

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

      Код, который должен вызываться один раз при старте программы, ты можешь написать внутри функции Start(), как в примере выше.


      Код, который должен вызываться каждый кадр, ты можешь написать внутри функции Update().

      Переменные

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

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

      1. Целочисленные: int (от –2 147 483 648 до 2 147 483 647), long (от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807).
      2. Символы и строки: char (элемент в кодировке UTF-16), string (последовательность элементов в кодировке UTF-16).
      3. С плавающей запятой (дробные): float (от 1,5 × 10–45 до 3,4 × 1038, с точностью до 7 цифр), double (от 5,0 × 10–324 до 1,7 × 10308, с точностью до 15 цифр).
      4. Логические: bool (значение true или false).

      Инициализация переменной

      Все переменные в C# должны быть объявлены (инициализированы) до их применения. Например:

      Задать значение переменной можно, в частности, с помощью оператора присваивания — знак «=». Кроме того, при объявлении переменной можно сразу задать ее значение. Например:

      Переменные численных типов можно складывать, вычитать, умножать и делить:

      + — операция сложения;

      — операция вычитания;

      * — операция умножения;

      / — операция деления.

      А вот так сумму чисел можно вывести в консоль:

      Счетчик времени с помощью Time.deltaTime

      Практически во всех играх требуется знать сколько времени прошло с момента запуска игры (пример: игры на время). Но в Unity мы можем узнать только сколько прошло времени между кадрами (напоминаю, что игра – это набор кадров, которые быстро меняются. В одну секунду количество таких кадров может достигать 60 и больше).

      Чтобы узнать сколько времени прошло между кадрами — используется Time.deltaTime.

      Чтобы сделать дробное число целым, ставим перед ним (int).

      Позиция объекта

      Координаты объекта хранятся в компоненте Transform, свойство — position. Каждая координата имеет тип float. Вот так можно выводить координаты объекта в консоль:

      C#

      Русский

      Язык C#: краткое описание и введение в технологии программирования. О. Котов

      Настоящее учебное пособие содержит теоретический материал, многочисленные примеры, демонстрирующие практическое .

      C# 7.0. Справочник. Полное описание языка. Албахари Бен , Албахари Джозеф

      Когда у вас возникают вопросы по языку C# 7.0 или .

      Язык программирования C# 7 и платформы .NET и .NET Core, 8-е изд. Эндрю Троелсен, Филипп Джепикс

      Эта классическая книга представляет собой всеобъемлющий источник сведений о языке .

      Программирование на C# для начинающих. Основные сведения. Алексей Васильев

      Новая книга известного автора самоучителей по программированию для начинающих, доктора .

      Unity в действии. Мультиплатформенная разработка на C#. Джозеф Хокинг

      Unity зачастую представляют как набор компонентов, не требующих программирования, что .

      Язык C# Базовый курс, 2-е издание. В.В. Подбельский

      Доступно для первоначального знакомства и с нужной строгостью рассматриваются классы .

      Принципы, паттерны и методики гибкой разработки на языке C#. Роберт Мартин

      Книги Роберта Мартина являются классикой программирования, рассматривающие самые .

      C# для начинающих. Б. Пахомов

      Книга является руководством для начинающих по разработке приложений на языке .

      Разработка алгоритмов с использованием принципов ООП. А.А. Калинин

      Для изучения данного руководства вы должны хорошо разбираться в принципах .

      C# на примерах. П.В. Евдокимов

      Автор предлагает читателю пройти обучение программированию на языке C# на .

      C# 4.0: полное руководство. Шилдт Герберт

      В этом полном руководстве по C# 4.0 — языку программирования, .

      Программирование на языке высокого уровня C#. Т.А. Павловская

      Задача этого курса — кратко, доступно и строго изложить основы .

      English

      C# 6.0 and the .NET 4.6 Framework, 7th Edition . A. Troelsen, P. Japikse

      This new 7th edition of Pro C# 6.0 and the .

      Mastering C# Concurrency. 2015. A. Koryavchenko, E. Agafonov

      Recent C# and .NET developments involve implicitly using asynchrony and .

      The Art of Unit Testing with Examples С# (2014). Roy Osherove

      One of the biggest failed projects I worked on had .

      Mastering Unity Scripting. Alan Thorn

      Mastering Unity Scripting is a concise and dedicated exploration of .

      C# 7.1 and .NET Core 2.0: Modern Cross-Platform Development (2020). M. Price

      There are C# books that are thousands of pages long .

      Complete Guide to Test Automation. A. Axelrod

      There are many great books about test automation, and particularly .

      C# 7 Quick Syntax Reference. 2nd Edition. M. Olsson

      The C# programming language is an object-oriented language created by .

      Neural Networks in Unity. A. Nandy, M. Biswas

      This book is an attempt to cover Unity with an .

      Gray Hat C#. A Hacker’s Guide to Creating and Automating Security Tools. B. Perry

      As an attacker or defender developing software, one obviously needs .

      Learning C# by Developing Games with Unity 5.x, 2nd Edition. Greg Lukosek

      Develop your first interactive 2D platformer game by learning the .

      Professional C# 7 and .NET Core 2.0, 7th Edition. Christian Nagel

      The professional’s guide to C# 7, with expert guidance on .

      Illustrated C# 7, 5th Edition. Cal Schrotenboer, Daniel Solis

      Get to work quickly with C# with a uniquely succinct .

      Уроки Unity C#

      Unity C# уроки / #1 — Начинаем программировать

      Видеоурок

      Создание игр на движке Unity невозможно представить без написания дополнительного кода. В Unity поддерживается два языка программирования — JavaScript и C# . Раньше также поддерживался язык Boo , но позже от него отказались.

      Задание к уроку

      Установите Unity, а также установите текстовый редактор для дальнейшей работы со скриптами.

      Установить Unity можно на официальном сайте. Урок по установке:

      Чтобы установить среду разработки вам потребуется скачать либо MonoDevelop , либо Visual Studio .

      Большое задание по курсу

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

      Цукерберг рекомендует:  Сюрпризы унарного минуса
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих