Видеоматериалы
В одной из своих статей Бьёрн Страуструп (папа С++) признался, что он не признает видео материалы в качестве источника для самообразования. И с ним сложно не согласиться, когда речь касается изучения с нуля языка программирования или технологии. Я правда сомневаюсь, что можно одолеть такого монстра, как С++ или стать гуру WPF лежа на диване и просматривая обучающее видео типа «Узнай все за 24 часа». Но если вы ставите себе цель познакомиться с некоторой технологией или новой возможностью языка программирования, или просто послушать философско-компьютерные размышления умного товарища, то в этом случае веб-касты, записи конференций или другой вид видеоматериалов может быть очень кстати.
Если постараться найти обучающее видео (а не просто интервью или выступления с конференций) для .NET разработчика, то первым и, пожалуй, единственным источником будет Pluralsight.
Pluralsight
Большая часть курсов Pluralsight посвящены технологиям компании Майкрософт: .NET, C#, F#, WCF, SQL Server, Windows Azure, Windows 8 и т.д. Другие же курсы посвящены фундаментальным знаниям и не привязаны к конкретным технологиям: HTTP Fundamentals, NoSQL, Source Control, практики разработки ПО и т.п.; есть даже курсы, посвященные Java, Ruby, разработке под iOS и Android (одним словом, в каталоге можно найти курс практически по всем популярным нынче баззвордам).
Не все курсы могут быть одинаково полезны. Попытка изучить полноценно новую технологию (я смотрел курсы по WPF) могут ни к чему не привести, поскольку видеоматериалы все же не самый лучший источник для полноценного изучения. Но ряд тем подходят для такого типа обучения отлично. Все архитектурно-философские темы, курсы по паттернам проектирования и обзорные курсы смотрятся на ура. Мне очень понравились курсы по Решарперу, RavenDB и архитектуре.
Курсы платные; персональная лицензия стоит 300-500$.
Channel 9
В отличие от Pluralsight материалы на Channel 9 не являются обучающими курсами в обычном понимании, скорее это обучающий телеканал с разными передачами (название, об этом и намекает). Некоторые передачи посвящены одной тематике (например, обучению языку C# или библиотеке реактивных расширений (Rx – Reactive Extensions)), другие передачи состоят из интервью с известными специалистами, третьи являются записями известных событий в области разработки ПО.
Рубрики
- Going Deep. Одна из самых интересных рубрик на Channel 9; здесь можно из первых уст услышать о строении CLR, о проблемах асинхронности, о внутреннем устройстве ядра Windows, о функциональном программировании, о будущем С++ и о многом другом. Достаточно пролистать эту рубрику в поиске интересующей темы или просто начать с наиболее популярных выступлений.
- Expert to Expert. А что если один «безумный гик» в футболке цвета «вырви-глаз» (в этой роли выступает Erik Meijer) придет в гости к другому безумному гику, чтобы поразмышлять о языках или парадигмах программирования, о будущем или вообще, потрепаться о жизни? Примерно это и происходит в рубрике Expert to Expert (точнее это подрубрика Going Deep), результат получается не всегда понятным, но практически всегда интересным.
- Visual Studio Toolbox. В этой рубрике можно услышать о новых возможностях Visual Studio 11 или о старых проверенных инструментах, таких как ReSharper или CodeRush.
- C9::GoingNative. Многие разработчики уже давно смирились, что их старый С++-ный бэкграунд можно закапывать глубоко под землю, однако события прошлого года показали, что делать этого не стоит. Выход Windows 8, принятие стандарта С++11, все это возвращает интерес общественности к «старику» С++ и в этой рубрике можно найти массу информации обо всем этом.
События
- Lang.NEXT 2012. Большинство конференций, проводимых Майкрософт посвящены прежде всего их собственным продуктам, но эта конференция – исключение из правил. На ней собрались ведущие проектировщики популярных языков программирования, чтобы поговорить о будущем разработки; здесь можно услышать о Java, C++, Haskell, Scala, D, F# и конечно же, о C# и VB.
- GoingNative 2012. Эта конференция прошла 2-3 февраля 2012 и была посвящена исключительно языку С++11.
- BUILD 2011. Именно на этой конференции были представлены основные возможности, выход которых мы ждем в этом году, в частности, Windows 8, Metro Style App, C++11, C# & VB Async Stuff, Roslyn etc.
Стоит обратить внимание на рубрику событий целиком, поскольку новые ивенты происходят довольно часто, так что они устаревают довольно быстро.
Обучающие передачи
- C# Fundamentals: Development for Absolute Beginners. Как подсказывает название, это набор видеоуроков по языку C# для абсолютных новичков.
- Rx Workshop. Набор уроков по довольно популярной библиотеке реактивных расширений (Rx – Reactive Extensions) от ее авторов: Барта Де Смета (Bart De Smet) и Веса Дайера (Wes Dyer)
Я бы рекомендовал следить за новыми поступлениями материалов по RSS, или через твиттер @ch9, поскольку интересное видео выходит довольно часто.
Другое
Отдельно, я бы порекомендовал посмотреть выступления Роберта Мартина, автора принципов S.O.L.I.D. (точнее самой аббревиатуры) и многих популярных книг (например, Чистый Код). «Дядюшка» Боб обладает потрясающей харизмой, и хотя не со всеми его идеями можно согласиться, смотреть его выступления очень интересно. Вот несколько выступлений для затравки.
Блоги
На английском языке:
- Fabulous Adventures in Coding. Блог Эрика Липперта, в основном посвящен дизайну языка C# и его возможностям.
- Jon Skeet: Coding Blog. Блог Джона Скита, гуру StackOverflow.com и автора одной из лучших книг по C# (C# In Depth).
- ScottGu’s Blog. Блог Скотта Гатри, в основном об ASP.NET и Azure, но есть много чего еще полезного.
- Ayende @ Rahien. Очень популярный блог автора Rhyno Mocks, Raven DB и одного из основных разработчиков NHibernate; посвящен в основном архитектурным вопросам и паттернам. Очень рекомендую!
- Scott Hanselman’s Computer Zen. Еще один известный блог; посвящен не только платформе .NET, но и общим вопросам программирования и околокомпьютерным темам.
- Parallel Programming with .NET. Очень интересный блог о параллельном программировании; содержит много интересных статей о TPL и новых «асинхронных» возможностях C# 5.0
- Sutter’s Mill. Блог Герба Саттера, гуру С++ и многопоточности, пишет в основном о С++, но на его статьи стоит обратить внимание даже не С++ программистам.
Не очень активные сейчас, но с огромным количеством интересных постов:
- B# .NET BLOG. Bart de Smet’s On-line Blog. Один из самых сильных блогов по C#/.NET. Барт пишет не часто, но тема раскрывается на глубочайшем уровне, так что не пугайтесь, если даже с третьего раза вам все равно что-то будет неясно.
- Yet Another Language Geek. Очень рекомендую всем, кто интересуется функциональным программированием.
- Chris Burrow’s Blog. В основном о языке C#; к сожалению Крис покинул Майкрософт, так что теперь его блог можно использовать только в качестве архива.
- Joe Duffy’s Weblog. Основное внимание уделяется вопросам многопоточности.
- Igor Ostrovsky Blogging. Блог еще одного представителя Parallel Computing Team; блог посвящен многопоточному программированию, но есть интересные статьи о языке C#.
На русском языке
- Эрик Липперт. Невероятные приключения в коде. Русскоязычная версия блога Эрика Липперта.
- Control::Flow. Функционально-сишарпо-фшарпно-гикнутый блог. Очень рекомендую.
- Programming Stuff. Блог посвящен языку C#, .NET-у, архитектуре и принципам разработки; в целом, содержимое отражает название блога.
Подкасты
С подкастами несколько сложнее, чем с видео материалами или блогами. Самый простой способ выбрать послушать что-нибудь в дорогу, это порыться по приведенным ниже ссылкам и найти интересующую вас тему, или выбрать диалог с известным человеком.
- Code Cast – The Late Night Show For .NET Developers
- DotNetRocks
- Hanselminutes
- Software Engineering Radio
- Pragmatic Podcasts
Для затравки, вот пара интересных подкастов:
- Интервью с Кентом Беком на SE-Radio
- Интервью с Вардом Каннингемом на Pragmatic Podcast
- Интервью с Бобом Мартином на Hanselminutes
- Интервью с Эриком Липпертом на DotNetRocks
Заключаение
Конечно это далеко не полный список того, где и как можно почерпнуть знаний в области .NET, так что я жду дополнений и уточнений. Кстати, если речь идет о полноценном изучении языка или технологии, то вначале я рекомендовал бы обратить внимание на “классические книги” по .NET/C#, а потом уже использовать видео выступления или блоги для закрытия пробелов.
Автор: SergeyT