Учебник Java

Java является сегодня одним из самых распространенных языков программирования, а Java-программисты – одними из самых высокооплачиваемых специалистов на рынке труда. Неудивительно, что и интерес к изучению Java очень высок. Для тех, кто хочет изучать Java самостоятельно, существует широкий перечень учебников и сервисов. Мы попросили опытных программистов рассказать о том, какие учебники они бы посоветовали для изучения Java – получилась подборка из самых эффективных пособий и ресурсов, которые позволят разобраться в основах, а при желании понять тонкости.
1. Учебник по основам Java
Учебников по Java много, среди них многие специалисты особо выделяют учебник Thinking in Java. Он позволяет освоить базовые принципы и основные возможности этого языка программирования. Учебник может быть полезен не только начинающим, но и тем, кто с Java уже знаком. Далеко не все возможности языка используются регулярно — с помощью учебника можно освежить те моменты, которые выпали из памяти. Для тех же, кто стремится к более глубокому пониманию, есть книга «Code Complete: A Practical Handbook of Software Construction». Разбираясь в тонкостях написания кода, Вы также углубляете свое понимание Java-программирования в целом.
4. Шаблоны проектирования
Многие из возникающих вопросов уже когда-то были заданы, а некоторые из тривиальных задач были решены. Основные шаблоны изложены, например, в книге Design Patterns: Elements of Reusable Object-Oriented Software. К этой книге стоит переходить на том этапе, когда у вас уже есть достаточный опыт и хорошие знания в области Java-программирования.
6. Онлайн-курсы по Java
Параллельно изучению приведенных нами книг рекомендуем вам пользоваться онлайн-курсами по изучению Java. Несколько хороших примеров мы приводим ниже:
7. Где задать вопросы?
Первое время вопросы будут возникать на каждом шагу. С высокой долей вероятности кто-то уже задавался ими до вас и даже разместил их на Stackoverflow. На этом сайте содержится огромное количество вопросов и ответов, связанных с программированием (причем не только на Java), что позволяет избежать утомительного штудирования документации в поисках причины очередной ошибки или поиска лучшего решения концептуальной проблемы.
Source: changellenge.com