powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / На счет ООП программирования
93 сообщений из 93, показаны все 4 страниц
На счет ООП программирования
    #39834127
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
Подскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования.
Недавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование". Где поднатаскаться на ООП? В основном программирую под веб, а теперь хочу изучить еще и Сore.
Спасибо!
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834129
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подпишись на https://javarush.ru

Там было несколько курсов по ООП.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834136
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipПриветствую!
Подскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования.
Недавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование". Где поднатаскаться на ООП? В основном программирую под веб, а теперь хочу изучить еще и Сore.
Спасибо!

Посмотрите как программируются классические дизайн патерны хороший пример декоратора
https://www.baeldung.com/java-decorator-pattern

Там важен момент, что вы не изменяя объекта добавляете ему новую функциональность.

На самом деле никто особо на практике ООП не пользуется все пользуют дизайн патернами когда подвернется случай
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834150
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipбольше смахивает на "процедурное программированиени одного класса поди не создал и глобальные переменные?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834155
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharpqi_ipбольше смахивает на "процедурное программированиени одного класса поди не создал и глобальные переменные?
Как это ни одного класса )))) Много классов, потоки, бины, соединение к БД ))))
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834157
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergunka , mayton , спасибо буду смотреть.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834167
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,
То есть ты вообще не понял что они имели ввиду конкретно?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834170
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunkaсамом деле никто особо на практике ООП не пользуется+1
В веб проектах процедурное)
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834177
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharpqi_ip,
То есть ты вообще не понял что они имели ввиду конкретно?
Честно сказать, не совсем ))) Под Сore писал не так много, поэтому запостил тут, чтобы уточнить у знающих, в чем разница.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834178
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как вариант, может поделитесь ссылками на хорошие опенсорс core проекты (там различные сокет-сервера и прочее), где можно будет код посмотреть
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834181
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,
Зря ты у них не уточнил.
Если много классов и нет глобальных, код неможет быть процедурным. Спагетти может.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834239
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpЕсли много классов и нет глобальных, код не может быть процедурным. Спагетти может.

Может, если ему нужно расширить поведение метода, он добавляет в него boolean параметры или перегружает его, вместо наследования. Тогда да, без ОПП, хоть и есть классы и потоки.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834245
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavel_nv,
Вместо 6ти перегруженных один с 6тью параметрами - да. Согласен. Но перегрузка это не наследование. Наследование я не понял.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834256
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Вы просто красавчеки-Нострадамусы. Автор вообще ни слова не сказал про 6 перегруженных а вы
уже развиваете идею.

Остановитесь.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834259
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Это курилка по теме, а рядом без темы))
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834358
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipПодскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования.
лучшая
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834399
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудухqi_ipПодскажите, пожалуйста, ресурсы/книги/доки, чтобы начать полноценно программировать в ключе ООП программирования.
лучшая
Спасибо, почитаю
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834463
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ipНедавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование".я тебе один умный вещь скажу, но только ты не обижайся.(c)
те кто тебе это сказал, просто пукнули в лужу
еслиб они конкретно сказали, что это не будет работать, или будет работать плохо, или трудно сопровождать, причем аргументированно, то был бы смысл задуматься над их словами...
а типа : "смахивает на процедурное..." - это просто им отбрехаться на митинге надо было
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834490
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно, чтоб на ревью с группой "босоногих пацанов" не попасть очередной бла-бла-бла. Делается предварительный рефакторинг кода.

Сразу я обычно пишу кирпичом так как надо, чтоб работало уже вчера

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

Процесс довольно итерационный если ли есть время то сразу начинаю писать тесты... много думать
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834494
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще-то фреймворки придумали
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834496
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухвообще-то фреймворки придумали

Да тут большое подспорье так как уже как бЭ намекают, что в том же спринге подставь аннотацию @Component, @Service, @Repository etc и ты уже вписался
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834497
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухвообще-то фреймворки придумалину он на java core замахнулся. Получается это в С++ без Boost и java без фреймворков наверно.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834498
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergunkaСразу я обычно пишу кирпичом так как надо, чтоб работало уже вчера


Перед ревью или обычно перед тестами садишься и разбиваешь кирпич на классы. После чего из классов выносишь интерфейс. Потом смотришь можно ли классыя обычно классы ввожу сразу.
Смотрю, что мне для получения инфы нужно 10 строк крда впереди написать, ну я умный класс и ввожу сразу.
А термин писать кирпичом это как?)) Это сленговое слово?)))
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834536
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharpполудухвообще-то фреймворки придумалину он на java core замахнулся. Получается это в С++ без Boost и java без фреймворков наверно.
в яве нет фреймворков?
они же даже в C++ есть
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834554
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
В яве больше чем в других ЯП. Как раз получается что в яве тяжелее без них писать.
Вот в C++ core замутить ООП элементарно. А в яве сложно так как в основном веб проекты. Тут куча матрешек и ООП выхолащивается. За жизненным циклом классов следить не надо. Инжекция в полный рост. Декларативное программирование тоже губит ООП.
Как то так. Процедурщики давно тут)).
Пару аннотаций написал и REST готов.
))
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834714
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакqi_ipНедавно делали код ревью, сказали, что код работает, но больше смахивает на "процедурное программирование".я тебе один умный вещь скажу, но только ты не обижайся.(c)
те кто тебе это сказал, просто пукнули в лужу
еслиб они конкретно сказали, что это не будет работать, или будет работать плохо, или трудно сопровождать, причем аргументированно, то был бы смысл задуматься над их словами...
а типа : "смахивает на процедурное..." - это просто им отбрехаться на митинге надо было

Вот мне тоже кажется. Тут либо одно либо другое. Либо ты пишешь класс и создаешь его объект, либо ты пишешь процедуру (т.е. метод) в классе и все действия производишь в нем.
А когда кто-то говорит что это "смахивает" на процедурное, то это скорее смахивает на то, что он идиот. Это как быть немножко беременной. Тут либо одно либо другое. "Смахивает" - не прокатит.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834717
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
процедурный код отличается от ООП визуально
его сразу видно
но в яве всё классы, так что даже хз, как там с этим...
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834770
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудухпроцедурный код отличается от ООП визуально
его сразу видно
но в яве всё классы, так что даже хз, как там с этим...
Как Вы его отличаете, если не секрет? Какие параметры смотрите? На что обращаете внимание?
Спасибо!
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834774
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В объектном программировании каждая процедура снабжается виртуальным параметром.
Это указатель на текущий объект. Так называемый this. В ООП языках (C++/C#) этот this
поддерживается на уровне языка и компиллятора. Тоесть каждый метод вызывается
в КОНТЕКСТЕ текущего объекта.

В процедурном программировании ничего подобного нет.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834777
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
процедурное программирование это просто портянка ф-й
у тех кто с ООП не знаком, они даже по файлам то раскиданы не будут толком
ну а дальше открываем файл, а там:
$this->
public/protected/private
extends
interface/abstract
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834778
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам стиль кода сильно отличается у новичка и того, кто крупные многопользовательские проекты создавал
в коде новичка ничего не понятно - где кто за что отвечает и что происходит
в коде спеца разберётся и студент
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834779
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВ объектном программировании каждая процедура снабжается виртуальным параметром.
Это указатель на текущий объект. Так называемый this. В ООП языках (C++/C#) этот this
поддерживается на уровне языка и компиллятора. Тоесть каждый метод вызывается
в КОНТЕКСТЕ текущего объекта.

В процедурном программировании ничего подобного нет.

Правда в ООП this пишут не часто, разве что в конструкторе да в методе, если названия переменных совпадают, ну да ладно. Он как бы подразумевается, но за счет того, что подразумевается, его как раз и используют не часто.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834780
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухсам стиль кода сильно отличается у новичка и того, кто крупные многопользовательские проекты создавал
в коде новичка ничего не понятно - где кто за что отвечает и что происходит
в коде спеца разберётся и студент

значит ли это, что студент это спец? Раз легко разберется.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834785
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто в топике считает что процедурно == плохо?

Большая часть компьютерных игр эпохи 90х написана в процедурном стиле.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834792
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньполудухсам стиль кода сильно отличается у новичка и того, кто крупные многопользовательские проекты создавал
в коде новичка ничего не понятно - где кто за что отвечает и что происходит
в коде спеца разберётся и студент

значит ли это, что студент это спец? Раз легко разберется.
нет, это значит, что спец это спец, и его легко разобрать
maytonКто в топике считает что процедурно == плохо?

Большая часть компьютерных игр эпохи 90х написана в процедурном стиле.
игры эпохи 90х весьма просты и их намного проще сопровождать, чем нонешние
тут весь вопрос в лёгкости сопровождения программы
её можно считать написанной буквально сразу, как только запускается
а всё остальное время это сопровождение и доработка
именно она и занимает всё основное время
ООП сильно экономит это время
и чем дальше, тем сильнее
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834793
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
игры 90х, кстати, на C писали
а потом "зачем-то" изобрели ООП С++
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834794
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько цитат с хабра
Объектно-ориентированная версия «спагетти кода» — это, конечно, «лазанья код» (очень много слоев).

— Roberto Waltman

Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом.

— Alan Kay
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834799
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом.

— Alan Kay
И это правда. его задумка гораздо ближе к акторам, чем к уродцам вроде с++ и java.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834800
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались.
Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка?

Яблочники есть в топике?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834812
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИнтересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались.
Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка?

Яблочники есть в топике?
swift же
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834815
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никуродцам вроде с++
давно он уродцем стал?
я бы сказал, что ООП в C++ великолепен
лучше чем в ПХП/питоне том же
а где же "правильный ООП" по-вашему?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834817
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНесколько цитат с хабра
Объектно-ориентированная версия «спагетти кода» — это, конечно, «лазанья код» (очень много слоев).

— Roberto Waltman
это сетевой-софт-инженер (сокеты пишет, типа), насколько я понял
там нет ООП
и сказал он, в общем-то, херню, без понимания смысла ООП (упрощение сопровождения)

Я изобрел понятие «объектно-ориентированный», но могу заявить, что не имел в виду C++ при этом.

— Alan Kay
после него ООП доработали 38 раз
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834819
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИнтересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались.
Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка?

Яблочники есть в топике?
так они ж пишут софт так, чтобы он тормозил
это же их смысл жизни - продавать новые модели "с оптимизированной ОСью"
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834824
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухmaytonИнтересно на чём щас пишут яблочники? Вроде как они от Objective-C отказались.
Видимо были причины. Неудобство там? Моральное старение? Просто требования рынка?

Яблочники есть в топике?
так они ж пишут софт так, чтобы он тормозил
это же их смысл жизни - продавать новые модели "с оптимизированной ОСью"
Почитал статейки. Визуально он должен быть в 1.5-2 раза компактнее.

Swift
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class MyClass {
    var a: Int
    var b: String
    init(a: Int, b: String) {
        self.a = a
        self.b = b
    }
}

var mc = MyClass(a: 2, b: "string"



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.
//Myclass.h
#import <Foundation.h>
@interface MyClass: NSObject
- (id) initWithA: (int)a andB: (NSString *)b;
@end

//Myclass.m
#import "MyClass.h"
@interface MyClass()
	@property (assign, nonatomic) int a;
	@property (strong, nonatomic) NSString *b;
@end
@implementation MyClass
	@synthesize a;
	@synthesize b;
	- (id) initWithA: (int)a andB: (NSString *)b {
		self = [super init];
		if (self) {
			_a = a;
			_b = b;
		}
		return self;
	}
@end

MyClass *mc = [[MyClass alloc] initWithA: 2 andB @"string"];


Я не думаю что они такие-уж вредители. Всё таки им нужно не завалить
свои-же спринты по перформанс-тестингу.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834825
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордавно он уродцем стал?
да с самого рождения, само собой.

авторя бы сказал, что ООП в C++ великолепен
а алан кей, создатель термина ооп считает немного иначе:) для обьективного сравнения попрошу вас указать ссылки на ваши публикации. до тех пор мнение алана для меня авторитетнее
ну и обьясни заодно как в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:)
авторлучше чем в ПХП/питоне том же

нет ну это просто 5+.а еще лучше чем в жабаскрипте.

автора где же "правильный ООП" по-вашему?
Я же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная.

Я в принциме не принимаю ооп как таковое, потому что оно не имеет под собой никской математической основы, в отличие от любой другой, даже процедурной:)
ну а напоследок задача со звездочкой, опиши в чем же суть ооп, и чем эта парадигма отличается от других. Хинты:
1) нужна ли инкапсуляция если состояние не шарится?
2) чем отличается параметрический, adhoc и subtype полиморфизм
3) является ли наследование единственным методом переиспол зования кода? а как насчет prefer composition over inheritance от апологетов ооп:)
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834828
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До того как начнется метание навоза на турбину.

С++ - это мультипарадигменный язык. Как минимум к ООП можно добавить обобщённое.
И можно просто процедурно говно-кодить.

Тоесть он поддерживает ООП. Но ООП не является доминирующей фичей. Или определяющей
бытие и сознание кодера.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834830
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухmaytonНесколько цитат с хабра
пропущено...

это сетевой-софт-инженер (сокеты пишет, типа), насколько я понял
там нет ООП
и сказал он, в общем-то, херню, без понимания смысла ООП (упрощение сопровождения)

По аналогии с микросервисами. Помните? Была картинка. Большая какашка. Это типа монолит.
И множество мелких какашек. Это типа после миграции монолита в микросервисы.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834831
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДо того как начнется метание навоза на турбину.

С++ - это мультипарадигменный язык. Как минимум к ООП можно добавить обобщённое.
И можно просто процедурно говно-кодить.

Тоесть он поддерживает ООП. Но ООП не является доминирующей фичей. Или определяющей
бытие и сознание кодера.
ты прав, но я предполагал что сие очевидно, а еще там можно усмотреть элементы фп и dependent types, такой себе комбайн.
но главный поинт в том, что надо просто задуматься что такое ооп и есть ли в нем чтото чего нет в других парадигмах? коода ты знаешь один язык или семейство похожих языков, сложро вылезти за их рамки. а стоит немного поразмыслить и оппа. а король то голый. даже муть вроде все есть обьект не катит, по перечисленным выше причинам:)
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834833
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПочитал статейки. Визуально он должен быть в 1.5-2 раза компактнее.
мда, так себе лапша... на любителя

забыл ника алан кей, создатель термина ооп считает немного иначе:)
маловато "создать термин", мягко говоря

после этого создания ООП довели до такого состояния, что БЕЗ него большие проекты в 2-5 раз сложнее сопровождать
забыл никЯ в принциме не принимаю ооп как таковое, потому что оно не имеет под собой никской математической основы, в отличие от любой другой, даже процедурной:)
вы "не туда воюете"

ООП не про математику
он про упрощение сопровождения кода (а сопровождение кода это гораздо, намного, сильно-сильно дольше, чем создание первой версии. Сопровождение это вся жизнь и развитие проекта)
забыл никкак в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:)
как в ООП могут быть классы ? серьёзно?
прочитайте книжку по ООП плиз, а то людей сбиваете с правильного пути своей критикой на пустом месте.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834834
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonполудухпропущено...

это сетевой-софт-инженер (сокеты пишет, типа), насколько я понял
там нет ООП
и сказал он, в общем-то, херню, без понимания смысла ООП (упрощение сопровождения)

По аналогии с микросервисами. Помните? Была картинка. Большая какашка. Это типа монолит.
И множество мелких какашек. Это типа после миграции монолита в микросервисы.
и первый же "навоз" полетел от автора

монолит разбитый на микросервисы это ок
монолит разбитый на файлы это ок
монолит разбитый на классы это ок
в чём какашка - не понял...
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834835
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДо того как начнется метание навоза на турбину.

С++ - это мультипарадигменный язык. Как минимум к ООП можно добавить обобщённое.
И можно просто процедурно говно-кодить.

Тоесть он поддерживает ООП. Но ООП не является доминирующей фичей. Или определяющей
бытие и сознание кодера.
C++ вообще-то изобрели как раз для ООП
он прям ООП-ориентированный, как никто (иди в жопу, ява)
если ООП не нужен, то C
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834836
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никЯ же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная.
erlang не ООП
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834837
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видать ответил на все слова, которые понял из моего текста:) Время позднее, придется ждать ликбеза до завтра. и все же, чтобы не выглядеть таким простофилей как сейчас, потрудись перечитать мой пост и загуглить все непонятные слова. ну и задачку со звездочкой никто не отменял.
п.с статические методы и статические классы, раз уж тебе из контекста непонятно:) хотя на досуге можешь заодно подумать чем отличаются классы от обьектов, и необходимы ли первые для имплементации вторых, можно взять для этого яваскрипт ранних версий.
и еще, пылкий отважный вьюноша - горящие глаза и шпага в жопе это хорошо, но зачастую приводит к попаданию в такие вот дурацкие ситуации. но в них есть и польза, если начнете читать и думать, то возможно я помогу тебе стать умнее, а вследствие и востребованнее как специалисту
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834841
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возращаясь к теме топика. Возьмите как образец к примеру исходные коды того же Spring

https://github.com/spring-projects/spring-security/tree/master/acl/src/main/java/org/springframework/security/acls

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

В общем не стесняйтесь лезть в исходники тем более в яве они все в свободном доступе лежат как молчаливый упрек.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834848
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я про лапшу и лазанью.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834912
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухзабыл никЯ же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная.
erlang не ООП

Ближе к Lisp я-бы сказал.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834955
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никну и обьясни заодно как в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:)


забыл никну а напоследок задача со звездочкой, опиши в чем же суть ооп, и чем эта парадигма отличается от других. Хинты:
1) нужна ли инкапсуляция если состояние не шарится?
2) чем отличается параметрический, adhoc и subtype полиморфизм
3) является ли наследование единственным методом переиспол зования кода? а как насчет prefer composition over inheritance от апологетов ооп:)

Круто. Подкинем дровишек.

0) В ООП могут быть примитивные типы, например int. А пример класса-обертки для этого типа - это Integer.
1) Если состояние не "шарится", то нужна инкапсуляция, потому что иначе нельзя влиять на состояние объекта. Если я правильно отгадал значение слова "шарится".
2) Не вполне понял вопрос.
3) Не является. Ты сам ответил. Есть, например, composition pattern, а есть наследование классов.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834958
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никчем отличаются классы от обьектов, и необходимы ли первые для имплементации вторых
Класс это кусок кода в исходнике, а объект это экземпляр класса в памяти, с которым можно производить действия (менять состояние, вызывать методы, передавать куда-то и т.п.). Верно?
Только вот, думается, "имплементация", скорей, относится к классу, который implements какой-либо интерфейс. То есть класс и объект не связаны какой-либо имплементацией, а вот класс и интерфейс - связаны. Опять же, зависит от того как понимается слово "имплементация". Если буквально "implements", то это к интерфейсам относится.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834970
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухзабыл никЯ же написал, что ближе всего подходит модель акторов, а следовательно erlang/scala. хотя последняя мультипарадигменная.
erlang не ООП

Уверен?
Dynamic dispatch - Каждый процесс в Эрланге можно рассматривать как объект, который принимает сообщения. Proved
Encapsulation - Можно ассоциировать отправку сообщения с вызовом метода. А респонс - как результат выполнения вызова. Proved
Subtype polymorphism - Каждый процесс может принимать люые сообщения и реагировать на них определенным образом, unconstrained polymorphism. Proved.
object inheritance (or delegation) - Inheritance в классическом смысле не поддерживается, но делегация юез проблем.
Open recursion - Поддерживается, через посылку сообщений самому себе.

А теперь расскажи почему он не ООП? Потому что Его создатель написал что он функциональный? То есть ты судишь по форме а не содержанию, все правильно?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834974
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
забыл ника алан кей, создатель термина ооп считает немного иначе:)
маловато "создать термин", мягко говоря

после этого создания ООП довели до такого состояния, что БЕЗ него большие проекты в 2-5 раз сложнее сопровождать
Пруфы есть? Какие свойства ООП позволяют упростить сопровождение?Особенно в многопоточных приложениях. Мутабельность? Запутывание данных и логики? Наследование, которое ломает инкапсуляцию? Environmental reasoning? Интересует сравнение с ФП или логическим программированием

полудухзабыл никЯ в принциме не принимаю ооп как таковое, потому что оно не имеет под собой никской математической основы, в отличие от любой другой, даже процедурной:)
вы "не туда воюете"

ООП не про математику
Ну хоть тут не споришь. Только почему то не понимаешь, что раз так, то это полное говнище. Ты вообще инженер по образованию?
полудухон про упрощение сопровождения кода (а сопровождение кода это гораздо, намного, сильно-сильно дольше, чем создание первой версии. Сопровождение это вся жизнь и развитие проекта)
Так какие качества\свойства ООП позволяют этого достичь? Где пруфы? Я тебе могу привести десяток причин почему ООП как раз мешает сопровождению
полудухзабыл никкак в обьектноориентированном языке могут быть примитивные типы, статические методы и классы:)
как в ООП могут быть классы ? серьёзно?
прочитайте книжку по ООП плиз, а то людей сбиваете с правильного пути своей критикой на пустом месте.
Ну так что, прочитал уже про OOP основанном на prototype? Надо разьяснять? Что насчет статических типов и классов?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834978
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньКруто. Подкинем дровишек.
С тобой хоть интересно, видно что открыт для дискуссий. Поехали.


Мозговой_слизень0) В ООП могут быть примитивные типы, например int. А пример класса-обертки для этого типа - это Integer.
Правильно, а в некоторых языках примитивов нет, есть только объекты, как по фэншую. Так получается все же ООП C++ не совсем такая трушная?:) Тут очень подходит выражение - или крестик сними или трусы одень)

Мозговой_слизень1) Если состояние не "шарится", то нужна инкапсуляция, потому что иначе нельзя влиять на состояние объекта. Если я правильно отгадал значение слова "шарится".
Смысл в том что обычно апологеты ООП утверждают что ООП стоит на трех китах - инкапсуляция, полиморфизм и наследование, и героически доказывают что это венец программирования. Так вот. Инкапсуляция не нужна если нету мутабельного стейта. Думаешь как можно программировать без мутабельного стейта? Можно, есть множество способов, некоторые ограничвают доступ к мутабельному стейту - actors, STM, другие избегают его вообще - FP.Минус один китенок
Мозговой_слизень2) Не вполне понял вопрос.
Суть сводится к тому что полиморфизм он разный бывает, и в ООП он самый корявый. Минус второй кит.

Мозговой_слизень3) Не является. Ты сам ответил. Есть, например, composition pattern, а есть наследование классов.
Правильно, а ты знаешь почему не рекомендуют использовать наследование? Например попробую напиши корректный метод equals для иерархии классов. Ну а потом почитай почему inheritance breaks incapsulation. Ну а делегация есть почти во всех языках, в других это просто не нужно. Минус третий кит.

Что же остается в итоге? Вот я и хотел узнать у парня, что же в ООП помогает поддерживать maintainability, и что вообще отличает ООП от других парадигм.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834981
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньзабыл никчем отличаются классы от обьектов, и необходимы ли первые для имплементации вторых
Класс это кусок кода в исходнике, а объект это экземпляр класса в памяти, с которым можно производить действия (менять состояние, вызывать методы, передавать куда-то и т.п.). Верно?
В общем случае верно. Но есть версии ООП базирующаяся на прототипах а не классах, как пример javascript.

Мозговой_слизеньТолько вот, думается, "имплементация", скорей, относится к классу, который implements какой-либо интерфейс. То есть класс и объект не связаны какой-либо имплементацией, а вот класс и интерфейс - связаны. Опять же, зависит от того как понимается слово "имплементация". Если буквально "implements", то это к интерфейсам относится.
Ну тут ты совсем не в ту сторону. Я про представление ООП в языке как стратегию. Классы не единственная стратегия
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834990
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никПравильно, а в некоторых языках примитивов нет, есть только объекты, как по фэншую. Так получается все же ООП C++ не совсем такая трушная?:) Тут очень подходит выражение - или крестик сними или трусы одень)
за С++ я не могу говорить, я знаю только 2 языка и 1 чуть-чуть. И среди них нет си.


забыл никСмысл в том что обычно апологеты ООП утверждают что ООП стоит на трех китах - инкапсуляция, полиморфизм и наследование, и героически доказывают что это венец программирования. Так вот. Инкапсуляция не нужна если нету мутабельного стейта. Думаешь как можно программировать без мутабельного стейта? Можно, есть множество способов, некоторые ограничвают доступ к мутабельному стейту - actors, STM, другие избегают его вообще - FP.Минус один китенок

Так ведь мутабельность зависит от класса. Какие-то мутабельные, какие-то нет. Если мутабельный то меняем состояние, если не мутабельный, то получаем состояние, меняем его и записываем в новую ссылку. То есть получаем уже измененный как нам надо объект. Например String не мутабельный. А StringBuilder мутабельный. И это все в одном языке программирования.

забыл никСуть сводится к тому что полиморфизм он разный бывает, и в ООП он самый корявый. Минус второй кит.
Я это понимаю так, например. У нас есть тип ссылки и в зависимости от него мы можем (или не можем) получить доступ к полю или методу в классе-наследнике. Корявый ли это способ работы или нет - я думаю зависит от сравнения. Смотря с чем сравниваем.

забыл никПравильно, а ты знаешь почему не рекомендуют использовать наследование? Например попробую напиши корректный метод equals для иерархии классов. Ну а потом почитай почему inheritance breaks incapsulation. Ну а делегация есть почти во всех языках, в других это просто не нужно. Минус третий кит.

Просто переопределяешь метод конкретно для нужного класса и все. Если это приведет к каким-то проблема с классами-наследниками, то в них можно тоже этот метод переопределить. Или конкретно уже разбираться с возникшей проблемой. Просто вот так теоретизируя, сложно понять в чем именно проблема.



забыл никЧто же остается в итоге? Вот я и хотел узнать у парня, что же в ООП помогает поддерживать maintainability, и что вообще отличает ООП от других парадигм.

Вот лично я думаю, ООП это просто способ программирования. Причем в каждом ЯП он будет чем-то отличаться. Это не значит то это логичный, простой и понятный способ. Скорее даже сложный и порой нелогичный. Просто это правила, по которым язык работает. Так сделали разработчики. Точно так же как любой язык - китайский или английский не обязаны быть логичными и поняными. Просто так пошло издавна.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39834997
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никВ общем случае верно. Но есть версии ООП базирующаяся на прототипах а не классах, как пример javascript.

А я вот что думаю. Если за язык не платят или на нем сложно найти работу, то это плохой язык. И не важно как красиво он написан. Я считаю, язык не имеет права на существование если он не дает разработчику нормально зарабатывать. Вот что сейчас происходит с битриксом например. Вводятся новые классы, новые методы разработки, новые правила. А облегчило ли это жизнь разрабам? Нет, только усложнило потому что нужно переучиваться за ту же зарплату. И только в страшном сне я задумаюсь об условно "прототипах а не классах" в битриксе, потому что я понимаю что это грабеж моей жизненной энергии. Вот и все. Поэтому я лучше уйду в другой более некрасивый язык, но востребованный, чем буду изучать красоту и мудрость создателей какого-то нового языка или фреймворка. Это уже конечно не относится к программированию, но показывает предел рациональности изучения и поклонения какой-либо технологии.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835004
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньВот лично я думаю, ООП это просто способ программирования.
Это вид и уровень абстракции, чтобы пользователь пардон программист оперировал понятными ему абстрактными понятиями.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835014
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDevМозговой_слизеньВот лично я думаю, ООП это просто способ программирования.
Это вид и уровень абстракции, чтобы пользователь пардон программист оперировал понятными ему абстрактными понятиями.
словоблудие) для неокрепших умов звучит убедительно
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835015
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньТак ведь мутабельность зависит от класса. Какие-то мутабельные, какие-то нет. Если мутабельный то меняем состояние, если не мутабельный, то получаем состояние, меняем его и записываем в новую ссылку. То есть получаем уже измененный как нам надо объект. Например String не мутабельный. А StringBuilder мутабельный. И это все в одном языке программирования.
Это в тех языках, которые ты знаешь. Есть языки которые запрещают переприсваивание значения переменной, делая их по факту константами. Если тебе надо что-то поменять, то ты просто создаешь копию на основе существующего объекта. Это сильно упрощает разработку для многопоточных приложений. Вообще оператор присваивания(assignment) приносит в любой язык зависимость понятие времени, для достижения корректности программы нужно следить за порядком операций. Для этого изобретают всякие там JMM и happens-before. Нет мутабельности - нет такой проблемы.


Мозговой_слизеньЯ это понимаю так, например. У нас есть тип ссылки и в зависимости от него мы можем (или не можем) получить доступ к полю или методу в классе-наследнике. Корявый ли это способ работы или нет - я думаю зависит от сравнения. Смотря с чем сравниваем.
Полиморфизм в общем случае это способность вызвать кастомный код в зависимости от типа объекта. Все. Методы, поля, наследники это все вторично. Полиморфизм бывает разных типов - параметрический(женерики), subtype - тот о котором ты знаешь и ad-hoc(погугли). Так вот, в этом плане polymorphism самый косячный из них. Потому что размазывает код по нескольким классам, и тебе трудно судить о том что будет выполнено только глядя в сам класс. Это также приводит к сложности с тестированием. Ну и в целом, в ФП у тебя есть функция, ее инпут и аутпут, чтобы понять что не так, тебе достаточно прочитать текст функции и пофиксить. в Случае ООП - тебе надо дебажить, смотреть какие операции привели к такому состоянию объекта и тд. Это называется environmental reasoning(опять можешь погуглить)

Мозговой_слизеньПросто переопределяешь метод конкретно для нужного класса и все. Если это приведет к каким-то проблема с классами-наследниками, то в них можно тоже этот метод переопределить. Или конкретно уже разбираться с возникшей проблемой. Просто вот так теоретизируя, сложно понять в чем именно проблема.

А как же принципы Лисков и сингл респосибилити? Проблема с наследованием как раз в том, что изменения в одном месте могут аффектнуть корректно написанный код в другом классе НЕЯВНО


Мозговой_слизеньВот лично я думаю, ООП это просто способ программирования. Причем в каждом ЯП он будет чем-то отличаться. Это не значит то это логичный, простой и понятный способ.
В этом и проблема, и большинство проектов сейчас фейлится именно из-за этого, это как строить мост на глаз и по интуиции, без сопромата. Сначала героически придумываем себе проблемы а потом решаем. По сути все дизайн паттерны - это суть попытка исправить корявости ООП.
Мозговой_слизеньСкорее даже сложный и порой нелогичный. Просто это правила, по которым язык работает. Так сделали разработчики. Точно так же как любой язык - китайский или английский не обязаны быть логичными и поняными. Просто так пошло издавна.
И тебя это устраивает? К тому же не путай чуловеческие языки, зависящие от контекста, от четко структурированных языков программирования, в основе которых математика и логика.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835018
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньзабыл никВ общем случае верно. Но есть версии ООП базирующаяся на прототипах а не классах, как пример javascript.

А я вот что думаю. Если за язык не платят или на нем сложно найти работу, то это плохой язык. И не важно как красиво он написан. Я считаю, язык не имеет права на существование если он не дает разработчику нормально зарабатывать. Вот что сейчас происходит с битриксом например. Вводятся новые классы, новые методы разработки, новые правила. А облегчило ли это жизнь разрабам? Нет, только усложнило потому что нужно переучиваться за ту же зарплату. И только в страшном сне я задумаюсь об условно "прототипах а не классах" в битриксе, потому что я понимаю что это грабеж моей жизненной энергии. Вот и все. Поэтому я лучше уйду в другой более некрасивый язык, но востребованный, чем буду изучать красоту и мудрость создателей какого-то нового языка или фреймворка. Это уже конечно не относится к программированию, но показывает предел рациональности изучения и поклонения какой-либо технологии.
Ну тут ты прав. ООП знать надо, но если хочешь развиваться надо понимать его слабости и знать алтернативы. Знание только ООП крайне сужает твою перспективу. Вот даже в твоих ответах постоянно сквозит - класс, наследник, поле..
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835040
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем тут уже можно так далеко уйти что не найдешь откуда пришел)

Вот лично я согласен с тем, что забыл никразмазывает код по нескольким классам, и тебе трудно судить о том что будет выполнено только глядя в сам класс. Это конечно жопа и моя бы воля, я бы всегда писал процедурно т.к это очень просто и понятно. Ну и вряд ли я соглашусь с тем, что ЯП как-то связан с математикой, увы, будучи троешником по математике, можно быть норм программистом. Арифметика да, но математика, увы, я не нашел общего. В математике есть логика (надеюсь) а в программровании ИМХО ее мало, есть просто правила которые нужно запомнить.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835045
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никМозговой_слизеньпропущено...


А я вот что думаю. Если за язык не платят или на нем сложно найти работу, то это плохой язык. И не важно как красиво он написан. Я считаю, язык не имеет права на существование если он не дает разработчику нормально зарабатывать. Вот что сейчас происходит с битриксом например. Вводятся новые классы, новые методы разработки, новые правила. А облегчило ли это жизнь разрабам? Нет, только усложнило потому что нужно переучиваться за ту же зарплату. И только в страшном сне я задумаюсь об условно "прототипах а не классах" в битриксе, потому что я понимаю что это грабеж моей жизненной энергии. Вот и все. Поэтому я лучше уйду в другой более некрасивый язык, но востребованный, чем буду изучать красоту и мудрость создателей какого-то нового языка или фреймворка. Это уже конечно не относится к программированию, но показывает предел рациональности изучения и поклонения какой-либо технологии.
Ну тут ты прав. ООП знать надо, но если хочешь развиваться надо понимать его слабости и знать алтернативы. Знание только ООП крайне сужает твою перспективу. Вот даже в твоих ответах постоянно сквозит - класс, наследник, поле..

а какая альтернатива?) Если пишешь на Java "процедурно", то у тебя не скомпилируется класс. А вот если пишешь на PHP, то пожалуйста. ИМХО логика такая. Смотрим индекс тиобе и зарплаты программистов. Находим лучшее сочетание и начинаем поклоняться этому ЯП. Остальное нерационально.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835061
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньВ математике есть логика (надеюсь) а в программровании ИМХО ее мало, есть просто правила которые нужно запомнить.
Ее нет в ООП и только в ООП, о чем я тебе и говорю. Проблема именно в том, что целая индустрия ООП была создана ради того чтобы в профессию могли придти люди чуть ли не с улицы, а что идея то простая, да? Все есть объекты. Освоить логическое программирование или функциональное без математического(технического) бэкграунда уже напорядок сложнее. Да, создание фичи у меня занимает времени больше, в несколько раз больше чем на ООП, но веришь нет, только что чекунл джиру, на меня за год завели 3 бага. Нуллпоинтер я ловил 2 раза - оба прилетали из внещних java-библиотек. И т.д. и т.п. Для бизнема пока все еще выгодно держать толпу ООП манки-кодеров, но из-за распространения многопточности облаков и AI(которым можно будет формализовать рутинное программирование и заменить толпу индусов) маятник уже качнулся имхо. Но тут я могу только водить руками, это лишь мое мнение, я далеко не сейлс и не бизнесмен.
Ты просто попробуй изучить другой язык, радикально отличающийся, например хаскелл, эрланг, идрис. Это тебе даст +100 даже при ООП программировании, код в разы улучшится, я тебе гарантирую. Собственно я и сам иногда пишу на Java, но мутаьельную переменную использовал в последний раз год назад.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835065
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньа какая альтернатива?) Если пишешь на Java "процедурно", то у тебя не скомпилируется класс. А вот если пишешь на PHP, то пожалуйста. ИМХО логика такая. Смотрим индекс тиобе и зарплаты программистов. Находим лучшее сочетание и начинаем поклоняться этому ЯП. Остальное нерационально.

А когда java не дай бог умрет, то что делать? Почитай как дельфисты с болью переходили на Java, на этом форуме куча примеров. Никогда не клади все яйца в одну корзину. Да и блин, ну мне лично интересно посоянно узнавать что-то новое, если тебе неинтересно - велик шанс что программирование не про тебя, будем честны. Ну и ты говоришь в основном про масс-маркет, если же говорить о специалистах высокого уровня, то просто НЕОБХОДИМО знать несколько языков\платформ\парадигм чтобы выбрать нужную. И такие спецы это товар штучный, и их не увидишь в индексах тиобе и тд. Можно легко иметь зарплату x2 x3 по рынку от средней, если ты что-то из себя представляешь.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835080
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
парадигмы всего три. чо там учить то. структурная объектная функциональная.

с каждой на следующую прыгать канеш тяжело. и мозголомно когда годами пишешь на одном и том же но тем не менее - возможно. я помню как не понимал ООП а потом "зашло", потом помню как не понимал функциональщину (до сих пор заходит, но мне нравится).

да и в принципе на этом всё. остальное - декорации. ничего нового не придумали и скорее всего не придумают при нынешнем ходе вещей.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835082
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никМозговой_слизеньВ математике есть логика (надеюсь) а в программровании ИМХО ее мало, есть просто правила которые нужно запомнить.
Ее нет в ООП и только в ООП, о чем я тебе и говорю. Проблема именно в том, что целая индустрия ООП была создана ради того чтобы в профессию могли придти люди чуть ли не с улицы, а что идея то простая, да? Все есть объекты. Освоить логическое программирование или функциональное без математического(технического) бэкграунда уже напорядок сложнее. Да, создание фичи у меня занимает времени больше, в несколько раз больше чем на ООП, но веришь нет, только что чекунл джиру, на меня за год завели 3 бага. Нуллпоинтер я ловил 2 раза - оба прилетали из внещних java-библиотек. И т.д. и т.п. Для бизнема пока все еще выгодно держать толпу ООП манки-кодеров, но из-за распространения многопточности облаков и AI(которым можно будет формализовать рутинное программирование и заменить толпу индусов) маятник уже качнулся имхо. Но тут я могу только водить руками, это лишь мое мнение, я далеко не сейлс и не бизнесмен.
Ты просто попробуй изучить другой язык, радикально отличающийся, например хаскелл, эрланг, идрис. Это тебе даст +100 даже при ООП программировании, код в разы улучшится, я тебе гарантирую. Собственно я и сам иногда пишу на Java, но мутаьельную переменную использовал в последний раз год назад.
хаскель эрланг идрис (это кто воще? казахский штоле какой то) - это канеш круто. но проблема в том что найти на них работу заметно сложнее чем на джаве. джавой завалено всё. а теперь вот котлин подлезает. имхо, не сильно то лучше джавы в корне и в смысле самой идеи. вот скала да. скала нравится. но тоже - рынок сильно скромнее. хотя много ли надо?

насчет затаскивания идей фп в ооп согласен. прям очень согласен и в джаве для этого многое есть. многое устарело до ужаса (сривниваю со скалой) но. зато быстро надежно и предсказуемо :)
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835160
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА когда java не дай бог умрет, то что делать? Почитай как дельфисты с болью переходили на Java, на этом форуме куча примеров. Никогда не клади все яйца в одну корзину. Да и блин, ну мне лично интересно посоянно узнавать что-то новое, если тебе неинтересно - велик шанс что программирование не про тебя, будем честны. Ну и ты говоришь в основном про масс-маркет, если же говорить о специалистах высокого уровня, то просто НЕОБХОДИМО знать несколько языков\платформ\парадигм чтобы выбрать нужную. И такие спецы это товар штучный, и их не увидишь в индексах тиобе и тд. Можно легко иметь зарплату x2 x3 по рынку от средней, если ты что-то из себя представляешь.
Назовите условия при которых Java умрет. Просто всё имеет причины ход и следствие
и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно
техническая революция которая вообще отменит программирование как таковое.
Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно
быть нечто настолько сильное что похоронит не только Java но и разом целый
пласт технологий.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835161
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНазовите условия при которых Java умрет. Просто всё имеет причины ход и следствие
и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно
техническая революция которая вообще отменит программирование как таковое.
Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно
быть нечто настолько сильное что похоронит не только Java но и разом целый
пласт технологий.
В краткой перспективе я говорю о языке Java, не JVM. У нее как раз все прекрасно, а вот насчет Java - все больше и больше команд переключаются на scala\kotlin, нарабатываются коммьюнити и потихоньку накапливается критическая масса, так что рано или поздно новые проекты могут перестать стартовать с java по дефолту. Поддержка она конечно будет очень долго, тут без вариантов
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835169
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема.
Там другая jvm и другие задачи.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835180
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonзабыл никА когда java не дай бог умрет, то что делать? Почитай как дельфисты с болью переходили на Java, на этом форуме куча примеров. Никогда не клади все яйца в одну корзину. Да и блин, ну мне лично интересно посоянно узнавать что-то новое, если тебе неинтересно - велик шанс что программирование не про тебя, будем честны. Ну и ты говоришь в основном про масс-маркет, если же говорить о специалистах высокого уровня, то просто НЕОБХОДИМО знать несколько языков\платформ\парадигм чтобы выбрать нужную. И такие спецы это товар штучный, и их не увидишь в индексах тиобе и тд. Можно легко иметь зарплату x2 x3 по рынку от средней, если ты что-то из себя представляешь.
Назовите условия при которых Java умрет. Просто всё имеет причины ход и следствие
и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно
техническая революция которая вообще отменит программирование как таковое.
Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно
быть нечто настолько сильное что похоронит не только Java но и разом целый
пласт технологий.
я думаю джава не умрет она просто эволюционирует (уже) на те же самые котлин, скала кложур и тп. но положа руку на сердце - джава старА. стара как продукт жизнедеятельности мамонта.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835183
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С/C++ постарее будет. За Кобол еще можно вспомнить.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835184
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема.
Там другая jvm и другие задачи.

котлин форсят и на бэк. вон даже со спрингом подружили. почему не та? котлин нейтив вон вообще под айос проталкивают.

какая разница какая жвм язык он и в африке язык. язк делают обязки из фреймворков. если там ок то и на бэк ок. а он действиетльно ок. но мне скала больше по душе :)
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835189
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTкотлин форсят и на бэк. вон даже со спрингом подружили. почему не та?потому что вы без спринга не можете, а андроид прогеры могут
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835190
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никmaytonНазовите условия при которых Java умрет. Просто всё имеет причины ход и следствие
и мне было-бы тоже интересно пофантазировать на эту тему. Как вариант - научно
техническая революция которая вообще отменит программирование как таковое.
Может быть биоинформатика. Может интеллект роя. Я не знаю. Но это должно
быть нечто настолько сильное что похоронит не только Java но и разом целый
пласт технологий.
В краткой перспективе я говорю о языке Java, не JVM. У нее как раз все прекрасно, а вот насчет Java - все больше и больше команд переключаются на scala\kotlin, нарабатываются коммьюнити и потихоньку накапливается критическая масса, так что рано или поздно новые проекты могут перестать стартовать с java по дефолту. Поддержка она конечно будет очень долго, тут без вариантов

Точно так же как когда-то все кипятком писали на тему Zend framework, yii и веб 2.0. И где сейчас эти фреймворки? Посмотрите на взлет php по индексу тиобе, и где сейчас этот php? У нас еще ладно, мы отстали, а посмотрите на кол-во вакансий в штатах. Их кот наплакал.
Джаву просто никто не рекламирует. На ней работают и делают деньги. Это примерно как говорить, что команда молодых и энергичных ребят из офиса в гонконге и второго офисе на кипре сейчас выпустить новую ОС и заменит майкрософт. Вообще мне кажется, что подобные мысли свойственны амбициозным и романтичным людям. Они хотят весь мир поменять и думают что вот щас что-то выстрелит вверх.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835191
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и еще мысля.
рынок ЯП это первый рынок который появился. Дальше рынок ОС, дальше рынок софта, дальше рынок веб проектов, дальше рынок мобилок. Новая тема может выстрелить на новом рынке. Но не на старом. На старом уже все поделено.
Вот появится что-то новое, тогда и новый язык может какой-то появиться как в свое время появился пхп для веба.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835201
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема.
Там другая jvm и другие задачи.
Ну в нашей конторе уже есть проекты с бэкэндом на котлин и не андроид, так что...

Ну а что касается долгосрочной перспективы, то я считаю что ООП канет в лету, рано или поздно индустрия переключится на формализованное описание задач и кода, содержать толпу бестолковых программистов банально дорого, и большинство интеграций по плечу не сильно навороченному AI.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835202
Фотография Мозговой_слизень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никmaytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема.
Там другая jvm и другие задачи.
Ну в нашей конторе уже есть проекты с бэкэндом на котлин и не андроид, так что...

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

ООП сложнее процедуры. Куда тогда девать толпу говнокодеров не знающих ООП?
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835222
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpandreykaTкотлин форсят и на бэк. вон даже со спрингом подружили. почему не та?потому что вы без спринга не можете, а андроид прогеры могут
я уже на спринге месяцев 8 ничего не писал и не пишу. ты о чем? вы андройдеры варитесь в своем маленьком котелке и к базе коннекты устраиваете в каждой вьюшке и вам норм че один юзер че думать то ))
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835223
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpandreykaTкотлин форсят и на бэк. вон даже со спрингом подружили. почему не та?потому что вы без спринга не можете, а андроид прогеры могут
кстати от котлов есть туториалы как на котлине и спринге писать
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835228
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Я поддержал mayton что котлин не наша тема.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835231
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мозговой_слизеньзабыл никпропущено...

Ну в нашей конторе уже есть проекты с бэкэндом на котлин и не андроид, так что...

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

ООП сложнее процедуры. Куда тогда девать толпу говнокодеров не знающих ООП?

К кучерам и таксистам.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835237
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никК кучерам и таксистам.
Давно пора! ООП - говно!
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835243
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosзабыл никК кучерам и таксистам.
Давно пора! ООП - говно!из шарпа аргументы пришли)
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835354
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaTmaytonKotlin - это сегмент рынка Google/Android. Это вообще не про это. Не наша тема.
Там другая jvm и другие задачи.

котлин форсят и на бэк. вон даже со спрингом подружили. почему не та? котлин нейтив вон вообще под айос проталкивают.

какая разница какая жвм язык он и в африке язык. язк делают обязки из фреймворков. если там ок то и на бэк ок. а он действиетльно ок. но мне скала больше по душе :)
Главное преимущество Java - это максимально близкий и точный маппинг на объекты JVM. Создаёшь class/interface/enum
и имеешь сущность которая является единицей информации для classloader/JIT. Грубо говоря - работаешь на Java - работаешь
с ассемблером той целевой машины под которую пишется код. Сюда-же относится "разбор полётов". Тоесть разбор стектрейсов
с ошибками. В них - сущности языка. В противоположность Scala стектрейс будет содержать скорее всего достаточно
сложную прослойку которой нужно дать интерпретацию и понять что где чему соответствовало.

Вспомните ORM. За что их ругают? За потерю соответствия. Здесь тоже можно наблюдать подобную картинку.

Вот если мы завтра резко переключимся на машину другого типа. Не байткод и не стеко-ориентированную - то тогда
я буду первым кто выступит за смену языка.
...
Рейтинг: 0 / 0
На счет ООП программирования
    #39835356
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никМозговой_слизеньпропущено...


ООП сложнее процедуры. Куда тогда девать толпу говнокодеров не знающих ООП?

К кучерам и таксистам.
Им ничего не грозит. PHP по прежнему существует. В виде готовых коробочных систем.
И их дорабатывать и поддерживать кому-то надо.
...
Рейтинг: 0 / 0
93 сообщений из 93, показаны все 4 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / На счет ООП программирования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]