C# — Книги по C# начиная с азов.


Содержание

ForCoder

Книги по C#, скачать бесплатные книги, самоучители и учебники по C# в хорошем качестве

Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке С#, но существует аналогичная книга с примерами на языке Java.
Издание предназначено программистам на С#, желающим научиться писать качественный и хорошо поддерживаемый код.

13,202 просмотров всего, 3 просмотров сегодня

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

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

24,394 просмотров всего, 3 просмотров сегодня

Искусство автономного тестирования с примерами на С#

Во втором издании книги автор шаг за шагом проведет вас по пути от первого простенького автономного теста до создания полного комплекта тестов — понятых, удобных для сопровождения и заслуживающих доверия. Вы и не заметите, как перейдете к более сложным вопросам — заглушкам и подставкам — и попутно научитесь работать с изолирующими каркасами типа Moq, FakeltEasy или Typemock Isolator. Вы узнаете о паттернах тестирования и организации тестов, о том, как проводить рефакторинг приложении и тестировать «нетестопригодный» код. Не забыл автор и об интеграционном тестировании и тестировании работы с базами данных.

Примеры в книге написаны на С#, но будут понятны всем, кто владеет каким-нибудь статически типизированным языком, например Java или С++.

9,968 просмотров всего, 1 просмотров сегодня

C# 6.0. Справочник. Полное описание языка

Данное руководство, ставшее бестселлером, позволяет получить точные ответы практически на любые вопросы по C# 6.0, CLR и основным сборкам .NET Framework. После своего появления в 2000 году C# стал языком с выдающейся гибкостью и мощью, но его постоянный рост и совершенствование означают необходимость в дополнительном изучении. Организованное по концепциям и сценариям использования, существенно обновленное 6-е издание книги предлагает программистам средней и высокой квалификации лаконичный план получения знаний по языку C# и платформе .NET Framework. Читая ее, вы очень быстро поймете, почему это руководство считают авторитетным справочником по C#.

31,747 просмотров всего, 4 просмотров сегодня

Visual С# 2012 на примерах

Рассмотрено более 140 типичных примеров, встречающихся в практике реального программирования для платформы .NET Framework в среде Microsoft Visual C# 2012: обработка событий мыши и клавиатуры, чтение/запись файлов, редактирование графических данных, управление буфером обмена, ввод/вывод данных, использование функций MS Word, MS Excel, AutoCAD и MATLAB, а также создание PDF-файлов, использование технологий LINQ и ADO.NET при работе с базами данных, разработка интерактивных веб-приложений, создание веб-служб с помощью технологий Web Service и WCF Service, разработка WPF-приложений и многое другое. Материал располагается по принципу от простого к сложному, что позволяет использовать книгу одновременно как справочник для опытных и как пособие для начинающих программистов. На сайте издательства находятся примеры из книги.

10,764 просмотров всего, 2 просмотров сегодня

C# 6.0 and the .NET 4.6 Framework

This new 7th edition of Pro C# 6.0 and the .NET 4.6 Platform has been completely revised and rewritten to reflect the latest changes to the C# language specification and new advances in the .NET Framework. You\’ll find new chapters covering all the important new features that make .NET 4.6 the most comprehensive release yet, including:

    A Refined ADO.NET Entity Framework Programming Model

Numerous IDE and MVVM Enhancements for WPF Desktop Development

  • Numerous updates to the ASP.NET Web APIs
  • This comes on top of award winning coverage of core C# features, both old and new, that have made the previous editions of this book so popular. Readers will gain a solid foundation of object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies).
    The mission of this book is to provide you with a comprehensive foundation in the C# programming language and the core aspects of the .NET platform plus overviews of technologies built on top of C# and .NET (ADO.NET and Entity Framework, Windows Communication Foundation [WCF], Windows Presentation Foundation [WPF], and ASP.NET [WebForms, MVC, WebAPI]). Once you digest the information presented in these chapters, you’ll be in a perfect position to apply this knowledge to your specific programming assignments, and you’ll be well equipped to explore the .NET universe on your own terms.

      Be the first to understand the .NET 4.6 platform and C# 6.

    Discover the ins and outs of the leading .NET technology.

    Learn from an award-winning author who has been teaching the .NET world since version 1.0.

  • Find complete coverage of XAML, .NET 4.6 and Visual Studio 2015 together with discussion of the new Windows Runtime.
  • Who this book is for
    This book is perfect for anyone who is interested in the new .NET Framework 4.6 and the C# language. Whether you are moving to .NET for the first time or are already writing applications using previous .NET versions, this book will provide you with a comprehensive grounding in the new technology and serve as a complete reference throughout your coding career.

    19,054 просмотров всего, 1 просмотров сегодня

    Beginning C# Object-Oriented Programming

    Learn C# with Beginning C# Object-Oriented Programming and you’ll be thinking about program design in the right way from day one. Whether you want to work with .NET for the web or desktop, or for Windows 8 on any device, Dan Clark\’s accessible, quick-paced guide will give you the foundation you need for a successful future in C# programming.
    In this book you will:
    Master the fundamentals of object-oriented programming
    Work through a case study to see how C# and OOP work in a real-world application
    Develop techniques and best practices that lead to efficient, reusable, elegant code
    Discover how to transform a simple model of an application into a fully-functional C# project.
    With more than 30 fully hands-on activities, Beginning C# Object-Oriented Programming teaches you how to design a user interface, implement your business logic, and integrate your application with a relational database for data storage. Along the way, you will explore the .NET Framework, ASP.NET and WinRT. In addition, you will develop desktop, mobile and web-based user interfaces, and service-oriented programming skills, all using Microsoft\’s industry-leading Visual Studio 2012, C#, the Entity Framework, and more. Read this book and let Dan Clark guide you in your journey to becoming a confident C# programmer.

    7,892 просмотров всего, сегодня нет просмотров

    Как программировать на Visual C# 2012

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

    17,799 просмотров всего, 3 просмотров сегодня

    C# 5.0 и платформа .NET 4.5 для профессионалов

    Книга поможет обрести знания, необходимые для разработки приложений для Windows, веб-приложений и приложений в стиле Windows 8 с применением C# 5 и .NET 4.5. После краткого обзора основ языка C# признанные эксперты в предметной области предлагают детальное рассмотрение последних дополнений языка и платформы, а также новых средств разработки через тестирование и параллельного программирования.

    12,317 просмотров всего, 1 просмотров сегодня

    C# 5.0 All-in-One For Dummies

    C# is a complex programming language for building .NET-connected software for Microsoft Windows, cloud computing, the Web, and a wide range of devices. Today\’s developers use it to develop Azure and Windows Phone apps, and Android applications using Mono. Novice programmers can get up and running quickly on C# using this practical guide. Crammed with 800+ pages of information, this all-in-one book helps you quickly create a C# program while learning C# and object-oriented programming fundamentals, Windows and Windows phone programming, and more.

      Helps novice programmers learn C# programming and create their first C# program

    Explains how to create Windows applications with C# and Visual Studio

    Delves into Windows Phone programming, as well as object-oriented programming basics

    Covers debugging, errors, comparisons with C++ and Java, classes and arrays, variables, and more

  • Includes access to a companion website with sample code and bonus materials
  • 4,391 просмотров всего, сегодня нет просмотров

    Книги и учебные ресурсы по C#

    Вопросы о литературе по различным языкам программирования возникают очень часто. Здесь мы попробуем собрать лучшие ответы и рекомендации насчёт литературы и других учебных ресурсов по языку C#, платформе и популярным библиотекам.

    Не забывайте, однако, что никакая теория не заменит опыта программирования! Читайте, пробуйте, тренируйтесь. Спрашивайте, если непонятно. Попробуйте запрограммировать свой проект, это лучший путь.

    Заблокирован участником PashaPash 15 янв ’16 в 10:36 .

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

    Подробнее о заблокированных сообщениях здесь.

    1 ответ 1

    Литература по языку C#

    Книги для новичков: а о чём это вообще?

    • Head First C#, Jennifer Greene, Andrew Stellman (русский перевод: Изучаем C#, Д. Грин, Э. Стиллмен). Содержит упражнения. Рекомендуется многими как хорошая книга для новичков.
    • C# 6.0 and the .NET 4.6 Framework (7th Edition), Andrew Troelsen, Philip Japikse (русский перевод предыдущего издания: Язык программирования C# 5.0 и платформа .NET 4.5, Эндрю Троелсен). Хорошая популярная книга, многие начинали с неё.
    • C# 4.0: полное руководство, Герберт Шилдт. Несмотря на неоднозначное отношение к автору, книга пользуется популярностью.
    • C# 2010. Ускоренный курс для профессионалов, Нэш Трей

    Книги среднего уровня: если hello world не проблема

    CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#, Джеффри Рихтер. Неувядающая классика. Хотите знать, что и как происходит на самом деле? Это книжка для вас. Не самое живое изложение, местами скучновата, зато максимум подробностей из первых рук.
    Предупреждение: Русский перевод от «Питер» ужасен: вас ждут выброшенные абзацы, опечатки и ляпы, меняющие смысл текста на противоположный. По возможности, читайте английский оригинал.

    C# 7.0 in a Nutshell: The Definitive Reference, Joseph Albahari, Ben Albahari (русский перевод предыдущего издания: C# 6.0. Справочник. Полное описание языка, Джозеф Албахари, Бен Албахари). Отличная книга, затрагивает многие аспекты, расставляет по местам ваши знания о предмете. Сводит разрозненные отрывочные знания в общую понятную картину, объясняет, какими средствами нужно пользоваться, а для чего есть уже более хорошие подходы. Есть online-глава о многопоточности, почитайте!

    Essential C# 6.0, Mark Michaelis в сооавторстве с Эриком Липпертом. Хорошая книга для программистов, желающих овладеть C#. Знания других языков, перед чтением, приветствуются. От Эрика Липперта в книге представлены продвинутые советы, которые встречаются на протяжении всей книги.

    Effective C# и More Effective C#, Bill Wagner. О том, как надо и как не надо программировать на C#. Разбираются отдельные аспекты программирования, способствует углублению понимания языка.

    Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework, Ian Griffiths (русский перевод : Программирование на C# 5.0, Иэн Гриффитс). Очень детальная, подробная книга, в которой найдутся ответы на продвинутые вопросы.

    Книги для специалистов: внутренние механизмы и пыльные углы

    C# in Depth, Jon Skeet, Third Edition (русский перевод: C# для профессионалов. Тонкости программирования, Джон Скит, Третье издание). Имя автора говорит само за себя. Джон один из лучших людей, которые умеют доходчиво объяснять сложные вещи.

    C# 5 Unleashed, Барт де Смет. Фундаментальная книга.

    Debugging Microsoft .NET 2.0 Applications, John Robbins (русский перевод: Отладка приложений для Microsoft .NET, Джон Роббинс). Основы промышленной отладки: WinDbg/SOS, дампы памяти и решение проблем в приложениях (почти) без Visual Studio.

    Under the Hood of .NET Memory Management, Chris Farrell, Nick Harrison. Полное описание всех тонкостей управления памятью в платформе .NET. Книга доступна бесплатно на английском.

    Expert .NET 2.0 IL Assembler, Serge Lidin. В книге представлена информация о почти всех тонкостях низкоуровневого программирования на .NET, а именно на языке IL. В книге описаны детали .NET Framework 2.0, по этому на данный момент какие-то аспекты могут быть неактуальны.

    Оптимизация приложений на платформе .NET с использованием языка C#, Саша Голдштейн, Дима Зурбалев, Идо Флатов (Переводчик: Александр Киселев). В книге рассматривается моменты .NET с точки зрения производительности. Рассказывается об способах замеров и шаблонах оптимизации. Также там рассматриваются вопросы, связанные с GC и небезопасным кодом. (Саша Голдштейн — признанный эксперт в этой области.)

    Framework Design Guidelines. Руководства и соглашения по проектированию многократно используемого кода. Является выдержкой из одноимённой книги, Krzysztof Cwalina, Brad Abrams. Книга переведена на русский под названием Инфраструктура программных проектов, Кржиштоф Цвалина, Брэд Абрамс.

    Литература по асинхронному программированию и многопоточности

    Concurrent Programming on Windows, Joe Duffy. Профессиональное использование многопоточности в инфраструктуре .NET от одного из лучших мировых специалистов по многопоточности. В книги описаны тонкости использования как stream’oв так и thread’ов. Раскрыто, как и когда использовать Concurrent-, Parallel- и Asynchronous-модели. Примеры в книге присутствуют от достаточно низкоуровневых (с использованием системных потоков через WinAPI) до высокоуровневых Task’ов и PLINQ. Книга написана под .NET Framework 4.0, поэтому работа с ключевыми словами async / await в книгу не вошла.

    Concurrency in C# Cookbook, Stephen Cleary. (Русского перевода пока нет.) Очень толковое разъяснение современных паттернов использования многопоточности, особое внимание уделено использованию конструкции async / await . Обсуждается решение типичных проблем, решаемых асинхронным кодом. Отдельно описывается работа с Reactive Extensions и TPL Dataflow.

    Конкурентность и параллелизм на платформе .NET. Паттерны эффективного проектирования. Террелл Рикардо. Книга содержит примеры на языках C# и F#, описывает паттерны проектирования конкурентных и параллельных программ как в теории, так и на практике.

    Литература по WPF

    Pro WPF 4.5 in C#: Windows Presentation Foundation in .NET 4.5, Matthew MacDonald (русский перевод: WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов, Мэтью Макдональд). Разбор XAML’а, лаконичные, но полезные примеры. Пристальное, но не навязчивое внимание к деталям.

    Windows Presentation Foundation Unleashed, Adam Nathan. Наверное, лучшая книга для новичка.

    Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation, Чарльз Петцольд. Фундаментальная книга великолепного специалиста. Написана довольно тяжело, много листингов, плотный поток информации

    Литература по ASP.NET

    • Pro ASP.NET MVC 5, Adam Freeman (русский перевод: ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, Адам Фримен). Поэтапное написание веб-приложения с рассмотрением большинства важных аспектов разработки приложения: паттерн MVC, юнит-тестирование, инверсия зависимостей и т. п.
    • Pro ASP.NET 4.5 in C#, Adam Freeman (русский перевод: ASP.NET 4.5 с примерами на C# 5.0 для профессионалов, Адам Фримен).
    • Professional ASP.NET MVC 5, Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
    • Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC, Jess Chadwick, Todd Snyder, Hrusikesh Panda (русский перевод: ASP.NET MVC 4. Разработка реальных веб-приложений с помощью ASP.NET MVC, Джесс Чедвик, Хришикеш Панда, Тодд Снайдер).
    • ASP.NET MVC Framework, Гайдар Магдануров, Владимир Юнев
    • Pro ASP.NET MVC 2 Framework, Steven Sanderson (русский перевод: ASP.NET MVC Framework с примерами на C# для профессионалов, Стивен Сандерсон)

    Литература по LINQ

    • Pro LINQ: Language Integrated Query in C# 2010, Joseph Rattz, Adam Freeman (русский перевод: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов, Адам Фримен, Джозеф С. Раттц). Учебно-справочное пособие, в котором понятно и подробно описаны возможности языка LINQ. Хороша для старта.
    • LINQ Pocket Reference, Joseph Albahari, Ben Albahari (русский перевод: LINQ. Карманный справочник, Джозеф Албахари, Бен Албахари). Хороший справочник по всему, что относится к LINQ. Рассмотрены новые конструкции C# для поддержки LINQ. Много примеров.
    • C# in Depth, Jon Skeet (русский перевод: C#. Программирование для профессионалов, Джон Скит). Немалая часть книги посвящена тому, как работает LINQ.
    Цукерберг рекомендует:  Синтаксис masm - MASM основы

    Литература по принципам, шаблонам и методикам разработки

    • Руководство Microsoft по проектированию архитектуры приложений, 2-е издание Системный труд, в котором вы постоянно будете узнавать отсылки к тем или иным книгам, паттернам и архитектурны приёмам.
    • Внедрение зависимостей в .NET, Марк Симан. Несложно написанная книга про управление зависимостями в приложениях.
    • Принципы, паттерны и методики гибкой разработки на языке C#, Роберт С. Мартин, Мика Мартин

    Литература по Windows Workflow Foundation

    • Essential Windows Workflow Foundation, Dharma Shukla, Bob Schmidt (русский перевод: Основы Windows Workflow Foundation, Дхарма Шукла, Боб Шмидт). Для тех, кого заинтересовала 26 глава («Введение в Windows Workflow Foundation») из книги Эндрю Троелсена Язык программирования C# 5.0 и платформа .NET 4.5.
    • Pro WF 4.5, Bayer White (русской версии нет). Более углубленный взгляд на WF.

    Литература по XML

    • XML.NET, Джо Грей, Динар Дальви, Бипин Джоши, Фредрик Нормен, Фрэнсис Нортон, Энди Ольсен, Дж. Майкл Палермо IV, Даршан Сингх, Джон Слэйтер, Кевин Уильямс (Переводчик: И. Штерев). В книги содержится всё про применение XML в .NET за исключением LINQ. Старовата уже, но зато там есть объяснение, как внедрить свои функции на C# в XSLT.

    Литература по ADO.NET

    • Основы ADO.NET, Боб Бошемин (Переводчики: О.А. Лещинский, А.В. Журавлев, Н.Н. Селина)

    Литература по .NET Remoting / WCF

    • Microsoft .NET Remoting, Скотт Маклин, Джеймс Нафтел, Ким Уильямс
    • Создание служб WCF, Джувел Леве (Переводчики: Е. Матвеев, А. Пасечник)
    • Основы windows communication foundation, Стив Резник, Ричард Крейн, Крис Боуэн

    Литература по безопасности

    • Криптография и безопасность в технологии .NET, Питер Торстейнсон, Гнана Ганеш (Переводчик: В. Хорев). Книга дает представление .NET разработчику о реализации и применении криптографии, цифровой подписи, аутентификации, авторизации и доступа к коду (CAS). В ней описывается, что такое симметричное и асимметричное шифрование, что представляют собой цифровые подписи и как их использовать в .NET приложениях.
    • Microsoft ASP.NET. Обеспечение безопасности, Доминик Байер. Не смотря на то, что в названии указано ASP.NET в книге рассматриваются технологии безопасности под Windows, применимые из .NET для всех типов приложений. Это аутентификация, авторизация, олицетворение и Membership.

    Книги и учебные материалы по Entity Framework

    К сожалению, до сих пор нет книг на русском языке, поэтому на русском языке можно порекомендовать только следующие материалы:

    Учебники по C# C# Tutorials

    Приветствуем вас в разделе с руководствами по языку C#. Welcome to the C# tutorials. Она начинается с интерактивных занятий, которые можно проходить в браузере. These start with interactive lessons that you can run in your browser. Последующие и расширенные руководства обучают работе со средствами разработки .NET для создания программ на C# на компьютере. Later tutorials and more advanced tutorials help you work with the .NET development tools to create C# programs on your machine.

    Знакомство с C#: интерактивные руководства Introduction to C# interactive tutorials

    Если вы хотите начать изучение в формате видео, просмотрите серию видеороликов «C# для начинающих», в которой содержатся общие сведения о языке C#. If you want to start your exploration in video format, the C# 101 video series provides an introduction to C#. Ознакомившись с этими учебниками, вы узнаете об основных понятиях языка C#. You’ll learn about concepts you can explore in these tutorials.

    В первых занятиях с помощью небольших фрагментов кода объясняются основные понятия языка C#. The first lessons explain C# concepts using small snippets of code. Вы изучите основы синтаксиса C# и научитесь работать с такими типами данных, как строки, числа и логические значения. You’ll learn the basics of C# syntax and how to work with data types like strings, numbers, and booleans. Вся серия интерактивна, и уже через считанные минуты вы будете писать и запускать собственный код. It’s all interactive, and you’ll be writing and running code within minutes. Для первых занятий не требуются какие-либо знания в области программировании или опыт работы с языком C#. These first lessons assume no prior knowledge of programming or the C# language.

    Hello world Hello world

    В руководстве Hello World вы создадите самую простую программу на C#. In the Hello world tutorial, you’ll create the most basic C# program. Вы ознакомитесь с типом string и способами работы с текстом. You’ll explore the string type and how to work with text.

    Числа в C# Numbers in C#

    Из руководства Числа в C# вы узнаете, как на компьютере хранятся числа и как выполнять вычисления с разными числовыми типами. In the Numbers in C# tutorial, you’ll learn how computers store numbers and how to perform calculations with different numeric types. Вы ознакомитесь с основами округления и научитесь выполнять математические вычисления с помощью C#. You’ll learn the basics of rounding, and how to perform mathematical calculations using C#. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли занятие Hello World. This tutorial assumes that you have finished the Hello world lesson.

    Ветви и циклы Branches and loops

    В руководстве Ветви и циклы представлены общие принципы организации ветвления кода в зависимости от значений, хранящихся в переменных. The Branches and loops tutorial teaches the basics of selecting different paths of code execution based on the values stored in variables. Вы узнаете, что такое поток управления, являющийся основой принятия решений и выбора различных действий в программах. You’ll learn the basics of control flow, which is the basis of how programs make decisions and choose different actions. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли занятия Hello World и Числа в C#. This tutorial assumes that you have finished the Hello world and Numbers in C# lessons.

    Коллекция списков List collection

    Занятие Коллекция списков содержит обзор типа «Коллекция списков», в котором хранятся последовательности данных. The List collection lesson gives you a tour of the List collection type that stores sequences of data. Вы узнаете, как добавлять и удалять элементы, выполнять их поиск и сортировать списки. You’ll learn how to add and remove items, search for items, and sort the lists. Вы ознакомитесь с различными типами списков. You’ll explore different kinds of lists. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    В этом руководстве предполагается, что вы уже прошли перечисленные выше занятия. This tutorial assumes that you have finished the lessons listed above.

    Знакомство с C#: работа в локальной среде Introduction to C# — work locally

    Все ознакомительные руководства, в которых используется пример приложения «Hello World», можно проходить в локальной среде разработки. All the introductory tutorials following the Hello World lesson are available in your own local development environment. В конце каждого руководства вам предлагается на выбор возможность пройти следующее занятие в браузере или на локальном компьютере. At the end of each tutorial, you decide if you want to continue with the next lesson online or on your own machine. Чтобы настроить среду и продолжить изучение следующего руководства на компьютере, можно воспользоваться соответствующими ссылками. There are links to help you setup your environment and continue with the next tutorial on your machine.

    Обзор новых возможностей в C# Explore new features in C#

    • Ознакомьтесь с новыми функциями C# 6 в интерактивном режиме: испытайте новые возможности C# 6 в интерактивном режиме с помощью браузера. Try new features in C# 6 interactively: Explore the features added in C# 6 interactively in your browser.
    • Строка интерполяции. Демонстрирует, как использовать интерполяцию строк для создания форматированных строк в C#. String Interpolation: demonstrates how to use string interpolation to create formatted strings in C#.
    • Ссылочные типы, допускающие значение NULL. Демонстрируется использование ссылочных типов, допускающих значение NULL, для выражения намерения относительно пустых ссылок. Nullable reference types: demonstrates how to use nullable reference types to express your intent for null references.
    • Обновление проекта для использования ссылочных типов, допускающих значение NULL: описание способов обновления существующего проекта для использования ссылочных типов, допускающих значение NULL. Update a project to make use of Nullable reference types: demonstrates techniques to upgrade an existing project to make use of nullable reference types.
    • Расширение возможностей обработки данных с помощью сопоставления шаблонов: описание способов использования сопоставления шаблонов для расширения ключевых функций типов. Extend data capabilities using pattern matching: demonstrates how to use pattern matching to extend types beyond their core features.
    • Работа с последовательностями данных с использованием индексов и диапазонов: описан новый удобный синтаксис для доступа к отдельным элементам или диапазонам контейнера последовательных данных. Work with data sequences using indexes and ranges: Demonstrates new convenient syntax for accessing single elements or ranges of a sequential data container.

    Общие руководства General Tutorials

    Следующие руководства позволяют создавать программы на C# с использованием .NET Core. The following tutorials enable you to build C# programs using .NET Core:


    • Консольное приложение. Демонстрирует консольный ввод-вывод, структуру консольного приложения и модель асинхронного программирования на основе задач. Console Application: demonstrates Console I/O, the structure of a Console application, and the basics of the task-based asynchronous programming model.
    • Клиент REST. Демонстрирует веб-взаимодействие, сериализацию JSON и объектно ориентированные функции языка C#. REST Client: demonstrates web communications, JSON serialization, and object-oriented features in the C# language.
    • Inheritance in C# and .NET (Наследование в C# и .NET). Демонстрирует наследование в C#, в том числе использование наследования для определения базовых классов, абстрактных базовых классов и производных классов. Inheritance in C# and .NET: demonstrates inheritance in C#, including the use of inheritance to define base classes, abstract base classes, and derived classes.
    • Working with LINQ (Работа с LINQ). Демонстрирует множество функций LINQ и элементы языка, которые их поддерживают. Working with LINQ: demonstrates many of the features of LINQ and the language elements that support it.
    • Использование атрибутов. Описывает создание и использование атрибутов в C#. Using Attributes: demonstrates how to create and use attributes in C#.
    • В руководстве Интерполяция строк демонстрируется, как вставлять значения в строки. String interpolation tutorial shows you how to insert values into a string. Вы узнаете, как создать интерполированную строку с внедренными выражениями C# и как управлять текстовым представлением результатов выражений в итоговой строке. You’ll learn how to create an interpolated string with embedded C# expressions and how to control the text appearance of the expression results in the result string. Это руководство можно изучить, используя локальный компьютер. This tutorial is also available to run locally on your machine.

    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# или пополнить свои знания в одной из тем.

    Цукерберг рекомендует:  Используем jQuery для изменения стилей поля ввода формы при нажатии

    “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/. Я начинал именно с них, а потом уже читал книги. Может быть, кому-то пригодится.

    Цукерберг рекомендует:  Table - Фиксированная шапка таблицы на чистом css

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

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

    А что Вы можете сказать про книгу «Герберт Шилдт — 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# с нуля

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

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

    Писать весь код пока что мы будем между двумя скобками, в месте, которое я выделил. Сразу следует запомнить несколько правил:

    В конце каждой строки должен стоять знак ;

    Каждая кавычка и скобка должна быть закрыта.

    И начнем мы обучение сразу с переменных. Что такое переменная? Это область памяти в которой хранится какое-то значение. Сегодня я расскажу только о 4 типах переменных.

    Переменная Int может хранить любое (на самом деле нет) число без дробной части.

    Переменная string хранит любой текст. Он обязательно должен быть указан в двойных кавычках.

    Переменная char может хранить в себе любой символ, но только один. Должен быть указан в одинарных кавычках.

    И переменная bool может хранить в себе только значения true или false.

    Любую строку написанную ниже можно условно разделить на 3 части:

    Тип переменной (ниже выделена синим), ее название (выделено белым)(может быть почти любым и выбирается вами, но не может повторяться) и значение переменной (в данном случае указано после знака равно).

    Все строки подчеркнуты зеленым, из-за того, что у нас они нигде не используются.

    Переменная может быть инициализирована (ей может быть присвоено значение) сразу (как на изображении выше) или уже после ее создания (смотрим ниже).

    В первой строчке мы создаем переменную (объявляем ее). Пока что она не несет в себе никакой информации. Во второй и последующих мы меняем ее значения.

    Чем отличается = от ==? = — это знак присвоения, а == — знак сравнения.

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

    Условные операторы (if else)

    text = «Переменная равна 2»;

    text = «Переменная не равна 2»;

    Т.е на русском конструкция с if else имеет вид

    Если выполняется (какое-то условие)<

    то происходит что-то

    если не выполняется <

    то происходит что-то другое

    Вернемся к операторам сравнения:

    if(num!=4) если num не равно 4(равно чему угодно кроме 4).

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

    Сейчас мы сделаем первое приложение — счетчик нажатий (ничего проще я придумать не смог)

    Вновь возвращаемся в первую вкладку. Про окно №3 можете забыть, оно вам на первое время не пригодится. Окно 5 разделено на 2 части. Слева названия, справа значения. Нажав на название, мы можем увидеть в окне 6 описание свойства. Если мы хотим запустить наше приложение, нажимаем кнопку 4. Сейчас нужно открыть панель инструментов (2).

    Добавляем кнопку (button) и надпись (label) (просто перетягиваем их). В окне свойств находим название этих элементов (название и текст — это не одно и то же (но в нашем случае они совпадают)). Итак, нам нужно детально продумать, то будет делать наше приложение. Оно должно менять текст надписи на число нажатий по кнопке. Для этого нам нужно как-то обработать нажатие на кнопку. Представим, что мы не знаем, как это сделать. Идем в гугл. Пишем вопрос «c# как обработать нажатие на кнопку», нажимаем на первую же ссылку и.

    Дважды наживаем на кнопку и видим, что у нас появился новый метод. Нам нужно получить количество нажатий. Количество — это число, значит нам нужно создать новую переменную int. Если мы ее создадим в методе button1_click, то у нас она будет создаваться каждый раз заново при клике на кнопку. Значит нужно создать переменную за пределами методов (если мы создадим ее в любом другом методе, то она будет доступна только в нем) и сразу присвоить значение 0, потому что при запуске программы, сразу пользователем не будет сделано ни одного клика. При клике на кнопку значение должно увеличиваться на 1, значит этот код нужно написать в методе button1_click, и значение должно сразу выводиться в label1. Как это сделать? Используем гугл. Для вывода текста мы можем использовать только тип переменной string. Но так, как у нас тип int нам нужно его преобразовать. Опять обращаемся к гуглу. Еще раз повторяю , что цель этого поста не обучить вас программированию, а указать вам, с чего начать.

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

    C# — Книги по C# начиная с азов.

    1. Что касается Эндрю Троелсена. Купил себе печатный вариант книги. В целом не плохо. Но не для новичка. Если основы знаете, и нужно прочитать про ООП, то подойдет. Хотя в книге, вроде как, описывается С# с самых азов, но неподготовленному человеку, будет трудно.Я сам пока всю книгу не осилил :)

    Кроме того в Троелсене налито «воды» про WinForms/XAML и как-то не очень внятно Asp.Net. ADO.NET, LINQ, Win8. смешались в общем основные технологии майкрософт в этой книге. Я не говорю, что это плохо. имеет место быть, но лучше об этих технологиях читать специально посвященные им книги.

    2. Джеффри Рихтер — CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#.

    3. Герберт Штлдт — Полный справочник по C#

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

    4. Если владеете английским, то есть еще хорошая книга — Thinking in C# Larry O’Brien, Bruce Eckel. Там все очень доступно объясняется.

    5. Конечно же библиотека МСДН.

    6. По самому С# еще полезно — csharp language specification. Читать это конечно не возможно ) Но как справочник, хорошая штука.

    7. По ООП, множество интерессных статей есть на ХАбре и RSDN.

    8. Так же по С# есть хорошая книга, написанная в стиле How To:

    Агуров П.В. С# Сборник рецептов.

    Ну а вообще, к сожалению, так сложилось, что во всех основных книгах по ООП ( Страуструп, GOF, Роберт Мартин, Гамма, Хелм, Джонсон, Влиссидес ) нет примеров для C#.

    А в основных книгах по языку C# и .NET мало про ООП.

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

    Новинки раздела «Наука и техника»

    Лучшие продажи раздела «Наука и техника»

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

    Предлагаемый учебник содержит сведения, которые обычно определяются как базисные при изучении японского языка. Это — основы японской письменности, фонетики и грамматики. Материал учебника построен на страноведческой тематике. Форма и типы упражнений способствуют развитию в первую очередь навыков устной речи.
    Издание предназначено для широкого круга лиц, приступающих к изучению японского языка. Скрыть Показать весь текст

    Отзывы

    В наших магазинах

    Подписка на новости

    Будьте в курсе наших акций:

    2011—2020, ООО «Новый Книжный Центр». Перепечатка материалов сайта возможна только с указанием активной ссылки на сайт «Читай–город».

    Программирование на C# для начинающих. Основные сведения PDF

    • Объем: 586 стр.
    • Жанр:п рограммирование
    • Теги:о бучение программированию, у чебники по программированию, я зыки программирования

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

    Конспект лекций, действительно, подойдет для самостоятельного изучения C#. Только придется «продираться» сквозь лингвистические препоны в виде словесного мусора. Книге явно не хватает структурированности и легкости изложения. Огромное количество лишних речевых оборотов, которые затрудняют восприятие изучаемого материала. Такое ощущение, будто глину жуешь. Например, цитата:

    «После того, как объект создан, в него нужно добавить файл, в который мы введем программный код». Можно же сделать текст более упругим: «После создания объекта добавляем новый файл и вписываем программный код».

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

    Книга по C#

    John_Doe

    Сам программист на VC 6.0. Вот решил заняться Net и C#. По самой платформе купил рихтера, а вот с книгой по C# не могу определиться. С самой платформой уже более ли менее знаком и язык так тоже по статьям в инете почитывал.
    Короче что лучше взять из следующего:

    1. Петцольд «Программирование в тональности C#»
    2. Троелсен «C# и платформа .NET. Библиотека программиста»
    3. 2-х томник «C# для профессионалов» (сложно найти и дорогой )

    Dr.Gigabit

    Имхо в такой последовательности 3-й вариант 2-й вариант 1-й вариант.

    Perl, Python — блог программиста

    C Sharp я выбрала потому, что мне хотелось освоить что-то серьезное, основательное. Выбор делала между С и Java. С Java у меня не сложилось. Мне она казалась очень «тяжелой», и попытки читать книги по Java вызывали скуку, сонливость и отчаяние. Я категорически не понимала, зачем нужны такие сложные и некрасивые конструкции. В perl тоже самое делается легким движением руки.

    Cи всегда был розовой мечтой. Язык, на котором пишут бородатые и очень умные дядьки, мега-крутые профессионалы. Однако, окончательно решив изучать C, я поняла, что опять надо выбрать — какой именно? Классический или C++ ? У меня нет времени, чтобы заниматься всем по порядку. С++ произвел впечатление чуть лучше Java, я приуныла.

    И вот тут мне на глаза попался C Sharp. Скачала себе Visual Studio 2010. Посмотрела, полистала учебники, почитала MSDN. И начала испытывать к C Sharp настоящую нежность. Да, к сожалению, он не так крут, как С++, программисты менее востребованы, ЗП у них меньше. Но все-таки, это C (более безопасный и со сборкой мусора, ура!). Для него есть потрясающе удобная документация. Ее много! Она на русском! Есть инструментарий для разработки, с удобным GUI. Есть книги — отличные, легко читающиеся. Все это настолько отличается от Perl ! Вот что значит, когда язык поддерживается богатой компанией с мировым именем.

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

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

    Но именно это и важно. C Sharp — это комфорт готовой системы, perl — возможность самому участвовать в развитии и продвижении языка.

    Простите за долгое вступление, а теперь список :)

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

      C# 4.0 и платформа .NET 4 для профессионалов. Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер

    Одна из лучших книг по языку программирования, из тех, с которыми я встречалась. Легко читать,
    информация полная. Не смотря на заголовок «для профессионалов», на самом деле, ее легко читать
    даже если вы совсем не знаете C Sharp (впрочем, иметь навык программирования на любом другом языке — обязательно). При этом,
    благодаря такому позиционированию, книга не является скучной — судьба большинства книг «для начинающих».

    Мне повезло купить книгу во время очередной скидочной акции. Цена книги впечатляет не меньше ее содержимого.

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

    Список лучших книг по C# (C Sharp) : 7 комментариев

    >опять надо выбрать — какой именно? Классический или C++?

    Выбирать не надо. Сначала одно, а потом, если захочется — второе. Так как C++ — надстройка над C.

    На первое, потом второе — времени не хватает. Либо то, либо другое.

    Изучал C# по книге Нейгела — очень понравилась, для полного понимания языка достаточно. Не так давно посоветовали Шилдта — книга тоже очень хорошая, но уж очень для новичков.

    Тоже вот захотел научится! Думаю не помешает. Хочу прочитать Герберта Шилдта. Но есть загвоздка:( Хочу найти в pdf формате, что бы на работе втихаря читать. Так весь инет перерыл и ничего не нашел. Может еще пару книг хороших посоветуете?

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