SHARE
TWEET

Untitled

Fail_O_Man Nov 7th, 2019 (edited) 95 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
  2. ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
  3.  
  4. Литература вторым постом
  5.  
  6. [b]1. Ресурсы:[/b]
  7. - http://stackoverflow.com/questions/tagged/c%23
  8. - http://www.tutorialspoint.com/csharp/
  9. - http://professorweb.ru
  10. - https://metanit.com/
  11. - http://net-informations.com
  12. - http://habrahabr.ru/hub/csharp/
  13.  
  14. [b]2. Онлайн-компиляторы:[/b]
  15. - https://dotnetfiddle.net/ - возможно лучший вариант. Встроено немного убогое, но все-таки автодополнение и проверка синтаксиса.
  16. - http://ideone.com/
  17. - http://csharppad.com/
  18. - http://www.tutorialspoint.com/compile_csharp_online.php
  19. - http://rextester.com/l/csharp_online_compiler
  20.  
  21. [b]3. WinForms или WPF?[/b]
  22. Зависит от задачи. Для небольших проектов, скорее всего, будет достаточно винформочек. В случае, если разрабатываемое приложение достаточно серьёзное, то возможно его стоит писать с использованием WPF. WPF очень хорошо работает с паттерном MVVM ( https://ru.wikipedia.org/wiki/Model-View-ViewModel ), и позволяет пилить очень кастомизированные интерфейсы с помощью XAML, что в случае WinForms, делать намного сложнее.
  23.  
  24. [b]4. Мне тут [i]знакомый_нейм[/i] сказал, что C# умирает, это правда? Может не стоит его учить?[/b]
  25. Неправда. C# довольно активно развивается, недавно вышла третья версия .NET Core фреймворка и восьмая версия языка. Весь дотнет понемногу становится опенсорсным, а ASP.NET становится независимым от платформы. В некотором смысле понемногу вымирают десктопные приложения с развитием веб-технологий, но в том же энтерпрайзе он еще очень даже востребован.
  26.  
  27. [b]5. Какую ИДЕ выбрать?[/b]
  28. Для Windows самым очевидным вариантом будет [b]Visual Studio[/b] (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx). Студия распространяется в двух редакциях: бесплатная коммьюнити-версия и платный энтерпрейс эдишн. В большинстве случае будет достаточно Community-версии: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений
  29. Для мака и никсов самый юзабельный вариант - [b]MonoDevelop[/b] ( http://www.monodevelop.com/download/ ).
  30. Для vim можно использовать [b]OmniSharp[/b] ( https://github.com/OmniSharp/omnisharp-vim ).
  31. Кросплатформенный полуредактор/полуIDE [b]VS Code[/b] ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
  32. Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
  33. Кроме того, в данный момент JetBrains активно пилит свою IDE для шарпа ([b]Project Rider[/b]), вероятно в ближайшее время станут доступны первые EAP. IDE заявлена как кросплатформенная, со всем решарпер-функционалом, поддержкой отладки, моно и .net core.
  34. [b]SharpDevelop[/b] - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими ништяками. Если хочется что-то по быстрому набросать, а выкачивать гигабйты нет желания, то возможно SharpDevelop будет лучшим вариантом.
  35.  
  36. [b]6. С# для мобильной разработки[/b]
  37. Если нужны инструменты для разработке под мобилы, ставь сразу VS2015 и при установке выбирай все нужные компоненты.
  38. Больше информации тут - https://msdn.microsoft.com/ru-ru/library/dn771552.aspx
  39. [b]Из актуальной литературы[/b]
  40. - Xamarin Mobile Application Development
  41. - Xamarin Essentials
  42.  
  43. [b]7. Дополнительные инструменты для разработки на C#[/b]
  44. [i]LINQPad[/i] - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
  45. [i]dnSpy[/i] - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
  46. [i]dotPeek[/i] - бесплатный декомпилятор от JetBrains
  47. [i]scriptcs[/i] - для запуска C# кода как скриптов, возможность использовать как REPL
  48.  
  49. [b]8. Расширения для студии[/b]
  50. [i]ReSharper[/i] - одно из известнейших. Рефакторинги, умный автокомплит, настраиваемый стиль кода. Платный, но можно стянуть с торрентов
  51. [i]Supercharger[/i] - показывает "карту" с классами, методами и всем остальным сбоку от кода с возможностью прыгать по ним
  52. [i]Indent Guides[/i] - показывает вертикальные линии на каждом уровне отступов.
  53. [i]Format document on Save[/i] - форматирует код каждый раз при сохранении документа
  54. [i]Code alignment[/i] - Выравнивает код по указанным символам. Удобно, например, при инициализации словарей или в перечислениях
  55.  
  56. Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview
  57. Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6
  58.  
  59. [B]ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ[/B]
  60.  
  61. Код этой шапки: https://pastebin.com/YJFQKsNm
  62.  
  63. Прошлый тред тонет здесь: ???
  64.  
  65. ======= ВТОРОЙ ПОСТ =======
  66.  
  67. [b]9. Что почитать?[/b]
  68. - [i]The C# Player's Guide, второе издание (RB Whitaker)[/i] - отличная книга для ньюфагов в шарпе, все расписывается довольно подробно, очень много примеров кода.
  69. - [i]C# 6.0 in a Nutshell (Joseph Albahari и Ben Albahari)[/i] - огромнейший справочник, over 1000 страниц, покрывает почти все области, начиная с синтаксиса и базовых типов и заканчивая интеропом и рослином
  70. - [i]C# 6.0 Pocket Reference (Joseph Albahari и Ben Albahari)[/i] - просто выжимка из справочника, можно всегда держать рукой
  71. - [i]C# 6.0 and the .NET 4.6 Framework (Andrew Troelsen)[/i] - 1600-страничный учебник по шарпу, покрывает BCL, WPF и ASP.NET, небо и даже аллаха.
  72. - [i]C# 6.0 Cookbook (Jay Hilyard и Stephen Teilhet)[/i] - книга в формате "проблема-решение", можно пройтись по оглавлению, найти интересные проблемы и попыпаться самому решить, а уже потом посмотреть представленное решение. Книга скорее не для ньюфагов, а для тех, кто уже знаком с шарпом.
  73.  
  74. [b]10. Более хардкорный материал[/b]
  75. - [i]C# in Depth (Jon Skeet)[/i] - написана в виде истории версий C#, начиная с C#1.0. Описываются возможности, которые были добавлены в определенной версии и далее достаточно хардкорно и подробно эти возможности расписываются.
  76. - [i]Writing High Performance .NET Code (Ben Watson)[/i] - охуенная книга. В основном фокуируется на оптимизации дотнет-говна. Методы оптимизации проложений, профилирование, вот это все. Крутейшая и достаточно детальная глава по GC. Рассматриваются достаточно известные проблемы вроде "for vs foreach", "класс vs структрура", кастинг, боксинг, перфоманс регулярок, коллекций, исключений. Короче все что нужно, [i]чтобы вам перезвонили[/i].
  77. - [i]CLR via C# (Jeffrey Richter)[/i] - это классика, это знать надо.
  78.  
  79. [b]11. Хочу еще хардкорней[/b]
  80. - [i]C# Deconstructed (Mohammad Rahman)[/i] - введение в CLR, модели памяти и выполнения в CLR, байтоебство, JIT. Книга достаточно коротенькая, менее 200 страниц, можно осилить за пару дней. Желателен опыт работы WinDbg и понимание устройства PE-формата.
  81. - [i]Expert C# 5.0 with .NET 4.5 Framework[/i] - еще одна книга этого автора, в этот раз намного длиннее. Очень много IL, анализа и разбора стандартной либы (те же коллекции), разбор ивентов, дегегатов, асинхронности etc. на уровне байткода.
  82. - [i].NET IL Assembler (Serge Lidin)[/i] - ILёбство, во многих местах повторяет документацию MSDN, но при этом имеет много интересных дополнений и заметок. Кроме того все неплохо структуировано и разложено по красивым табличкам
  83.  
  84. [b]12. Литература по WPF[/b]
  85. Из более-менее актуального можно выделить пару книг:
  86. - [i]Pro WPF 4.5 in C# (Matthew MacDonald)[/i]
  87. - [i]Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)[/i]
  88.  
  89. [b]13. Литература по ASP.NET[/b]
  90. - [i]Professional ASP.NET MVC 5 (Jon Galloway, Brad Wilson, K. Scott Allen, David Matson)[/i]
  91. - [i]Pro ASP.NET MVC 5 Platform (Adam Freeman)[/i]
  92. - [i]Beginning ASP.NET for Visual Studio 2015 (William Penberthy)[/i]
  93.  
  94. [b]14. Литература по асинхронности, параллелизму и всему такому[/b]
  95. - [i]Concurrency in C# Cookbook (Stephen Cleary)[/i] - книга, написанная в формате "проблема - решение". Кроме базовых вещей, вроде асинков и параллелизма рассматриваются TPL Dataflows, Rx (реактивные расширения), тестирование всего этого асинхронного добра, ну и работа этого всего на более низких уровнях абстракции
  96. - [i]Multithreading in C# 5.0 Cookbook[/i] - в основном ничего интересного, но есть довольна неплохая глава про синхронизацию, пусть и не слишком детальная
  97. - [i]Pro Asynchronous Programming with .NET (Richard Blewett, Andrew Clymer)[/i] - опять же, интересного немного, но неплохие главы про асинхронность + UI и анализ дампов памяти в windbg
  98.  
  99. [b]15. Литература не по шарпу, но так или иначе связанная с языком[/b]
  100. [i]C# Game Programming Cookbook for Unity 3D (Jeff W. Murray)[/i] - разработка на шарпе под Unity
  101. [i]Introduction to Neural Networks with C# (Jeff Heaton)[/i] - изучение нейронных сетей с примерами кода на шарпе. Под конец пишем программу для распознавания символов и нейроботов.
  102. [i]Machine Learning Using C# Succinctly (James D. McCaffrey)[/i] - довольная коротенькая книга на тему машинного обучения с примерами кода на C#. Ничего особого: k-средние, классификация, наивный байес, но с кодом, который всегда можно поразбирать, если что неясно.
  103.  
  104. [b]16. Но я не знаю английский, как я буду это все читать?[/b]
  105. На некоторые из перечисленных книг есть переводы, которые можно найти на том же рутрекере, однако, зачастую эти переводы неактальны, содержат неточности, и не самые понятные варианты перевода. Кроме того, переводы обычно пилятся только для нескольких самых популярных книг, более-менее серьёзный материал не переводят. Всегда можно сесть со словарем и понемногу читать, переводя непонятные фрагменты. Это очень полезно, так как в любом случае в разработке без знания ангельского делать нечего. Если очень хочется, то гуглить по запросам: "C# 5.0, Справочник. Полное описание языка", "C# для профессионалов. Тонкости программирования", "Программирование на платформе Microsoft .NET Framework 4.5 на языке C#"
  106.  
  107. [b]17. Что еще нужно знать, чтобы взяли работать за еду?[/b]
  108. - [i]SQL[/i] - подойдет люая книг по MSSQL/MySQL, базовые запросы, SELECT, INSERT, DELETE, UPDATE. Джойны, индексы, нормализация. В контексте шарпа еще ORM: Entity Framework, Dapper
  109. - [i]Системы контроля версий[/i] - обычно гита достаточно: add/commit/push, merge, rebase, checkout, remote's, разрешение конфликтов, трехпанельные дифф-менеджеры, cherry-pick
  110. - [i]Гитхабы-гитхабчики[/i] - issues, организация пулл-реквестов, интеграция с appveyor, теги, релизы, маркдаун
  111. - [i]Алгоритмы[/i] - сложность алгоритмов, сортировки (пузырек, быстрая, вставками), поиск, рекурсия, алгоритмы на строках
  112. - [i]Структуры данных[/i] - связанные списки, деревья (бинарные, красно-черные, b-деревья), хеш-таблицы, графы
  113. - [i]Если идти в веб[/i] - HTML, CSS, JavaScript, веб-сокеты, REST
  114. - Паттерны проектирования, стиль кода, внедрение зависимостей, MVVM (если хочется в WPF), SOLID
  115.  
  116. [b]18. Я не умею читать, что посмотреть?[/b]
  117. - Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
  118. - Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
  119. - C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
  120. - Коллекция видеоуроков, по всему дотнетовскому и смежным темам (250 часов, на русском) - https://nnm-club.me/forum/viewtopic.php?t=891636
  121. - Набор курсов по C# от O'Reilly Media (28 часов, на английском) - http://rutracker.org/forum/viewtopic.php?t=5082978
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top