Какую литературу использовать, чтобы переучиться с Python-разработчика на Java?
Добрый вечер!
Я junior python developer (flask/sanic), не так давно перешёл в разработку из автоматизации тестирования.
Вопрос по переобучению возник из-за того, что мой проект, похоже, в ближайшее время накроется медным тазом, а на моей уютной галере других проектов на питоне просто нет (не в счёт data science, в котором я ни в зуб ногой). Зато у нас полный офис джавистов, и есть неиллюзорные шансы перейти на какой-нибудь проект с джавой.
Для себя выделил Head First Java aka Изучаем Java (Кэти Сьерра и Берт Бейтс) и классику жанра - "Философию Java" Брюса Эккеля.
Какую книгу для изучения Java выбрать, при условии, что в программировании я не первый день, но и до эксперта мне далеко? Head first, наверное, не сможет дать мне нужной глубины знаний, так как эта серия для совсем новичков в программировании? Однако я не стал списывать её со счетов - сейчас читаю их книгу по паттернам проектирования, очень нравится подача материала.
Roman, зачем мне выглядеть плохо в глазах коллег? Они не знают, насколько хорошо я владею Java (и владею ли вообще), пусть и дальше остаются в неведении :)
Учитывая, что я, в перспективе, планирую переходить на один из их проектов, подобными вопросами я себе только наврежу. Неужели это не очевидно?
Roman, спасибо за ссылки!
А почему вы рекомендуете именно Хортсмана, а не, например, Шилдта или Эккеля?
UPD.: Ого! По ссылкам книг на целую библиотеку для кафедры вычислительной техники наберётся. Что из этого огромного списка вы можете посоветовать исходя из своего опыта?
whoareyoutofuckinglecture, я не знаю ваших предпочтений, сравните подачу Шилдта и Хорстмана - лично мне подошел академичный Хорстман. Прошу заметить, что я не являюсь экспертом по Java. И мой комментарий это не ответ. Тут есть более сведущие люди, которые давно на кухне Java разработки и возможно они порекомендуют что нибудь более стоящее.
по поводу Эккеля, у него все книги шедевры. (must read)
там еще Гослинг, Лафоре, Флэнаган, Блох ... можно разгуляться, но начать нужно с чего/кого нибудь одного.
Учитывая, что я, в перспективе, планирую переходить на один из их проектов, подобными вопросами я себе только наврежу. Неужели это не очевидно?
Нет, не очевидно, возможно у вас там змеиное гнездо где все друг друга говном поливают и ваши опасения действительно имеют под собой почву, но в любой нормальной конторе это действительно самый быстрый и эффективный способ.
Лучше прийти на проект хорошим спецом которого там же и подтянули, и которому сразу можно давать задачи, чем непонятным самоучкой, который все это время боялся подойти спросить, продвинулся куда меньше и потом выяснил что тут вообще все не так делают.
UPD.: Прочитав HeadFirst Java могу сказать следующее: если у вас есть опыт разработки на другом ЯП, не читайте эту книгу, ибо всё, что там растянуто на 700+ страниц можно было уместить в страниц так 100 - 150. Очень много объяснений в стиле "для умственно отсталых", которые порой растягиваются на добрые 10 страниц. Много картинок и пространных рассуждений ни о чём. Много намеренных повторов одной и той же информации из главы в главу. Книгу раздули до огромных размеров, однако КПД такого чтения стремится к нулю.
Возьмите лучше Хорстманна (Java. Библиотека разработчика. Основы), где те же 700+ страниц, но в данной книге последовательно изложена вся основная информация о Java, а HeadFirst Java для вас - пустая трата времени.
Если у вас нет опыта в программировании, то.. НЕчитайте HeadFirst Java. Несмотря на то, что книга написана в лёгком, почти "детективном" стиле, там хватает информации, которую вы просто не поймёте в силу отсутствия опыта программирования. Ваш вариант.. да тот же Хорстманн + практика на каком-нибудь JavaRush.