Подтвердить что ты не робот

Как узнать С# fast (er), уже зная C, Java, С++ и т.д.?

Я хочу изучить С# (на Linux, поэтому с помощью Mono), и я ищу какое-то руководство, которое вникает в знания, которые у меня уже есть на других языках; в первую очередь C, С++ и java (но также python, Haskell, lisp и, возможно, несколько других).

Пока все, что я нашел в Интернете, - это комбинированное введение в программирование и введение в тексты С#, но все они терпят неудачу, потому что мне становится скучно и я не могу придерживаться своего плана обучения.

Есть ли у кого-нибудь предложение что-то хорошее для чтения?

Расширяя этот вопрос, как вы изучаете новый язык, похожий на языки, которые вы уже знаете, таким образом, что вы вникаете в знания, которые у вас уже есть? Люди пишут такие учебники? Вы просто берете чит-лист? У вас есть множество упражнений, которые вы заставляете себя?

Изменить: Я не знаю других разработок Microsoft... штук. Я написал немного VB около восьми лет назад, но я ничего не помню. У меня нет опыта ASP, нет опыта ни с чем другим .NET, без языков или библиотек MS. Несмотря на то, что я разработал Windows, я не делал Capital-D Windows Development. Пожалуйста, подумайте об этом, сделав предложение.

4b9b3361

Ответ 2

Если вы уже знаете вышеуказанные языки, я бы предположил, что вы предполагаете, что уже знаете язык и копаете в более интересные вещи .NET, такие как CLR через С#, который я могу рекомендовать очень высоко (но не настолько уверен, насколько это применимо к Mono, хотя). Различия в знаниях на вашем языке будут заполнены.

Ответ 4

Я предлагаю вам читать С# 3.0 в nuthshell. Он специально предназначен для программистов других языков. Здесь - обзор Jon Skeet

Ответ 5

  • Возьмите настоящий проект. Тогда вы столкнетесь с реальными проблемами.
  • Найдите человека, который уже хорошо знает С#. Он может дать вам ценные советы.
  • Получить хорошую книгу, например С# 3.0 Полная ссылка Герберта Шильдта. MSDN хорош, но иногда легче читать хорошую книгу, чем документацию.

Ответ 6

Я согласен с комментарием cyborg, что С# очень близок к Java. Так близко, на самом деле, что это может сделать вас немного подозрительным в том, что происходит в Microsoft за закрытыми дверями, - но я отвлекаюсь...

Это все о вариантах, вот несколько из них:

1) Используйте руководство Java vs С#, например, cyborg, но понимайте, что в большинстве случаев они обычно покрывают только синтаксические изменения (ссылка, которую он опубликовал, довольно хороша). Есть еще тонны изменений, которые нужно получить, если вы разрабатываете настольные приложения или веб-приложения. Например, я нашел, что ASP.NET является ОГРОМНЫМ отличием от JSP. Суть в том, что ваш опыт Java займет у вас только до сих пор, но для создания корпоративных приложений у вас будет много нового обучения.

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

3) Получите хорошую книгу. Это, очевидно, может быть объединено с 1 и/или 2. Убедитесь, что книга сначала ориентирована на основные принципы (OO, синтаксис, лучшие практики). Бесстыдная вставка 1... 2... 3... проверьте http://asteio.com для онлайн-ресурса, если вы хотите пойти eLearning route (хотя мой сайт немного дороже большинства).

Ответ 7

Как вы знаете С++, вы уже знакомы с синтаксисом С#. Но его недостаточно, вам нужно познакомиться с . NET-архитектурой.

как вы узнаете новый язык, который аналогичные языкам, которые вы уже знаете таким образом, чтобы вникать в знания у тебя уже есть? Люди пишут это вид учебников? Вы просто берете чит-лист?

Конечно, вы изучаете новый язык, если уже знаете какой-либо язык, понимая различия между ними. Но С# разработан как совершенно другой язык и разделяет только часть синтаксиса С++.

Есть ли у вас целый ряд упражнений заставить себя пройти? У вас есть множество упражнений, которые вы заставляете себя?

Если вы знаете архитектуру .NET, все начнет ослабевать для вас, после чего вам не нужно писать программу на С#. Вы даже можете записать его на большом количестве языков, поддерживаемых .NET, С# будет легко для вас, поскольку он разделяет тот же синтаксис, что и на С++.

Также посмотрите

Ответ 8

С# - это нечто вроде "следующего поколения" Java, а старая команда Java от Microsoft сделала много работ по разработке на этом языке (плюс Андерс Хейлберг, Borland Pascal и слава Delphi).

В С# над Java есть два существенных улучшения.

  • Генерирование С# имеет лучшую реализацию, при этом огромным улучшением является то, что в С# дженерики сохраняют полную информацию о типе во время выполнения. Это улучшится еще больше в С# 4.0, с ковариацией и контравариантностью.
  • LINQ (Language INtegrated Query) предоставляет SQL-подобный язык запросов, который полностью интегрирован в С#. Вы можете запрашивать коллекции объектов, XML, базы данных, веб-сервисы или что-то еще..NET framework включает интерфейсы для разработки ваших собственных поставщиков данных LINQ, поэтому практически нет ограничений на то, что LINQ может запросить.

Поэтому, вероятно, лучший способ приблизиться к С# - сначала подумать о Java и посмотреть на улучшения. Jon Skeet С# в глубине может стать лучшей отправной точкой; он будет охватывать все реальное мясо С#, которое отличается от других языков.

Ответ 9

Прочитайте некоторые основы из книги/веб-сайта и перейдите к реализации - это лучший и быстрый способ узнать (и, как правило, вам не будет скучно на пути, возможно, просто повесил b/c, некоторые знания все еще отсутствуют... → google)

Ответ 10

Если вы опытны в Java this С# vs Java-страница просматривает все точки, которые, вероятно, будут вас трогать, предполагая, что вещи работают определенным образом.

Ответ 11

Я бы рекомендовал вам профессиональные книги по программированию на С#, поскольку они в основном фокусируются на программной точке зрения. Такие как Professional С# 2008 (ISBN: 978-0-470-19137-8. Wrox Professional Guides.)

Ответ 12

Для самого языка не сложно. Трудно узнать, как использовать огромную инфраструктуру.

Ответ 13

Обучение С# - это не только изучение его ключевых слов и синтаксиса. Это также (и, возможно, самое главное) изучение его идиом, среды выполнения, общей философии, библиотек и других связанных с ними материалов.

В книгах я предлагаю С# in Depth by Jon Skeet. Это не Моно-ориентированное, но это определенно научит вас внутренности С#.