QA Fest — конференция №1 по тестированию и автоматизации. Финальная программа уже на сайте >>
×Закрыть

Выучить C# .Net

Увидел топик на форуме dou.ua/forums/topic/5376 с несколькими ответами, без тролинга, что сейчас очень любят, и надумал тоже спросить у профессионалов, разработчиков и любителей. С чего можно начать (книги : авторов и название книги, или ссылки на ресурс, если таковой книги нету) хорошее освоение языка пр. C# и платформы .Net, и еще, мне кажется важный вопрос какие технологии (прикладные, веб, моб. платформа и т.д. и их перспективы на следующие 2-5-10 лет) основные и дополнительные и что параллельно (дополнительно) изучать с C# .Net.
Я думаю этот вопрос не однократно поднимался в новичков как я, и после прочтения нескольких ответов на разных форумах входили в ступор, хотелось бы тут подвести заключение на данную тематику.
П.С. прошу в данной теме не делать холи-вары и доказывать что кто-то умнее или тупее, идите мерятся чем вы там гордитесь в другие топики, так как кто-то хочет почитать ответ более менее прямой а не перечитывать дискуссию. Спасибо !

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Мне очень помогли данные видеокурсы — itvdn.com/ru/video/csharp-starter. Сначала вводят в ООП, дают самую базу для тех, кто никогда не имел дела с программированием. Если продолжать обучение, можно пройти более сложные курсы, после чего можно начинать действительно что-то писать.

Троелсен. Потом Мак-Дональд по WPF. По АСП.НЕТ тоже Мак-Дональд. Не знаю почему все Рихтера рекомендуют. Рихтер — это дополнительное чтение, чтобы нюансы понимать. Но начинать с Рихтера — мазохизм. Шилдта — категорически нет. Слишком поверхностно. Еще Ватсон (вроде бы) хорош: «С# на примерах».

Прежде, чем учить язык — нужно выучить алфавит: cs10812.userapi.com/.../x_4ee1e37a.jpg

Я еще давно давно изучал C# 2.0 по книге

Jesse Liberty. Сейчас у него уже Programming C# 4.0 в соавторстве с несколькими крутыми перцами.

О книгах Троэлсона тоже впечатления только самые хорошие.

Рихтер... CLR via C#... Ну, не знаю, не хватило меня чтобы эту книгу прочесть.
А вот книги:
Effective C# и
More Effective C#: 50 Specific Ways to Improve Your C#

я очень рекомендую.

Я начал изучать с Троэсена на английском (основной критерий — в еBook PDF качество текста значительно лучше чем отсканенный перевод в Djvu). После 100 страниц втянулся, набрал нужный словарный запас (Спасибо Ligvo, даже купил его ))). Теперь практически все книги читаю в оригинале.

Троэсен пишет просто и понятно. Не так глубоко как Рихтер, но для понимания основных принципов — самое оно. Читал его как роман ). Полюс, если разбирать примеры в коде и пробовать щупать самому — можно получить довольно хороший опыт чтобы писать более-менее серьезные вещи.

А дальше, как уже писали:
EntityFramework (CodeFirst) для доступа к данным
TPL — для многопоточных приложений
WCF — для общения между приложениями
ASP.NET (уже вышла бета 4-го MVC) если нравится веб
Silverlight — если в сторону мобильных приложений

JavaScript/HTML5/CSS — если фронт-энд или MetroUI для Win8

а про WPF или WF что можете сказать ? Чет не замечаю чтоб их часто писали ... будто прикладное программирование умерло ...

WPF рулит и педалит, на WF скоро останется только отстойный легаси и бухгалтерия всякая с ERP

Про WF сказать не могу ничего, не приходилось сталкиваться. А по поводу WPF — MS сейчас двигается в сторону JavaScript/HTML5. Они выпустили Silverlight 5 и сказали что будут поддерживать его до 2020 года, следовательно новых версий выпускать, скорее всего, не будут. Похожая ситуация, думаю и с WPF. Сейчас его много где используют, как раз для прикладного ПО, но, думаю, постепенно количество проектов будет уменьшаться. Так что, уверен, нужно сначала изучить базовые технологии (чтобы уверенно реализовывать бизнес-логику), а потом смотреть к чему душа лежит.

WPF жив сейчас (для GUI приложений) и будет еще больше востребован с выходом Windows 8 (для разработки METRO интерфейса).
Silverlight скорее всего постепенно умрет вместе с флешом по мере развития HTML 5.
С WF интересная история: его реализация в .Net 3.5 вышла кривая и ей пользоваться не надо. В .Net 4 WF полностью переделали, увязали с WCF и XAML и, на мой взляд, теперь она выглядит перспективно для сложных серверных бизнес-приложений (этакая замена BizTalk серверу). Но для начального уровня это не нужно.

Будешь смотреть ASP.NET — смотри только MVC. Web Forms модель слишком сложная для изучения и ее время уже прошло.

LINQ 2 SQL — еще одна тупиковая ветвь.

Троэлсен,брат..
Троэлсен тебе в помощь..
WPF,Silverlight,ASP.Net

+ADO нужен полюбому

Рихтера обязательно читать. Хорошая, фундаментальная книжка.

Не стоит сразу учить технологии (wpf, wcf, linq2blablabla и т.д.) ИМХО — если речь идет сугубо о синтаксисе языка — начните с с# для чайников, потом — официальное руководство микрософта по фреймворку (лит-ра по экзамену 70-536 для самоподготовки). Ну а потом уже linq и ныряйте глубже :)

А перспективна будет Джава на Андроиде, и ObjectiveC на ифоне :)

я это уже заметил =))) на МСДН посмотрю, а можно вкратце почему именно моб. платформа ??? У меня сперва было желание изучать Джаву и много ее хвалили, но я так и не понял почему, а C# .Net от майкрософта вроде ничём не хуже да и вроде скорее развивается чем Джава, да и тянет меня к C# больше чем к Джаве. А под айфоны писать как-то не вижу чтоб у нас в Украине все бегали с айфонами и было перспективно.

Джава — платформонезависима. Тебе и десктоп, и веб, и мобильные решения — java microedition, джава на Андроиде и т.д. и т.п.
А для си шарповых программ нужно таскать и предварительно ставить фреймворк, который — не платформонезависимый.
А почему мобильное направление перспективно? ИМХО, потому что лет через надцать у всех будет компьютер в кармане (как мобила сейчас у каждого)

в инете прочитал, не знаю ли правда, что для C# есть проект Моно, чтоб переносить программы на другие системы, и на нем можно писать для Андроида — Монодроид вроде называется. И еще куча фишек Майкрософт делает что б сравняться и сделать конкуренцию. И вот хотел еще спросить правда ли что если на ПК не будет JVM то приложение напиано на джаве не запуститься, а на C# сразу запуститься, так как я понял, что в обновление виндовс идет и .нет фреймворк и вроде на виндовсе больше людей сидит, чем на других ОС.

По поводу первого предложения — не стоит заниматься извращениями. JRE, framework по-любому нужно, вопрос в том, насколько прозрачно для пользователя есть возможность его установить при отсутствии такового

Однажды мне тренер сказал, что никогда не нужно читать книги для чайников. Ты же хочешь стать профессиональным программистом, а не чайником, вот и читай книги для профессионалов.

Есть такие профессионалы, по сравнению с которыми другие профессионалы — чайники, так что все в мире относительно :)

Jeffrey Richter, CLR via C# 3rd Edition
Для начала необходимо освоить базовые знания — без них далеко не уедешь.
Далее из направлений:
WPF,
ASP.Net MVC3 + jQuery,
Entity Framework + SQL,
WCF
В каком порядке уже зависит от твоих предпочтений, чем интересней заниматься (Веб или декстоп, фронтэнд или бэкэнд)

Пока это освоишь, думаю, уже выйдет следующий фреймворк и будут какие-то подвижки, но эти знания скорее всего пригодятся...

Спасибо, запомню. Про прикладное и веб я более менее понимаю что из себя представляет. а вот (фронтэнд или бэкэнд) — первый раз слышу. На счет Джефри Рихтера 3-е издание нашел только на анг. хотя с моим анг. 40 % того, что там пишет понимаю, но это скорей на ад превратиться.

Без умения читать технические книги на английском далеко не уедешь. Поэтому нельзя читать переводы — иначе так и не научишься. Включай гугл-переводчик, открывай википедию (для незнакомых терминов) и читай.
Для практики вот лабы: Visual Studio 2010 and .NET Framework 4 Training Kit
www.microsoft.com/...s.aspx?id=23507

Начните с Шилдта

а то всякие Рихтеры и прочее, моск сломаете раньше чем нужно :)

был примерно такой случай начал читать Страуструпа с самого начала, вынос мозга за 2 дня сделал, но Пол и Харви Дейтлы нормально написали свою книгу, так что немного результата есть. А на счет Шилдта — перелестал несколько страниц, он пишет довольно просто, ничё почти сложного нету, но жалко что нету хотя б 5-10 задач после окончания каждой главы, ну и хотя б 1-2 страничку в конце раздела подведения итог, а так книга замечательная, с нее наверно и начну, но скорей будет надо 2 разы перечитать, и мне показалось что там сугубо синтаксис C# и немного C# библиотеки, а на счет хоть одной технологии нету =(

Рихтер все же не Страуструп, имхо :) в плане материала и изложения, конечно. в смысле рихтер толково задвигает, без выворота мозгов, но и без лишнего сюсюкания. просто если вы не нуб, тогда начинать с тривиальных книг не стоит. если нуб, тогда тем более надо начинать вообще с более общиг книг. Но это не значит что с книг где с читателем сюсюкаются :)

Я б вам порекомендовал Троелсена. Пишет информативнее чем Шилдт, некоторые моменты объяснены гораздо лучше и глубже. Но при этом гораздо доступнее Рихтера.
Сам начинал с нескольких книг. Троелсен вполне себе золотая середина.
Главное не читайте на русском. Это еще тот изврат.

Конкретно вот: Pro C# 2010 and the .NET 4 Platform, 5th Edition 2010

Паралельно изучить OCaml/F# для языковой прокачки; почитать Фаулера и что-то вроде Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Gregor Hohpe, Bobby Woolf для прокачки архитектурно-технологически-методологической.

странно, такой язык OCaml первый раз вижу, F# уже видел в инете, если честно не понимаю зачем их изучать, так как негде не вижу их массовое использование и даже на сайтах где работу предлагают. По паттернам себе заметку сделал, нашел много книг вроде одна из самых популярных GOF и еще несколько.

для языковой прокачки
. мы же здесь пишем «ИМХО», правда? Я ж не знаю куда вы метите в конечном итоге. Если хотите всю свою жизнь писать на С# + только в Украине — тогда считайте про Окамл/F# я не говорил :) Просто мне нравится success story одной «неплохой» трейдерской компании в США, которая «внезапно» с Вижуал Бейсика перешла на Окамл.... ну в общем это просто ИМХО. Дело ваше.

Насчет банды четырех — ну это само собой, это вообще азы ООП, можно сказать. Просто кроме них еще есть SOLID, GRASP... но это скорее паттерны общего объектного проектирования. То что написал я — Фаулер и

Enterprise Integration Patterns
 — это непосредственно паттерны конкретных архитектурных решений. Понятно что стартовать прям сразу с них не стоит, но опять-таки, вы же не собираетесь топтаться на месте, верно? :)

Просто мне нравится success story одной «неплохой» трейдерской компании в США, которая «внезапно» с Вижуал Бейсика перешла на Окамл

Причем success stories ocaml-a этой трейдерской компанией похоже и ограничиваются.

скажите пожалуйста, какой смысл писать коммент абы написать? Хотите казать умнее? Такими комментариями этого не добиться. Тема не моя, и захламлять ее я не имею права, доказывая вам вашу неправоту. Хотя думаю вы и сами о ней знаете. Удачи.

Тема не моя, и захламлять ее я не имею права

Но у тебя отлично получается, столько эмоций и воды и ноль аргументации. Ты новичку советуешь учить ocaml/f# хотя наиболее вероятно что эти знания(если он и осилит) отправятся в мусорный ящик что в Украине что вне Украины. Я уж не говорю о том что окамл .нету вообще нерелевантен.

Книги:
CLR via C# Рихтер

Язык программирования C# 2010 и платформа .NET 4 Шилдт

Сайты:
msdn
stackoverflow.com
www.codeproject.com

www.dzone.com

Доп технологии:

javascript/html/css

рихтер +100500, забыл про него как-то

Книжка Скита очень хороша, но она написана для людей, уже знающих C# и .NET версии 1-2 и желающих разобраться в фичах, появившихся в версии 3-4. А вообще да, читается буквально взахлеб, недаром Джон Скит — #1 по рейтингу на stackoverflow.com.

Подписаться на комментарии