Как вы осваиваете новые технологии?
От: febus Германия  
Дата: 19.12.09 18:23
Оценка: :)
При нынешнем обилии технологий(asp.net webforms, asp.net mvc, wpf, wcf, wf, linq, ... ) трудно быть специалистом во всем этом многообразии.
Далеко не со всеми даже из перечисленных технологий приходится сталкиваться на работе, а знать бы все равно хотелось, пусть и не уровне эксперта...
Как вам удается, если удается, поддерживать себя на должном уровне? Читаете книжки? Я бы поверил, но книжки на английском и часто имеют по 1000 и более страниц, и все это читать по-моему нереально, даже если и нет особых трудностей с английским. К тому же попросту не получается, т.к. через некоторое время голова самопроизвольно начинает думать на отвлеченные темы, если нет конкретного применения прочитанного.
Все это усугубляется огромным количеством электронных книг в интернете на самые разные темы. К примеру asp.net mvc. Если хорошо поискать, в интернете можно найти практически все до единой книги из ассортимента Amazon.com. Начинаешь метаться от одной книги к другой, а результат не очень то радует. Знаешь где что написано, а делать то сам все-равно ничего не умеешь.
Блоги, — все это хорошо, но не как учебный материал для освоения нового, обычно там пишут о каких-то конкретных особенностях.
Какой ваш подход для освоения чего-либо нового? Читаете ли вы вообще книги или сразу пытаетесь что-то написать? Но сразу писать бесполезно, поскольку уровень знаний в начале просто не позволяет этого сделать. Как вы находите баланс между чтением документации и собственно программированием? Читаете книжку от корки до корки или как вы вообще поддерживаете себя в должной профессиональной форме?
Re: Как вы осваиваете новые технологии?
От: ___Avatar___  
Дата: 19.12.09 21:34
Оценка: 6 (3) +7
Здравствуйте, febus, Вы писали:

F>Какой ваш подход для освоения чего-либо нового? Читаете ли вы вообще книги или сразу пытаетесь что-то написать? Но сразу писать бесполезно, поскольку уровень знаний в начале просто не позволяет этого сделать. Как вы находите баланс между чтением документации и собственно программированием? Читаете книжку от корки до корки или как вы вообще поддерживаете себя в должной профессиональной форме?


то ли читал где-то, то ли знакомые говорили, но в общем, если вы хотите заниматься реальным программированием и получать хорошие деньги,
то забудьте о технологиях
— занимайтесь предметной областью
— занимайтесь созданием технологий
но не программированием на технологиях

иначе в 35 вас уволят и посадят на ваше место 2х студентов или аутсорсят вашу работу в индию/китай/африку
Re[2]: Как вы осваиваете новые технологии?
От: febus Германия  
Дата: 19.12.09 21:54
Оценка:
Здравствуйте, ___Avatar___, Вы писали:

___>то ли читал где-то, то ли знакомые говорили, но в общем, если вы хотите заниматься реальным программированием и получать хорошие деньги,

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

___>то забудьте о технологиях

___>- занимайтесь предметной областью
___>- занимайтесь созданием технологий
___>но не программированием на технологиях

Это совет забить на программирование и переквалифицироваться в менеджеры?
Вижу здесь противоречие: допустим уволят, бывает и такое. И как вы будете искать новое место, вы же кроме своей узкой предметной области ничего не знаете?
Создавать новые технологии? Т.е. изобретать для всего новый велосипед? Кто ж меня ждать то будет, пока я Windows заново перепишу?
Нет, тогда уж точно уволят.

___>иначе в 35 вас уволят и посадят на ваше место 2х студентов или аутсорсят вашу работу в индию/китай/африку

Через пару лет посмотрим правы ли вы сейчас. Но уже сейчас спасибо за ваше мнение.
Re[2]: Как вы осваиваете новые технологии?
От: MozgC США http://nightcoder.livejournal.com
Дата: 19.12.09 22:03
Оценка:
Здравствуйте, ___Avatar___, Вы писали:

___>иначе в 35 вас уволят и посадят на ваше место 2х студентов или аутсорсят вашу работу в индию/китай/африку


Я вот никогда не понимал откуда такое мнение. Заметьте, большинству высококлассных специалистов как раз обычно за 30. Так что те, кто ценит опыт (а думаю таких адекватных компаний все-таки большинство), как раз будут искать таких спецов. А если где нужно простые вещи делать, так там конечно может быть проще новичка нанять, да и специалист скорее не захочет простыми вещами заниматься.
Re[3]: Как вы осваиваете новые технологии?
От: MozgC США http://nightcoder.livejournal.com
Дата: 19.12.09 22:23
Оценка: 1 (1)
Здравствуйте, febus, Вы писали:

F>Как вы находите баланс между чтением документации и собственно программированием? Читаете книжку от корки до корки или как вы вообще поддерживаете себя в должной профессиональной форме?


Я себе недавно купил принтер и очень доволен — теперь беру, распечатываю пару хороших статей по интересующей меня новой теме (или по теме где у меня слабые знания) и читаю их в обеденный перерыв или перед сном — заодно и от монитора отвлекаюсь. Плотность полезной информации в статьях обычно выше, чем в книге, и распечатав несколько статей или пару глав из книг можно неплохо войти в курс дела. Например, из последнего распечатанного у меня: 2 главы из Фаулера по параллельной работе в многопользовательских системах и блокировкам, основы COM (чисто для общего развития решил разобраться ) и др. Не спорю, у книг своя ниша — когда нужно глубоко разобраться в теме. Но и свой минус — часть информации уже известна, часть не пригодится, часть забудется, а времени на прочтение книги уйдет много. Конечно, стоит отметить, что то, что не будет использоваться на практике очень быстро забывается. Поэтому если вы в ближайшее время не сможете использовать полученные знания, то возможно стоит ограничиваться вводными статьями, иначе потратите много времени и через месяц бОльшую часть забудете.
Re[3]: Как вы осваиваете новые технологии?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 20.12.09 06:45
Оценка: 7 (2) +2
Здравствуйте, febus, Вы писали:

F>Это совет забить на программирование и переквалифицироваться в менеджеры?

F>Вижу здесь противоречие: допустим уволят, бывает и такое. И как вы будете искать новое место, вы же кроме своей узкой предметной области ничего не знаете?
Согласен с ___Avatar___. Все перечисленные технологии — всего лишь инструменты для решения задачи. И они достаточно просты, чтобы не заморачиваться на их изучении: пары вводных статей будет достаточно для того, чтобы понять их суть.
Знание предметной области программиста и менеджера не одинаково. Например, при обработке речи программист должен досконально знать обработку сигналов, зачастую разбираться в специфичных протоколах и кодеках. Менеджеру такие глубокие знания не нужны, он больше информирован о применимости и востребованности всего перечисленного. В случае, если предметная область не примитивна, то хороший специалист по ней всегда найдёт работу, даже если он не владеет не только последними технологиями, но и программировать на целевом языке не умеет.

F>Создавать новые технологии? Т.е. изобретать для всего новый велосипед? Кто ж меня ждать то будет, пока я Windows заново перепишу?

F>Нет, тогда уж точно уволят.
Зачем же велосипед? Новые технологии, новые подходы надо создавать, а не повторять существующие.
Это как в науке отвечают на вопрос: "Что такое новое?" По возрастанию вклада в науку:
1. Применить известный подход для решения известной задачи, если раньше такого ещё не пробовали.
2. Разработать новый инструментарий для решения известной задачи.
3. Открыть новую задачу (предметную область) и показать как известный подход её решает.
4. Открыть новую задачу и разработать специфический математический аппарат для её решения.
В программировании можно делать тоже самое.
Re[4]: Как вы осваиваете новые технологии?
От: ArtDenis Россия  
Дата: 20.12.09 07:30
Оценка: +1
Здравствуйте, MozgC, Вы писали:

MC>Я себе недавно купил принтер и очень доволен — теперь беру, распечатываю пару хороших статей по интересующей меня новой теме

Принтер — устаревшая технолгия. Ебуки рулят
... << RSDN@Home 1.2.0 alpha 4 rev. 1324>>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Как вы осваиваете новые технологии?
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 20.12.09 14:52
Оценка: 45 (3) +1
Здравствуйте, febus, Вы писали:

Мне кажется лучший ответ на ваш вопрос дали Энди Хант и Дейв Томас в своей книги "Программист-прагматик"
Автор(ы): Эндрю Хант, Дэвид Томас

Находясь на переднем крае программирования, книга «Программист-прагматик» абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса — требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы — от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.
. Я даже не буду пытаться пересказать их мысль, а просто приведу здесь фрагмент одной из глав:

Портфель знаний


Инвестиции в знания окупаются лучше всего.
Бенджамин Франклин

Ах, старина Франклин! Никогда не лез в карман за многозначительным наставлением. Если бы мы рано ложились и рано вставали, мы стали бы великими программистами, не так ли? Ранняя птичка никогда не остается без червячка, но что при этом происходит с червячком?
Хотя в данном случае Бенджамин действительно попал в точку. Знание и опыт являются самыми важными профессиональными активами.
К сожалению, знания и опыт представляют собой истекающие активы. Ваше знание устаревает по мере того, как разрабатываются новые методики, языки, технологии и операционные среды. Изменение расстановки сил на рынке может сделать ваш опыт устаревшим или полностью неприменимым. Принимая во внимание скорость, с которой промчались годы Интернета, это может произойти довольно быстро.
По мере того как величина ваших знаний уменьшается, то же самое происходит с ценностью вас для фирмы-работодателя или заказчика. Мы хотели бы предотвратить возникновение подобной ситуации.

Ваш портфель знаний

Портфелями знаний мы предпочитаем называть все факты, известные программистам об информатике, области приложений, в которых они работают, и накопленный ими опыт. Управление портфелем знаний очень похоже на управление финансовым портфелем:
1. Серьезные инвесторы инвестируют регулярно – это как привычка.
2. Диверсификация – это залог успеха в течение длительного времени.
3. У проворных инвесторов портфель всегда сбалансирован – в нем имеются и консервативные, и высокорисковые, высокодоходные инвестиции.
4. Инвесторы стараются покупать ценные бумаги подешевле и продавать их подороже, обеспечивая тем самым максимальный возврат.
5. Портфели нуждаются в периодическом пересмотре и повторной балансировке.
Управляйте вашим портфелем знаний, используя те же самые принципы, и ваша карьера будет успешной.

Построение вашего портфеля

• Инвестируйте на регулярной основе. Как и в случае финансов, необходимо регулярно инвестировать в ваш портфель знаний. Даже если объем инвестиций невелик, сама по себе привычка важна, как, впрочем, и объемы. Несколько примеров на эту тему приводятся в следующем разделе.
• Инвестируйте в различные сферы. Чем больше вы знаете о различных вещах, тем большую ценность вы представляете. Как минимум вы обязаны знать плюсы и минусы конкретной технологии, с которой вы работаете в данный момент. Но не останавливайтесь на этом. Лицо информатики меняется быстро – новейшая технология сегодняшнего дня может оказаться почти бесполезной (или, по меньшей мере, не найти спроса) завтра. Чем больше технологий вы освоите, тем легче вам будет приспособиться к изменениям.
• Управляйте риском. Технология находится в некоем диапазоне – от рисковых и потенциально высокодоходных до низкорисковых и низкодоходных стандартов. Вложение всех ваши денег в высокорисковые акции, курс которых может внезапно обвалиться, и другая крайность – консервативное вложение и упущение возможностей – не самые лучшие идеи. Не кладите все "технические яйца" в одну корзину.
• Покупайте подешевле, продавайте подороже. Обучение передовой технологии до того, как она станет популярной, может быть столь же сложной задачей, как найти обесцененные акции, но отдача может стать наградой. Изучение языка Java, когда он только что появился, могло показаться рискованным, но оно щедро вознаградило тех, кто принял это раньше всех, и сегодня они занимают лидирующие позиции в данной области.
• Пересмотр и повторная балансировка. Информатика – очень динамичная отрасль. Новей-шая технология, которую вы начали изучать в прошлом месяце, сегодня может устареть. Возможно, вам понадобится восстановление навыков по технологии баз данных, которой вы не пользовались какое-то время. А может быть, вы смогли бы стать лучшей кандидатурой на открывшуюся вакансию, если бы попробовали изучить другой язык…
Из всех этих директив, самой важной и самой простой в исполнении является

Подсказка 8: Инвестируйте регулярно в ваш портфель знаний

Цели

Теперь у вас есть некоторые директивы, что и когда добавлять к вашему портфелю знаний, как лучше приобрести интеллектуальный капитал, который будет вложен в ваш портфель? Вот несколько предложений.
• Учите (как минимум) по одному языку программирования каждый год. Различные языки решают различные проблемы по-разному. Выучив несколько различных подходов, вы можете рас-ширить мышление и избежать закоснелости. Вдобавок, изучать многие языки сейчас намного легче, благодаря богатому выбору бесплатно распространяющегося программного обеспечения в сети Интернет (см. Приложение А).
• Читайте по одной технической книге ежеквартально. В книжных магазинах полным-полно технической литературы по темам, интересующим вас или связанным с проектом, над которым вы работаете в настоящее время. Как только это войдет у вас в привычку, читайте по одной книге в месяц. После того как вы овладеете технологиями, которыми вы пользуетесь на данный момент, расширяйте круг своих интересов и изучайте другие технологии.
• Читайте книги, не относящиеся к технической литературе. Важно помнить, что пользователями компьютеров являются люди – люди, чьи потребности вы пытаетесь удовлетворить. Не забывайте о человеческом факторе.
• Повышайте квалификацию на курсах. Ищите интересные курсы в вашем районе, школе или университете, а может быть, и во время грядущей технической выставки, которая проводится в вашем городе.
• Участвуйте в собраниях локальных групп пользователей. Но не просто приходите и слушайте, а принимайте активное участие. Изоляция может оказаться смертельной для вашей карьеры; разузнайте, над чем работают люди за пределами вашей компании.
• Экспериментируйте с различными операционными средами. Если вы работали только в среде Windows, поиграйте со средой Unix дома (для этой цели прекрасно подходит бесплатно рас-пространяемая версия Unix). Если вы использовали только сборочные файлы и редактор, попробуйте интегрированную среду разработчика и наоборот.
• Оставайтесь в курсе событий. Подпишитесь на профессиональные журналы и другие пе-риодические издания (рекомендации приведены в Приложении А). Выберите из них те, которые по-крывают технологии, отличные от вашего текущего проекта.
• Подключайтесь к информационным сетям. Хотите знать плюсы и минусы нового языка или технологии? Группы новостей отлично подходят для поиска практических результатов работы с ними других людей, используемого ими жаргона и т. д. Походите по Интернету в поисках статей, платных сайтов, и любых других доступных источников информации.
Важно продолжать инвестирование. Как только вы почувствуете, что освоили новый язык или фрагмент технологии, двигайтесь дальше. Изучайте другой.
Неважно, будете ли вы когда-либо использовать одну из этих технологий в проекте, или даже не упомянете о них в своем резюме. Процесс обучения расширит ваше мышление, открывая для вас новые возможности и новые пути в творчестве. "Перекрестное опыление" идей важно; попытайтесь применить выученные уроки к проекту, над которым вы работаете в настоящее время. Даже если в вашем проекте не используется некая технология, вы наверняка сможете позаимствовать некоторые идеи. К примеру, ознакомьтесь с объектно-ориентированным подходом, и вы напишете простые программы на языке С различными способами.

Возможности обучения

Итак, вы жадно и много читаете, находитесь в курсе всех новейших разработок в вашей сфере (это не так-то легко) и кто-то задает вам вопрос. У вас нет даже намека на идею, каким должен быть ответ, но вы не признаете это открыто, как и многие.
В этот момент не останавливайтесь. Примите это как брошенный вам вызов для поиска ответа. Спросите гуру (если в вашем офисе нет гуру, вы должны найти его в Интернете: см. следующую врезку.) Поищите в Интернете. Сходите в библиотеку.
Если вы не можете найти ответ самостоятельно, найдите того, кто это может. Не бросайте по-иски. Разговор с другими людьми поможет в построении вашей собственной сети, и вы можете уди-виться, находя по пути ответы на другие, не относящиеся к делу проблемы. И этот старый портфель все утолщается и утолщается…
Все это чтение и исследование требует времени, а времени уже не хватает. Так что вам придет-ся планировать наперед. Запаситесь литературой на то время, которое может бездарно пропасть. Время, которое проходит в очередях на прием к врачам, можно с пользой потратить на чтение лите-ратуры – но убедитесь, что вы принесли с собой ваш журнал, а не замусоленную страницу из газеты 1973 года о положении в Папуа Новой Гвинее.

Критическое осмысление

Последним важным пунктом является критическое осмысление того, что вы прочли или услышали. Необходимо убедиться, что знание в вашем портфеле является точным и не поддается влиянию субподрядчика или типа носителя информации. Опасайтесь фанатиков, настаивающих на том, что их догма обеспечивает единственно правильный ответ, – последний может быть применим или неприменим к вам и вашему проекту.
Всегда имейте в виду силу меркантильности. Первое попадание, выданное поисковой системой, не обязательно оказывается наилучшим; владелец содержимого может просто заплатить, чтобы оказаться в начале списка. Если книжный магазин «раскручивает» книгу, это вовсе не означает, что она хороша, или даже популярна; за это просто могли заплатить.

Подсказка 9: Критически анализируйте прочитанное и услышанное

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

Re[2]: Как вы осваиваете новые технологии?
От: febus Германия  
Дата: 20.12.09 15:58
Оценка:
Да, знаю я про эту книгу Но пока не купил, уж очень она мне показалась по отзывам на амазоне теоретической. Подозреваю, что там много разговоров ни о чем. Т.е. для человека, который уже достаточно много лет в профессии вещи просто очевидные.
ST>Подсказка 9: Критически анализируйте прочитанное и услышанное
Вот именно. Идеи понятны: "Читать надо" и "Инвестируйте в знания как в акции, на перспективу". Для меня это именно так, хотя здесь и это уже оспорили.
Считаю сравнение с акциями неудачным. Поясню на примере тех же акций Вы купили 5 лет назад 100 акций и я купил в тот же момент тех же самых 100 акций, за ту же цену. Если мы оба будем продавать их сегодня, то и дивиденты получим абсолютно одинаковые. Исходные позиции ведь одинаковые.
С технологиями это совсем не так. К примеру .NET. Один за 3-5 лет становится экспертом, а другой и рядом с ним не стоял. Вот об этом я и спрашивал. Естественно, способности у людей разные. Но и подходы к новому тоже разные. Не ЧТО, а именно КАК? То, что нужно осваивать новое,- очевидно.
Или вот еще пример. Разработка для Web. Сравниваем PHP и технологии от Microsoft. Сколько лет существует уже PHP? Не знаю по памяти, но давно. Мicrosoft тех пор сменил asp на asp.net, и успел объявить webforms для "долгоиграющих" проектов не лучшим выбором. С этой точки зрения изучение технологий от Microsoft далеко не лучший выбор,- меняются слишком быстро. Или еще покруче: Microsoft абсолютный чемпион по разведению новых технологий для доступа к базам данных. Не стану развивать эту тему, не о том разговор. Идея проста: "акции" от Microsoft обесцениваются куда быстрее своих конкурентов

Вопрос именно КАК, как вы это делаете. О проблемах и некоторых ловушках на этом пути я уже писал в своем первоначальном вопросе.
Re: Как вы осваиваете новые технологии?
От: TimurSPB Интернет  
Дата: 20.12.09 16:04
Оценка:
Здравствуйте, febus, Вы писали:

Базовые вещи в институте узнал и самообучением занимался. А сейчас как то все получается в стиле бросили в воду — плыви или тони нафиг. Конечно прям во время проекта осваивать технологии это так себе путь, но такова нынче суровая реальность ИТ.
Make flame.politics Great Again!
Re[3]: Как вы осваиваете новые технологии?
От: ___Avatar___  
Дата: 20.12.09 16:18
Оценка:
Здравствуйте, febus, Вы писали:

F>Вопрос именно КАК, как вы это делаете. О проблемах и некоторых ловушках на этом пути я уже писал в своем первоначальном вопросе.


работодатели ценят только скиллзы опробованные в реальной работе
это значит, что КПД всей теории и домашней практики = 5%-35%
поэтому надо искать фирму, которая всегда "в струе", и работать только в таких фирмах
и свободное время потратить на вход в тусовки с людьми из этих фирм
Re[3]: Как вы осваиваете новые технологии?
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 20.12.09 16:26
Оценка: 4 (2) +1
Здравствуйте, febus, Вы писали:

Ну ладно, раз речь зашла о конкретике, буду конкретней.
В любой области существуют фундаментальные знания. Можно привести массу примеров. Например, базы данных. Существуют книги, которые оперируют фундаментальными понятиями, такими как релационная алгебра и реляционное исчисление, целостность данных, отношения, нормализация, но существуют книги, описывающие конкретную СУБД и частные случаи реализации определенных возможностей. Для того, чтобы разобраться в теории баз данных и применять их на практике, вначале стоит взять книгу Дейта и статьи Кодда, а потом уже обратить внимание на Sql server 200x для чайников.

Теперь другой пример, вы пишите, что технологии от Майкрософт — это невыгодные капиталовложения и приводите пример asp. Если вы будете изучать asp, не изучив основы построения веб-приложений, это капиталовложение будет дорогостоящим (вы потратите кучу времени) и не выгодным, т.к. при смене поколений технологии придется учить все заново. Но есть и другой путь, вначале понять основы, а потом за считанные дни разобраться с определенной технологией.

Еще один ваш пример: доступ к данным от Майкрософт. Существует множество шаблонов доступа к данным, на основе которых строятся существующие решения. Достаточно изучить именно их и на изучения фирменного решения от МС у вас уйдет минимум времени.

ORM — тоже самое. Существует общепринятая (ну, более или менее) теория, и существует реализация. Поймете основы — конкретику изучите за пару дней.

Тоже самое по распределенным приложениям. Есть общеизвестные шаблоны построения распределенных приложений, а есть реализации от МС и других. Но в целом, все фирменные реализации строятся на общей основе и на общих принципах. Нужно изучать именно эти фундаментальные принципы.

Языки программирования. Аналогично. Существует ограниченный спектр фундаментальных знаний, на основе которых строится все остальное.

Библиотеки. Опять же аналогично. Например, нет смысла изучать библиотеку работы с сетью не понимая суть семиуровневой модели OSI и принципы, заложенные в основу стека протоколов TCP/IP. Поймете основу, один раз реализуете решение на одной платформе, с легкостью перейдете на другую.

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

З.Ы. Я совершенно не заморачиваюсь с тем, что является более выгодным, а что менее выгодным с точки зрения "инвестиций". Мне просто нравится копаться в чем-то новом, мне не нужно себя заставлять изучать что-то. В изучении нового для меня важна не цель (выучить), а сам процесс (изучать)
Re[4]: Как вы осваиваете новые технологии?
От: febus Германия  
Дата: 20.12.09 18:52
Оценка: +1
Здравствуйте, SergeyT., Вы писали:

ST>Ну ладно, раз речь зашла о конкретике, буду конкретней.

ST> Для того, чтобы разобраться в теории баз данных и применять их на практике, вначале стоит взять книгу Дейта и статьи Кодда, а потом уже обратить внимание на Sql server 200x для чайников.
Если вы в состоянии понимать материал в Sql server 200x для чайников, и встречающиеся слова "нормализация" и "3НФ" не вызывают вопросов, то не лучше ли будет читать именно про sql server, чтобы иметь возможность непосредственного применения прочитанного? Пока руками не потрогаешь, почти все забудется, не так ли? Если возникают проблемы с пониманием основополагающих терминов в тексте, то тогда конечно, — читайте основы. Опять же, рискуя показаться невежественным: не считаю чтение четырехтомника Кнута обязательным. Огромное количество теории, освоить которую новичок не в состоянии.
Иначе будет как у Остапа Бендера: "Если хотите хорошо играть в шахматы, нужно регулярно тренироваться играть в шашки"

ST>Еще один ваш пример: доступ к данным от Майкрософт. Существует множество шаблонов доступа к данным, на основе которых строятся существующие решения. Достаточно изучить именно их и на изучения фирменного решения от МС у вас уйдет минимум времени.

ST>ORM — тоже самое. Существует общепринятая (ну, более или менее) теория, и существует реализация. Поймете основы — конкретику изучите за пару дней.
Не так давно я пытался чтобы Entity Framework заработал для Oracle Заработал, но использовать в проекте я бы это не стал. Есть еще решение от mindscape — Lightspeed, есть Subsonic. Есть Wilson ORM. Eсть NHibernate. Зацепимся за NHibernate. Допустим, я хочу с ним разобраться. Знаю, что эта штука может по модели базы данных сгенерировать классы для доступа к данным. Слышал про объекты сущности(Entities) и про объекты значения. Как все это конкретно делается в NHibernate — понятия не имею! Каковы должны быть мои дальнейшие шаги для освоения NHibernate?

ST>Тоже самое по распределенным приложениям. Есть общеизвестные шаблоны построения распределенных приложений, а есть реализации от МС и других. Но в целом, все фирменные реализации строятся на общей основе и на общих принципах. Нужно изучать именно эти фундаментальные принципы.

Ну не знаю. Принципы SOA почитать интересно конечно. Но когда я листал Juval Lowy мне это в теории казалось китайской грамотой. На примере все оказывается конкретнее и проще.
Или скажем читать стандарт языка C#. Здесь есть эксперты, например nikov. Он читает и делает исправления в стандартe. Мне же сам текст стандарта не понятен. Я плохо воспринимаю тот английский язык, на котором он написан. Что-то он делает иначе, чем я. И потому я не он
Re[2]: Как вы осваиваете новые технологии?
От: MozgC США http://nightcoder.livejournal.com
Дата: 20.12.09 22:58
Оценка: +2
Здравствуйте, SergeyT., Вы писали:

ST>Мне кажется лучший ответ на ваш вопрос дали Энди Хант и Дейв Томас в своей книги "Программист-прагматик". Я даже не буду пытаться пересказать их мысль, а просто приведу здесь фрагмент одной из глав:


Не то чтобы я хочу поспорить с тем что обучаться нужно — тут я абсолютно согласен. Но вот прочитав цитату, складывается впечатление, что у авторов нет семьи и никаких других дел кроме работы и самообразования. "Читать по 1 книге в месяц, ходить на курсы, подписаться на разные рассылки, устанавливать Unix для того чтобы разобраться для общего развития" — на это нужно действительно много времени, у меня например не получается прочитать книгу быстрее, чем за пару месяцев (если только я не буду по 2 часа в день кроме работы ее читать). К тому же, большая часть из этого может не пригодиться, большая часть просто забудется (т.к. на практике мы не сможем использовать всю эту огромную кучу информации, получаемую если следовать совету авторов). Так что советы немного смахивают на советы для компьютерных гиков, без семьи и других интересов и дел. А я за золотую середину. Обучаться несомненно надо, но желательно тому, что пригодиться, что можно использовать на практике. А немного свободного времени лучше провести с близкими людьми или занимаясь какими-то другими делами, иначе так свихнуться можно. Я например читаю литературу по полчаса-часу в день, и на форумах тусуюсь по полчасика в день — по-моему в самый раз.
Re[5]: Как вы осваиваете новые технологии?
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 21.12.09 11:47
Оценка:
ArtDenis,

AD>Принтер — устаревшая технолгия. Ебуки рулят


Счастливый обладатель Kindle DX?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[6]: Как вы осваиваете новые технологии?
От: ArtDenis Россия  
Дата: 21.12.09 13:06
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Счастливый обладатель Kindle DX?

Нет. Несчастный обладатель Orsio B731
... << RSDN@Home 1.2.0 alpha 4 rev. 1324>>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Как вы осваиваете новые технологии?
От: IT Россия linq2db.com
Дата: 21.12.09 17:34
Оценка: +2
Здравствуйте, febus, Вы писали:

Проще всего конкретно по пунктам.

F>asp.net webforms


В качестве базы для изучения WebForms нужны знания о работе HTTP, навыки применения HTML, знание ASP и представление об иерархии контролов, например, аналогичной MFC. Нового в ASP.NET фактически только изврат с ViewState для обработки событий.

F>asp.net mvc


Нужны базовые знания, перечисленные выше + понимание самого паттерна. Так же для более чёткого осознания зачем всё это надо, стоит понимать, что данный фреймворк призван вылечить определённые недостатки предыдущего. Чего-то сильно нового вроде пока не просматривается.

F>wpf


База — WinForms, CSS как пример для понимания стилей, HTML как способ вложения контролов и построения разметки элементов, ASP.NET controls -> XAML и пожалуй ещё раз WinForms в части более углублённого изучения работы баиндинга. Желательно почитать пару глав из какой-нибудь книжки, т.к. технология отличается довольно высоким порогом вхождения. Из нового всего по чуть-чуть — стили, шаблоны, тригеры, анимация, баиндинг.

F>wcf


База — .NET Remoting, Web Services. Нового ничего. Для начала использования нужен Гугль и пара часов свободного времени.

F>wf


База — BizTalk или любой другой движок workflow для понимания философии. Для начала работы достаточно несколько часов на просмотр учебных роликов.

F>linq


База — FP, SQL, понимание реализации continuations в C#, базовые основы компиляторостроения для понимания того, что такое и зачем ExpressionTree. Из нового пожалуй мягкий сдвиг в мышлении в сторону FP.

F>...


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

F>трудно быть специалистом во всем этом многообразии.


Не так уж его и много этого разнообразия. Фактически новые технологии сегодня ценны не своими новаторскими идеями, а банальной имплементацией старых идей.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.