|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Приветствую! Подскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования. Недавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование". Где поднатаскаться на ООП? В основном программирую под веб, а теперь хочу изучить еще и Сore. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 00:19 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
qi_ipПриветствую! Подскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования. Недавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование". Где поднатаскаться на ООП? В основном программирую под веб, а теперь хочу изучить еще и Сore. Спасибо! Посмотрите как программируются классические дизайн патерны хороший пример декоратора https://www.baeldung.com/java-decorator-pattern Там важен момент, что вы не изменяя объекта добавляете ему новую функциональность. На самом деле никто особо на практике ООП не пользуется все пользуют дизайн патернами когда подвернется случай ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 02:51 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
qi_ipбольше смахивает на "процедурное программированиени одного класса поди не создал и глобальные переменные? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 08:03 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
PetroNotC Sharpqi_ipбольше смахивает на "процедурное программированиени одного класса поди не создал и глобальные переменные? Как это ни одного класса )))) Много классов, потоки, бины, соединение к БД )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 08:37 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Sergunka , mayton , спасибо буду смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 08:38 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
qi_ip, То есть ты вообще не понял что они имели ввиду конкретно? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:21 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Sergunkaсамом деле никто особо на практике ООП не пользуется+1 В веб проектах процедурное) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:23 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
PetroNotC Sharpqi_ip, То есть ты вообще не понял что они имели ввиду конкретно? Честно сказать, не совсем ))) Под Сore писал не так много, поэтому запостил тут, чтобы уточнить у знающих, в чем разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:36 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Как вариант, может поделитесь ссылками на хорошие опенсорс core проекты (там различные сокет-сервера и прочее), где можно будет код посмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:39 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
qi_ip, Зря ты у них не уточнил. Если много классов и нет глобальных, код неможет быть процедурным. Спагетти может. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 09:41 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
PetroNotC SharpЕсли много классов и нет глобальных, код не может быть процедурным. Спагетти может. Может, если ему нужно расширить поведение метода, он добавляет в него boolean параметры или перегружает его, вместо наследования. Тогда да, без ОПП, хоть и есть классы и потоки. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 10:55 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
pavel_nv, Вместо 6ти перегруженных один с 6тью параметрами - да. Согласен. Но перегрузка это не наследование. Наследование я не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:00 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Нет. Вы просто красавчеки-Нострадамусы. Автор вообще ни слова не сказал про 6 перегруженных а вы уже развиваете идею. Остановитесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:20 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
mayton, Это курилка по теме, а рядом без темы)) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 11:23 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
qi_ipПодскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования. лучшая ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 13:33 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухqi_ipПодскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования. лучшая Спасибо, почитаю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 15:23 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
qi_ipНедавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование".я тебе один умный вещь скажу, но только ты не обижайся.(c) те кто тебе это сказал, просто пукнули в лужу еслиб они конкретно сказали, что это не будет работать, или будет работать плохо, или трудно сопровождать, причем аргументированно, то был бы смысл задуматься над их словами... а типа : "смахивает на процедурное..." - это просто им отбрехаться на митинге надо было ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 17:36 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Обычно, чтоб на ревью с группой "босоногих пацанов" не попасть очередной бла-бла-бла. Делается предварительный рефакторинг кода. Сразу я обычно пишу кирпичом так как надо, чтоб работало уже вчера Перед ревью или обычно перед тестами садишься и разбиваешь кирпич на классы. После чего из классов выносишь интерфейс. Потом смотришь можно ли классы построить более вменяемый образом через наследование и есть ли возможность сделать абстрактные классы. После чего когда уже свыкся с мыслью что все все одно надо переписывать начинаешь думать, а на что это вообще похоже и есть ли здесь какой дизайн патерн который я не усмотрел. Процесс довольно итерационный если ли есть время то сразу начинаю писать тесты... много думать ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 19:38 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
вообще-то фреймворки придумали ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 20:30 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухвообще-то фреймворки придумали Да тут большое подспорье так как уже как бЭ намекают, что в том же спринге подставь аннотацию @Component, @Service, @Repository etc и ты уже вписался ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 20:40 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухвообще-то фреймворки придумалину он на java core замахнулся. Получается это в С++ без Boost и java без фреймворков наверно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 20:42 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
SergunkaСразу я обычно пишу кирпичом так как надо, чтоб работало уже вчера Перед ревью или обычно перед тестами садишься и разбиваешь кирпич на классы. После чего из классов выносишь интерфейс. Потом смотришь можно ли классыя обычно классы ввожу сразу. Смотрю, что мне для получения инфы нужно 10 строк крда впереди написать, ну я умный класс и ввожу сразу. А термин писать кирпичом это как?)) Это сленговое слово?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2019, 20:51 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
PetroNotC Sharpполудухвообще-то фреймворки придумалину он на java core замахнулся. Получается это в С++ без Boost и java без фреймворков наверно. в яве нет фреймворков? они же даже в C++ есть ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2019, 02:52 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудух, В яве больше чем в других ЯП. Как раз получается что в яве тяжелее без них писать. Вот в C++ core замутить ООП элементарно. А в яве сложно так как в основном веб проекты. Тут куча матрешек и ООП выхолащивается. За жизненным циклом классов следить не надо. Инжекция в полный рост. Декларативное программирование тоже губит ООП. Как то так. Процедурщики давно тут)). Пару аннотаций написал и REST готов. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2019, 10:08 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#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 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonДо того как начнется метание навоза на турбину. С++ - это мультипарадигменный язык. Как минимум к ООП можно добавить обобщённое. И можно просто процедурно говно-кодить. Тоесть он поддерживает ООП. Но ООП не является доминирующей фичей. Или определяющей бытие и сознание кодера. C++ вообще-то изобрели как раз для ООП он прям ООП-ориентированный, как никто (иди в жопу, ява) если ООП не нужен, то C ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:18 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никЯ же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная. erlang не ООП ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:21 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Видать ответил на все слова, которые понял из моего текста:) Время позднее, придется ждать ликбеза до завтра. и все же, чтобы не выглядеть таким простофилей как сейчас, потрудись перечитать мой пост и загуглить все непонятные слова. ну и задачку со звездочкой никто не отменял. п.с статические методы и статические классы, раз уж тебе из контекста непонятно:) хотя на досуге можешь заодно подумать чем отличаются классы от обьектов, и необходимы ли первые для имплементации вторых, можно взять для этого яваскрипт ранних версий. и еще, пылкий отважный вьюноша - горящие глаза и шпага в жопе это хорошо, но зачастую приводит к попаданию в такие вот дурацкие ситуации. но в них есть и польза, если начнете читать и думать, то возможно я помогу тебе стать умнее, а вследствие и востребованнее как специалисту ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 01:34 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Возращаясь к теме топика. Возьмите как образец к примеру исходные коды того же Spring https://github.com/spring-projects/spring-security/tree/master/acl/src/main/java/org/springframework/security/acls обычно секьюрити довольно хорошо написано со многими деталями и несколькими уровнями наследования, так же видно граммотное разделение по пакетам. Модели ака интерфейсы отдельно и домейн ака реализация этих интерфейсов так же отдельно в пакете и тд. В общем не стесняйтесь лезть в исходники тем более в яве они все в свободном доступе лежат как молчаливый упрек. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 02:20 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Я про лапшу и лазанью. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 07:31 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухзабыл никЯ же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная. erlang не ООП Ближе к Lisp я-бы сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 11:31 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никну и обьясни заодно как в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:) забыл никну а напоследок задача со звездочкой, опиши в чем же суть ооп, и чем эта парадигма отличается от других. Хинты: 1) нужна ли инкапсуляция если состояние не шарится? 2) чем отличается параметрический, adhoc и subtype полиморфизм 3) является ли наследование единственным методом переиспол зования кода? а как насчет prefer composition over inheritance от апологетов ооп:) Круто. Подкинем дровишек. 0) В ООП могут быть примитивные типы, например int. А пример класса-обертки для этого типа - это Integer. 1) Если состояние не "шарится", то нужна инкапсуляция, потому что иначе нельзя влиять на состояние объекта. Если я правильно отгадал значение слова "шарится". 2) Не вполне понял вопрос. 3) Не является. Ты сам ответил. Есть, например, composition pattern, а есть наследование классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 13:20 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никчем отличаются классы от обьектов, и необходимы ли первые для имплементации вторых Класс это кусок кода в исходнике, а объект это экземпляр класса в памяти, с которым можно производить действия (менять состояние, вызывать методы, передавать куда-то и т.п.). Верно? Только вот, думается, "имплементация", скорей, относится к классу, который implements какой-либо интерфейс. То есть класс и объект не связаны какой-либо имплементацией, а вот класс и интерфейс - связаны. Опять же, зависит от того как понимается слово "имплементация". Если буквально "implements", то это к интерфейсам относится. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 13:27 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудухзабыл никЯ же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная. erlang не ООП Уверен? Dynamic dispatch - Каждый процесс в Эрланге можно рассматривать как объект, который принимает сообщения. Proved Encapsulation - Можно ассоциировать отправку сообщения с вызовом метода. А респонс - как результат выполнения вызова. Proved Subtype polymorphism - Каждый процесс может принимать люые сообщения и реагировать на них определенным образом, unconstrained polymorphism. Proved. object inheritance (or delegation) - Inheritance в классическом смысле не поддерживается, но делегация юез проблем. Open recursion - Поддерживается, через посылку сообщений самому себе. А теперь расскажи почему он не ООП? Потому что Его создатель написал что он функциональный? То есть ты судишь по форме а не содержанию, все правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 13:57 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
полудух забыл ника алан кей, создатель термина ооп считает немного иначе:) маловато "создать термин", мягко говоря после этого создания ООП довели до такого состояния, что БЕЗ него большие проекты в 2-5 раз сложнее сопровождать Пруфы есть? Какие свойства ООП позволяют упростить сопровождение?Особенно в многопоточных приложениях. Мутабельность? Запутывание данных и логики? Наследование, которое ломает инкапсуляцию? Environmental reasoning? Интересует сравнение с ФП или логическим программированием полудухзабыл никЯ в принциме не принимаю ооп как таковое, потому что оно не имеет под собой никской математической основы, в отличие от любой другой, даже процедурной:) вы "не туда воюете" ООП не про математику Ну хоть тут не споришь. Только почему то не понимаешь, что раз так, то это полное говнище. Ты вообще инженер по образованию? полудухон про упрощение сопровождения кода (а сопровождение кода это гораздо, намного, сильно-сильно дольше, чем создание первой версии. Сопровождение это вся жизнь и развитие проекта) Так какие качества\свойства ООП позволяют этого достичь? Где пруфы? Я тебе могу привести десяток причин почему ООП как раз мешает сопровождению полудухзабыл никкак в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:) как в ООП могут быть классы ? серьёзно? прочитайте книжку по ООП плиз, а то людей сбиваете с правильного пути своей критикой на пустом месте. Ну так что, прочитал уже про OOP основанном на prototype? Надо разьяснять? Что насчет статических типов и классов? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:04 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньКруто. Подкинем дровишек. С тобой хоть интересно, видно что открыт для дискуссий. Поехали. Мозговой_слизень0) В ООП могут быть примитивные типы, например int. А пример класса-обертки для этого типа - это Integer. Правильно, а в некоторых языках примитивов нет, есть только объекты, как по фэншую. Так получается все же ООП C++ не совсем такая трушная?:) Тут очень подходит выражение - или крестик сними или трусы одень) Мозговой_слизень1) Если состояние не "шарится", то нужна инкапсуляция, потому что иначе нельзя влиять на состояние объекта. Если я правильно отгадал значение слова "шарится". Смысл в том что обычно апологеты ООП утверждают что ООП стоит на трех китах - инкапсуляция, полиморфизм и наследование, и героически доказывают что это венец программирования. Так вот. Инкапсуляция не нужна если нету мутабельного стейта. Думаешь как можно программировать без мутабельного стейта? Можно, есть множество способов, некоторые ограничвают доступ к мутабельному стейту - actors, STM, другие избегают его вообще - FP.Минус один китенок Мозговой_слизень2) Не вполне понял вопрос. Суть сводится к тому что полиморфизм он разный бывает, и в ООП он самый корявый. Минус второй кит. Мозговой_слизень3) Не является. Ты сам ответил. Есть, например, composition pattern, а есть наследование классов. Правильно, а ты знаешь почему не рекомендуют использовать наследование? Например попробую напиши корректный метод equals для иерархии классов. Ну а потом почитай почему inheritance breaks incapsulation. Ну а делегация есть почти во всех языках, в других это просто не нужно. Минус третий кит. Что же остается в итоге? Вот я и хотел узнать у парня, что же в ООП помогает поддерживать maintainability, и что вообще отличает ООП от других парадигм. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:19 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньзабыл никчем отличаются классы от обьектов, и необходимы ли первые для имплементации вторых Класс это кусок кода в исходнике, а объект это экземпляр класса в памяти, с которым можно производить действия (менять состояние, вызывать методы, передавать куда-то и т.п.). Верно? В общем случае верно. Но есть версии ООП базирующаяся на прототипах а не классах, как пример javascript. Мозговой_слизеньТолько вот, думается, "имплементация", скорей, относится к классу, который implements какой-либо интерфейс. То есть класс и объект не связаны какой-либо имплементацией, а вот класс и интерфейс - связаны. Опять же, зависит от того как понимается слово "имплементация". Если буквально "implements", то это к интерфейсам относится. Ну тут ты совсем не в ту сторону. Я про представление ООП в языке как стратегию. Классы не единственная стратегия ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:23 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никПравильно, а в некоторых языках примитивов нет, есть только объекты, как по фэншую. Так получается все же ООП C++ не совсем такая трушная?:) Тут очень подходит выражение - или крестик сними или трусы одень) за С++ я не могу говорить, я знаю только 2 языка и 1 чуть-чуть. И среди них нет си. забыл никСмысл в том что обычно апологеты ООП утверждают что ООП стоит на трех китах - инкапсуляция, полиморфизм и наследование, и героически доказывают что это венец программирования. Так вот. Инкапсуляция не нужна если нету мутабельного стейта. Думаешь как можно программировать без мутабельного стейта? Можно, есть множество способов, некоторые ограничвают доступ к мутабельному стейту - actors, STM, другие избегают его вообще - FP.Минус один китенок Так ведь мутабельность зависит от класса. Какие-то мутабельные, какие-то нет. Если мутабельный то меняем состояние, если не мутабельный, то получаем состояние, меняем его и записываем в новую ссылку. То есть получаем уже измененный как нам надо объект. Например String не мутабельный. А StringBuilder мутабельный. И это все в одном языке программирования. забыл никСуть сводится к тому что полиморфизм он разный бывает, и в ООП он самый корявый. Минус второй кит. Я это понимаю так, например. У нас есть тип ссылки и в зависимости от него мы можем (или не можем) получить доступ к полю или методу в классе-наследнике. Корявый ли это способ работы или нет - я думаю зависит от сравнения. Смотря с чем сравниваем. забыл никПравильно, а ты знаешь почему не рекомендуют использовать наследование? Например попробую напиши корректный метод equals для иерархии классов. Ну а потом почитай почему inheritance breaks incapsulation. Ну а делегация есть почти во всех языках, в других это просто не нужно. Минус третий кит. Просто переопределяешь метод конкретно для нужного класса и все. Если это приведет к каким-то проблема с классами-наследниками, то в них можно тоже этот метод переопределить. Или конкретно уже разбираться с возникшей проблемой. Просто вот так теоретизируя, сложно понять в чем именно проблема. забыл никЧто же остается в итоге? Вот я и хотел узнать у парня, что же в ООП помогает поддерживать maintainability, и что вообще отличает ООП от других парадигм. Вот лично я думаю, ООП это просто способ программирования. Причем в каждом ЯП он будет чем-то отличаться. Это не значит то это логичный, простой и понятный способ. Скорее даже сложный и порой нелогичный. Просто это правила, по которым язык работает. Так сделали разработчики. Точно так же как любой язык - китайский или английский не обязаны быть логичными и поняными. Просто так пошло издавна. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:42 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никВ общем случае верно. Но есть версии ООП базирующаяся на прототипах а не классах, как пример javascript. А я вот что думаю. Если за язык не платят или на нем сложно найти работу, то это плохой язык. И не важно как красиво он написан. Я считаю, язык не имеет права на существование если он не дает разработчику нормально зарабатывать. Вот что сейчас происходит с битриксом например. Вводятся новые классы, новые методы разработки, новые правила. А облегчило ли это жизнь разрабам? Нет, только усложнило потому что нужно переучиваться за ту же зарплату. И только в страшном сне я задумаюсь об условно "прототипах а не классах" в битриксе, потому что я понимаю что это грабеж моей жизненной энергии. Вот и все. Поэтому я лучше уйду в другой более некрасивый язык, но востребованный, чем буду изучать красоту и мудрость создателей какого-то нового языка или фреймворка. Это уже конечно не относится к программированию, но показывает предел рациональности изучения и поклонения какой-либо технологии. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:49 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньВот лично я думаю, ООП это просто способ программирования. Это вид и уровень абстракции, чтобы пользователь пардон программист оперировал понятными ему абстрактными понятиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 14:54 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
iOracleDevМозговой_слизеньВот лично я думаю, ООП это просто способ программирования. Это вид и уровень абстракции, чтобы пользователь пардон программист оперировал понятными ему абстрактными понятиями. словоблудие) для неокрепших умов звучит убедительно ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:12 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньТак ведь мутабельность зависит от класса. Какие-то мутабельные, какие-то нет. Если мутабельный то меняем состояние, если не мутабельный, то получаем состояние, меняем его и записываем в новую ссылку. То есть получаем уже измененный как нам надо объект. Например String не мутабельный. А StringBuilder мутабельный. И это все в одном языке программирования. Это в тех языках, которые ты знаешь. Есть языки которые запрещают переприсваивание значения переменной, делая их по факту константами. Если тебе надо что-то поменять, то ты просто создаешь копию на основе существующего объекта. Это сильно упрощает разработку для многопоточных приложений. Вообще оператор присваивания(assignment) приносит в любой язык зависимость понятие времени, для достижения корректности программы нужно следить за порядком операций. Для этого изобретают всякие там JMM и happens-before. Нет мутабельности - нет такой проблемы. Мозговой_слизеньЯ это понимаю так, например. У нас есть тип ссылки и в зависимости от него мы можем (или не можем) получить доступ к полю или методу в классе-наследнике. Корявый ли это способ работы или нет - я думаю зависит от сравнения. Смотря с чем сравниваем. Полиморфизм в общем случае это способность вызвать кастомный код в зависимости от типа объекта. Все. Методы, поля, наследники это все вторично. Полиморфизм бывает разных типов - параметрический(женерики), subtype - тот о котором ты знаешь и ad-hoc(погугли). Так вот, в этом плане polymorphism самый косячный из них. Потому что размазывает код по нескольким классам, и тебе трудно судить о том что будет выполнено только глядя в сам класс. Это также приводит к сложности с тестированием. Ну и в целом, в ФП у тебя есть функция, ее инпут и аутпут, чтобы понять что не так, тебе достаточно прочитать текст функции и пофиксить. в Случае ООП - тебе надо дебажить, смотреть какие операции привели к такому состоянию объекта и тд. Это называется environmental reasoning(опять можешь погуглить) Мозговой_слизеньПросто переопределяешь метод конкретно для нужного класса и все. Если это приведет к каким-то проблема с классами-наследниками, то в них можно тоже этот метод переопределить. Или конкретно уже разбираться с возникшей проблемой. Просто вот так теоретизируя, сложно понять в чем именно проблема. А как же принципы Лисков и сингл респосибилити? Проблема с наследованием как раз в том, что изменения в одном месте могут аффектнуть корректно написанный код в другом классе НЕЯВНО Мозговой_слизеньВот лично я думаю, ООП это просто способ программирования. Причем в каждом ЯП он будет чем-то отличаться. Это не значит то это логичный, простой и понятный способ. В этом и проблема, и большинство проектов сейчас фейлится именно из-за этого, это как строить мост на глаз и по интуиции, без сопромата. Сначала героически придумываем себе проблемы а потом решаем. По сути все дизайн паттерны - это суть попытка исправить корявости ООП. Мозговой_слизеньСкорее даже сложный и порой нелогичный. Просто это правила, по которым язык работает. Так сделали разработчики. Точно так же как любой язык - китайский или английский не обязаны быть логичными и поняными. Просто так пошло издавна. И тебя это устраивает? К тому же не путай чуловеческие языки, зависящие от контекста, от четко структурированных языков программирования, в основе которых математика и логика. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:12 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньзабыл никВ общем случае верно. Но есть версии ООП базирующаяся на прототипах а не классах, как пример javascript. А я вот что думаю. Если за язык не платят или на нем сложно найти работу, то это плохой язык. И не важно как красиво он написан. Я считаю, язык не имеет права на существование если он не дает разработчику нормально зарабатывать. Вот что сейчас происходит с битриксом например. Вводятся новые классы, новые методы разработки, новые правила. А облегчило ли это жизнь разрабам? Нет, только усложнило потому что нужно переучиваться за ту же зарплату. И только в страшном сне я задумаюсь об условно "прототипах а не классах" в битриксе, потому что я понимаю что это грабеж моей жизненной энергии. Вот и все. Поэтому я лучше уйду в другой более некрасивый язык, но востребованный, чем буду изучать красоту и мудрость создателей какого-то нового языка или фреймворка. Это уже конечно не относится к программированию, но показывает предел рациональности изучения и поклонения какой-либо технологии. Ну тут ты прав. ООП знать надо, но если хочешь развиваться надо понимать его слабости и знать алтернативы. Знание только ООП крайне сужает твою перспективу. Вот даже в твоих ответах постоянно сквозит - класс, наследник, поле.. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:14 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
В общем тут уже можно так далеко уйти что не найдешь откуда пришел) Вот лично я согласен с тем, что забыл никразмазывает код по нескольким классам, и тебе трудно судить о том что будет выполнено только глядя в сам класс. Это конечно жопа и моя бы воля, я бы всегда писал процедурно т.к это очень просто и понятно. Ну и вряд ли я соглашусь с тем, что ЯП как-то связан с математикой, увы, будучи троешником по математике, можно быть норм программистом. Арифметика да, но математика, увы, я не нашел общего. В математике есть логика (надеюсь) а в программровании ИМХО ее мало, есть просто правила которые нужно запомнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:35 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никМозговой_слизеньпропущено... А я вот что думаю. Если за язык не платят или на нем сложно найти работу, то это плохой язык. И не важно как красиво он написан. Я считаю, язык не имеет права на существование если он не дает разработчику нормально зарабатывать. Вот что сейчас происходит с битриксом например. Вводятся новые классы, новые методы разработки, новые правила. А облегчило ли это жизнь разрабам? Нет, только усложнило потому что нужно переучиваться за ту же зарплату. И только в страшном сне я задумаюсь об условно "прототипах а не классах" в битриксе, потому что я понимаю что это грабеж моей жизненной энергии. Вот и все. Поэтому я лучше уйду в другой более некрасивый язык, но востребованный, чем буду изучать красоту и мудрость создателей какого-то нового языка или фреймворка. Это уже конечно не относится к программированию, но показывает предел рациональности изучения и поклонения какой-либо технологии. Ну тут ты прав. ООП знать надо, но если хочешь развиваться надо понимать его слабости и знать алтернативы. Знание только ООП крайне сужает твою перспективу. Вот даже в твоих ответах постоянно сквозит - класс, наследник, поле.. а какая альтернатива?) Если пишешь на Java "процедурно", то у тебя не скомпилируется класс. А вот если пишешь на PHP, то пожалуйста. ИМХО логика такая. Смотрим индекс тиобе и зарплаты программистов. Находим лучшее сочетание и начинаем поклоняться этому ЯП. Остальное нерационально. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:38 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньВ математике есть логика (надеюсь) а в программровании ИМХО ее мало, есть просто правила которые нужно запомнить. Ее нет в ООП и только в ООП, о чем я тебе и говорю. Проблема именно в том, что целая индустрия ООП была создана ради того чтобы в профессию могли придти люди чуть ли не с улицы, а что идея то простая, да? Все есть объекты. Освоить логическое программирование или функциональное без математического(технического) бэкграунда уже напорядок сложнее. Да, создание фичи у меня занимает времени больше, в несколько раз больше чем на ООП, но веришь нет, только что чекунл джиру, на меня за год завели 3 бага. Нуллпоинтер я ловил 2 раза - оба прилетали из внещних java-библиотек. И т.д. и т.п. Для бизнема пока все еще выгодно держать толпу ООП манки-кодеров, но из-за распространения многопточности облаков и AI(которым можно будет формализовать рутинное программирование и заменить толпу индусов) маятник уже качнулся имхо. Но тут я могу только водить руками, это лишь мое мнение, я далеко не сейлс и не бизнесмен. Ты просто попробуй изучить другой язык, радикально отличающийся, например хаскелл, эрланг, идрис. Это тебе даст +100 даже при ООП программировании, код в разы улучшится, я тебе гарантирую. Собственно я и сам иногда пишу на Java, но мутаьельную переменную использовал в последний раз год назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:50 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньа какая альтернатива?) Если пишешь на Java "процедурно", то у тебя не скомпилируется класс. А вот если пишешь на PHP, то пожалуйста. ИМХО логика такая. Смотрим индекс тиобе и зарплаты программистов. Находим лучшее сочетание и начинаем поклоняться этому ЯП. Остальное нерационально. А когда java не дай бог умрет, то что делать? Почитай как дельфисты с болью переходили на Java, на этом форуме куча примеров. Никогда не клади все яйца в одну корзину. Да и блин, ну мне лично интересно посоянно узнавать что-то новое, если тебе неинтересно - велик шанс что программирование не про тебя, будем честны. Ну и ты говоришь в основном про масс-маркет, если же говорить о специалистах высокого уровня, то просто НЕОБХОДИМО знать несколько языков\платформ\парадигм чтобы выбрать нужную. И такие спецы это товар штучный, и их не увидишь в индексах тиобе и тд. Можно легко иметь зарплату x2 x3 по рынку от средней, если ты что-то из себя представляешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 15:53 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
парадигмы всего три. чо там учить то. структурная объектная функциональная. с каждой на следующую прыгать канеш тяжело. и мозголомно когда годами пишешь на одном и том же но тем не менее - возможно. я помню как не понимал ООП а потом "зашло", потом помню как не понимал функциональщину (до сих пор заходит, но мне нравится). да и в принципе на этом всё. остальное - декорации. ничего нового не придумали и скорее всего не придумают при нынешнем ходе вещей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 16:20 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никМозговой_слизеньВ математике есть логика (надеюсь) а в программровании ИМХО ее мало, есть просто правила которые нужно запомнить. Ее нет в ООП и только в ООП, о чем я тебе и говорю. Проблема именно в том, что целая индустрия ООП была создана ради того чтобы в профессию могли придти люди чуть ли не с улицы, а что идея то простая, да? Все есть объекты. Освоить логическое программирование или функциональное без математического(технического) бэкграунда уже напорядок сложнее. Да, создание фичи у меня занимает времени больше, в несколько раз больше чем на ООП, но веришь нет, только что чекунл джиру, на меня за год завели 3 бага. Нуллпоинтер я ловил 2 раза - оба прилетали из внещних java-библиотек. И т.д. и т.п. Для бизнема пока все еще выгодно держать толпу ООП манки-кодеров, но из-за распространения многопточности облаков и AI(которым можно будет формализовать рутинное программирование и заменить толпу индусов) маятник уже качнулся имхо. Но тут я могу только водить руками, это лишь мое мнение, я далеко не сейлс и не бизнесмен. Ты просто попробуй изучить другой язык, радикально отличающийся, например хаскелл, эрланг, идрис. Это тебе даст +100 даже при ООП программировании, код в разы улучшится, я тебе гарантирую. Собственно я и сам иногда пишу на Java, но мутаьельную переменную использовал в последний раз год назад. хаскель эрланг идрис (это кто воще? казахский штоле какой то) - это канеш круто. но проблема в том что найти на них работу заметно сложнее чем на джаве. джавой завалено всё. а теперь вот котлин подлезает. имхо, не сильно то лучше джавы в корне и в смысле самой идеи. вот скала да. скала нравится. но тоже - рынок сильно скромнее. хотя много ли надо? насчет затаскивания идей фп в ооп согласен. прям очень согласен и в джаве для этого многое есть. многое устарело до ужаса (сривниваю со скалой) но. зато быстро надежно и предсказуемо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 16:24 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никА когда java не дай бог умрет, то что делать? Почитай как дельфисты с болью переходили на Java, на этом форуме куча примеров. Никогда не клади все яйца в одну корзину. Да и блин, ну мне лично интересно посоянно узнавать что-то новое, если тебе неинтересно - велик шанс что программирование не про тебя, будем честны. Ну и ты говоришь в основном про масс-маркет, если же говорить о специалистах высокого уровня, то просто НЕОБХОДИМО знать несколько языков\платформ\парадигм чтобы выбрать нужную. И такие спецы это товар штучный, и их не увидишь в индексах тиобе и тд. Можно легко иметь зарплату x2 x3 по рынку от средней, если ты что-то из себя представляешь. Назовите условия при которых Java умрет. Просто всё имеет причины ход и следствие и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно техническая революция которая вообще отменит программирование как таковое. Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно быть нечто настолько сильное что похоронит не только Java но и разом целый пласт технологий. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 18:24 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonНазовите условия при которых Java умрет. Просто всё имеет причины ход и следствие и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно техническая революция которая вообще отменит программирование как таковое. Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно быть нечто настолько сильное что похоронит не только Java но и разом целый пласт технологий. В краткой перспективе я говорю о языке Java, не JVM. У нее как раз все прекрасно, а вот насчет Java - все больше и больше команд переключаются на scala\kotlin, нарабатываются коммьюнити и потихоньку накапливается критическая масса, так что рано или поздно новые проекты могут перестать стартовать с java по дефолту. Поддержка она конечно будет очень долго, тут без вариантов ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 18:29 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Kotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема. Там другая jvm и другие задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 18:45 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonзабыл никА когда java не дай бог умрет, то что делать? Почитай как дельфисты с болью переходили на Java, на этом форуме куча примеров. Никогда не клади все яйца в одну корзину. Да и блин, ну мне лично интересно посоянно узнавать что-то новое, если тебе неинтересно - велик шанс что программирование не про тебя, будем честны. Ну и ты говоришь в основном про масс-маркет, если же говорить о специалистах высокого уровня, то просто НЕОБХОДИМО знать несколько языков\платформ\парадигм чтобы выбрать нужную. И такие спецы это товар штучный, и их не увидишь в индексах тиобе и тд. Можно легко иметь зарплату x2 x3 по рынку от средней, если ты что-то из себя представляешь. Назовите условия при которых Java умрет. Просто всё имеет причины ход и следствие и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно техническая революция которая вообще отменит программирование как таковое. Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно быть нечто настолько сильное что похоронит не только Java но и разом целый пласт технологий. я думаю джава не умрет она просто эволюционирует (уже) на те же самые котлин, скала кложур и тп. но положа руку на сердце - джава старА. стара как продукт жизнедеятельности мамонта. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:09 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
С/C++ постарее будет. За Кобол еще можно вспомнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:14 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема. Там другая jvm и другие задачи. котлин форсят и на бэк. вон даже со спрингом подружили. почему не та? котлин нейтив вон вообще под айос проталкивают. какая разница какая жвм язык он и в африке язык. язк делают обязки из фреймворков. если там ок то и на бэк ок. а он действиетльно ок. но мне скала больше по душе :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:16 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
andreykaTкотлин форсят и на бэк. вон даже со спрингом подружили. почему не та?потому что вы без спринга не можете, а андроид прогеры могут ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:32 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никmaytonНазовите условия при которых Java умрет. Просто всё имеет причины ход и следствие и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно техническая революция которая вообще отменит программирование как таковое. Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно быть нечто настолько сильное что похоронит не только Java но и разом целый пласт технологий. В краткой перспективе я говорю о языке Java, не JVM. У нее как раз все прекрасно, а вот насчет Java - все больше и больше команд переключаются на scala\kotlin, нарабатываются коммьюнити и потихоньку накапливается критическая масса, так что рано или поздно новые проекты могут перестать стартовать с java по дефолту. Поддержка она конечно будет очень долго, тут без вариантов Точно так же как когда-то все кипятком писали на тему Zend framework, yii и веб 2.0. И где сейчас эти фреймворки? Посмотрите на взлет php по индексу тиобе, и где сейчас этот php? У нас еще ладно, мы отстали, а посмотрите на кол-во вакансий в штатах. Их кот наплакал. Джаву просто никто не рекламирует. На ней работают и делают деньги. Это примерно как говорить, что команда молодых и энергичных ребят из офиса в гонконге и второго офисе на кипре сейчас выпустить новую ОС и заменит майкрософт. Вообще мне кажется, что подобные мысли свойственны амбициозным и романтичным людям. Они хотят весь мир поменять и думают что вот щас что-то выстрелит вверх. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:32 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Да, и еще мысля. рынок ЯП это первый рынок который появился. Дальше рынок ОС, дальше рынок софта, дальше рынок веб проектов, дальше рынок мобилок. Новая тема может выстрелить на новом рынке. Но не на старом. На старом уже все поделено. Вот появится что-то новое, тогда и новый язык может какой-то появиться как в свое время появился пхп для веба. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:35 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
maytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема. Там другая jvm и другие задачи. Ну в нашей конторе уже есть проекты с бэкэндом на котлин и не андроид, так что... Ну а что касается долгосрочной перспективы, то я считаю что ООП канет в лету, рано или поздно индустрия переключится на формализованное описание задач и кода, содержать толпу бестолковых программистов банально дорого, и большинство интеграций по плечу не сильно навороченному AI. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:48 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никmaytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема. Там другая jvm и другие задачи. Ну в нашей конторе уже есть проекты с бэкэндом на котлин и не андроид, так что... Ну а что касается долгосрочной перспективы, то я считаю что ООП канет в лету, рано или поздно индустрия переключится на формализованное описание задач и кода, содержать толпу бестолковых программистов банально дорого, и большинство интеграций по плечу не сильно навороченному AI. ООП сложнее процедуры. Куда тогда девать толпу говнокодеров не знающих ООП? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 19:49 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
PetroNotC SharpandreykaTкотлин форсят и на бэк. вон даже со спрингом подружили. почему не та?потому что вы без спринга не можете, а андроид прогеры могут я уже на спринге месяцев 8 ничего не писал и не пишу. ты о чем? вы андройдеры варитесь в своем маленьком котелке и к базе коннекты устраиваете в каждой вьюшке и вам норм че один юзер че думать то )) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 21:16 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
PetroNotC SharpandreykaTкотлин форсят и на бэк. вон даже со спрингом подружили. почему не та?потому что вы без спринга не можете, а андроид прогеры могут кстати от котлов есть туториалы как на котлине и спринге писать ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 21:17 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
andreykaT, Я поддержал mayton что котлин не наша тема. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 22:09 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
Мозговой_слизеньзабыл никпропущено... Ну в нашей конторе уже есть проекты с бэкэндом на котлин и не андроид, так что... Ну а что касается долгосрочной перспективы, то я считаю что ООП канет в лету, рано или поздно индустрия переключится на формализованное описание задач и кода, содержать толпу бестолковых программистов банально дорого, и большинство интеграций по плечу не сильно навороченному AI. ООП сложнее процедуры. Куда тогда девать толпу говнокодеров не знающих ООП? К кучерам и таксистам. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 22:31 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никК кучерам и таксистам. Давно пора! ООП - говно! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 22:54 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
ViPRosзабыл никК кучерам и таксистам. Давно пора! ООП - говно!из шарпа аргументы пришли) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2019, 23:07 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
andreykaTmaytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема. Там другая jvm и другие задачи. котлин форсят и на бэк. вон даже со спрингом подружили. почему не та? котлин нейтив вон вообще под айос проталкивают. какая разница какая жвм язык он и в африке язык. язк делают обязки из фреймворков. если там ок то и на бэк ок. а он действиетльно ок. но мне скала больше по душе :) Главное преимущество Java - это максимально близкий и точный маппинг на объекты JVM. Создаёшь class/interface/enum и имеешь сущность которая является единицей информации для classloader/JIT. Грубо говоря - работаешь на Java - работаешь с ассемблером той целевой машины под которую пишется код. Сюда-же относится "разбор полётов". Тоесть разбор стектрейсов с ошибками. В них - сущности языка. В противоположность Scala стектрейс будет содержать скорее всего достаточно сложную прослойку которой нужно дать интерпретацию и понять что где чему соответствовало. Вспомните ORM. За что их ругают? За потерю соответствия. Здесь тоже можно наблюдать подобную картинку. Вот если мы завтра резко переключимся на машину другого типа. Не байткод и не стеко-ориентированную - то тогда я буду первым кто выступит за смену языка. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2019, 11:02 |
|
На счет ООП программирования
|
|||
---|---|---|---|
#18+
забыл никМозговой_слизеньпропущено... ООП сложнее процедуры. Куда тогда девать толпу говнокодеров не знающих ООП? К кучерам и таксистам. Им ничего не грозит. PHP по прежнему существует. В виде готовых коробочных систем. И их дорабатывать и поддерживать кому-то надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2019, 11:05 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2121208]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
104ms |
get tp. blocked users: |
1ms |
others: | 264ms |
total: | 578ms |
0 / 0 |