Лучший подход для изучения Java после C ++? - PullRequest
9 голосов
/ 03 января 2009

Я использую C ++ уже 6 или 7 лет, и я считаю, что свободно владею им. Я никогда не беспокоился о Java до сих пор, но я остаюсь без работы (компания разорилась), и мне нужно расширить свой набор навыков. Кто-то порекомендовал Java, поэтому мне интересно, есть ли какой-нибудь совет, с чего бы начать, например, такого, как я. Мне также интересно узнать, какие ключевые аспекты Java наиболее вероятны в интервью.

Ответы [ 7 ]

6 голосов
/ 03 января 2009

Есть некоторые популярные области, о которых я думаю, когда мы говорим о Java

  • Концепции ООП : Я уверен, что это не будет сильно отличаться от C ++: Класс, Абстрактный класс, Интерфейс, Полиморфизм, переопределение, Перегрузка, Наследование, Статический член ... Интерфейс скорее всего будет область, на которой вы можете сосредоточиться. Поскольку это не доступно напрямую в C ++ я не знаю.
  • Ядро Java : например, базовый синтаксис и общие классы, такие как как Math, String, System.out, Сканер, Основной файл ввода / вывода, Поток. Знать понятие мусора Коллекция, тип ссылки (с указатели здесь не доступны.) Знать платформу / технологии Java, J2SE, J2EE. Базовый графический интерфейс с Swing и его менеджеры по расположению. Web Приложения с сервлетом / JSP.
  • Популярные инструменты, платформы и библиотеки : Это может не важно как вышеупомянутые пули. Но может быть, вы должны знать, что такое Eclipse, Netbeans, Spring, Struts, Hibernate, EJB, Ant, JUnit, JavaDoc, предназначены для.

Вы всегда можете выполнить поиск «C ++ to Java» в Google. Я уверен, что будет много хороших стартовых точек. Не забудьте не ставить * перед именем переменной при следующем коде Java:)

3 голосов
/ 03 января 2009

Рекомендую прочитать книгу Эффективная Java от обложки до обложки. Вы не только узнаете много хороших методов программирования, но и узнаете больше о Java, чем в противном случае. Настоятельно рекомендуется. : -)

В качестве простого примера, в Java, вместо того, чтобы бросать битовые поля вручную (что довольно болезненно делать в Java, и по уважительной причине), вы используете EnumSet вместо. Это задокументировано в пункте 32.

Кстати, если вы не возражаете против чтения версии PDF (без DRM), это также дешевле, чем печатная копия: http://www.informit.com/title/0132345285

2 голосов
/ 03 января 2009

Существует множество замечательных "углубленных" книг по Java, которые научат вас не только Java, но и лучшим практикам программирования.

Если вы просто интересуетесь синтаксисом и введением в Иерархию классов, Java за 24 часа довольно хорошо. Оттуда вы будете знать достаточно, чтобы пойти и исследовать больше самостоятельно.

Я настоятельно рекомендую подумать о небольшом проекте, который поможет вам учиться. На самом деле, подумайте о крошечном крошечном проекте - он окажется намного больше, чем вы думаете! ;) Может быть, простая стрелялка или Далекс - или Астероиды -подобные, или что-то подобное.

Главное, чтобы программист уровня эксперта не пытался изучать Java из книги. Вы можете познакомиться с Java через книгу, но затем вы должны учиться самостоятельно (или у другого). Это как учиться водить машину - вы можете получить основы из книги, но вам нужно изучить и попробуйте вещи, и кто-то, кто знает, как может быть очень полезным.

Некоторые вещи, которые помогут:

  • Загрузите и добавьте в закладки HTML-документы Java. Вы будете часто ссылаться на них.
  • Имейте небольшой проект, простую игру или служебное приложение, которое, по вашим оценкам, займет пару дней. Потратьте пару недель, написав это;)
  • Обратите внимание, что "Java" - это 3 вещи:
    • Java язык программирования. Как C ++ или Lisp или Perl.
    • Java Иерархия классов. Как STL или Какао.
    • Java виртуальная машина времени выполнения, JVM.

Люди используют слово «Java» для обозначения всех трех вещей и проскальзывают между ними без особого уведомления, поэтому обратите на это внимание, когда вы начинаете говорить с людьми на Java.

Удачи!

(и дайте нам знать, когда ваша игра будет доступна:)

1 голос
/ 15 января 2011

Руководство Питера Нортона по программированию на Java, "Переход с C / C ++ на Java" .

1 голос
/ 03 января 2009

Я начал с чтения спецификации языка Java, версия 2 того времени (2001). На мой взгляд, это вполне читабельно, поскольку спецификации идут.

Эффективная Java - хороший совет.

Java Puzzlers хорош для изучения угловых случаев и возможных подводных камней.

1 голос
/ 03 января 2009

На мой взгляд, Java отличается от C ++ тремя способами:

  1. Автоматизированное управление памятью
  2. Упрощенный синтаксис (без препроцессора)
  3. Стандартные библиотеки Java

Как бывший парень C ++, первые два не должны быть проблемой. (На самом деле, я бы поспорил, что они покажутся вам довольно освежающими.) Чтобы привыкнуть к библиотекам, я рекомендую Thinking in Java * Брюса Экеля * 3-е - бесплатное 3-е издание. Хотя начальные главы, вероятно, будут немного слишком простыми, разделы о программировании графического интерфейса, параллелизме и различных контейнерных классах будут очень полезны.

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

1 голос
/ 03 января 2009

Самая большая проблема с преобразованием C ++ в Java заключается в том, что они настолько похожи - вы на некоторое время обнаружите, что делаете C ++. Но в этом нет ничего особенного: как было предложено, прочитайте книгу Джоша Блоха и ознакомьтесь с руководствами на java.sun.com, и у вас все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...