среда, 20 января 2016 г.

И опять про опыт использования и изучение инструментов

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

Прежде чем пытаться изучать какой-либо инструмент, получите ясное понимание в двух вопросах:
  1. Шаги/цикл создания программного обеспечения
  2. Из каких глобальных элементов/блоков/уровней/подсистем может состоять программа
Как только вы понимаете, что есть шаги сборки, тестирования, развертывания, что есть веб часть, бизнес-логика, базы данных - вы начинаете искать инструмент, который решает именно эту задачу и обнаруживаете некоторый список. Дальше уже выбор на основе понимания того, что умеет делать тот или иной инструмент. И вот тут возникает как раз важная проблема - чтобы понять, что умеет делать инструмент - его надо изучить и попробовать "на живом примере" (я нередко применяю к уже сделанным проектам изучаемую технологию - мысленно/виртуально).
И вот же неприятность какая, живой пример для начинающего - это тоже проблема. Порочный круг - надо иметь опыт создания проектов для изучения пакета и надо знать пакеты для накопления этого самого опыта создания проектов. Пора хвататься за голову.
Мой совет - не надо начинать изучение Java с пакетов Hibernate, Spring и прочего - начните с начальных знаний. С помощью стандартных и несложных инструментов Java - JDBC, reflection, XML, Servlet, JSP - можно создавать весьма эффективные небольшие проекты. Учитесь "по спирали" - отходите от "нуля" постепенно, регулярно возвращаясь к тем же задачам просто на более высоком профессиональном уровне. Вы уже знаете как общаться с базой данных через JDBC. Вы это хорошо понимаете и вы уже натолкнулись на "занудность" в виде создания 4-5 запросов для редактирования одной сущности. И вот только теперь вы осознАете удобство Object Relation Mapping (ORM) (в частности Hibernate) и поймете все его достоинства и недостатки. Но сразу погружаться в изучение Hibernate без понимания reflection и JDBC - наверно у вас тестовые примеры получатся, но шаг влево или вправо заставит вас ломать голову не один час над самыми элементарными вещами. Да и понимание будет весьма поверхностное.
Так что мой совет - изучайте от простого к сложному не теориетически, а набирая опыт использования. Написали простой проект с помощью базовых технологий - идите дальше. Удачи.

Комментариев нет:

Отправить комментарий