C#
С чего начать изучать c#?
Подскажите с чего стоит начать изучение ЯП c#. с каких книг или курсов?
Есть тысячи книг и ресурсов. Я бы рекомендовал книгу Троелсена и дополняя ее справочником от Албахари. Качайте самые последние издания. Ну а дальше уже Рихтер - это библия и настольная книга для любого программиста на .NET
С языка "С", затем "С++" и "Java".
Книги подойдут самые базовые - на самом деле можете даже записями университетских лекций на ютубе обойтись. Главное - не впитывать информацию, а научиться применять навыки программирования.
Ни к чему изучать досконально эти языки, чтобы не терять много времени, но сделать несколько серьёзных упражнений стоит.
1) На "C" прочувствовать алгоритмы и структуры данных, сделать какую-нибудь классику вроде "задачи о рюкзаке" и "задачи коммивояжера" проснуться ночью от кошмаров, в которых вас навестит брат Фредди Крюгера по имени Сегментейшн Фолт.
2) На "С++" прочувствовать классы и объекты, управление жизнью объектов через "new" и "delete", реализовать пару типов стандартных контейнеров и простую консольную программу, например свой архиватор (можно по алгоритму Хаффмана, упаковщик и распаковщик).
3) На "Java" познакомиться с паттернами и принципами SOLID, полюбить интерфейсы, абстрактные классы и виртуальные функции, поработать с библиотекой Swing - сделать несколько простых игрушек-симуляторов, при разработке которых очень бы подходили паттерны всех категорий - порождающие (как Abstract Factory), поведенческие (Template Method и пр.), структурные (Proxy, Flyweight и пр.).
4) Подходя к C# с таким багажом навыков, вам останется лишь познакомиться с встроенной в язык реализацией паттерна Observer (события-делегаты) и свойствами; также анонимные функции очень распространены в C#, так что если в Java с ними почему-то не довелось пересечься - наверстаете. Ну и не упустите из внимания интерфейс IDisposable - вспомните свои навыки по управлению жизненным циклом объектов.
Книги подойдут самые базовые - на самом деле можете даже записями университетских лекций на ютубе обойтись. Главное - не впитывать информацию, а научиться применять навыки программирования.
Ни к чему изучать досконально эти языки, чтобы не терять много времени, но сделать несколько серьёзных упражнений стоит.
1) На "C" прочувствовать алгоритмы и структуры данных, сделать какую-нибудь классику вроде "задачи о рюкзаке" и "задачи коммивояжера" проснуться ночью от кошмаров, в которых вас навестит брат Фредди Крюгера по имени Сегментейшн Фолт.
2) На "С++" прочувствовать классы и объекты, управление жизнью объектов через "new" и "delete", реализовать пару типов стандартных контейнеров и простую консольную программу, например свой архиватор (можно по алгоритму Хаффмана, упаковщик и распаковщик).
3) На "Java" познакомиться с паттернами и принципами SOLID, полюбить интерфейсы, абстрактные классы и виртуальные функции, поработать с библиотекой Swing - сделать несколько простых игрушек-симуляторов, при разработке которых очень бы подходили паттерны всех категорий - порождающие (как Abstract Factory), поведенческие (Template Method и пр.), структурные (Proxy, Flyweight и пр.).
4) Подходя к C# с таким багажом навыков, вам останется лишь познакомиться с встроенной в язык реализацией паттерна Observer (события-делегаты) и свойствами; также анонимные функции очень распространены в C#, так что если в Java с ними почему-то не довелось пересечься - наверстаете. Ну и не упустите из внимания интерфейс IDisposable - вспомните свои навыки по управлению жизненным циклом объектов.
Похожие вопросы
- Стоит ли изучать c# в 13 лет?
- Кого стоит читать чтобы начать изучать С# для полного новичка в программировании?
- Хочу изучать C#, но лагает Visual Studio. Можно ли это исправить?
- Какой язык программирования начать изучать?
- Решил попробовать изучать программирование (C# конкретно) и вот не могу понять почему код с упражнения не работает
- Стоит ли дальше учить C#?
- Программирование на C Sharp (C#)
- Сегодня начал учить c#, решил сделать калькулятор простой и столкнулся с такой ошибкой при компиляции, хелпуйте.
- Что лучше C# или C++?
- Зачем разбивать код в C# на отдельные классы?