Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Изучение Java, доп. литература или курсы

Приветствую.
Изучаю Java по двум книгам (Философия Java и Библиотека профессионала Java2 Основы)
Какую литературу для новичка Вы посоветуете ещё ?

Спасибо.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Читаю и улыбка недоумения не сходит с лица. Интересно, устроился этот паренек джава программистом или нет. :)

Блоха и Гослинга никто не упоминал? О о

Коментар порушує правила спільноти і видалений модераторами.

читаю Глушаков, Лукошкина — Технология Java 2.

нравится.

Прошлым летом приобрел две книги по-Java, авторы Кей Хорстманн и Гари Корнелл.
Том 1. Основы
Том 2. Тонкости программирования

Первый том очень понравился(до второго пока не дошёл). Рекомендую Вам.

Java 2 (2007) Патрик Ноутон, Герберт Шилдт — ИМНО самая лучшая книга для начинающего.
Философия Java Эккеля — сложная, но неплохая книга.

Библиотека профессионала Java2 Основы Хорстманна — тоже сложновата для начинающего.

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

В общем, сегодня сходил на тестирование по курсам в SoftServ. Было нас около девяти человек, предполагаю, что поэтапно проводят тестирования. Иначе, слишком маленький конкурс получается. :) Около пяти человек хотят изучать C#, другие четыре человека (вместе со мной) хотят изучать Java.

Тестирование проходило на ул. Пастернака. Около 15:00 на КПП вышёл сотрудник компании moodle.edu.softserveinc.com/...p?id=4&course=1 SoftServ и забрал нас с собой.

Каждому участнику был выделен компьютер. Тестирование проходит через веб-браузер. На виртуальной машине поднимается ОС Windows XP, где дальше запускается Eclipse.Тестирование состоит из пяти частей.

Можете заранее зайти на их сайт и создать свою учётную запись moodle.edu.softserveinc.com

Когда говорилось, что надо знать общие понятия ООП — это было небольшим лукавством. Надо знать небольшой базис по тому языку, который Вы желаете изучать. Именно по нему задаются вопросы.

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

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

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

1) Опишіть поняття інкапсуляції як принципу об’єктно орієнтованого програмування. За допомогою яких конструкцій реалізується? Чи можна реалізувати без класів?

2) Які з класів можна використовувати для збереження колекцій об’єктів (контейнери-класи)? Порівняйте два з них: подібність, відмінність, умови застосування, переваги та недоліки.

3) Який клас у Вами вибраній мові є базовим? Які він має методи?

4) Передумова:Опишіть абстрактний клас (позначимо його А) та два його нащадки. Використовуйте довільні але реальні об’єкти. Опишіть у класі абстрактний метод, що повертає значення базового (примітивного) типу.

Задача:Опишіть клас, що буде читати дані з файлу про колекцію об’єктів типу А визначеного у передумові.

5) Що означає поліморфізм у використовуваній Вами мові? Чи достатньо привести один клас для ілюстрації поліморфізму? Чому? Проілюструйте поліморфізм кодом.

6) Передумова:Опишіть абстрактний клас та два його нащадки. Використовуйте довільні але реальні об’єкти. Опишіть у класі абстрактний метод, що повертає значення базового (примітивного) типу.

Опишіть клас, що буде читати дані з файлу про колекцію об’єктів базового типу визначеного у попердньому запитанні.

Задача:Додайте до відповіді на попереднє запитання обробку таких сиуацій: відсутність вхідного файлу та некоректний вхідний формат.

7) Опишіть абстрактний клас та два його нащадки. Використовуйте довільні але реальні об’єкти. Опишіть у класі абстрактний метод, що повертає значення базового (примітивного) типу.

8) Передумова:ООпишіть абстрактний клас (позначимо його А) та два його нащадки. Використовуйте довільні але реальні об’єкти. Опишіть у класі абстрактний метод, що повертає значення базового (примітивного) типу.

Опишіть клас, що буде читати дані з файлу про колекцію об’єктів базового типу А визначеного вище.

Задача:Опишіть клас (чи метод до існуючого класу), що буде зберігати дані з колекції у файлі.

9) Які види наслідування в Ваші мові програмування Ви знаєте? Чим відрізняються?

10) Передумова:Опишіть абстрактний клас (позначимо його А) та два його нащадки. Використовуйте довільні але реальні об’єкти. Опишіть у класі абстрактний метод, що повертає значення базового (примітивного) типу.

Опишіть клас, що буде читати дані з файлу про колекцію об’єктів базового типу А визначеного вище.

Задача:Що необхідно виконати для впорядкування колекції прочитаної у попередньому запитанні за зростанням значення, що повертає абстрактний метод класу А

Коментар порушує правила спільноти і видалений модераторами.

Признаться честно, написать не проблема. Главное, это понять автора. Если он имеет ввиду вернуть значение примитивного типа, которое находится в базовом классе то, чтобы достучаться к переменной в переопределённых методах, нужно использовать модификатор protected для этого поля.
gist.github.com/...7af78140957cfd1

Мне не понятно, почему 7 и 8 задание одинаковое. Если Вы расшифруете, я напишу. Когда я проходил собеседование, я ответил всего на несколько вопросов.

7. Опишите абстрактный класс и два его наследника. Используйте любые но реальные объекты. Опишите в классе абстрактный метод, который выдает значение базового (примитивного) типа.
8. Предусловие: Опишите абстрактный клас (обозначьте его А) и два его наследника. Используйте любые но реальные объекты. Опишите в классе абстрактный метод, который выдает значение базового (примитивного) типа. Опишите класс, который будет читать данные с файла про коллекцию базового типа А определенного више.

Задача: Опишите класс (или метод к существующему классу), который будет сберегать данные из коллекции в файл.

8-ой вопрос просто продолжение 7-ого...
Мне
вот этот вопрос интересен ..

Задача:Що необхідно виконати для впорядкування колекції прочитаної у попередньому запитанні за зростанням значення, що повертає абстрактний метод класу А

а еще.. вы использовали как я понимаю сериализацию для записи элементов коллекции в файл и десериализацию наоборот (из файла данные в коллекцию)?

9) Які види наслідування в Ваші мові програмування Ви знаєте? Чим відрізняються?

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

Чи можна реалізувати без класів?

(про инкапсуляцию).. ответ-нет, как я понимаю..?
п.с.
так вы прошли туда?
п.п.с.

я в конце ноября подавал заявку(ЛЬвов).. с того времени так и не позвонили..

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

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

Мне было бы легче отвечать на вопросы устно.

8) Не могу ответить, т.к. пока не знаю как "прочитать файл и записать в него. Как раз читаю коллекции (Эккеля).
9) Я знаю наследование — когда подкласс расширяет (является наследником IS-A) базовый класс (треугольник является фигурой, лошадь является животным, рабочий является персоной и т.д.).
Реализация интерфейсов позволяет использовать ПОДОБИЕ множественного наследования.
Про какие виды наследования спрашивает автор — я ХЗ. Может я читал невнимательно два раза, но не имею понятия.
1) Про инкапсуляцию, опять таки я не могу понять вопросы. Для меня инкапсуляция это скрытие реализации, где реализация класса прячется за интерфесом. Про какие конструкции спрашивает автор — я ХЗ. Назовите мне хотя бы одну.
Или можно реализовать без классов что? Конструкцию или инкапсуляцию? Это вопрос из разряда — корове можно сделать аборт? Для меня инкапсуляция регулируется спецификаторами доступа. Поставлю final или private на метод, значит метод не смогут переопределить в подклассах. Поставлю protected для поля, значит переменная будет доступна в классах потомках.

В интерфейсах есть свои спецификаторы, которые ставятся автоматически, методы — public, значения — public static final. Основные причины использование интерфейсов, это возможность выполнять восходящее преобразование к нескольким базовым типам и, вторая причина, запретить программисту-клиенту создавать экземпляр класса, т.е. предоставить ему возможность использовать только интерфейс. Можно ли это считать инкапсулированием — ХЗ ? Если нет, тогда ответ нет.

Вопросы слишком тупые, абсолютно не на знание языка или знания ООП. Такое ощущение, что автор их составлял на отъ**ись.

Лучше напишите несколько тестовых проектов и попробуйте поискать работу во львовских к-ях. Нафиг эти курсы и этот софтсэрв.

Коментар порушує правила спільноти і видалений модераторами.

Похоже удаляют комментарии. Пишу уже второй раз и второй раз удаляют.

Очень хорош видеокурс «Java для начинающих» от TeachPro. Найти его можно на торрентах или просто погуглить.

Да, я смотрел эти уроки. К сожалению, ничего хорошего я не нашёл в них. Очень унылый курс, хоть и показывает некоторые примеры.

Мне не нравится, что автор показывает примеры не в IDE хотя бы в Eclipse. Всё на кучу получается. Постоянно комментирует тривиальные вещи (запятая, двоеточие, скобка открывается, скобка закрывается, заходим в меню, нажимаем компилировать и т.д.) У автора короткий словарный запас, мало объясняет теорию (почему работает так). Какие-то посторонние звуки (кашель, скрип стульев или дверей, разговоры).В общем, быстро надоедает.

Сейчас есть новый курс [Мирончик Игорь Янович] Курс программирования на языке Java. Начальный уровень. Киев <nobr>11-15</nobr> апреля 2011г. [2011, RUS]. Пока посмотрел начало, дальше первых видео не смотрел. Должно быть интересно.

Если кому-то интересно раздачу можно найти здесьrutracker.org/...c.php?t=3529830

P.S. Меня больше интересует что-нибудь из практических занятий. Чтобы делали не за меня, а делал я сам. Литературы по Java, в принципе, достаточно. Хочется включаться в процесс программирования, а не наблюдать за ним. Сегодня иду на тестирование в SoftServ, посмотрим, может пройду на курсы. :)

P.S.S. Кстати, у Игоря Мирончика есть канал YouTube. Там можно тоже смотреть этот курс, только он разделён на части youtu.be/...q7lfo_KL6g?hd=1 Вообще, у него много полезной информации.

Я сейчас дочитываю Java Concurrency in Practice — очень понравилось.

1. Шилдт — что бы стартануть
2. Эккель — более углубленно, читать через пол года после упражнений , знакомства с паттернами и штудирования Шилдта)

3. Джошуа Блох — что бы отшлифовать

Жаль, что второе издание Джошуа Блох не перевели.

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

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

я для обучения решил, после получения основ, познакомиться с пользовательским интефрейсом (есть в том же Хорстманне и еще есть книга Шильдта по Swing), так же планирую разобраться с работой джавы и БД (jdbc) и далее пытаться писать свой проект (какую-то небольшую CRM). в процессе написания этого проекта будут возникать разного рода вопросы, с которыми мне нужно будет разобраться. за одно может получиться и не плохое портфолио.думаю пока так, может чему-то и научусь. все равно придется обучаться чему-то новому, так что уметь это — тоже полезно.

Только что звонили, пригласили завтра на тестирование в компанию SoftServ. Они набирают на курсы учеников.

Схожу, посмотрю, поучаствую.

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

Сказали, что вопросы будут общими по ООП. Нужно ориентироваться в основных понятиях ООП (абстрагирование, инкапсуляция, наследование, полиморфизм). Я мало представляю что именно будут задавать по этой теме и, поможет ли мне то, что я изучал в ходе чтения Java.
ну в книгах по Java об этом точно написано (книга «Философия Java», например, с этого начинается), если читали — значит ответите. потом отпишитесь, как прошло собеседование — интересно.

В том то и вопрос. Девочка по телефону сказала, что тестирование будет проходить по времени два часа. Там всего чтения на полчаса. :) Поэтому мне интересно, что можно тестировать. Хотя, может устное тестирование, разговор с преподавателем. Пока всех спросят.... В общем, посмотрим.

P.S> В моём понимании, я должен ответить что-то типа:

1) Назовите основные принципы ООП.

Абстрагирование, Инкапсуляция, Наследование, Полиморфизм.

2) Что такое абстрагирование?

Абстрагирование — упрощённое описание объектов, при котором одни свойства и детали выделяются, другие опускаются.

3) Что такое инкапсуляция?

Инкапсуляция — позволяет защитить данные и код в объекте и скрыть реализацию объекта от прикладного программиста.

4) Что такое наследование?

Наследование — создание нового класса повторяющего структуру и поведение суперкласса.

5) Что такое полиморфизм? Какие проявления полиморфизма в Java Вы знаете?

Полиморфизм — работа с объектами неизвестных классов, при условии, что они являются наследниками известного класса. Переопределение метода (замещение метода) в подклассах.

P.S.S. Нашёл некоторую информацию cloud-cuckoo.com.ua/node/11

Я читаю: Mc Graw Hill— SCJP Sun Certified Programmer for Java Exam 310-065 (2008)

Цікаво, з прикладами і з нюансами. За філософією просто засипав.

К сожалению, у меня не такой уровень английского языка, чтобы изучать Java на английском языке. Материал легче воспринимается на родном языке, когда наберусь опыта, можно попробовать почитать англоязычные книги. Про эту книгу был наслышан.Если кому интересно rutracker.org/...c.php?t=1373503

P.S. Только что открыл книгу, в первой главе говориться, что нужно знать базу языка прежде чем читать книгу :)

We assume that because you’re planning on becoming certified, you already know the basics of Java. If you’re completely new to the language, this chapter—and the rest of the book—will be confusing; so be sure you know at least the basics of the language before diving into this book.

Я когда начал рано читать, тоже засыпал. Огомные монстропообные примеры, разбор по косточкам. Но до этой книги надо немного дорасти). Когда читаеш после некоторого небольшого опыта — идет как сказка)

Josh Bloch, Effective Java

Очень интересная штука, поиск называется. Иногда заменяет необходимость задавать одинаковые вопросы по несколько раз. Что не месяц то тема-клон от новичка, который или не может выбрать книжку или определится что учить. Вы что думаете, за месяц ситуация в литературе по java кардинально изменилась или Ваша ситуация чем-то уникальная и требует отдельного рассмотрения?

www.developers.org.ua/...ums/topic/3717www.developers.org.ua/...ums/topic/2918

2х книг для изучения Java Core с головой, лучше побольше пишите, набирайтесь практики и пробуйте найти работу. В добавок к Java с новичков чаще всего требуют знание SQL и ООП. Лучше этому уделите внимание вместо 3й книги по java.

Вы не поняли, я ищу дополнительную литературу не для того, чтобы в третий раз перечитывать Джаву, мне двух книг с головой хватит. Я ищу именно дополнительную литературу. Что читать дальше после Эккеля и Хорстманна?

P.S. Не понимаю Вашу раздражительность? Хотите помочь новичкам, сделайте FAQ где все подробно опишите. Указанная Вами тема не отвечает на мой вопрос.

В добавок к Java с новичков чаще всего требуют знание SQL и ООП.

Именно это я хочу узнать, какую литературу? Спасибо.

Что читать дальше после Эккеля и Хорстманна?
Доку и кодить. Предполагается, что программировать вы умеете (там алгоритмы всякие, слышали про паттерны, знаете что такое БД и тд)

т.е. можно садиться после за чтение rutracker.org/...c.php?t=3193196 ???

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

Этого мне очень хочецца. Общение со знатоками направит мои мозги в нужное русло. Только кому охота возиться со мной.

Очень интересная литература по java от автора Герберт Шилдт,
1.) Герберт Шилдт java руководство для начинающих
2.) Герберт Шилдт — Полный справочник по Java

прочитав 2 книги, освоишь основы языка, многие бибилиотеки, Swing, сервлеты, апплеты.

Каждому свое, но как по мне, Шилдт — это ширпотреб.

посоветуйте от себя что-нибудь.

Эккель (в оригинале), мне больше понравился 2-томник из «библиотеки профессионала» (полное название не помню, но по виду похоже на это: win-web.ru/...va2_osnovi.html только оба тома)

Но это все на первый месяц, потом дока и туториалы :)

Это как раз то, что я читаю сейчас.

Шилда не смог читать. Когда то купил — так и не прочитал. Гадость (

Підписатись на коментарі