Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Книга по ООП для начинающих |
Автор: timbat 12.3.2012, 20:15 |
Здравствуйте! Я планирую написать небольшую бесплатную книгу по аспектам ООП для начинающих программистов Java и в данный момент собираю пожелания и предложения. Скажите пожалуйста, какой аспект или какое понятие для вас является самым трудным при изучении ООП? Спасибо |
Автор: Stolzen 12.3.2012, 20:40 |
Наблюдаю, что часто очень сложно доходчиво объяснить, что такое интерфейсы и зачем они нужны. И само распределение обязанностей между объектами тоже вызывает проблемы (особенно у тех, кто раньше программировал на процедурных языках). |
Автор: Skynin 12.3.2012, 21:47 | ||
Своих проблем уже и не помню. Переходил с Си, и мне объясняли ООП с низкого уровня: представь структуру с указателями на функции, первым параметром которых является указатель на эту же структуру, ...., ...., Но типичные, годами затруднения у начинающих действительно несколько раздражают, и сам думал написать нечто вроде: http://lib.ru/CTOTOR/starterkit.txt только не с таким обидным названием. Даже начал набрасывать план такой книги, и первую главу. А потом как-то подумалось: а кто ее будет читать, если не читают и остальные книги. Интерфейсы и абстрактные классы да, вызывают затруднения. Еще - непонимание собственно что такое переменная, что такое ссылка, что такое объект, и чем он "отличается" от ссылки на него.
Как уже сказал, я сам переходил с процедурного языка. Но, сколько ни пытался объяснить как мне объясняли, ощущение - а они не поняли и как процедурное программирование устроено, как оно работает. Но что мне кажется точно неверным в обучении ООП, так это: вот есть фрукт. А вот есть яблоки, груши, ... Хотя, просто меня не так учили ![]() А когда я понял как оно устроено в ООП, то и яблоки с фруктами уже не вызывали особых затруднений. Книга же которая устранит эти муки начинающих нужна. Но вот как ее писать... как А. Богатырев что-ли P.S. И какой язык брать за основу, для псевдокода. Например если Python, то там как раз все устройство ООП видно, ты в него прям "по Сишному" можешь вмешаться в рантайме. Если "Java" - то опять же, дайте мне вменяемого сишника - да там объяснять то пару часов от силы, и можно приступать к примерам в виде паттернов ООП. Или Ruby, Smalltalk... - сложно мне представить, какими они видятся человеку который ни одного языка программирования еще не знает. |
Автор: k0rvin 13.3.2012, 16:32 | ||
"Объектно-ориентированый" |
Автор: COVD 13.3.2012, 17:52 |
timbat, вы уже спрашивали здесь нечто подобное. Каковы результаты? Преподавайте новичкам - узнаете проблемы из первых рук. |
Автор: Mirkes 15.3.2012, 16:55 |
С моей точки зрения нужно разделить две аудитории 1. Программисты работавшие на других языках и переходящие на Java 2. Начинающие. С первыми наверное проще - им надо по большей части указывать на отличия. Вторых нужно учить с нуля. Я переходил с Delphi. Первый готовый продукт выдал через неделю. Однако до Delphi писал еще на нескольких языках. Для меня самым непрятным моментом явилось отсутствие возможности передавать аргументы в методы по ссылке в смысле Delphi и С. Некоторые сложности были с чисто объектной моделью. Неприятно поразил стиль документации к Java - просто раньше привык к другому. |