powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / На счет ООП программирования
25 сообщений из 93, страница 2 из 4
На счет ООП программирования
    #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
25 сообщений из 93, страница 2 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / На счет ООП программирования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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