C#

С чего начать изучать c#?

Подскажите с чего стоит начать изучение ЯП c#. с каких книг или курсов?
Есть тысячи книг и ресурсов. Я бы рекомендовал книгу Троелсена и дополняя ее справочником от Албахари. Качайте самые последние издания. Ну а дальше уже Рихтер - это библия и настольная книга для любого программиста на .NET
Денис Глуховский
Денис Глуховский
20 187
Лучший ответ
С языка "С", затем "С++" и "Java".
Книги подойдут самые базовые - на самом деле можете даже записями университетских лекций на ютубе обойтись. Главное - не впитывать информацию, а научиться применять навыки программирования.
Ни к чему изучать досконально эти языки, чтобы не терять много времени, но сделать несколько серьёзных упражнений стоит.

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

2) На "С++" прочувствовать классы и объекты, управление жизнью объектов через "new" и "delete", реализовать пару типов стандартных контейнеров и простую консольную программу, например свой архиватор (можно по алгоритму Хаффмана, упаковщик и распаковщик).

3) На "Java" познакомиться с паттернами и принципами SOLID, полюбить интерфейсы, абстрактные классы и виртуальные функции, поработать с библиотекой Swing - сделать несколько простых игрушек-симуляторов, при разработке которых очень бы подходили паттерны всех категорий - порождающие (как Abstract Factory), поведенческие (Template Method и пр.), структурные (Proxy, Flyweight и пр.).

4) Подходя к C# с таким багажом навыков, вам останется лишь познакомиться с встроенной в язык реализацией паттерна Observer (события-делегаты) и свойствами; также анонимные функции очень распространены в C#, так что если в Java с ними почему-то не довелось пересечься - наверстаете. Ну и не упустите из внимания интерфейс IDisposable - вспомните свои навыки по управлению жизненным циклом объектов.
Jenia Istrati
Jenia Istrati
5 779