Вопрос к Java developers

Вопрос к тем, кто занимается разработкой ПО на Java. Какую книгу/онлайн курсы порекомендуете для начинающих?

Подружка выиграла грин карту. Пока суть да дело хочет подучиться немножко. Бэкграунд у нее есть, хочет поменять направление.

книги
Шилдт Г. - Java 8. Полное руководство
Брюс Эккель - Философия Java
Ричард Уорбэртон - Лямбда-выражения в Java 8
Крис Шефер, Кларенс Хо, Роб Харроп - Spring 4 для профессионалов

сайт javarush

далее уже по направлению предметно копать

2 лайка

Какой именно бэкграунд у нее есть?

Из книжек - двухтомник Core Java by Cay S. Horstmann (1й том есть в 10м издании, 2й пока только в 9м).
Из курсов - pluralsight, javarush (здесь на форуме обсуждали).

1 лайк

Программистский. :slight_smile:
Она в основном на майкрософтовских продуктах ваяла. Мы с ней рынок посмотрели, решили двигать ее в сторону Java (если получится).

Если она умеет в C#, то здесь скорее нужно определиться с предметной областью. Если UI - там будет всякий Eclipse RCP/SWT и прочий Swing. Если бэкенд по типу “хипстеры в стартапе” - то собственно Play! и все что связано с REST (бо́льшую половину она уже скорее всего знает), ну и там React было бы неплохо понимать. Если кровавый энтерпрайз - то EJB (CMP/BMP), всякие там MQ и прочий Spring.

Все буквари, которые насоветовали выше - они скорее нужны для человека, который только хочет войтивайти. Для транзишна нужно брать предметную область и читать по ней все. Джавараш не нужен.

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

А вы что бы посоветовали? Если учесть, что поедет она скорее всего в наши края и стартапов у нас мало. На гос проекты ее конечно с ходу не возьмут. В общем пока еще много неопределенности. Просто не хочется терять время.

Да, она на C# пишет. Но не очень продвинутые вещи (как она сама говорит). Поэтому при выборе - подтянуть .NET или уйти в Java, мы с ней пока остановились на втором. Посмотрим, что выйдет.

А что не так джаварашем?

Я бы при вводных “человек умеет писать на C# и знаком с инфраструктурой” и “а давайте научим ее новым штукам” - выбирал дотнет. Спрос на него не сильно меньше, чем на джаву, а чаще даже и выше. Базовые знания у нее какие-то есть - ну а там подтянуть нужные умения - это хорошо и позитивно.

Под предметной областью я имел вовсе не госкорпорации и стартапы, а скорее

  • фронт-энд - windows forms и что там еще модно, с базами данных опционально
  • back-end - серверсайд с базами данных
  • автоматическое тестирование - золотое дно вообще, при наличии базовых умений в программировании там можно со старта получить более пристойные предложения, чем на entree level. А там уже смотреть.

Вот посмотрите как раз на третий пункт.

1 лайк

С ним все так.

Например?

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

А вот про автоматическое тестирование мы как-то не подумали. Спасибо за наводку! Будем посмотреть. Может действительно стоит заняться. Порог вхождения ниже.

Там термины на русском

Я хоть и тоже учусь java, но хотел бы посоветовать видео уроки Якова Фаина, так сказать для затравки. Вообще, на ютюбе очень много видеоуроков по java. Шилд и другие это конечно хорошо, но в этих книгах материал преподносится сухо. И да, я читал. Это как читать энциклопедию. В них есть все. Мне очень понравилась книжка В.А. Васильев. “Java. Объектно-ориентированное программирование”. Учебное пособие для студентов ВУЗов. В ней материал преподносится очень легко и с примерами из математикии, что для любого программиста будет просто замечательно, но сожалению, книга заьрагивает только JavaSE. Добавлю, что я не программист, но хотелось бы им стать. Изучаю java недолго, буквально несколько месяцев. Заморачиваюсь и разбираю каждый термин, каждое слово, которое не понимаю. Возможно, это моя ошибка, ,но я не вижу смысла для себя двигаться дальше в обучении, если не понимаю сути.
Категорически не рекомендую из всех этих замечательных энциклопедий - “Философия Java” от Экеля в ПЕРЕВОДЕ, кажется издательства Питер. Там огромное количество ошибок перевода. Они даже не презгают называть Java как JavaScript. И еще, хотклось бы рекомендовать читать книги в оригинале. Этим Вы будете дресировать и свой английский, т.к. “там” с Вами будут говорить не на русском, украинском или еще каком-то другом языке при приеме на работу. По этой причине я переключился с Java на английский и стараюсь больше учить именно его. Может и Вам стоит больше заниматься английским, если он у вас ниже intermediate.

А в чем именно сожаление с затрагиванием Java SE?

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

С русским у меня нормально. Может я и не умею правильно рассьавлять запятые, но это не повод для унижения ибо нужно терпимее относиться к окружающим. А мои ошибки в русском, как Вы заметили, связаны в большей степени не с отсутсвием знаний в этрй области, а кривыми руками и отключенным Т9 в моем телефоне.

И наконец о моих сожалениях. Мне настолько понравилась книга и качество преподнесенного материала в ней, что хотелось бы почитать продолжение, но автор не продолжал свои исследования в этом направления или мне неизвестно о его работе. Ведь, как Вы наверное знаете, JavaSE это лишь маленький шаг перед огромной пропастью технологий JavaEE.

Какие именно исследования в направлении JavaSE вы хотели бы увидеть продолженными автором? И по каким именно признакам вы определили, что JavaSE является неким незначительным подмножеством JavaEE?

Забейте на EE. Устраиваться после обучения будете джуном, и никто с вас ЕЕ спрашивать не будет.

Согласен. Исследование не подходит. Прошу прощения. Предлагаю заменить его на преподавание или изложение. Я затрагивал JavaEE буквально чуть-чуть или даже меньше. В большей степени по тем же видео Фаина. И у меня сложилось впечатление, что без базовых основ Java, которые покрываются в JavaSE, нельзя разрабатывать качественный продукт с использованием технологий JavaEE. Я пробовал, подчеркиваю слово пробывал, делать страницы (именно страницы) с использованием JSP поверх томката и используя эклипс. При этом старался использовать знания, полученные при изучении базовых основ Java.

Именно об этом и говорят спецы, которых приглашают на интервью. Поэтому я и стараюсь досконально разбирать непонятные слова и глубже лезу в технологии, но как я и писал выше, все это не имеет значения без языка. Отсюда, язык на первом месте. Без уровня интермедиейт нет смысла в любой профессии. [emoji6]