Jisdo

C# тред

Dec 1st, 2020 (edited)
383
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Прошлый тред: ???
  2.  
  3. Литература вторым постом
  4.  
  5. [b]1. Ресурсы:[/b]
  6. — https://dotnet.microsoft.com/learn
  7. — https://docs.microsoft.com/ru-ru/dotnet/csharp/
  8. — https://metanit.com/
  9.  
  10. [b]2. Онлайн-компиляторы:[/b]
  11. — https://ideone.com/
  12. — https://dotnetfiddle.net/
  13.  
  14. [b]3. WinForms или WPF?[/b]
  15. Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае с WinForms делать намного сложнее.
  16.  
  17. [b]4. Мне тут [i]знакомый_нейм[/i] сказал, что C# умирает, это правда? Может не стоит его учить?[/b]
  18. Неправда. C# активно развивается, недавно вышел .NET 5 и С# 9.0. Дотнет стал полностью опенсорсным и кроссплатформенным. В том же энтерпрайзе он очень даже востребован.
  19.  
  20. [b]5. Какую IDE выбрать?[/b]
  21. Для Windows самым очевидным вариантом будет [b]Visual Studio[/b] ( https://visualstudio.microsoft.com/ru/downloads/ ). Бесплатной Community-версии более, чем достаточно для большинства задач. Также есть версия для macOS.
  22. Кроссплатформенный полуредактор/полуIDE [b]VS Code[/b] ( https://code.visualstudio.com/ ).
  23. Кроссплатформенный IDE [b]Rider[/b] ( https://www.jetbrains.com/rider/ ).
  24. Также существуют C#-плагины для Atom и Sublime Text, но функциональность там достаточно сильно урезана.
  25.  
  26. [b]6. С# для мобильной разработки[/b]
  27. https://dotnet.microsoft.com/apps/xamarin
  28.  
  29. Новые возможности C# 9.0: https://devblogs.microsoft.com/dotnet/c-9-0-on-the-record/
  30.  
  31. Текст шапки: https://pastebin.com/pbK8CGqw
  32.  
  33. ======= ВТОРОЙ ПОСТ =======
  34.  
  35. [b]7. Что почитать?[/b]
  36. — [i]The C# Player's Guide, третье издание (RB Whitaker)[/i] — отличная книга для ньюфагов, всё расписывается довольно подробно, очень много примеров кода.
  37. — [i]C# 9 and .NET 5 – Modern Cross-Platform Development (Mark Price)[/i] — подойдёт для ознакомления с платформой. Затрагивает все технологии, имеющиеся в .NET (веб, мобильная разработка, машинное обучение), ни во что не углубляясь.
  38. — [i]C# 8.0 in a Nutshell (Joseph Albahari и Eric Johannsen)[/i] — огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином.
  39. — [i]C# 8.0 Pocket Reference (Joseph Albahari и Ben Albahari)[/i] — просто выжимка из книги сверху, можно всегда держать рукой.
  40. — [i]Pro C# 8 with .NET Core 3 (Andrew Troelsen)[/i] — 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
  41.  
  42. [b]8. Более хардкорный материал[/b]
  43. — [i]CLR via C# (Jeffrey Richter)[/i] — это классика, это знать надо.
  44. — [i]C# in Depth (Jon Skeet)[/i] — написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
  45. — [i]Writing High Performance .NET Code (Ben Watson)[/i] — отличная книга. Фокусируется на методах оптимизации приложений, профилировании. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче всё, что нужно, чтобы вам [i]перезвонили[/i].
  46.  
  47. [b]9. Литература по WPF[/b]
  48. — [i]Pro WPF 4.5 in C# (Matthew MacDonald)[/i]
  49. — [i]Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)[/i]
  50.  
  51. [b]10. Литература по ASP.NET[/b]
  52. — [i]Pro ASP.NET Core 3 (Adam Freeman)[/i]
  53. — [i]Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)[/i]
  54.  
  55. [b]11. Литература по асинхронности и параллелизму[/b]
  56. — [i]Concurrency in C# Cookbook (Stephen Cleary)[/i] — книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции.
  57. — [i]Multithreading with C# Cookbook (Eugene Agafonov)[/i] — в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная.
  58. — [i]Pro Asynchronous Programming with .NET (Richard Blewett, Andrew Clymer)[/i] — опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg.
  59.  
  60. [b]12. Литература по мобильной разработке[/b]
  61. — [i]Creating Mobile Apps with Xamarin.Forms (Charles Petzold)[/i]
  62. — [i]Xamarin.Forms Projects (Johan Karlsson, Daniel Hindrikes)[/i]
  63. — [i]Mastering Xamarin.Forms (Ed Snider)[/i]
  64.  
  65. [b]13. Литература по машинному обучению[/b]
  66. — [i]Introduction to Neural Networks for C# (Jeff Heaton)[/i] — изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
  67. — [i]Machine Learning Using C# Succinctly (James D. McCaffrey)[/i] — довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.
  68.  
  69. [b]14. Разработка игр[/b]
  70. Unity-тред в /gd/
  71.  
  72. [b]15. Но я не знаю английский, как я буду это все читать?[/b]
  73. На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако зачастую эти переводы неактуальны и/или содержат неточности. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в программировании без знания английского делать нечего. Если очень хочется, то гуглить по запросам: "C# 7.0. Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#".
  74.  
  75. [b]16. Что еще нужно знать, чтобы взяли работать за еду?[/b]
  76. — [i]Базы данных[/i] — подойдет любая книга по MSSQL/MySQL/PostgreSQL. DDL, DML. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper.
  77. — [i]Системы контроля версий[/i] — обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote, diff, разрешение конфликтов.
  78. — [i]GitHub[/i] — issues, пулл-реквесты, теги, релизы, Actions.
  79. — [i]Алгоритмы[/i] — сортировка, поиск, оценка сложности алгоритмов, рекурсия, алгоритмы на строках.
  80. — [i]Структуры данных[/i] — связанные списки, деревья (бинарные, красно-чёрные, b-деревья), хеш-таблицы, графы.
  81. — [i]Если идти в веб[/i] — HTML, CSS, JavaScript, веб-сокеты, REST, JS-фреймворки (Angular, React, Vue).
  82. — Паттерны проектирования, стиль кода, архитектура приложения, внедрение зависимостей, MVVM (если хочется в WPF), SOLID.
  83.  
  84. [b]17. Я не умею читать, что посмотреть?[/b]
  85. — C# Fundamentals: Development for Absolute Beginners — https://goo.gl/meyyxO
  86. — Набор курсов по C# от O'Reilly Media (28 часов, на английском) — http://rutracker.org/forum/viewtopic.php?t=5082978
  87. — Канал по C# IAmTimCorey (на английском) — https://www.youtube.com/user/IAmTimCorey
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×