LINUX.ORG.RU

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

 , ,


11

4

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

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

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

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

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

★★

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

но как-то скучно без GUI

Мне весело. Особенно для консолеподелок. GUI+JAVA+консольные поделки - это как-то все не то.

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

Вот этого не надо, сам шел по такому пути. В итоге вместо файлика в 10кб, выходила дурында на 20мб.. но работала везде.. только требовалась то работа только в линуксе...

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

fjfalcon ★★★
()

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

С С++11 очевидно же.

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

Чисто для админства у меня есть bash, изредка python. Для веба php. А Java нужна чтоб более глубоко понимать что делают эти обезьянки в роли джуниоров и почему при их очередном деплое все падает нафик. Чтоб можно было взять их исходники и примерно понять что там происходит.

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

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

Хм, и почему-то у меня в ассоциациях Java идет в паре с Oracl'ом. А мне оракл ой как близок :)

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

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

anonymoos ★★★★★
()

С хеллоувордов.

Я начинал с живого проекта. Конечно, это жесть, но так уж случилось.

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

Если в PHP тебе нужно внчале заинклудить файл, и только потом использовать класс

spl_autoload_register там лучше

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

Я привык сразу в бой бросаться.

В мойм случае - да ну его нафик =) Из серии «инициатива наказуема».

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

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

ещё больше поддерживаю после этого комента.

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

Она тебе не нужна, если ты пишешь поделки для админства.

на жаве «поделки для админства» писать не нужно. Взаимодействие со внешним миром там ужасное, особенно в виндовсе (ты тупо не можешь знать, завершился ли твой system.exec или нет, для этого нужно писать специальные приблуды на Си и подключать по JNI)

stevejobs ★★★★☆
()

Иерархические структуры программ. Дал. Хоор

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

Ух, начал читать про Thinking in Java. Сразу написано, если вы не знаете C++ - можете дальше не читать)

Удивило что есть разные виды памяти, что есть типы которые хранятся в регистровой памяти. После php, с их переменными, как-то не по себе.

Омг, все обьекты, у обьектов интерфейсы, а массив это лишь массив ссылок

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

Зачем эту какашку изучать для себя? Она же нужна чтобы на работе вместо кода писать тестики и рефакторить фасолину синглтона фабрики абстрактных фабрик.

vazgen05 ★★★
()

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

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

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

ya-betmen ★★★★★
()
Ответ на: комментарий от vazgen05

А программировать на ней нельзя? Или научиться этому?

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

В отличии от php в java строго с типами данных. Ну и да все - ссылки, так что:

String a="123", b="123";
a == b; //false, т.к. сравнение ссылок
a.equald(b); //true - сравнение по содержанию
Когда присваиваешь надо тоже понимать что. Например:
//
Vector<String> a,b;
a.add("1");
a.add("2");
b.addAll(a); //передаст ССЫЛКИ из a. При изменении ветрора a значения изменятся.
b.clear();
b.add(a.get(1)); 
b.add(a.get(2)); //добавляет строки, а не ссылки на строки.
Одни раз я так хорошо облажался.

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

Во первых, a.equals(b), а во вторых, раз уж заговорил про ссылки, необходимо упомянуть, что все передается по значению.... Даже ссылка на объект.

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

Вчера читал, пробовал писать, понравился язык. Вот только я немогу еще понять, как внутри одного класса можно вызвать один метод в другом этого же класса? В php Это делалось просто, $this -> method(), а в java я пока как не пробовал - ошибки.

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

Там еще примитивные типы (int,float,bool..), у которые не так, как объекты работатют..

crutch_master ★★★★★
()

придумай проектик для андроида и сделай.

anonymous
()

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

С длительного ожидания запуска eclipse или еще чего + с тормозов твоей программы

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

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

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

Это же документировано, епт!

anonymous
()

Стильно, модно, молодежно

... было лет 10 назад

сейчас модно и молодежно всякие скалы и хаскели

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

Сразу написано, если вы не знаете C++ - можете дальше не читать

wut?

что за бред? кто-то считает, что простую как два пальца джаву нужно изучать только постигнув плюсы?

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

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

это, тащемта, ответ автору темы даже, а не тебе.

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

Удивило что есть разные виды памяти, что есть типы которые хранятся в регистровой памяти

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

или речь не про low-level регистры?

MyTrooName ★★★★★
()

Java - Стильно, модно, молодежно.

Скукотища же. Учи Аду.

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

Все это написано в философии джавы на рус в самом начале и про то, что int, bool, char хранятся не в хипе, а в регистровой памяти проца, Мб перевод кривой, мне сравнивать не с чем

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

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

с другой стороны, ссылка на объект в i386/amd64 неизбежно попадет из ОЗУ в регистр, прежде чем сможешь получить доступ к полю этого объекта.

так что регистровая память тут явно ни при чем. не говоря уже о том, что на некоторых бекендах jvm вообще никаких регистров может не быть

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

Мб перевод кривой

вторая ссылка в гугле по «thinking in java перевод»

http://toster.ru/q/324

судя по тому, что ты тут понаписал, перевод t.i.j надо ритуально сжечь - от этого в голове появится больше знаний о жабе, чем от внимательного прочтения книги

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

Эта глава познакомит вас с основами ООП, включая рассмотрение основ¬ных методов разработки программ. Она, и книга вообще, подразумевает нали¬чие у вас опыта программирования на процедурном языке

1. Регистры. Это самое быстрое хранилище, потому что данные хранятся прямо внутри процессора.

Ну и так далее. А, сори, примитивные типы в стеке храняться. http://www.rulit.net/books/filosofiya-java-read-180907-12.html

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

Вот взял я кошерный нетбинс

Ошибка номер один: юзать IDE можно только тогда, когда ты можешь делать всё тоже самое, в чём помогает тебе IDE, без IDE.

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

visual studio что ли? да не, быстрее грузится и интерфейс намнооого лучше)

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