Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Книга по ООП для начинающих 
:(
    Опции темы
timbat
Дата 12.3.2012, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.11.2011

Репутация: нет
Всего: 0



Здравствуйте! 

Я планирую написать небольшую бесплатную книгу по аспектам ООП для начинающих программистов Java и в данный момент собираю пожелания и предложения. 

Скажите пожалуйста, какой аспект или какое понятие для вас является самым трудным при изучении ООП? 

Спасибо
PM MAIL   Вверх
Stolzen
Дата 12.3.2012, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 23
Всего: 48



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


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Skynin
Дата 12.3.2012, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: 6
Всего: 10



Своих проблем уже и не помню.

Переходил с Си, и мне объясняли ООП с низкого уровня:
представь структуру с указателями на функции, первым параметром которых является указатель на эту же структуру, ...., ....,

Но типичные, годами затруднения у начинающих действительно несколько раздражают, и сам думал написать нечто вроде:
Андрей Богатырев. Руководство полного идиота по программированию (на языке Си)
только не с таким обидным названием.

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

Интерфейсы и абстрактные классы да, вызывают затруднения.
Еще - непонимание собственно что такое переменная, что такое ссылка, что такое объект, и чем он "отличается" от ссылки на него.

Цитата

особенно у тех, кто раньше программировал на процедурных языках

Как уже сказал, я сам переходил с процедурного языка. Но, сколько ни пытался объяснить как мне объясняли, ощущение - а они не поняли и как процедурное программирование устроено, как оно работает.

Но что мне кажется точно неверным в обучении ООП, так это:
вот есть фрукт. А вот есть яблоки, груши, ...

Хотя, просто меня не так учили smile
А когда я понял как оно устроено в ООП, то и яблоки с фруктами уже не вызывали особых затруднений.

Книга же которая устранит эти муки начинающих нужна.
Но вот как ее писать... как А. Богатырев что-ли

P.S.
И какой язык брать за основу, для псевдокода.
Например если Python, то там как раз все устройство ООП видно, ты в него прям "по Сишному" можешь вмешаться в рантайме.
Если "Java" - то опять же, дайте мне вменяемого сишника - да там объяснять то пару часов от силы, и можно приступать к примерам в виде паттернов ООП.

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

Это сообщение отредактировал(а) Skynin - 12.3.2012, 22:02
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
k0rvin
Дата 13.3.2012, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(timbat @ 12.3.2012,  20:15)
какое понятие для вас является самым трудным при изучении ООП?

"Объектно-ориентированый"


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
COVD
Дата 13.3.2012, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



timbat, вы уже спрашивали здесь нечто подобное. Каковы результаты? Преподавайте новичкам - узнаете проблемы из первых рук.
PM MAIL   Вверх
Mirkes
Дата 15.3.2012, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 7
Всего: 17



С моей точки зрения нужно разделить две аудитории
1. Программисты работавшие на других языках и переходящие на Java
2. Начинающие.

С первыми наверное проще - им надо по большей части указывать на отличия.
Вторых нужно учить с нуля.

Я переходил с Delphi.
Первый готовый продукт выдал через неделю. 
Однако до Delphi  писал еще на нескольких языках.

Для меня самым непрятным моментом явилось отсутствие возможности передавать аргументы в методы по ссылке в смысле Delphi  и С.
Некоторые сложности были с чисто объектной моделью.
Неприятно поразил стиль документации к Java - просто раньше привык к другому.


--------------------
Mirkes
PM MAIL   Вверх
Pawl
Дата 18.3.2012, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 7
Всего: 28



Цитата(Mirkes @  15.3.2012,  16:55 Найти цитируемый пост)
Неприятно поразил стиль документации к Java - просто раньше привык к другому.

Прикольно! А вот я изначально привык к документации "по-джавовски", и теперь другие стили выглядят для меня довольно дико smile. Тем более, сталкиваюсь с документацией по другим языкам редко, но уж если столкнусь - то всегда как в первый раз! smile 


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.