Выучить C# .Net
Увидел топик на форуме dou.ua/forums/topic/5376 с несколькими ответами, без тролинга, что сейчас очень любят, и надумал тоже спросить у профессионалов, разработчиков и любителей. С чего можно начать (книги : авторов и название книги, или ссылки на ресурс, если таковой книги нету) хорошее освоение языка пр. C# и платформы .Net, и еще, мне кажется важный вопрос какие технологии (прикладные, веб, моб. платформа и т.д. и их перспективы на следующие 2-5-10 лет) основные и дополнительные и что параллельно (дополнительно) изучать с C# .Net.
Я думаю этот вопрос не однократно поднимался в новичков как я, и после прочтения нескольких ответов на разных форумах входили в ступор, хотелось бы тут подвести заключение на данную тематику.
П.С. прошу в данной теме не делать холи-вары и доказывать что кто-то умнее или тупее, идите мерятся чем вы там гордитесь в другие топики, так как кто-то хочет почитать ответ более менее прямой а не перечитывать дискуссию. Спасибо !
37 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівМне очень помогли данные видеокурсы — itvdn.com/ru/video/csharp-starter. Сначала вводят в ООП, дают самую базу для тех, кто никогда не имел дела с программированием. Если продолжать обучение, можно пройти более сложные курсы, после чего можно начинать действительно что-то писать.
Троелсен. Потом Мак-Дональд по WPF. По АСП.НЕТ тоже Мак-Дональд. Не знаю почему все Рихтера рекомендуют. Рихтер — это дополнительное чтение, чтобы нюансы понимать. Но начинать с Рихтера — мазохизм. Шилдта — категорически нет. Слишком поверхностно. Еще Ватсон (вроде бы) хорош: «С# на примерах».
Прежде, чем учить язык — нужно выучить алфавит: cs10812.userapi.com/.../x_4ee1e37a.jpg
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 (уже вышла бета
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 серверу). Но для начального уровня это не нужно.
LINQ 2 SQL — еще одна тупиковая ветвь.
Троэлсен тебе в помощь..
WPF,Silverlight,ASP.Net
+ADO нужен полюбому
Рихтера обязательно читать. Хорошая, фундаментальная книжка.
А перспективна будет Джава на Андроиде, и ObjectiveC на ифоне :)
я это уже заметил =))) на МСДН посмотрю, а можно вкратце почему именно моб. платформа ??? У меня сперва было желание изучать Джаву и много ее хвалили, но я так и не понял почему, а C# .Net от майкрософта вроде ничём не хуже да и вроде скорее развивается чем Джава, да и тянет меня к C# больше чем к Джаве. А под айфоны писать как-то не вижу чтоб у нас в Украине все бегали с айфонами и было перспективно.
Джава — платформонезависима. Тебе и десктоп, и веб, и мобильные решения — java microedition, джава на Андроиде и т.д. и т.п.
А для си шарповых программ нужно таскать и предварительно ставить фреймворк, который — не платформонезависимый.
А почему мобильное направление перспективно? ИМХО, потому что лет через надцать у всех будет компьютер в кармане (как мобила сейчас у каждого)
в инете прочитал, не знаю ли правда, что для C# есть проект Моно, чтоб переносить программы на другие системы, и на нем можно писать для Андроида — Монодроид вроде называется. И еще куча фишек Майкрософт делает что б сравняться и сделать конкуренцию. И вот хотел еще спросить правда ли что если на ПК не будет JVM то приложение напиано на джаве не запуститься, а на C# сразу запуститься, так как я понял, что в обновление виндовс идет и .нет фреймворк и вроде на виндовсе больше людей сидит, чем на других ОС.
По поводу первого предложения — не стоит заниматься извращениями. JRE, framework по-любому нужно, вопрос в том, насколько прозрачно для пользователя есть возможность его установить при отсутствии такового
Однажды мне тренер сказал, что никогда не нужно читать книги для чайников. Ты же хочешь стать профессиональным программистом, а не чайником, вот и читай книги для профессионалов.
Есть такие профессионалы, по сравнению с которыми другие профессионалы — чайники, так что все в мире относительно :)
Для начала необходимо освоить базовые знания — без них далеко не уедешь.
Далее из направлений:
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 и еще несколько.
Насчет банды четырех — ну это само собой, это вообще азы ООП, можно сказать. Просто кроме них еще есть SOLID, GRASP... но это скорее паттерны общего объектного проектирования. То что написал я — Фаулер и
— это непосредственно паттерны конкретных архитектурных решений. Понятно что стартовать прям сразу с них не стоит, но опять-таки, вы же не собираетесь топтаться на месте, верно? :)Причем 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# in Depth, Second Edition — Jon Skeet
Книжка Скита очень хороша, но она написана для людей, уже знающих C# и .NET версии1-2 и желающих разобраться в фичах, появившихся в версии 3-4. А вообще да, читается буквально взахлеб, недаром Джон Скит — #1 по рейтингу на stackoverflow.com.