LINUX.ORG.RU

С чего начинается изучение Java?

 , ,


11

4

Так случилось, что мне стало интересно выучить что-то отличное от php и шелов. Выбор пал на Java. Стильно, модно, молодежно. Да и для андроида писать можно, верно?

Функции от классов вроде могу отличить, слышал даже про синглтон и мвц. Даже про способы сортировки слышал.

Вот взял я кошерный нетбинс ... а дальше что? Пните в актуальном направлении, все что находил на лоре - староватое. Книги какие, сайты, посвященные разработке на Java. Как компилировать, как написать первый hello world. Знаю что примеров много, но может кто знает наиболее правильный вариант?

stevejobs, ты вроде знаком с Java?

Перемещено mono из talks

★★

Последнее исправление: kukara4 (всего исправлений: 1)

Функции от классов вроде могу отличить

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

CYB3R ★★★★★
()

«Философия Java» годная книга по Java core. А чтобы выбрать дальше надо понять в каком направлении хочешь развиваться - Android, Java EE или еще что.

Deleted
()

«философия java» Эккеля, Хорстман (не помню названия).

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

А, ну если это ирония, то «Thinking in Java» тебе в руки. Ещё есть годный самоучитель с офигительными заданиями для самопроверки «Java Programming: From The Ground Up».

CYB3R ★★★★★
()

Нетбинс не кошерный. Лучше попробуй IntelliJ Community Edition, оно свободное-бесплатное. http://www.jetbrains.com/idea/download/

книжек море, ткну наугад в «Horstmann, Cornell». Если больше нравится стиль справочника, то «Ноутон, Шилдт». Есть на рутрекере. Как поймешь синтаксис - читай про паттерны проектирования («Стелтинг, Маассен»). Дальше в зависимости от надобности. Например, для получения сертификатов и задрочки под собеседования нужно читать Java Language Specification и Java Virtual Machine Specification.

stevejobs ★★★★☆
()

Господа, а про JVM что почитать посоветуете? Сама java не интересна, интересны принципы работы и т.п.

Weres ★★★
()

Hello World пишется как System.out.println(«Hello World!»);

Изучение Java начинается с лени и апатии, когда хочется, чтобы приложение было позавчера, и плевать, сколько ресурсов оно будет жрать.

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

А в Идее хорошее автодополнение, подсказки и рефакторинги, что мастхэв для новичка. Вначале складывалось ощущение, что Идея знает Жабу лучше меня.

stevejobs ★★★★☆
()

Core Java, Part 1+Part 2. Хорстманн, Корнелл

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

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Новичку пофиг, юзать подсказки идеи или нетбинса. Обе среды ругают программиста плохими словами за откровенные косяки и пытаются не дать стрелять по ногам.

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

Мне не для трудоустройства. Просто проще админить, когда знаешь как эта штука работает изнутри и смело можно брать палку и бить разрабов за откровенное быдлокодерство. C php так отлично выходило :)

vurdalak, CYB3R

Я понял что мне нужно изучить сначала матчасть. Ибо если нету функций, переменных ... Это сломало мало представление про программирование после php. Как в java инклюдяться файлы? Какие массивы есть? Как работать с массивами и чем перебирать? И так далее.

kukara4 ★★
() автор топика

Как у жавы работа с потоками? А то вот после того что я увидел в шарпе мне кажется у жавы какое-то низкоуровневое добро.

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

Спасибо, я когда-то ехал в электричке и напротив меня сидел парень, печальный такой, уставший и с книжкой в руках. Потом я увидел что там было большими буквами написано JAVA. Даже сейчас помню :) А было это очень давно.

kukara4 ★★
() автор топика

$ cat > hw.java

public class hw {
   public static void main(String[] args) {
   System.out.println("HELLO WORLD!");
   }
}
$ javac hw.java
$ java -classpath . hw hw.class
HELLO WORLD!

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

Как в java инклюдяться файлы?

Ы. Это троллинг такой, или из языков ты знаешь только PHP и Си?

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

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

Как в java инклюдяться файлы? Какие массивы есть? Как работать с массивами и чем перебирать? И так далее.

Книг тебе уже накидали, там всё есть.

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

Да не троллинг, я реально знаю только php и шеловые. Собственно и прошу пнуть что правильного почитать.

Thinking in Java

Уже второй или третий раз упоминается, хорошо

kukara4 ★★
() автор топика

Тоже изучаю Java

из книг - «Effective Java», «Java сoncurrency in practice», «java nio», «Data Structures and the Java Collections Framework»

по отдельным темам смотрю разные видео. Если на русском, то есть вот - 1000+ часов видео по Java на русском

по Java EE - туториал с сайта оракл, хороший, там с примерами

amidala
()

Вот взял я кошерный нетбинс ... а дальше что?

Получай зарплату в 150к, когда напишешь хелло ворлд, проси больше.

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

Новичку пофиг, юзать подсказки идеи или нетбинса.

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

еще есть шикарный поиск по действиям внутри редактора. Нажимаешь ctrl+shift+a и в поисковую строку пишешь, что хочешь сделать. Например, «toggle breakpoint». Оно ищет действия с похожими названиями и выдает их. Опять же, не нужно ничего изучать. (н-р изучать клавиатурные сочетания Эклипсы - лютый ад)

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

Еще могу представить, зачем нужна Эклипса - ради тысяч плагинов, которые для неё понаписали. Это как Firefox в мире IDE. А зачем нужен Нетбинс вообще непонятно. Какая конкретно жизненно-важная фича там реализована лучше, чем в Идее или Эклипсе? Например, в Эклипсе есть плагины, и это жизненно важная фича, поэтому Эклипс имеет право на существование. А что есть у Нетбинса? Если ничего - то сразу на помойку.

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

Переменные как раз-таки есть. Нет функций (есть методы) и нет свойств (properties), которые есть в пыхе и шарпе. Вместо них делают методы getProp() { return prop; } и setProp(int prop) { this.prop = prop; }.

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

Thinking in Java

Уже второй или третий раз упоминается, хорошо

Просто помни - это мурзилка, которая только описывает язык (не знаю, современную ли версию), а когда говорят «Java», имеют в виду некоторый набор паттернов и фреймворков, и каждый из фреймворков - тема на отдельный учебник.

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

Поэтому я бы советовал сразу брать коммерческую версию Идеи

Holy Stallman..

crutch_master ★★★★★
()

Изучение начинается с двух томов Кея Хорстманна и Гари Корнелла Java2.

После них рекомендуется философия java. Тоже отличная книжка.

В качестве IDE долго сидел на eclipse... теперь с idea уходить не хочу...

Еще бы порекомендовал книги по ООП... и патерны...

И писать, писать и писать.

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

Уважаемый, ознакомьтесь, пожалуйста с naming conventions. Спасибо.

В удалённых в этой теме мой вариант кошерного хелловорда.

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

Современный PHP выглядит в точности как Java.

Единственное серьезное отличие — нету инклудов. Все файлы проекта должны лежать в папках и файлах, структура которых четко задана правилами, которые нельзя поменять. Тебе этим дрочиловом заниматься не нужно, структуру вместо тебя поддерживает IDE. Если в PHP тебе нужно внчале заинклудить файл, и только потом использовать класс, то в жабе класс можно использовать сразу.

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

А коммерческая версия Идеи дает подсказки еще и по фреймворкам. Поэтому я бы советовал сразу брать коммерческую версию Идеи

2 чая этому господину...

fjfalcon ★★★
()
Последнее исправление: fjfalcon (всего исправлений: 1)
Ответ на: комментарий от kukara4

Понять можно. Иногда бывают ошибки в листингах с кодом. И, кажется, русский вариант короче оригинала

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

Для полной наглядности еще нужен примерчик такой-же в шелле с GUI и кнопкой, при нажатии отвечающей алертом.

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

Мне не для трудоустройства.

тогда сразу после того, как врубишься в синтаксис, иди изучать сервлеты (servlets). Даст понять, что вообще происходит и позволит написать какое-нибудь реально полезное приложение, которое будет работать «как настоящее». В сервлетах плюс, что никаких жутких фреймворков изучать не надо (фреймворки зачастую изучаются дольше, чем сама жава).

stevejobs ★★★★☆
()

Я начинал со среды Eclipse. Он хорош для просмотра всяких методов, но ужасно тормозной. Собирать все быстрее в консоли. Не слушай Жобса, он толкает всякую проф IDE. Она тебе не нужна, если ты пишешь поделки для админства. Для начала хватит и Eclipse/NetBeans. Но лучше вообще javac+редактор+доки.

crutch_master ★★★★★
()

Главное научиться применять и разобраться с внутренним устройством фреймворков DI/IoC, освоить SOLID.

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

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

Есть там такие подсказки. Как минимум, «кусок кода недоступен» частенько раздражает мои глаза.

Сразу после хэлловорлда нужно брать какой-нибудь веб-фреймворк и разбираться с ним.

Ява в вебе не нужна. Имхо, конечно.

А что есть у Нетбинса?

Разработчик.

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

Если пишешь подделки для админства, то лучше смотреть в сторону perl/python2...

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

Нахера ему фреймворки, если он парсеры для логов с выводом в stdout будет на ней писать?

Утилиты писать для консоли да - тоже интересно, но как-то скучно без GUI. Идеал программы - делегировать код, чтобы могли им пользоваться без твоего участия. C GUI это сделать все-же легче, но намного сложнее реализация разумеется.

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.