|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
казинакqi_ipНедавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование".я тебе один умный вещь скажу, но только ты не обижайся.(c) те кто тебе это сказал, просто пукнули в лужу еслиб они конкретно сказали, что это не будет работать, или будет работать плохо, или трудно сопровождать, причем аргументированно, то был бы смысл задуматься над их словами... а типа : "смахивает на процедурное..." - это просто им отбрехаться на митинге надо было Вот мне тоже кажется. Тут либо одно либо другое. Либо ты пишешь класс и создаешь его объект, либо ты пишешь процедуру (т.е. метод) в классе и все действия производишь в нем. А когда кто-то говорит что это "смахивает" на процедурное, то это скорее смахивает на то, что он идиот. Это как быть немножко беременной. Тут либо одно либо другое. "Смахивает" - не прокатит. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 14:08 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
процедурный код отличается от ООП визуально его сразу видно но в яве всё классы, так что даже хз, как там с этим... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 14:43 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухпроцедурный код отличается от ООП визуально его сразу видно но в яве всё классы, так что даже хз, как там с этим... Как Вы его отличаете, если не секрет? Какие параметры смотрите? На что обращаете внимание? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 19:32 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
В объектном программировании каждая процедура снабжается виртуальным параметром. Это указатель на текущий объект. Так называемый this. В ООП языках (C++/C#) этот this поддерживается на уровне языка и компиллятора. Тоесть каждый метод вызывается в КОНТЕКСТЕ текущего объекта. В процедурном программировании ничего подобного нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 20:15 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
процедурное программирование это просто портянка ф-й у тех кто с ООП не знаком, они даже по файлам то раскиданы не будут толком ну а дальше открываем файл, а там: $this-> public/protected/private extends interface/abstract ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 20:24 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
сам стиль кода сильно отличается у новичка и того, кто крупные многопользовательские проекты создавал в коде новичка ничего не понятно - где кто за что отвечает и что происходит в коде спеца разберётся и студент ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 20:25 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonВ объектном программировании каждая процедура снабжается виртуальным параметром. Это указатель на текущий объект. Так называемый this. В ООП языках (C++/C#) этот this поддерживается на уровне языка и компиллятора. Тоесть каждый метод вызывается в КОНТЕКСТЕ текущего объекта. В процедурном программировании ничего подобного нет. Правда в ООП this пишут не часто, разве что в конструкторе да в методе, если названия переменных совпадают, ну да ладно. Он как бы подразумевается, но за счет того, что подразумевается, его как раз и используют не часто. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 20:31 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухсам стиль кода сильно отличается у новичка и того, кто крупные многопользовательские проекты создавал в коде новичка ничего не понятно - где кто за что отвечает и что происходит в коде спеца разберётся и студент значит ли это, что студент это спец? Раз легко разберется. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 20:33 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Кто в топике считает что процедурно == плохо? Большая часть компьютерных игр эпохи 90х написана в процедурном стиле. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 21:33 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньполудухсам стиль кода сильно отличается у новичка и того, кто крупные многопользовательские проекты создавал в коде новичка ничего не понятно - где кто за что отвечает и что происходит в коде спеца разберётся и студент значит ли это, что студент это спец? Раз легко разберется. нет, это значит, что спец это спец, и его легко разобрать maytonКто в топике считает что процедурно == плохо? Большая часть компьютерных игр эпохи 90х написана в процедурном стиле. игры эпохи 90х весьма просты и их намного проще сопровождать, чем нонешние тут весь вопрос в лёгкости сопровождения программы её можно считать написанной буквально сразу, как только запускается а всё остальное время это сопровождение и доработка именно она и занимает всё основное время ООП сильно экономит это время и чем дальше, тем сильнее ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 22:32 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
игры 90х, кстати, на C писали а потом "зачем-то" изобрели ООП С++ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 22:33 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Несколько цитат с хабра Объектно-ориентированная версия «спагетти кода» — это, конечно, «лазанья код» (очень много слоев). — Roberto Waltman Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом. — Alan Kay ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 22:42 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
mayton Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом. — Alan Kay И это правда. его задумка гораздо ближе к акторам, чем к уродцам вроде с++ и java. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 23:02 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Интересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались. Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка? Яблочники есть в топике? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 23:07 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonИнтересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались. Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка? Яблочники есть в топике? swift же ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 23:43 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никуродцам вроде с++ давно он уродцем стал? я бы сказал, что ООП в C++ великолепен лучше чем в ПХП/питоне том же а где же "правильный ООП" по-вашему? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 23:47 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonНесколько цитат с хабра Объектно-ориентированная версия «спагетти кода» — это, конечно, «лазанья код» (очень много слоев). — Roberto Waltman это сетевой-софт-инженер (сокеты пишет, типа), насколько я понял там нет ООП и сказал он, в общем-то, херню, без понимания смысла ООП (упрощение сопровождения) Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом. — Alan Kay после него ООП доработали 38 раз ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 23:50 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonИнтересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались. Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка? Яблочники есть в топике? так они ж пишут софт так, чтобы он тормозил это же их смысл жизни - продавать новые модели "с оптимизированной ОСью" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2019, 23:53 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухmaytonИнтересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались. Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка? Яблочники есть в топике? так они ж пишут софт так, чтобы он тормозил это же их смысл жизни - продавать новые модели "с оптимизированной ОСью" Почитал статейки. Визуально он должен быть в 1.5-2 раза компактнее. Swift Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Objective-C Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Я не думаю что они такие-уж вредители. Всё таки им нужно не завалить свои-же спринты по перформанс-тестингу. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 00:20 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
автордавно он уродцем стал? да с самого рождения, само собой. авторя бы сказал, что ООП в C++ великолепен а алан кей, создатель термина ооп считает немного иначе:) для обьективного сравнения попрошу вас указать ссылки на ваши публикации. до тех пор мнение алана для меня авторитетнее ну и обьясни заодно как в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:) авторлучше чем в ПХП/питоне том же нет ну это просто 5+.а еще лучше чем в жабаскрипте. автора где же "правильный ООП" по-вашему? Я же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная. Я в принциме не принимаю ооп как таковое, потому что оно не имеет под собой никской математической основы, в отличие от любой другой, даже процедурной:) ну а напоследок задача со звездочкой, опиши в чем же суть ооп, и чем эта парадигма отличается от других. Хинты: 1) нужна ли инкапсуляция если состояние не шарится? 2) чем отличается параметрический, adhoc и subtype полиморфизм 3) является ли наследование единственным методом переиспол зования кода? а как насчет prefer composition over inheritance от апологетов ооп:) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 00:37 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
До того как начнется метание навоза на турбину. С++ - это мультипарадигменный язык. Как минимум к ООП можно добавить обобщённое. И можно просто процедурно говно-кодить. Тоесть он поддерживает ООП. Но ООП не является доминирующей фичей. Или определяющей бытие и сознание кодера. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:04 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухmaytonНесколько цитат с хабра пропущено... это сетевой-софт-инженер (сокеты пишет, типа), насколько я понял там нет ООП и сказал он, в общем-то, херню, без понимания смысла ООП (упрощение сопровождения) По аналогии с микросервисами. Помните? Была картинка. Большая какашка. Это типа монолит. И множество мелких какашек. Это типа после миграции монолита в микросервисы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:07 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonДо того как начнется метание навоза на турбину. С++ - это мультипарадигменный язык. Как минимум к ООП можно добавить обобщённое. И можно просто процедурно говно-кодить. Тоесть он поддерживает ООП. Но ООП не является доминирующей фичей. Или определяющей бытие и сознание кодера. ты прав, но я предполагал что сие очевидно, а еще там можно усмотреть элементы фп и dependent types, такой себе комбайн. но главный поинт в том, что надо просто задуматься что такое ооп и есть ли в нем чтото чего нет в других парадигмах? коода ты знаешь один язык или семейство похожих языков, сложро вылезти за их рамки. а стоит немного поразмыслить и оппа. а король то голый. даже муть вроде все есть обьект не катит, по перечисленным выше причинам:) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:10 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonПочитал статейки. Визуально он должен быть в 1.5-2 раза компактнее. мда, так себе лапша... на любителя забыл ника алан кей, создатель термина ооп считает немного иначе:) маловато "создать термин", мягко говоря после этого создания ООП довели до такого состояния, что БЕЗ него большие проекты в 2-5 раз сложнее сопровождать забыл никЯ в принциме не принимаю ооп как таковое, потому что оно не имеет под собой никской математической основы, в отличие от любой другой, даже процедурной:) вы "не туда воюете" ООП не про математику он про упрощение сопровождения кода (а сопровождение кода это гораздо, намного, сильно-сильно дольше, чем создание первой версии. Сопровождение это вся жизнь и развитие проекта) забыл никкак в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:) как в ООП могут быть классы ? серьёзно? прочитайте книжку по ООП плиз, а то людей сбиваете с правильного пути своей критикой на пустом месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:15 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonполудухпропущено... это сетевой-софт-инженер (сокеты пишет, типа), насколько я понял там нет ООП и сказал он, в общем-то, херню, без понимания смысла ООП (упрощение сопровождения) По аналогии с микросервисами. Помните? Была картинка. Большая какашка. Это типа монолит. И множество мелких какашек. Это типа после миграции монолита в микросервисы. и первый же "навоз" полетел от автора монолит разбитый на микросервисы это ок монолит разбитый на файлы это ок монолит разбитый на классы это ок в чём какашка - не понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:18 |
|
|
start [/forum/topic.php?fid=59&msg=39834799&tid=2121208]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
287ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 404ms |
0 / 0 |