Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Прошлый тред: ???
- Литература вторым постом
- [b]1. Ресурсы:[/b]
- — https://dotnet.microsoft.com/learn
- — https://docs.microsoft.com/ru-ru/dotnet/csharp/
- — https://metanit.com/
- [b]2. Онлайн-компиляторы:[/b]
- — https://ideone.com/
- — https://dotnetfiddle.net/
- [b]3. WinForms или WPF?[/b]
- Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае с WinForms делать намного сложнее.
- [b]4. Мне тут [i]знакомый_нейм[/i] сказал, что C# умирает, это правда? Может не стоит его учить?[/b]
- Неправда. C# активно развивается, недавно вышел .NET 5 и С# 9.0. Дотнет стал полностью опенсорсным и кроссплатформенным. В том же энтерпрайзе он очень даже востребован.
- [b]5. Какую IDE выбрать?[/b]
- Для Windows самым очевидным вариантом будет [b]Visual Studio[/b] ( https://visualstudio.microsoft.com/ru/downloads/ ). Бесплатной Community-версии более, чем достаточно для большинства задач. Также есть версия для macOS.
- Кроссплатформенный полуредактор/полуIDE [b]VS Code[/b] ( https://code.visualstudio.com/ ).
- Кроссплатформенный IDE [b]Rider[/b] ( https://www.jetbrains.com/rider/ ).
- Также существуют C#-плагины для Atom и Sublime Text, но функциональность там достаточно сильно урезана.
- [b]6. С# для мобильной разработки[/b]
- https://dotnet.microsoft.com/apps/xamarin
- Новые возможности C# 9.0: https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/
- Текст шапки: https://pastebin.com/pbK8CGqw
- ======= ВТОРОЙ ПОСТ =======
- [b]7. Что почитать?[/b]
- — [i]The C# Player's Guide, третье издание (RB Whitaker)[/i] — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
- — [i]C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price)[/i] — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
- — [i]C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen)[/i] — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
- — [i]C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari)[/i] — просто выжимка из книги сверху, можно всегда держать рукой.
- — [i]Pro C# 8 with .NET Core 3 (Andrew Troelsen)[/i] — 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
- [b]8. Более хардкорный материал[/b]
- — [i]CLR via C# (Jeffrey Richter)[/i] — это классика, это знать надо.
- — [i]C# in Depth (Jon Skeet)[/i] — написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
- — [i]Writing High Performance .NET Code (Ben Watson)[/i] — отличная книга. Фокусируется на методах оптимизации приложений, профилировании. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче всё, что нужно, чтобы вам [i]перезвонили[/i].
- [b]9. Литература по WPF[/b]
- — [i]Pro WPF 4.5 in C# (Matthew MacDonald)[/i]
- — [i]Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)[/i]
- [b]10. Литература по ASP.NET[/b]
- — [i]Pro ASP.NET Core 3 (Adam Freeman)[/i]
- — [i]Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)[/i]
- [b]11. Литература по асинхронности и параллелизму[/b]
- — [i]Concurrency in C# Cookbook (Stephen Cleary)[/i] — книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции.
- — [i]Multithreading with C# Cookbook (Eugene Agafonov)[/i] — в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная.
- — [i]Pro Asynchronous Programming with .NET (Richard Blewett, Andrew Clymer)[/i] — опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg.
- [b]12. Литература по мобильной разработке[/b]
- — [i]Creating Mobile Apps with Xamarin.Forms (Charles Petzold)[/i]
- — [i]Xamarin.Forms Projects (Johan Karlsson, Daniel Hindrikes)[/i]
- — [i]Mastering Xamarin.Forms (Ed Snider)[/i]
- [b]13. Литература по машинному обучению[/b]
- — [i]Introduction to Neural Networks for C# (Jeff Heaton)[/i] — изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
- — [i]Machine Learning Using C# Succinctly (James D. McCaffrey)[/i] — довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.
- [b]14. Разработка игр[/b]
- Unity-тред в /gd/
- [b]15. Но я не знаю английский, как я буду это все читать?[/b]
- На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако зачастую эти переводы неактуальны и/или содержат неточности. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в программировании без знания английского делать нечего. Если очень хочется, то гуглить по запросам: "C# 7.0. Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#".
- [b]16. Что еще нужно знать, чтобы взяли работать за еду?[/b]
- — [i]Базы данных[/i] — подойдет любая книга по MSSQL/MySQL/PostgreSQL. DDL, DML. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper.
- — [i]Системы контроля версий[/i] — обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote, diff, разрешение конфликтов.
- — [i]GitHub[/i] — issues, пулл-реквесты, теги, релизы, Actions.
- — [i]Алгоритмы[/i] — сортировка, поиск, оценка сложности алгоритмов, рекурсия, алгоритмы на строках.
- — [i]Структуры данных[/i] — связанные списки, деревья (бинарные, красно-чёрные, b-деревья), хеш-таблицы, графы.
- — [i]Если идти в веб[/i] — HTML, CSS, JavaScript, веб-сокеты, REST, JS-фреймворки (Angular, React, Vue).
- — Паттерны проектирования, стиль кода, архитектура приложения, внедрение зависимостей, MVVM (если хочется в WPF), SOLID.
- [b]17. Я не умею читать, что посмотреть?[/b]
- — C# Fundamentals: Development for Absolute Beginners — https://goo.gl/meyyxO
- — Набор курсов по C# от O'Reilly Media (28 часов, на английском) — http://rutracker.org/forum/viewtopic.php?t=5082978
- — Канал по C# IAmTimCorey (на английском) — https://www.youtube.com/user/IAmTimCorey
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement