Способ догнать современные методы программирования
Я программировал, не профессионально около 23 лет, и считаю, что я немного застрял на своих путях. Я нахожу инструмент, который мне нравится, и он остается таким же образом год за годом. К сожалению, это означает, что я отстаю от времени в своем программировании.
Я не планирую профессионально программировать сам по себе, однако очень удобно иметь возможность разрабатывать приложения для клиентов (и в последнее время желание перейти в облако) для использования моими клиентами, а также для себя в моем повседневной работы (услуги аппаратного обеспечения, сети и Интернета).
К сожалению, я обнаружил, что испытываю большие трудности в понимании последних концепций, и потому, что я в ловушке стилей программирования 80 и 90, я нахожу себя в замешательстве, чтобы понять понятия.
То, что я ищу, - это предложения для онлайн-и печатных материалов, предлагающих реальное "введение в концепцию" и (отдельный материал) техническое использование для современных концепций программирования и их использование в Java и С# (все три из которых у меня были только минимальные воздействие).
Я был бы самым обязанным.
- UPDATE--
Я просто хочу добавить большое спасибо всем, кто оставил ответ или комментарий к этому вопросу.
Я нашел несколько замечательных ресурсов из-за ваших рекомендаций и возвращения моего энтузиазма в программировании. Больше нет пути вперед, похожего на тяжелую борьбу, и впервые за последний год или около того свет в конце туннеля не похож на встречный грузовик.
Ответы
Ответ 1
Прочитайте блог разработчиков. Постарайтесь хранить достаточное количество ресурсов в своем читателе для каналов и проходить через них каждый день (или так). Просто возьмите то, что вам нравится.
Большинство кодеров пишут свои мнения, их мнение и т.д. Вы можете узнать много, просто прочитав, что делают другие, и фильтруйте то, что вам нравится, или найдите интересные, а какие нет. Книги полезны, но, с 23-летним опытом и просто хочу быть в курсе... Я бы рекомендовал блоги...
Некоторые блоги, которые я читал:
Stackoverflow - отличный ресурс. Не только для поиска ответов на ваши проблемы, но и для чтения ответов на другие проблемы. Серьезно, я обнаружил, что много раз цитировал некоторый ответ из stackoverflow в последнее время... или применяя то, что я видел здесь.
Для того, что стоит, быть в курсе текущих тенденций (таких как TDD или Aspect Oriented Programming), походит на то, чтобы быть в курсе самого мира. Вы встаете утром и читаете газету, может быть, только заголовки, а затем что-то конкретное, около 5 или 10 минут. Затем вы читаете статьи, которые вам интересны, но вы в некоторой степени осознаете самые важные вещи, которые происходят. Это то же самое, но эти блоги (и некоторые другие) являются вашей газетой для мира программирования.
Ответ 2
Прочитайте несколько новых книг по программированию, таких как The Pragmatic Programmer. В этой книге рассказывается о программировании с использованием современных инструментов, идиом и приемов и т.д.
![The Pragmatic Programmer]()
Ответ 3
Множество "новых" концепций на самом деле не ново. Например, большинство "современных" языковых особенностей основаны на ранних функциональных языках.
Такие методы, как TDD и Agile, - это просто кодификация вещей, которые были сделаны в течение длительного времени, возможно, не в основном. Они также не могут понять сами по себе.
Я подозреваю, что ваши самые большие препятствия будут терминологией. Возможно, вы привыкли слышать слова, но когда вы смотрите на то, что они означают, вы просто найдете их объясненными с точки зрения других слов.
Моя рекомендация - упорствовать. Найдите свой путь назад к тому, где вещи объясняются в терминах, которые вы можете связать, а затем отработайте. После того, как вы это сделаете с помощью нескольких концепций, вы будете чувствовать себя намного увереннее в решении большего, и лучше поймете, на какие вещи вы действительно хотите сосредоточиться.
Для связанных с языком вещей это, вероятно, проще, потому что вы можете вернуться к, например, Lisp и найти понятия, объясненные с точки зрения того, что было знакомо в 60-х годах и раньше! (конечно, вы можете найти и более недавнее освещение).
Для объектов, связанных с дизайном и процессами, только чтение их истории в Википедии должно дать вам некоторые подсказки.
Держите свой фокус достаточно узким, чтобы не быть перегруженным, но достаточно широким, чтобы учитывать экологическую систему, в которой существует инструмент или технология.
Ответ 4
Вам понадобится альтернативный подход к темам. Я нашел серию "Heads on..." интересной и технически звуковой.
Взгляните на главы на Java: http://oreilly.com/catalog/9780596009205
Ответ 5
Если все, что вы хотите сделать, это идти в ногу со временем, вы должны прочитать блоги разработчиков. Я не собираюсь давать вам обычный список блога, потому что я не думаю, что это хорошая идея, чтобы зависеть от 4-7 блоггеров за всю вашу информацию.
Раньше я использовал для объединения всех блоггеров в Google Reader, и мой список чтения вырос до более чем 400 блогов. Это определенно не поможет.
Лучше посещайте веб-сайты, такие как codebix.com, dzone.com, чтобы получать последние статьи и небольшую помощь сообщества при выборе лучших статей;).
Ответ 6
Лично я многому научился от просмотра лекций и технических разговоров, опубликованных Google. У них много информации о разработке программного обеспечения. Просмотр видео - это, очевидно, совсем другой опыт обучения, чем чтение, но большинство людей очень умны и талантливы.
http://www.youtube.com/GoogleDevelopers
http://www.youtube.com/GoogleTechTalks
Ответ 7
Похоже, ваши навыки программирования логики в порядке. Мне кажется, что лучший способ обновить свои навыки - собрать копию С# (экспресс бесплатно) - или java (я парень .net) и конвертировать одно из ваших старых приложений, тогда вы найти проблемы реального мира и сможет их решить (с помощью SO) с использованием "современных" методов.
Удачи.
Ответ 8
Вы можете найти эти лекции по функциональному программированию Эриком Мейером, просвещающие.