LINUX.ORG.RU
ФорумTalks

Освоение Java и ООП через Eiffel


0

1

Навеяно и можно сказать в продолжение треда Manhunt

http://www.linux.org.ru/forum/talks/6845941

Доброго времени суток, Общий Разум!

Сразу определюсь с тем, что меня заставило обратиться к тебе. В программировании я полный профан (не считается детское увлечение Бейсиком), с ООП не знаком.

Это, чтобы был понятен мой уровень и причины моих вопросов. Решил освоить Java, приходится вникать в фундаментальные принципы ООП.

Купил/скачал несколько самых известных книг для начинающих. Пытаюсь осваивать. Но во многих руководствах, хоть и заявленных для изучения с нуля, часто материал преподносится всё же, как для людей знакомых с основами. Я не критикую - понимаю, что это лично мои проблемы.

Поэтому пытался найти первое руководство по основам ООП для изучения с нуля, чтобы с наскоку не нахватать поверхностных представлений и не заучить ошибки. Так как переучиваться в мои 36 будет ещё тяжелее и процесс качественного освоения языка затянется.

Наткнулся на учебный материал Бертрана Мейера по его же книге «Почувствуй класс».

http://www.intuit.ru/department/se/mbasepr/0/

Начал изучать, подача информации мне импонирует, но возникли некоторые сомнения в связи с моим малым опытом, описанным выше.

Собственно, помогите решить для себя несколько вопросов: стоит ли изучать ООП по данному руководству, учитывая, что там изучается Eiffel, а не Java?

Я понимаю, что мне, как нубу любая информация будет полезна, но всё же, основываясь на вашем личном опыте, может стоит начать сразу читать книгу Core Java2, а не тратить время на Eiffel?

Или же подача материала по ООП от создателя языка Eiffel принесёт мне сейчас больше пользы в дальнейшем изучении Java?

Но данный обучающий курс уж очень удобен и толково создан именно для самостоятельного изучения ООП.

Привлекло внимание вот это:

http://www.intuit.ru/department/se/mbasepr/0/6.html#sect26

Местного Java-гуру рядом нет и помочь некому. Поэтому обращаюсь к вам за советом.

Хотелось бы увидеть в тереде уважаемых юзверей: JFreeM, stevejobs. eugine_kosenko

С уважением!

★★

Последнее исправление: le_legioner (всего исправлений: 3)

Врядли, есть горы книг по ООП, которые сразу для Java. Eiffel будет болтаться сбоку непонятно зачем.

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

Врядли, есть горы книг по ООП, которые сразу для Java

Core Java2 относится к ним, учитывая мой уровень ( <0 ) ?

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

Там не ООП, там просто техническое всякое кунг-фу. Лучше что-то дургое поискать.

vertexua ★★★★★
()

Тащемта Eiffel считается чуть ли не более тру-ООП языком, чем Ява. Я с ним дела практически не имел, но что скажу, что в целом его объектный подход весьма похож на явовский, хотя имеются различия в терминологии (есть например сущности под названием features, что-то вроде группы методов, как я понял) и структуре (в Eiffel иерархия классов замыкается не только сверху на Object, но и снизу на Any).

Но всё-таки я бы посоветовал не заморачиваться с Eiffel, а начать с http://download.oracle.com/javase/tutorial/java/concepts/index.html Там всё коротко, чётко и тезисно. Разве что только по-английски, но вряд ли это станет проблемой.

И ещё: не исключено, что в тред скоро прибегут странные нервные люди и начнут писать страшное слово CLOS, но вы их лучше не слушайте.

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

И ещё: не исключено, что в тред скоро прибегут странные нервные люди и начнут писать страшное слово CLOS, но вы их лучше не слушайте.

Благодарю. ;)

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

Тащемта Eiffel считается чуть ли не более тру-ООП языком

yoghurt меня не простит, но Eiffel порой считается чуть ли не более тру-ООП языком, чем Smalltalk.

ТСу:
В целом Мейер хорошо пишет, если вы можете прочесть книгу, не привязываясь к языку, читайте.

CLOS — это тоже хорошо, но вам скорее всего не нужно. По крайней мере пока.

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

>Тащемта Eiffel считается чуть ли не более тру-ООП языком

Не знаю, кто чего там считает, но самый тру-ООП язык - это Scala.

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

>ни в сети пока

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

не с Core Java2?

Решил освоить Java, приходится вникать в фундаментальные принципы ООП.



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

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

>Пока сложно... Оставлю на следующий этап изучения.

Это разве сложно? Вот TTFP или TAPL, не говоря уж про CPDT, - сложно.

В этой бумажке очень годный раздел про эволюцию типов в ЯП, про виды полиморфизма, под подтипы.

Кстати, можно почитать «Smalltalk-80: The Language and its Implementation» (Blue Book)

Книжка годна тем, что там не встречается понятие «объектно-ориентированный».

Ну и не забыай, когда будешь учить ООП-гуманитарщину, что вообще-то про все это существует теория. :)

Macil ★★★★★
()

>стоит ли изучать ООП по данному руководству, учитывая, что там изучается Eiffel, а не Java?
я прочитал первую лекцию и содержания всех глав - имхо, это все таки не книга по ООП, а книга по Eiffel. Лекции на тему булевых операторов и условных переходов все таки к ООП отношения не имеют. В принципе, лекции не самые плохие, по джаве и таких нету, но я бы вначале посоветовал изучить с++ на академическом уровне либо работать сразу с джавой.

Или же подача материала по ООП от создателя языка Eiffel принесёт мне сейчас больше пользы в дальнейшем изучении Java?

опять же, нет там толком ООП/ООД

Привлекло внимание вот это:

http://www.intuit.ru/department/se/mbasepr/0/6.html#sect26


в чем-то он прав, но рассчитывает, видимо на совсем тупых студентов. Я думаю, вы вполне можете понять public static void, а так же а = а + 1 или отложить. Концепция обучения «отложить» не так плоха, как он описывает.
В целом, я бы не посоветовал этот цикл лекций начинающему. Лучше вот это http://kostin.ws/java/

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

Лучше вот это http://kostin.ws/java/

Да, этот ресурс у меня уже был в закладках.Изучаю. Ещё понравился сайт Евгения Матюшкина aka Skipy http://skipy.ru

Концепция обучения «отложить» не так плоха, как он описывает.

Немного и он лукавит. Вот тут, к примеру: http://www.intuit.ru/department/se/mbasepr/0/3.html

пишет:

Если вы не совсем понимаете, что все это значит, — это нормально. Мы надеемся, что, если вы перечитаете это введение несколько месяцев спустя, все будет кристально понятно!

Благодарю за советы!

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

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

что конкретно тебе сложно было понять? Проблема-то какбе не раскрыта.

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

если бы ты очень хорошо владел английским, я бы посоветовал «Head First Java» или «Learn Python The Hard Way», а так — хз. Core Java хотя бы русская. Если нет ничего более понятного, чем ман по Эйфелю, начинай с него.

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

Если нет ничего более понятного, чем ман по Эйфелю, начинай с него.

Благодарю.

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

Буду учить.

Проблема-то какбе не раскрыта.

Проблема в том, чтобы читать книгу/руководство/курс и поэтапно понимать, получаемую инфу, а не охреневать от лексикона.

Благодарю за советы!

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

> а не охреневать от лексикона.

в стране, где одну из наиболее популярных серий назвали «Х для профессионалов», т.е. неправильной калькой с английской фразы «professional X»? :)

может статься, что оригинал книжки вполне вменяемый, а упоротый тут только переводчик. Например, в английской версии пишут «add X to Y», а в русской на том же месте — «добавьте к контролу X лиснер Y». Нафига он присобачил тут два левых слова, которые будут объясняться на 100 страниц позже? Импотенция и безблагодатность.

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

>Импотенция и безблагодатность.

А ты пробовал переводить по-серьезному? Нетривиальная, млин, задача. Английский язык позволяет над собой жуткие извращения, особенно режиме «interlang». Чтобы по-нормальному переводить техническую литературу, нужно языковое, техническое и литературное чутье. В противном случае — получится полная хрень. Так что, «не стреляйте в пианиста...»

Но это, конечно, не отменяет того факта, что львиная доля технических переводчиков — ползучие надмозги, издательства жмутся на техническую и литературную редактуру, жмутся на верстку и даже на бумагу.

Именно поэтому я давно уже читаю книжки исключительно на английском.

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

> А ты пробовал переводить по-серьезному?

да.

(правда у меня была база (translation memory) по таким вот «сложным случаям», а гайдлайном на перевод english-only слов было — не переводить их вообще, делать подробное объяснение и оформлять его сноской или примечанием).

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

Значит, вон из профессии. Извини.

а он и так не профессионал.

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

Ну если из программистов гогите, то хоть так...

Шучу. Всё понял.

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