LINUX.ORG.RU

изучить Java

 


1

3

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

★★★★★

какие пакеты могут понадобится.

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

unlog1c ★★★ ()

Посоветуйте, пожалуйста литературу

Букварь

какие пакеты могут понадобится.

Не пакеты, а подгузники.

anonymous ()

Тебе это.. Java Tutorial прочитать бы для начала.

Ну и понять - на кой ляд она тебе нужна. Как поймешь - попробую сказать подробней.

TheKnight ★★★ ()

Сначала надо осилить «Hello World». По любому туториалу осиль поставить jdk, написать, скомпилировать и запустить свой первый класс.

После этого нужно поставить IDE. Без IDE в java делать нечего, а vim и emacs для мазохистов.

Теперь читай официальные туториалы. Сначала осиль первую половину. Swing и JavaFX не трогай, они редко кому нужны.

Сейчас ни в коем случае не стоит читать книжки по Java.
Те что для начинающих, бесполезны, поскольку есть официальные туториалы (а они достаточно хороши и в них самое главное нет воды).
Те что для продвинутых, тоже бесполезны, поскольку они для продвинутых.

Теперь, когда есть твердая база и уверенность в своих силах, можно начинать говнокодить для веба (про андроид ничего сказать не могу):

  • качаешь, распаковывашеь и запускаешь ( ./startup.sh ) apache tomcat (он по умолчанию забирает себе localhost:8080)
  • пишешь jsp-странички (php для java), кидаешь их в подкаталоги каталога webapps и смотришь на результать в браузере

Одновременно можно приниматься за важные вещи (фрейморки систем сборки и тестирования, ORM-фреймоврки) и веб-специфичные вещи (servlets, web-containers, web-frameworks).
Здесь надо действовать осторожно, поскольку java старая, технологии постоянно наслаивались, вытеснялись, заимствовались.

При желании можно почитать спецификацию языка (тыц).
При очень большом желании и наличии свободного времени — спецификацию виртуальной машины (тыц).
Также надо не забыть про фаулера (он много хорошего написал) и паттерны проектирования.

anonymous ()
Ответ на: комментарий от anonymous

После этого нужно поставить IDE. Без IDE в java делать нечего, а vim и emacs для мазохистов.

Сильно зависит от задачи. Например, в свое свободное время занимаюсь одним проектом. Килобайт 800 на Scala. В качестве редактора предпочитаю использовать emacs. Система сборки - maven. Везде стоит IntelliJ IDEA, но для этого проекта я ее практически не использую, потому что emacs удобнее.

Вообще, в этом нет для меня ничего необычного. Я еще застал времена jdk1.1, когда было обычным делом компилировать с командной строки.

dave ★★★★★ ()
Ответ на: комментарий от dave

Ну Scala не Java) Языки разные) Хотя по сути одна платформа. Да и как бы сборка с помощью maven достаточно распространенное явление. Именно «maven build» в командной строке.

А насчет IDE для Java... Примеры первые и правда реально писать в текстовом редакторе. Смысл в IDE появляется при возникновении большой базы зацепленного по самое не балуйся кода, где без IDE задолбаешься отслеживать вхождения методов и править их потом.

TheKnight ★★★ ()
Ответ на: комментарий от TheKnight

Смысл в IDE появляется при возникновении большой базы зацепленного по самое не балуйся кода, где без IDE задолбаешься отслеживать вхождения методов и править их потом.

Кстати, интересный вопрос. Если не использовать IDE, то тогда развивается память. Вначале может быть ломка, но потом вполне привыкаешь, и просто вместо тупого IntelliSense вспоминаешь названия методов и их сигнатуры. Другой разговор, что при этом должен быть открыт браузер с API, но документация всегда должна быть доступна. Это работает, главным образом, если пишешь в одиночку проект, где все чисто, гладко и шелковисто.

Есть еще один сценарий. Нужно дополнить чужой код, в котором нет никакого желания разобраться. API - либо кривое, либо непонятное, либо нет вовсе документации. Тогда да, лучше использовать IDE.

dave ★★★★★ ()
Ответ на: комментарий от dave

А зачем набивать нерезиновую голову таким бесполезным дерьмом, как методы, классы, фреймворки и прочая чушь? Это все нерелевантно и бесполезно. IDE и документация всегда помогут.

anonymous ()
Ответ на: комментарий от shty

какой бэкграунд?

Ээ, ну тут полянка с цветочками, и котенок сидит... Надо поменять?

anonymous ()

Посоветуйте, пожалуйста литературу, скажите, какие пакеты могут понадобится.

Ну, литературы много, так что пакеты надо большие и прочные.

anonymous ()
Ответ на: комментарий от anonymous

Стандартные фреймворки - не такая и чушь. Потом, не обязательно все запоминать. Главное, я не вижу разницы в скорости разработки, когда работаю один. Так было и раньше, когда много писал на C#.

Вот, на основной работе сейчас используем VS, но вижу, что многое можно было бы сделать и с каким-нибудь jEdit (но у нас криво для этого написаны файлы проектов - просто жестко расчитаны на VS). Хотя отладчик часто полезен, но хорошему коду он особо и не был бы нужен, в чем убеждаюсь все больше.

Ну, еще можно добавить в плюс IDE редакторы ресурсы, но это без проблем можно делать руками. Я так и делал раньше.

Также добавим в плюс IDE редакторы формы. Для коллективной работы - это огромный плюс. Но я намного больше написал GUI руками без дизайнеров, чем с ними. Не люблю эти дизайнеры. К тому же, они хуже расчитаны на ресайзинг форм - там лейауты так не проставишь, как это можно сделать руками.

dave ★★★★★ ()
Ответ на: комментарий от dave

Да, очень важный эелемент - навигация по коду, но это решается с помощью Java Code Convention и грамотным проектированием небольших, но законченных классов. Когда у меня было около 1000 классов и 6 мегабайт исходников в одном проекте, то навигация работала через Windows Explorer и jEdit. Нужный класс находился на несколько секунд.

dave ★★★★★ ()
Ответ на: комментарий от dave

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

anonymous ()

я хочу изучить java

Погуби это желание

Debasher ★★★★★ ()
Ответ на: комментарий от anonymous

Что ты привязался к «заучиванию»? Сам придумываешь темы, на которые отвечаешь? При работе без IDE методы сами по себе запоминаются, если, конечно, ты - не законченный быдлокер. И не заставляй меня цитировать gaperton по части бана мудаков, хотя, может быть, это уже стало ненужным.

dave ★★★★★ ()
Ответ на: комментарий от dave

Ты сам вякнул про то, что надо API знать, и никакого intellisense тогда не надо будет. Вот и отвечай за свое быдлокодерство. API знают только быдлокодеры.

anonymous ()
Ответ на: комментарий от TheKnight

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

К сожалению, даже IDE иногда не в силах помочь :)

dave ★★★★★ ()
Ответ на: комментарий от Aswed

Тогда возьми, как тут уже посоветовали, Эккеля и больше копайся в исходниках. Возможно я не прав и говорю чушь, но мне такая метода больше всего подходит, когда нужно быстро въехать в новый (для меня) ЯП.

DeVliegendeHollander ★★ ()
Ответ на: комментарий от anonymous

Угу.. Ну так, по мелочи совсем. Разные языки. По опыту C++ программиста с 20-летним стажем говорю.(если что, опыт не мой)

TheKnight ★★★ ()

Для начала я посоветую тебе поиск по ЛОРу, потому что этот вопрос задают уж никак не реже чем два раза в месяц.

metar ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.