Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > изучение java


Автор: pivnoibaron 21.4.2011, 20:16
Привет. Хочу выучить java. Других языков програмирования не знаю. У меня к Вам вопрос. За сколько можно выучить этот язык, что бы на работу каким нибудь новичком взяли? Конечно каждый осваивает за свое время, но все таки хоть примерно. Можно ли за месяц управиться если конечно уделять много времени этому языку? И что нужно уметь что бы не стыдно было бы на работу проситься?

Автор: Stolzen 21.4.2011, 20:37
Зависит от базы (т.е. от ваших текущих знаний).
Кто вы? Студент? Какая специальность?

Цитата(pivnoibaron @  21.4.2011,  21:16 Найти цитируемый пост)
И что нужно уметь что бы не стыдно было бы на работу проситься? 

Ну, для начала, например, уметь написать FuzzBuzz:
Вывести числа от 1 до 100. Для чисел, которые делятся на 3 вывести Fuzz, для чисел, которые делятся на 5 - Buzz, а для чисел, которые делятся и на 3 и на 5 - FuzzBuzz. Во всех остальных случаях вывести число.

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

Знать основные принципы ООП - наследование, полиморфизм, инкапсуляция.

Ну и http://www.google.ru/search?source=ig&hl=ru&rlz=1G1GGLQ_RURU316&=&q=%D1%87%D1%82%D0%BE+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B7%D0%BD%D0%B0%D1%82%D1%8C%2C+%D1%87%D1%82%D0%BE%D0%B1%D1%8B+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%BC+%D0%BD%D0%B0+java&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&aq=f&aqi=&aql=&oq=

Автор: Metalex 21.4.2011, 20:44
Цитата(pivnoibaron @  21.4.2011,  20:16 Найти цитируемый пост)
За сколько можно выучить этот язык, что бы на работу каким нибудь новичком взяли?

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

Автор: _Y_ 21.4.2011, 22:09
pivnoibaron,  скорость изучения сильно зависит от устройства мозгов. Если Вам легко с формальной логикой, с систематизацией информации, с поиском и/или пониманием структуры в информационном массиве, то пойдет легко. 

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

ЗЫ Придется много глупых вопросов задавать. Но это нормально.

Автор: pivnoibaron 22.4.2011, 00:30
Насколько Я понял, при должном усердии за месяц уже чему то можно научится, а также на работу устроится? 

Автор: dobrolub 22.4.2011, 00:53
За месяц можно, но придётся выбирать либо пиво - либо java, барон smile


Автор: Skipy 22.4.2011, 11:27
Цитата(pivnoibaron @ 22.4.2011,  00:30)
Насколько Я понял, при должном усердии за месяц уже чему то можно научится, а также на работу устроится?

При достаточно хорошем знании других языков программирования за месяц можно освоить синтаксис Java и научиться писать простейшие тестовые приложения. Для работы этого будет недостаточно, ибо простейших задач решать сейчас никто не предлагает. А для хоть сколько-нибудь более сложных необходимо знание Collections API, потоков, ввода-вывода. Месяца на освоение этого мало. Я бы рассчитывал, что при серьезной работе в течение полугода можно выйти на уровень Junior.

Автор: Stolzen 22.4.2011, 11:32
Цитата(pivnoibaron @  22.4.2011,  01:30 Найти цитируемый пост)
Насколько Я понял, при должном усердии за месяц уже чему то можно научится, а также на работу устроится?  

Да, азы можно усвоить. Так же можно почитать что-то типа "вопросы по java на собеседованиях", сделать несколько простых программ - и вперед, на собеседования. Некоторые компании готовы брать интернов.

Автор: _Y_ 22.4.2011, 12:58
Цитата(pivnoibaron @  22.4.2011,  00:30 Найти цитируемый пост)
за месяц уже чему то можно научится, а также на работу устроится? 

Чему-то научиться можно однозначно - были бы способности (ИМХО). 

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

Если же говорить об уровне Юниора, то он очень четко определяется уровнем среднего выпускника-бакалавра среднего программистского ВУЗа (впрочем, бывают и хорошие техникумы). И поскольку все мы программисты, давайте, наконец, что-нибудь посчитаем и в этой ветке smile 
  • Бакалавр учится 4 года, что, вроде бы, 48 месяцев. Но это чисто формально.
  • Два летних месяца (три лета учабы) у него каникулы плюс по месяцу каждый год зимние каникулы и прочие выходные. Остается 48-2*3-4=38 месяцев.
  • В число предметов входит Марксизм-Ленинизм Философия, Основы православного богослужения (разве не ввели еще?) и ряд других предметов либо бесполезных, либо не имеющих даже косвенного отношения к программированию. В этот список надо ввести и предметы, отношение имеющие, но преподаваемые на таком уровне, что ничему научиться невозможно. Я бы сказал, что предметов вощедших в этот список - добрая половина. 38/2=19.
  • Среднестатистический студент глубоко ленив: половину времени он пьет пиво или спит на лекциях, Кроме того многие студенты работают параллельно с учебой в ущерб ей. Положим, продуктивно тратится 10 из 19 оставшихся месяцев.
  • Студент учится 5.5-6 дней в неделю, а нас интересует именно интенсивное обучение. Скажем, результат 10*5.5/7=8 месяцев. Это то, сколько надо среднестатистическому школьнику, чтобы стать Юниором.
На единственный оствашийся вопрос можете ответить только Вы сами: насколько Ваши способности превосходят способности среднеарифметического студента ВУЗа? ИМХО быть в 8 раз способней (именно в отношении программирования) не есть что-то запредельное (ведь очень многие учатся в данном ВУЗе не потому, что он им подходит, а потому, что они в него поступили). Но и определенные требования полученная цифра накладывает. smile 

Автор: dorogoyIV 22.4.2011, 14:25
можно сказать?  smile 

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

если человек предрасположен к совершенствованию, то нужно давать ему шанс!
но! вопрос не в этом (в данном топике) !

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

Автор: _Y_ 22.4.2011, 15:02
Цитата(dorogoyIV @  22.4.2011,  14:25 Найти цитируемый пост)
что бы было самому интересно, напиши игру какую нибудь...

Отличный совет, кстати. Покажите того, кто не писал свой тетрис smile И всем это здОрово помогло.

Автор: kemiisto 22.4.2011, 15:31
Цитата(_Y_ @  22.4.2011,  14:02 Найти цитируемый пост)
Покажите того, кто не писал свой тетрис

 smile 

Цитата(dorogoyIV @  22.4.2011,  13:25 Найти цитируемый пост)
сегодня я знаю только массивы и циклы, завтра я свободно, например, коннекчусь в сетке...

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

Цитата(pivnoibaron @  21.4.2011,  19:16 Найти цитируемый пост)
Других языков програмирования не знаю.

Вот это очень плохо. Точнее, хорошо, конечно, что решили изучить. А плохо, что выбрали Java. Как первый ЯП Java не годится.

Автор: dorogoyIV 22.4.2011, 15:36
Цитата(kemiisto @  22.4.2011,  15:31 Найти цитируемый пост)
Как первый ЯП Java не годится.

да!
если попробовал Java, на C++ ни в какую переходить не хочется...  smile  (собственный опыт)

Автор: kemiisto 22.4.2011, 15:43
Цитата(dorogoyIV @  22.4.2011,  14:36 Найти цитируемый пост)
если попробовал Java, на C++ ни в какую переходить не хочется...

Не стоит сравнивать с С++. Это уже неинтересно. Все знают, что любому ЯП трудно проиграть С++, особенно когда речь идёт о первом ЯП для обучения.

Автор: Stolzen 22.4.2011, 15:46
Цитата(kemiisto @  22.4.2011,  16:43 Найти цитируемый пост)
Все знают, что любому ЯП трудно проиграть С++, особенно когда речь идёт о первом ЯП для обучения. 

Pascal?

Автор: kemiisto 22.4.2011, 15:51
Цитата(Stolzen @  22.4.2011,  14:46 Найти цитируемый пост)
Pascal? 

Да, только современный и не мейнстрим (Delphi и прочее). Что-нибудь из Оберон-семейства. Например, Component Pascal. 

http://www.oberon.ch/blackbox.html.

Автор: Stolzen 22.4.2011, 16:05
Цитата(kemiisto @  22.4.2011,  16:51 Найти цитируемый пост)
Да, только современный и не мейнстрим (Delphi и прочее). Что-нибудь из Оберон-семейства. Например, Component Pascal. 
BlackBox Component Builder. 

В моем альма-матер первокурскников до сих пор учать по старому Borland Pascal. 

(Всяко лучше бэйсика)

Автор: dorogoyIV 22.4.2011, 16:12
Stolzen, kemiisto, не будем отвлекаться от темы - мы не во флейме...
хотя с другой стороны, сам начальный вопрос меня ставит в тупик...
Цитата

Привет. Хочу выучить java. Других языков програмирования не знаю.

Автор: Stolzen 22.4.2011, 16:18
pivnoibaron, и все-таки, чем вы занимаетесь? Вы студент? Если да, то какой специальности?

Автор: dorogoyIV 22.4.2011, 16:19
Цитата(Stolzen @  22.4.2011,  16:05 Найти цитируемый пост)
до сих пор учать по старому Borland Pascal. 

по моему борланд это вообще проститутка - на любом языке пиши, он тебе подберет компилятор...  smile 

Автор: AlexeyVorotnikov 25.4.2011, 09:53
Цитата(_Y_ @  22.4.2011,  16:02 Найти цитируемый пост)
Отличный совет, кстати. Покажите того, кто не писал свой тетрис

Я не писал свой тетрис smile
Зато я писал свой арканоид smile  На Swing'е  smile 

Автор: _Y_ 25.4.2011, 19:38
Цитата(AlexeyVorotnikov @  25.4.2011,  09:53 Найти цитируемый пост)
Я не писал свой тетрис 
Зато я писал свой арканоид

Арканод я тоже писал smile Вот теперь пишу пакман smile 

Если же серьезно: не важно что конкретно присать. Главная польза от написания хорошо знакомой игрушки то, что упрощается постановка задачи - игрушку-то знаешь насквозь. Т.е. обущение программированию не осложнено плохо-непонятно поставленной задачей.

Автор: shara 26.4.2011, 17:29
У меня вопрос несколько схожий, посему решил задать его здесь вместо создания отдельного топика.  
Я активно прграмлю на Си уже более двух с половиной лет. Задачи в большинстве своем связанны с криптографией и построением всевозможных алгоритмов обработки данных --> как следствие минимум использования внешних технологий (сокеты, OpenSSL и работа с БД не в счет). Имеются стойкие зачатки Си++, хорошо представляю особенности ООП, но практически отсутствует опыт использования последнего в реальной жизни, так как в основном писал программы используя стуркторно-процедурный метод (олдскул в Си стиле smile). Также имеется четкое понимание принципов и особенностей написания многопоточных программ (было дело программил дрова под Виндовс ХП, там без этого ну никак).


С целью повышения своих проф навыков решил освоить второй язык программирования, из двух кандидатов Си++ и Java выбор сделал в сторону жабы. Хочу предать своим начальным знаниям больше конкретики в лице java. Прошу совета с выбором наиболее популярных технологий и книг для их изучения (а может быть пойти на курсы, опять-же какие?).  smile  Желательно не для Чайников и не за ДВАДЦИТЬ_ОДИН_ДЕНЬ. Мозги имеются осилим. Вообще по сему вопросу нарыл в сети over9000 вариантов - глаза разбегаются...   smile      посему прошу совета у людей бывалых. За что ныньче деньги плотють? 


С енглишем тоже все в порядке.

З.Ы. А потенциальные работодатели весьма абстрактно описывают список требований к java программисту.

Автор: _Y_ 26.4.2011, 22:38
shara, http://www.mindview.net/Books/TIJ/ - классика. И рассчитана именно не на чайников, а на умеющих думать в категориях программирования. 

Должен существовать и русский перевод, но я его не читал; соответственно, о качестве ничего не знаю.

Автор: Metalex 26.4.2011, 22:43
Цитата(_Y_ @  26.4.2011,  22:38 Найти цитируемый пост)
Должен существовать и русский перевод

читал, что существует, но корявый

Автор: shara 17.5.2011, 11:34
Может кому будет полезно
Нашел Брюсса Эккеля, 4-е издание TIJ - на русском нет, читаю оригинал.. неплохая книга, но все таки что-то в его манере подачи материала мне не нравится. Вроде бы все точно, и без лишней воды, с неплохими примерами - но для того-же С и С++ я читал книги получше и попонятнее (например Стивен Прата). С сам же Эккель, в своей книге ни раз аппелировал к тому, что Java с точки зрения архитектуры и процесса программирования более простой язык (нет указателей и прочие плюшки) и он часто проводит анналогии с вышеупомянутыми языками, но у меня почему-то уходит больше времени на то чтобы понять о чем пишет автор.  Это сугубо мое личное мнение.

Решил еще обратить свое внимание на http://www.bigitlib.ru/programming/java/667-core-java-volume-i-fundamentals.html


Спасибо за внимание. 

Автор: bombaflanker 18.5.2011, 09:26
http://www.javatalks.ru/sutra116683.php&highlight=#116683 как я начинал

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)