Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Профессинальное программирование на .NET


Информационный Канал Subscribe.Ru

Здравствуйте, уважаемые подписчики!

Это первый выпуск рассылки "Профессинальное программирование на .NET".

Небольшое введение.

Платформа .NET предоставляет практически неограниченные возможности по созданию ПО, удовлетворяющего любые потребности. Она объединяет мощь C++ и простоту Visual Basic. Несмотря на то, что создавать программы стало еще легче, по прежнему существуют трудности и особенности, с которыми приходится сталкиваться всем, кто программирует на платформе .NET. Об этом и пойдет разговор в этой рассылке.
Я не буду рассказывать об азах языков программирования или приводить описание методов классов библиотеки .NET. Для этого есть множество книг и MSDN.
Я предполагаю, что читатели уже знакомы с основными классами библиотеки .NET и синтаксисом языка C#.
Кстати, про C#. Все примеры кода будут представлены именно на нем. Программисты на С++ без труда смогут перейти на использование C#. Но и программистам на Visual Basic я настоятельно рекомендую потратить время на изучение синтаксиса языка C#, которое окупится в будущем. Во-первых, синтаксис C# более элегантен, а возможности наиболее полно приближаются к возможностям .NET (высокоуровневые языки типа C# или Visual Basic не позволяют использовать 100% возможностей intermediate language (IL). Например, ни в одном из .NET языков, кроме IL ассемблера нет возможности перегрузки методов по типу возвращаемого значения), во-вторых, большинство примеров кода для .NET написано именно на C#, в-третьих, большинство проектов (как коммерческих так и некоммерческих) пишутся на C#.
Что касается других .NET языков (J#, Delphi .NET и т.п.) - их распростарненность еще ниже и применение может быть оправдано только в специфических случаях (например, портирование приложений на .NET). Но, даже, если вы, по каким-то причинам используете в своей работе не C#, это практически не важно - почти все, о чем я буду рассказывать относится к любому .NET языку. Просто вам будет немного сложнее воспринимать код на "неродном" языке.

Кроме .NET мы поговорим о сопутствующих темах - методологиях разработки, инструментах разработчика, соглашениях о кодировании (code convensions), сертификации специалистов, поиске работы и подготовке к собеседованию, будем решать логические задачи.

Итак, давайте начнем первый выпуск.

Инструменты разработчика

В этом разделе я буду рассказывать об инструментах (tools) используемых в работе.

Один из самых полезных инструментов (после Visual Studio, конечно) - Lutz Roeder's .NET Reflector (http://www.aisto.com/roeder/dotnet). Он, подобно утилите ILDASM, входящей в .NET SDK, позволяет дизассемблировать скомпилированный код, но, в отличие от последнего, гораздо удобнее в использовании и умеет создавать не только код на IL языке, но и код на C# и Visual Basic. Использование этого инструмента позволяет лучше понять внутреннюю архитектуру платформы .NET.
Меня всегда интересует вопросы типа "почему?" и "как?" (Почему светит солнце? Как работает насос? И т.п.) На многие "почему" и "как" в .NET можно ответить при помощи .NET Reflector.
В таких случаях я буду приводить фрагменты IL кода с комментариями для лучшего понимания. Так что для чтения рассылки .NET Reflector не обязателен. Но вы можете использовать этот инструмент для собственных исследований.

Книги разработчика

Здесь я буду рассказывать про книги которые следует прочитать.

Самая лучшая книга по платформе .NET - это "Программирование на платформе Microsoft .NET Framework" Джеффри Рихтера (Jeffrey Richter, Applied Microsoft .NET Framework Programming).
Единственное "но" - книга не для начинающих. Если вы только начинаете программировать - прочтите сначала другую книгу, а потом вернитесь к этой. Здесь вы не найдете азов. Недавно я видел в продаже третье издание (к сожалению, просто переиздание второго. Хотелось бы увидеть новое издание по .NET Framework 2.0).
Я постараюсь не касаться тем, раскрытых в этой замечательной книге, за исключением некоторых, особо важных, случаев.

.NET

Этот раздел - главный. Но сегодня - вводный выпуск и этот раздел пуст.

Логическая задача

Какими качествами должен обладать хороший программист? Я не буду отвечать на этот непростой вопрос. Ясно только, что одно из важнейших качеств - это умение логически мыслить. На многих софтверных фирмах (в том числе в Microsoft) во время первого этапа собеседования предлагают решить логические задачи. Те, кто не справляются, отсеиваются, не попадая на техническое собеседование.
Тренируясь в решении логических задач, вы не только подготовитесь к таким собеседованиям, но и разовьете логическое мышление, которое обязательно пригодится в работе.
Пару слов об авторстве. Я люблю решать интересные логические задачи, но никогда не пробовал их придумывать (возможно, когда-нибудь попробую). Поэтому авторство принадлежит не мне. Часто, логические задачи, подобно сказкам, пересказываюся устно. Поэтому установить авторство бывает невозможно. Поэтому, в большинстве случаев, авторство не будет указываться. В тех случаях, когда мне будет известно авторство или первоисточник, я буду их указывать.
Для начала приведу довольно простую задачу.

Имеется 9 совершенно одинаковых с виду бильярдных шаров. Один из шаров тяжелее других. Необходимо при помощи рычажных весов (т.е. имеющих 2 чаши и показывающих, какая чаша тяжелее или легче) найти тяжелый шар, используя не более, чем 2 взвешивания.

Ответ читайте в следующем выпуске.

На сегодня все. Приятного программирования. Да пребудет с вами Великая Сила!

Вопросы? Пожелания? Пишите: olen33@gmail.com

 


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.gurudotnet
Отписаться
Вспомнить пароль

В избранное