Перехожу на ООП. Проследите ход рассужений при его использовании

Solid

Drosera anglica
Нужно ли человеку изучать дополнительный материал (ввиде Java или C++), если он будет программировать только на PHP (и не более того)?
 

Андрейка

Senior pomidor developer
Но я занимаюсь разработкой сайтов на PHP, и мне интересно полностью использовать ОО-возможности именно этого языка
зачем оно тебе? )
 

StUV

Rotaredom
Первый раз слышу, что возможность перегрузить оператор '+'
ну да... прочитали книжку по с++ и поняли, что перегрузка операций это "оператор +"
флаг в руки
говорить не о чем

C++ не является ООЯП в полном смысле
по каким критериям ?
если исходить из определений, то и smalltalk может оказаться не ояп
а можно и на фортране 77 фигачить псевдо-оо код

whirlwind давай не будем спорить - это бессмысленно

itprog
такую фигню и на c++ можно сделать
Сам учил ООП на PHP, и ничего, нормально
очень жаль
 

Solid

Drosera anglica
Что ни говори, а ООП в С++ ну как минимум в два раза лучше, если не во все 3. Хотя сравнивать два совершенно разных языка бесполезно. Конечно, с появлением PHP5 объектная модель приобрела более приятную окраску, но всё же не настолько, что бы брать PHP за эталон ООЯП.
 

Vallar_ultra

Любитель выпить :)
ООП вообще-то не столько специфика того или иного языка - сколько сам по себе подход к программированию. Методика другими словами, т.ч. если говорить об изучении этого подхода, то всё-таки я считаю, что лучше это делать на изначально дружественных к ООП языках и средах программирования (C++,C#,Java и пр.), т.к. знаю по себе если начать учить ООП на нетипизированных языках - потом будет очень тяжело понимать все тонкости и прелести подхода ООП.
 

itprog

Cruftsman
тут вообще ответившие ООП юзают? :)
или у вас все ограничивается "класс, метод, объект"?
вот whirlwind показывал что сделал.
 

HraKK

Мудак
Команда форума
itprog
Нет, ты что ... А что такое ООП?

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

Я бы очень сильно сомневался перед тем как выносить такое суждение особенно в адресс StUV и C.


И вообще это оффтопик
 

itprog

Cruftsman
HraKK
"По моему" да.
Вот ты и сомневайся. И C. в топик не отвечал.
ps: может оффтоп в мусорку?
 

StUV

Rotaredom
itprog
ты ж вроде умный чувак
но "блин" ведешь себя как... "остапа понесло" =)

не надо здесь устраивать "базар обиженных людей"
может откроем книжки и станем немного серьезнее? ;)
 

Alexandre

PHPПенсионер
Нужно ли человеку изучать дополнительный материал (ввиде Java или C++), если он будет программировать только на PHP (и не более того)?
Думаю нужно, вся классика по ООП написана на примерах JAVE, ну и С# тоже становится классикой ООП...

Я же говорил - что будет флейм....

РНР, по определению Буча, не ООПешный язык а объектный. Это отностится как к 4 так и к 5й ветке.

Признак "не ООПешности" - отсутствие типизации. В пятой ветке была попытка ввести типизацию, но только на объекты...

Второй признак "не ООПешности", как уже упоминали, - это возможность перегрузки.

"Ни что не раздается с такой щедростью, как советы..."

мое мнение "РНР вполне вменяемый язык, в плане использования ООП"

классическому ООП - надо учиться на примере С++ или Джаба, а полученные знания переносить на PHP.

стоит присмотреться к методологии "шаблоны проектирования" (опять же литература по классическим шаблонам - на Джабе)

Литература
http://www.books.ru/shop/books/147550
http://www.books.ru/shop/books/156126
http://www.books.ru/shop/books/29090
http://www.books.ru/shop/books/30436
http://www.books.ru/shop/books/352130
http://www.books.ru/shop/books/25832
 

whirlwind

TDD infected, paranoid
StUV нет, давай поспорим ;)

http://en.wikipedia.org/wiki/Object-oriented_programming_language

Там прекрасно видно C++, но так же написано что он не является "pure" ООЯП. Это значит, что если обучающийся захочет, он напишет процедурно (типа статических методов) и будет считать что это ООП.
 

nerezus

Вселенский отказник
А мне вот интересно, почему Ruby полностью ООП, а Python - не полностью, хотя по описанию оттуда же(because everything in them is treated consistently as an object) он является pure =)
 

whirlwind

TDD infected, paranoid
ХЗ, потому что Everything in Java is written inside a class, including stand-alone programs.
 

Alexandre

PHPПенсионер
whirlwind "сколько людей - столько и мнений" а так же "в споре рождается истина"
wikipedia - написана такими же "умниками" как мы с тобой, и ее может заполнить каждый (и каждый может выкинуть твой пост в карзину). По этому, в данном вопросе - этот ресурс не показатель.

C++ является классическим ООП языком, по определению Буча.
Разработчик Андерс Хейсберг, идеолог С# , на базе знаний Java & C++ поступил проще, он ввел минимальную единицу класс. Т.е. если в С++ можно написать программу на Си без классов, то в С# ты обязан объявить класс.

Однако на С# можно написать такой код, который будет "отдален" от ООП. А на Си, вполне можно использовать эмуляцию классов.

так что "все в мире относительно"
 
Сверху