LINUX.ORG.RU

Как изучить ООП?

 , ,


4

1

Я уже год изучаю программирование, пишу в основном на Pure C и Perl. Очень нравятся мне эти языки, но при написании кода всегда придерживаюсь процедурного и императивного стиля программирования. Хочется попробовать другую парадигму, вот подумал изучать ООП. Нашел учебники, а в них все примеры на Java или C#. Есть ли учебники по ООП без привязки к конкретному языку программирования?

Что-то я сомневаюсь, что оно тебе нужно: если проблем с отсутствием объектов не возникало, то не нужно за яйца это ООП притягивать! Только хуже будет!

Eddy_Em ☆☆☆☆☆ ()

Какая разница? Тебе ж главное идею понять. Я хорошо понял это дело когда читал про джаву.

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

Что-то я сомневаюсь, что оно тебе нужно: если проблем с отсутствием объектов не возникало, то не нужно за яйца это ООП притягивать! Только хуже будет!

Лорчую - везде тянуть за собой ООП не нужно. Хотя знать его не помешает, на всякий случай.

Zhbert ★★★★★ ()

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

anonymous ()
Ответ на: комментарий от Eddy_Em

Согласен с тобой! Просто хочется ознакомится с этой парадигмой.

vaster ()

А изучать-то особенно ничего и не нужно. ООП ведь и задумывалось как вещь естественная и интуитивно понятная. Можно задержать взгляд на первом попавшемся предмете в комнате, спрость себя, какими свойствами и поведением он обладает — и объект возникает сам собой. При описании на ЯП, конечно вылезут всякие инкапсуляции-наследования-полиморфизмы, но это не беда: тоже быстро осваиваивается. ООП ведь придумали для людей, это вам не туманящая разум бесчеловечная функциональщина.

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

ООП ведь придумали для людей, это вам не туманящая разум бесчеловечная функциональщина.

ВНЕЗАПНО: ФП тоже для людей придумано изначально.

Ну и да, ФП не противоречит ООП, а даже сочетается с ним.

emulek ()

Мейер. Буч.

anonymous ()
Ответ на: комментарий от Eddy_Em

не нужно за яйца это ООП

Два коньяка этому господину. Потребность в ООП должна созреть.

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

везде тянуть за собой ООП не нужно

Я как-то от нефех делать сознательно пилил банальную прогу на ООП. Получилась жуткая галиматья =)

drSchur ★★★ ()

Кстати, дефолтный ООП в Perl ужасен, юзай Moo.

anonymous ()

Ну так изучи один из языков, где ООП родной. Лучше всего Java, конечно же. Когда освоишься, сможешь применять ООП и в Си с Перлом.

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

А изучать-то особенно ничего и не нужно.

Это как раз предпосылка для острого синдрома «нового молотка» и неправильного использования ООП.

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

Как ты свои DSL без ООП реализовывать собираешься? Domain modelling это надстройка над ООП, для весьма узкого частного случая.

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

ООП ведь и задумывалось как вещь естественная и интуитивно понятная.

Арифметика, знаешь, тоже «естественная и интуитивно понятная», а по теории чисел ежегодно сотни диссертаций защищается, и именно в ней наибольшее количество нерешенных «задач тысячелетия».

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

anonymous ()
Ответ на: комментарий от exhu

ооп не нужно,

Деточка, иди отсюда, пиши дальше свои хеллоуорлдики. А тут взрослые дяди собрались, с серьезными задачами, которые без ООП решать нельзя.

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

Согласен. Нужно ведь решать задачу, а не писать следуя ООП чтобы было ООП.

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

Ну, ему же хочется понять новую парадигму, а не научиться клепать бложики на рельсах за 15 минут. Сознание AoMP ему неплохо расширит, а уж дальше он сможет применять своё понимание где захочет.

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

А тут взрослые дяди собрались, с серьезными задачами, которые без ООП решать нельзя.

То-то в интырпрайзе сейчас anemic domain models во все поля.

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

Плюсую, тоже в ООП въехал когда читал книжки по Java

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

И это тоже частный случай ООП.

Ну тогда в фортране-77 тоже частный случай ООП.

ovk48 ★★★ ()

как ни странно

Алгоритмы + Структуры Данных вирта

ну и вообще любой из хороших учебников (начиная с 70ых и по нынешнее время) о АТД(абстрактные типы данных)

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

ну и есть какая то книжка толи от Кена Бека толи от Александера про шаблоны проектирования.

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

толи от создателей викивикивики(реальной первой вики которая была и есть полноценым инструментом кооперативного знания в отличии от той же википедии где бюрократия самодолеющая давно победила) c2.com/wiki Варда Канингхама http://en.wikipedia.org/wiki/Ward_Cunningham

qulinxao ★★☆ ()

Я уже год изучаю программирование, пишу в основном на Pure C и Perl .... всегда придерживаюсь процедурного и императивного стиля программирования. Хочется попробовать другую парадигму

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

тролль|вброс|хрензнаетчто?

zekka ()
Ответ на: комментарий от vonenij

Таки привет! Если речь идёт о выборе между дженериками и классами, которые умеют отправлять/принимать сообщения, то вообще второе, несмотря на возможную бОльшую технологичность первого.

yoghurt ★★★★★ ()

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

anonymous ()

Почему в тексте нет слова «парадигма»? На ЛОР нельзя спрашивать про ООП без этого слова. :)

UPD. Ай, блин! Есть парадигма. Сорри, не заметил. Хороший, годный вопрос! :)

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от yoghurt

Если речь идёт о выборе между дженериками и классами, которые умеют отправлять/принимать сообщения

Ога, про это и спрашивал.

бОльшую технологичность первого.

Ого, как. Я вообще не готов сам ответить на этот вопрос. Потому как дженерики сами first-class objects, зато нет методов класса (class methods)

vonenij ()
Ответ на: комментарий от Zubok

Это как же? Тут столько парадигм на этой странице. Сам поищи

vonenij ()
Ответ на: комментарий от drSchur

Встречаются два еврея:
— Слышал я «Битлз», не понравилось. Картавят, фальшивят... Что людям в них нравится?!
— А где ты их слышал?
— Да мне Мойша напел…

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