Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7      [все]
 Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
В тему Java.

Об этоп перце (Егор) я впервые услышал в контексте книги Elegant Objects
https://www.yegor256.com/elegant-objects.html

Признаюсь что еще не читал но пошел по ссылкам от того кто такой автор.
Потом были несколько конференций с темами "Объектно-ориентированное вранье",
"Utility классы нас убивают", "ORM - это обидно"

Предлагаю на ваш суд один из последних видосов на тему Силиконовой долины и Тайм-менеджмента
и Zerocracy.

+


Я к сожелению так и не сформировал своё мнение по Егору. Я раздвоился. Я в одних тезисах (управленческих)
с ним поолностью согласен. В других (в частности по разработке и по декораторам) - я категорически
не согласен.

Вобщем предлагаю вам ознакомитсья с последним видосом и кинуть свои 5 копеек. Спасибо.
2 мар 20, 19:28    [22091033]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
забыл ник
Member

Откуда:
Сообщений: 3241
mayton


Вобщем предлагаю вам ознакомитсья с последним видосом и кинуть свои 5 копеек. Спасибо.


По тайм - менеджменту и около разработке не могу судить или говорить - не мое. А что касается объектов и иже с ними - он достаточно правильно выделяет проблемы мейнстримового ООП и его можно почитать чтобы хотя бы задуматься. Но ту дичь что он пропаганлирует как решение(декораторы) это ни в какие ворота не лезет(собственно это и есть одна большая проблема ООП - то что он не основан на математических принципах и его каждый волен трактовать по-своему и делать "правильно") - если разобраться эти его декораторы это не что иное как функция из A => в B, и есть ничто иное как элемент ФП, но он почему-то на комменты такого рода агрится и сливается.
Такой себе Жириновский от программирования
2 мар 20, 19:43    [22091038]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Ну он хорошо набрасывает судя по всему. Это хорошо, потому что приводит хоть кого-то в движение.
3 мар 20, 06:55    [22091210]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
забыл ник
если разобраться эти его декораторы это не что иное как функция из A => в B, и есть ничто иное как элемент ФП

Если хорошо разобраться, то они тоже говно, потому что там будет клоака из наследования и получится тоже самое, что и стат.методы, только сбоку.
Короче ООП - fubar, да начнётся холивар.

Сообщение было отредактировано: 3 мар 20, 07:48
3 мар 20, 07:44    [22091216]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
забыл ник
Такой себе Жириновский от программирования

0.2 Жириновского. Слабоват.
3 мар 20, 11:06    [22091382]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Из его репок.

Вот проект takes.org который сам Егор называет "убийца Спринга".

https://github.com/yegor256/takes

Еще проект под названием Кактус.

https://github.com/yegor256/cactoos
3 мар 20, 11:08    [22091384]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton,
посмотрел его код ,честно говоря два анонимных класса в одном методе такое себе
не знаю если он помрет - сможет ли кто поддерживать его код- я думаю нет)
3 мар 20, 11:49    [22091435]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79
mayton,
посмотрел его код ,честно говоря два анонимных класса в одном методе такое себе
не знаю если он помрет - сможет ли кто поддерживать его код- я думаю нет)


Давай не будем узкомыслящими. В конце концов его идеи гораздо шире просто композиций.
Если мы будем оценивать Егора с позиции обструкции - то мы будем похожи на слепых которые
ощупывают слона и тут-же делают мгновенные выводы.

Мы-же не хотим быть слепыми дураками? Надо посмотреть идею в совокупности.
3 мар 20, 11:56    [22091451]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Вот проект takes.org который сам Егор называет "убийца Спринга".

Ну, там лесенка из new и вместо того, чтобы написать две строчки кода пишут новый класс, во имя ритуальной чистоты ООП. Всё это красноречиво показывает, что ООП не нужен, как его ни крути.
mayton
Еще проект под названием Кактус.

Хорошее название, говорящее. Картинка с другого сайта.
3 мар 20, 12:03    [22091462]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Надо посмотреть идею в совокупности.

ООП - больная идея вместе со всеми производными. Всё хорошо, когда у тебя есть только 3 сущности: животное, кошка и собака. При расширении начинается блудный цирк. А тут чувак предлагает делать по классу на каждую повадку всей этой скотины.

Сообщение было отредактировано: 3 мар 20, 12:12
3 мар 20, 12:10    [22091470]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton,нам сейчас вдалбливают что основным показателем качества кода является помимо его основной функции- масштабируемость и легкость поддрежки)
я побывал пощупал код,подобный коду ,что ты привел и видел как люди тоннами валили с таких проектов
про масштабируемость можно вообще умолчать

return new RsPage(
            "/dir.xsl",

а за такое надо руки отрубать.
хардкод в 2020 году lol what?

вообщем там и смысла смотреть нет дальше все лежит на поверхности
3 мар 20, 12:14    [22091474]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
Эти недоблогеры недоспециалисты сродни той блогерши фармацевта ,на день рожденье которой 3 человека на тот свет отправились,причем она же тоже видео снимала про хим.опыты,а ее муж был химиком

я давно уже перестал смотреть ютуб в образовательных целях-ибо это огромная помойка ,наполненная профанами)
нужно читать книги ,да и то как показала практика не все ))
3 мар 20, 12:17    [22091479]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
crutchmaster,
чем тебе ООП не угодил?
3 мар 20, 12:21    [22091483]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
crutchmaster
mayton
Вот проект takes.org который сам Егор называет "убийца Спринга".

Ну, там лесенка из new и вместо того, чтобы написать две строчки кода пишут новый класс, во имя ритуальной чистоты ООП. Всё это красноречиво показывает, что ООП не нужен, как его ни крути.
mayton
Еще проект под названием Кактус.

Хорошее название, говорящее. Картинка с другого сайта.


Лесенка из new не показывает проблему ООП а показывает проблему невыразительности и неудобства текущего синтаксиса, к ооп лесенка имеет опосредованное отношение.
Тут же хочется прям сказать как неудобно то выражать ООП конструкции с помощью "new"
3 мар 20, 12:23    [22091487]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
asv79
чем тебе ООП не угодил?

Больная парадигма. Всё хорошо только на картинках и в тестовом примере бложика/цветочного магазина.

Сообщение было отредактировано: 3 мар 20, 12:23
3 мар 20, 12:24    [22091490]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
asv79
Эти недоблогеры недоспециалисты
))
Хорошее начало утра)
3 мар 20, 12:25    [22091492]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
lleming
Тут же хочется прям сказать как неудобно то выражать ООП конструкции с помощью "new"

Кмк, если сделать удобно, то он просто откроет заново ФП.
3 мар 20, 12:28    [22091495]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
crutchmaster
asv79
чем тебе ООП не угодил?

Больная парадигма. Всё хорошо только на картинках и в тестовом примере бложика/цветочного магазина.

чем она больная ?есть интрефейс есть имплементации- все супер понятно и удобно
легко масштабируется,еще легче поддерживается
3 мар 20, 12:30    [22091500]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
crutchmaster
lleming
Тут же хочется прям сказать как неудобно то выражать ООП конструкции с помощью "new"

Кмк, если сделать удобно, то он просто откроет заново ФП.


Прям с языка сняли просто не стал писать, таки да, в последнее время стал замечать что склоняюсь именно к такому стилю.
Но есть мнение что серебрянной пули нет и там свои пролемы.
3 мар 20, 12:33    [22091504]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
asv79
есть интрефейс есть имплементации- все супер понятно и удобно
легко масштабируется,еще легче поддерживается

Ты про что сейчас?
3 мар 20, 12:33    [22091505]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
crutchmaster
asv79
есть интрефейс есть имплементации- все супер понятно и удобно
легко масштабируется,еще легче поддерживается

Ты про что сейчас?

про ООП,а ты про что ?
3 мар 20, 12:35    [22091508]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79

return new RsPage(
            "/dir.xsl",

а за такое надо руки отрубать.
хардкод в 2020 году lol what?

вообщем там и смысла смотреть нет дальше все лежит на поверхности

Коде-ревью - это просто консенсус группы людей которые по джентльменски
собрались и решили что такой код ПРИЕМЛЕМЫЙ для них и сопровождение
его не доставит проблем.

А теперь вопрос к тебе - как ты предлагаешь улучшить этот код? Не забывай также про KISS/YAGNI. Их никто не отменял.

Сообщение было отредактировано: 3 мар 20, 12:41
3 мар 20, 12:41    [22091513]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
lleming
Но есть мнение что серебрянной пули нет и там свои пролемы.

Для нормальной разработки есть необходимость уместно применять разные стили и подходы программирования. Но это не про яву, например, где просто не делали перегрузки операторов по каким-то своим религиозным причинам и пишут
BigDecemal a = BigDecimal.valueOf(2), b = BigDecimal.valueOf(3);
BigDecemal c = a.divide(b);

Вместо
BigDecimal c = 2/3;
3 мар 20, 12:47    [22091519]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
asv79
про ООП,а ты про что ?

Я про то, что твои представления очень недальновидны, о чём я и сказал выше, приведя в пример 3 класса.

Сообщение было отредактировано: 3 мар 20, 12:51
3 мар 20, 12:51    [22091525]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
crutchmaster
lleming
Но есть мнение что серебрянной пули нет и там свои пролемы.

Для нормальной разработки есть необходимость уместно применять разные стили и подходы программирования. Но это не про яву, например, где просто не делали перегрузки операторов по каким-то своим религиозным причинам и пишут
BigDecemal a = BigDecimal.valueOf(2), b = BigDecimal.valueOf(3);
BigDecemal c = a.divide(b);

Вместо
BigDecimal c = 2/3;

Java создавалась изначально в 1996 году как язык для управления встраиваемой техникой. Холодильниками
и кофеварками. И вопрос расчета финансовых величин остро не стоял. Главное было - поддержать базовый ООП
и безопасную память и фундаментальный типы short/int/long.

И поэтому мы сегодня имеем просто наследие. Хотя я согласен что спека языка - несовершенна для описывания
сложных типов или трейтов. Вобщем все кто хотели сложных типов ушли в Scala.
3 мар 20, 12:52    [22091527]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
asv79

return new RsPage(
            "/dir.xsl",

а за такое надо руки отрубать.
хардкод в 2020 году lol what?

вообщем там и смысла смотреть нет дальше все лежит на поверхности

Коде-ревью - это просто консенсус группы людей которые по джентльменски
собрались и решили что такой код ПРИЕМЛЕМЫЙ для них и сопровождение
его не доставит проблем.

А теперь вопрос к тебе - как ты предлагаешь улучшить этот код? Не забывай также про KISS/YAGNI. Их никто не отменял.

вынести стрингу в константу с говорящим названием?
как минимум это даст лучшее понимание кода и не нужно будет лазить потом кругом искать где оно еще используется ,а просто поменять 1 литерал в классе с константами
это первое ,второе если по этому адресу нет ничео -вернется нуль?значит -нужено обернуть в optional

это просто рандомная строчка из его кода,если там глубже копать и провести тесты - я больше чем уверен автор сам удивится)
3 мар 20, 12:53    [22091529]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
crutchmaster
lleming
Но есть мнение что серебрянной пули нет и там свои пролемы.

Для нормальной разработки есть необходимость уместно применять разные стили и подходы программирования. Но это не про яву, например, где просто не делали перегрузки операторов по каким-то своим религиозным причинам и пишут
BigDecemal a = BigDecimal.valueOf(2), b = BigDecimal.valueOf(3);
BigDecemal c = a.divide(b);

Вместо
BigDecimal c = 2/3;


BigDecimal c = BigDecimal.of(2).divide(BigDecimal.of(3));
BigDecimal c = BigDecimal.of(2/3); (делим целочисленные и приводим целочисленный результат к bigdecimal)?
BigDecimal c = BigDecimal.of((double) 2/3) (приводим к double |? float делим и присваиваем)
где какие потери точности как сразу понять
...

где какой результат ожидать?

вот в ocaml сделано интересно, проецируя на ocaml

float c = 2 /. 3; деление с плавающей оба приводятся к float и производится деление (возможна потеря точности)
int c = 2 / 3; (Результат 0)
float c = 2 / 3 (ошибка компиляции тип присваемоей переменно не совпадает с типом резульата)
float c = 2 / 3. (ошибка компиляции целочисленное деление но операнды не все целочисленные)
....
3 мар 20, 12:56    [22091531]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79
mayton
пропущено...

Коде-ревью - это просто консенсус группы людей которые по джентльменски
собрались и решили что такой код ПРИЕМЛЕМЫЙ для них и сопровождение
его не доставит проблем.

А теперь вопрос к тебе - как ты предлагаешь улучшить этот код? Не забывай также про KISS/YAGNI. Их никто не отменял.

вынести стрингу в константу с говорящим названием?
как минимум это даст лучшее понимание кода и не нужно будет лазить потом кругом искать где оно еще используется ,а просто поменять 1 литерал в классе с константами
это первое ,второе если по этому адресу нет ничео -вернется нуль?значит -нужено обернуть в optional

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

Это ты что-то недоучил.

Конструктор никогда не возвращает null в Java. Он или всегда отрабатывает или бросает неконтролируемое исключение
но в этом случае нам плевать на return потому что исключение выбросит нас раньше чем return.
3 мар 20, 12:57    [22091533]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Вобщем все кто хотели сложных типов

Типизация это тоже такая палка о двух концах. Мне, например, каждый месяц говорят, что у нас тут все поменялось и надо считать не так, как считали всегда. В итоге весь красивый код написанный до этого регулярно обрастает всякими костылями и невольно начинаешь смотреть в сторону какой-нибудь динамики и парней с аккуратными бородками, беззаботно потягивающих свой смузи.
3 мар 20, 12:58    [22091536]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
asv79
то первое ,второе если по этому адресу нет ничео -вернется нуль?

Этот чувак null предал анафеме, ты вообще ничего не понял и цепляешься ко всякой херне.
3 мар 20, 13:00    [22091539]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
crutchmaster
Типизация это тоже такая палка о двух концах
все в мире палка о двух концах. Эка невидаль.
3 мар 20, 13:01    [22091543]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
crutchmaster
цепляешься ко всякой херне
+1
3 мар 20, 13:02    [22091546]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
crutchmaster
mayton
Вобщем все кто хотели сложных типов

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

По личному наблюдению языки с динамикой (JScript/Python) имеют смысл на прототипах или на малых проектах.
Чем больше он будут расти в монолит (а это закономерный конец почти всех проектов) тем сильнее и сильнее
будет влияние рандомных ошибок типизации. В самом деле. Кто в крупном проекте с динамикой сможет гарантировать
что данный метод корректно вызовут при условии что компиллятор даже этого не знает. Сведенья о типах появятся в рантайме.
Поэтому бородачи потягивающие смузи имеют большой технический долг. Или они - крайне безответсвтенны и их
кажущаяся беззаботность имеет другую природу. Не техническую. Но мы об этом не будем говорить тк тема топика - Java.
3 мар 20, 13:02    [22091547]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
lleming
где какой результат ожидать?

Да, не совсем удачный пример. a и b надо было просто присвоить 2 и 3.
3 мар 20, 13:05    [22091553]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
По личному наблюдению языки с динамикой (JScript/Python) имеют смысл на прототипах или на малых проектах.

Ну это решается просто. Большой проект делается из кучи маленьких.
mayton
Кто в крупном проекте с динамикой сможет гарантировать

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

Сообщение было отредактировано: 3 мар 20, 13:10
3 мар 20, 13:09    [22091562]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
crutchmaster
mayton
Вобщем все кто хотели сложных типов

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


бытует мнение что обрастанием костылями это свойство человеческой натуры и оно, ортогонально понятиям ООП и Фуникционального программирования. Вопрос в том после того как код обрастет костылями что будет проще поправить. Костыли если код написан в функциональном стиле или ООП.

mayton
По личному наблюдению языки с динамикой (JScript/Python) имеют смысл на прототипах или на малых проектах.
Чем больше он будут расти в монолит (а это закономерный конец почти всех проектов) тем сильнее и сильнее
будет влияние рандомных ошибок типизации.

Очень точно подмечено. Обычно в таких случаях я вспоминаю django, где через один метод передается **args, **kwargs внутрь, и в дебаге мысли что за му**ки это придумали передавать все и вся в метод и там решать что с этим делать. Либо ты все знаешь про метод (считай читал его не один раз а лучше даже сам написал) либо офигеваеш от контекста который нужно держать в голове уже на третьем слое.
3 мар 20, 13:10    [22091565]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Некоторое время назад я пожалел что мы еще не на Скале. Мы часто используем generics.
В части например таких

Map<Integer,Map<Integer, Pair<Integer,Integer>>>


Это удобно для конструирования всякой логики. Но беда подобных дженериков в том что они совершенно
скрывают информацию о том что за величина лежит внутри. У нас были id-шники разных типов. Они все были int
но несли разную семантику. ID-order, ID-local, ID-global, и эти-же величині (lnt,Long) использовались для меток
времени timestamps. Понятно что ошибка программиста в толковании этого значения приводила сложным
и трудно улавливаемым дефектам. А если-бы мы могли сделать дефиницию типа наподобие.

Map<IDOrder,Map<IDGLobal, Pair<Timestamp,IDlocal>>>


То проблема хотя-бы констрейнтов в фазе например присвоения или comarison устранялась.
Уходил целый пласт возможных ошибок. Появлялись какие-то гарантии что программист не сделает
фигню.

Оборачивать каждый Int обёрткой мы пробовали. Неудобно.

Опять-же это не какое-то моё личное решение. Так решала вся команда.
3 мар 20, 13:12    [22091572]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
crutchmaster
mayton
По личному наблюдению языки с динамикой (JScript/Python) имеют смысл на прототипах или на малых проектах.

Ну это решается просто. Большой проект делается из кучи маленьких.

Если ты не Project Owner то ты на проекте не принимаешь таких решений. Я имею в виду декомпозицию.
Ты - работаешь просто в команде над общей задачей. Ты не можешь просто сказать - "Эй посоны я тут
придумал давайте мы возьмем топор и расколем наш монолит на 4 части и всё будет круто!"

Если ты говоришь о том как НАДО-БЫ сделать или как ты бы ХОТЕЛ сделать - это совсем другая тема.
Но мой тезис остаётся по прежнему верный и для большой и для малой системы. Просто он стоит остро
для большой системы.

Кстати для микросервисов отсутствие явного типа на ендпоинте - это тоже поблема. Тоесть к типизации
вы все равно подойдете но через другую головную боль. Через SOAP/Swagger/GraphQL e.t.c.
3 мар 20, 13:18    [22091577]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
asv79
вынести стрингу в константу с говорящим названием?
как минимум это даст лучшее понимание кода и не нужно будет лазить потом кругом искать где оно еще используется ,а просто поменять 1 литерал в классе с константами
В вашем примере строковый литерал используется ровно один раз.
Или пример приводите адекватный или трусы оденьте.
3 мар 20, 13:22    [22091583]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
lleming
Очень точно подмечено. Обычно в таких случаях я вспоминаю django, где через один метод передается **args, **kwargs внутрь, и в дебаге мысли что за му**ки это придумали передавать все и вся в метод и там решать что с этим делать. Либо ты все знаешь про метод (считай читал его не один раз а лучше даже сам написал) либо офигеваеш от контекста который нужно держать в голове уже на третьем слое.

Я как-то предложил в одном проекте заменить все аргументы всех методов на Object (где нет примитивов).
Мой поинт был в том чтобы показать фронт-девелоперу как выглядит остутствие типов для Java и к какому
семантическому ужасу это приводит.
3 мар 20, 13:24    [22091584]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton,
Ну это понятно, что мапы ни к чему хорошему не приводят.
Все как в субд - одна табла на всё из двух строковых колонок.
3 мар 20, 13:31    [22091592]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Дженерики в Java - это идея которая не была до конца продумана. Например в С++
вы можете генерализовать примитивы. А в Java - нет.
3 мар 20, 13:43    [22091609]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton


Конструктор никогда не возвращает null в Java. Он или всегда отрабатывает или бросает неконтролируемое исключение
но в этом случае нам плевать на return потому что исключение выбросит нас раньше чем return.

просто не обратил внимание что это новый класс)
в любом случае так не делают,этот код не масштабируется и не читается
3 мар 20, 14:31    [22091656]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
Basil A. Sidorov
asv79
вынести стрингу в константу с говорящим названием?
как минимум это даст лучшее понимание кода и не нужно будет лазить потом кругом искать где оно еще используется ,а просто поменять 1 литерал в классе с константами
В вашем примере строковый литерал используется ровно один раз.
Или пример приводите адекватный или трусы оденьте.

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

любые "магические " цифры и буквы нужно выносить в константу и не важно 1 раз она используется или 10
сейчас 1 раз ,завтра 101
разработка любого джава приложения должна всегда быть нацелена на масштабируемость
3 мар 20, 14:34    [22091659]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
crutchmaster
asv79
то первое ,второе если по этому адресу нет ничео -вернется нуль?

Этот чувак null предал анафеме, ты вообще ничего не понял и цепляешься ко всякой херне.

что значит предал анафеме нулл?)
отрицает его существование и смотрит как сыплется его кактус?)
3 мар 20, 14:36    [22091662]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
asv79
в любом случае так не делают
покажи как делают
3 мар 20, 14:53    [22091681]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
PetroNotC Sharp
asv79
в любом случае так не делают
покажи как делают

зачем я это буду показывать?)
мне за это деньги платят,плати покажу))
3 мар 20, 15:00    [22091687]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
asv79,
Тогда не болтай ерундой.
Ничего крамольного тут нет
return new RsPage( "/dir.xsl",
3 мар 20, 15:18    [22091706]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79
PetroNotC Sharp
пропущено...
покажи как делают

зачем я это буду показывать?)
мне за это деньги платят,плати покажу))

Это прозвучало - по Егоровски!
3 мар 20, 15:24    [22091711]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
PetroNotC Sharp
asv79,
Тогда не болтай ерундой.
Ничего крамольного тут нет
return new RsPage( "/dir.xsl",

а что такое dir.xsl?
ты сходу скажешь что это?
что за литерал,откуда он взялся ,что он дает и за что отвечает

если человек замахнулся на спринг-то уж явно первым делом нужно свой код привести в божеский вид

про функционал я думаю там смысло нет говорить ,оно наверняка даже не компилируется)
3 мар 20, 15:33    [22091719]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3531
mayton
Вобщем предлагаю вам ознакомитсья с последним видосом и кинуть свои 5 копеек. Спасибо.
Действительно стоит смотреть? А то там в самом начале какой-то треш и угар в духе: я уже 15 лет код не пишу, а до этого жава, пыхпы и рор, и вообще опыта коммерческой разработки нет и был только контрактором.
3 мар 20, 15:37    [22091721]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3531
asv79
а что такое dir.xsl?
ты сходу скажешь что это?
что за литерал,откуда он взялся ,что он дает и за что отвечает
чего ты пристал, это олдскульный проект, xslt, все дела.
3 мар 20, 15:39    [22091725]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79
PetroNotC Sharp
asv79,
Тогда не болтай ерундой.
Ничего крамольного тут нет
return new RsPage( "/dir.xsl",

а что такое dir.xsl?
ты сходу скажешь что это?
что за литерал,откуда он взялся ,что он дает и за что отвечает

если человек замахнулся на спринг-то уж явно первым делом нужно свой код привести в божеский вид

про функционал я думаю там смысло нет говорить ,оно наверняка даже не компилируется)

В этоху XML/XSLT (2000-е годы) была такая технология. Вобщем основная идея. Веб-сервер отдает только XML-контент.
А преобразования из XML осуществляет сам браузер. А микро-код для транформации зашит в XSL(t) скрипте.
Чисто функциональный язык.

Получается Pipeline: XML => XSLT+XML => HTML/TXT/e.t.c

Скорее всего это хардкодный скрипт типа каскадых стилей. Он не меняется. Его имя - статично по отношению
ко всему контенту. Как index.html, styles.css. Поэтому автор решил его не параметризировать тк. смысла нет.
3 мар 20, 15:41    [22091728]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
Его имя - статично
главное путь не с:/myDir/
))))
3 мар 20, 15:44    [22091737]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
asv79
пропущено...

зачем я это буду показывать?)
мне за это деньги платят,плати покажу))

Это прозвучало - по Егоровски!

не ну согласись заявлять что ты переплюнишь спринг ,при этом в твоем коде сплошной хардкод и какие магические литералы - ну как минимум не прилично.
я не перфекционист - но меня за такое били по рукам,пока не пришло осознание что нейминг и качество кода не просто пустые слова.
Когда ты акутализируешь какой то валидатор и видишь в коде подобные перлы validate ("ugadai_chto_ya_imel_v_vidu)
хочется того,что этот код писал просто убить- потому что тебе придется воссаздать мысли твоего предшественника чтобы понять что это))
3 мар 20, 15:47    [22091741]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Андрей Панфилов
mayton
Вобщем предлагаю вам ознакомитсья с последним видосом и кинуть свои 5 копеек. Спасибо.
Действительно стоит смотреть? А то там в самом начале какой-то треш и угар в духе: я уже 15 лет код не пишу, а до этого жава, пыхпы и рор, и вообще опыта коммерческой разработки нет и был только контрактором.

Про феминисток смотреть не надо. Посмотрите только про zerocracy.
3 мар 20, 15:47    [22091742]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79
mayton
пропущено...

Это прозвучало - по Егоровски!

не ну согласись заявлять что ты переплюнишь спринг ,при этом в твоем коде сплошной хардкод и какие магические литералы - ну как минимум не прилично.
я не перфекционист - но меня за такое били по рукам,пока не пришло осознание что нейминг и качество кода не просто пустые слова.
Когда ты акутализируешь какой то валидатор и видишь в коде подобные перлы validate ("ugadai_chto_ya_imel_v_vidu)
хочется того,что этот код писал просто убить- потому что тебе придется воссаздать мысли твоего предшественника чтобы понять что это))

Ты знаешь. Есть такая поговорка что если ты в чем-то гениален или претендуешь на гения то ты должен
отвергнуть стандарты и нормы. Возможно Егор решил что он может поскипать магические литералы
(опять-же это просто поинт к CV. это - обсуждается) а хардкод - относителен. В моих проектах тоже
есть хардкод кстати.
3 мар 20, 15:50    [22091747]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton

Ты знаешь. Есть такая поговорка что если ты в чем-то гениален или претендуешь на гения то ты должен
отвергнуть стандарты и нормы. Возможно Егор решил что он может поскипать магические литералы
(опять-же это просто поинт к CV. это - обсуждается) а хардкод - относителен. В моих проектах тоже
есть хардкод кстати.

не знаю ,меня так нашпуняли,что если я хардкод вижу у меня начинает очко гореть)
3 мар 20, 15:57    [22091752]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79

не знаю ,меня так нашпуняли,что если я хардкод вижу у меня начинает очко гореть)

Это хорошо. Это как в курсе молодого бойца. Тебя научили сапоги начищать.

Но разве идея Егора была в этом?
3 мар 20, 15:59    [22091755]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
asv79

не знаю ,меня так нашпуняли,что если я хардкод вижу у меня начинает очко гореть)

Это хорошо. Это как в курсе молодого бойца. Тебя научили сапоги начищать.

Но разве идея Егора была в этом?

это как смотреть на мост ,собраный из говна и палок)-идея то неплохая ,только реализация хромает)
3 мар 20, 16:09    [22091768]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
А в чем хромает?
3 мар 20, 16:12    [22091776]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
А в чем хромает?

в хардкоде ,в куче каких то анонимных классов и тд
этот код у нас бы пошел в мусорное ведро,его бы просто не пропустили в прод)
3 мар 20, 16:20    [22091787]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
asv79
mayton
А в чем хромает?

в хардкоде ,в куче каких то анонимных классов и тд
этот код у нас бы пошел в мусорное ведро,его бы просто не пропустили в прод)

А если он - владелец софтверной фирмы? То кто его код не пропустит в его прод?
3 мар 20, 16:31    [22091796]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton

А если он - владелец софтверной фирмы? То кто его код не пропустит в его прод?

скорей всего ему придется там работать одному))врядли кто захочет в этом ковыряться
нейминг вырви глаз
хардкод
классы по тысячи строк с миллионом методов
зачем то аргументы все final
но вот это что
public Enumeration<String> getHeaders(final String key) {

а вот это шо ?зачем ?
давай я докажу прям щас бесполезность этого куска кода
3 мар 20, 16:44    [22091815]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Давай. Я люблю доказательства правоты кода. Я собственно в форуме последнюю неделю этим занят.
Но я доказываю скорее отсутствие ошибок.

Ну давай валяй.
3 мар 20, 16:46    [22091817]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
asv79
давай я докажу прям щас
вторую страницу щеки надуваешь
3 мар 20, 16:47    [22091818]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
public Enumeration<String> getHeaders(final String key) {


это скорее всего имплементация базового интерфейса HttpServletRequest из набора javax.servlet.http.

Что там Стас увидел ужасного и математически неверного - непойму. Вобщем чтоб ненависть не застилала
глаза я все таки предлагаю сосредоточится не на коде-ревью а просто на анализе идей.

Кто в топике возьмется за систематизацию идей? Желательно уложиться в 5-10 пунктов.

Сообщение было отредактировано: 3 мар 20, 16:54
3 мар 20, 16:53    [22091819]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
Магическая константа это не догма

Когда getSomeValue(6) то это уже магическая константа "6", а вот getPathToFile("demo.txt") уже как то не совсем. А если еще и javadoc
а рядом overloaded getPathToFile(File file) getPathToFile(Path path) то уже еще лучше.

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

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

По поводу анонимных классов, он же художник он так видит
3 мар 20, 16:54    [22091820]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
"Он же" => "Егор"
3 мар 20, 16:55    [22091822]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
lleming

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

Меня жутко бесят рекомендации сонара на такое:

logger.info("This fucken value x = {}",x);
// a lot of code ...
logger.info("This fucken value x = {}",x);

Ну это мать ево не константа. Это просто поясняющий комментарий. И если сделать introduce constant
то логичный и понятный код логгера превращается в парадокс над которым чел который делает CV
вокликнет WTF!! И я сним буду согласен. Вобщем делаю SuppessWarning("squid:какое-то число")
и забиваю болт на такие советы.
3 мар 20, 17:09    [22091845]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
Мне почему-то больше нравится
// NOSONAR
3 мар 20, 17:44    [22091884]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Я обычно целый метод накрываю или класс.

А еще штука. Если вы из метода возвращаете InputStream то сонар ругается что стрим был не закрыт
или не завёрнут в try-with-resources. Ну ясен жуй что не был завёрнут. Мнеж его надо открытым вернуть.
3 мар 20, 17:47    [22091887]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
Да, видали на реализации интерфейса javax.sql.DataSource. Вы, говорит, коннект не закрыли. Ну йопт, конечно не закрыл. Я ж его отдаю, и закрытый коннект никого не устроит.
3 мар 20, 17:54    [22091891]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
public Enumeration<String> getHeaders(final String key) {



Что там Стас увидел ужасного

я увидел в параметрах метода final String key мне вот интересно сможет ли сам автор сего кода обосновать для чего там final
нет это конечно не ужасно - но зачем?тоесть какое то масляное масло
3 мар 20, 22:48    [22092025]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3531
asv79
я увидел в параметрах метода final String key мне вот интересно сможет ли сам автор сего кода обосновать для чего там final
нет это конечно не ужасно - но зачем?тоесть какое то масляное масло


Баньте поциента пока не поздно, а то опять про копирование по ссылке начнется.
3 мар 20, 22:55    [22092031]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
Андрей Панфилов
asv79
я увидел в параметрах метода final String key мне вот интересно сможет ли сам автор сего кода обосновать для чего там final
нет это конечно не ужасно - но зачем?тоесть какое то масляное масло


Баньте поциента пока не поздно, а то опять про копирование по ссылке начнется.

ты поясни зачем final String в параметрах метода?)
3 мар 20, 22:58    [22092033]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
asv79
любые "магические " цифры и буквы нужно выносить в константу и не важно 1 раз она используется или 10
сейчас 1 раз ,завтра 101
разработка любого джава приложения должна всегда быть нацелена на масштабируемость

если пер-я локально в ф-и живёт и исп-ся 1 раз, то незачем её выносить в const, достаточно коммент прописать
3 мар 20, 22:59    [22092034]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
Алексей Роза
asv79
любые "магические " цифры и буквы нужно выносить в константу и не важно 1 раз она используется или 10
сейчас 1 раз ,завтра 101
разработка любого джава приложения должна всегда быть нацелена на масштабируемость

если пер-я локально в ф-и живёт и исп-ся 1 раз, то незачем её выносить в const, достаточно коммент прописать

лучше иметь один класс с константами,чем лазить по коментам
и говорить что используется один раз -неправильно - во первых мы не лопатили весь код- и не знаем сколько она там и где используется этот литерал- а вот в случае с констаной всегда можно все юседжи посмотреть
а во вторых сейчас 1 раз,завтра 500 раз и что весь код переписывать?
Весь хардкод должен быть вынесен в константы - я думаю это правильно и удобно,чем заниматься хардкодом и потом твой коллега будет тушить очечо в попытках рефакторинга твоего легаси
3 мар 20, 23:09    [22092042]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
А ты свои шахматы помнишь?
3 мар 20, 23:20    [22092047]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
А ты свои шахматы помнишь?

не ну слушай ты сравнил)
я тогда учился ,а автор пишет фрейворк ,который убьет спринг)

я вообще не понимаю зачем там спам final
он его тупо везде где можно и нельзя пихает
public TkWrap(final Take take) {
        this.origin = take;
    }

обычный конструктор - где тут что то может случиться с его take что прям вот такая необходимость тут использовать этот модификатор?

я так понимаю автор использует этот модификатор просто как маркер- дабы указать нам его мысль?
3 мар 20, 23:24    [22092049]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Я считаю final в данном случае бесполезным шумящим кодом. Я так не пишу.

Ценность ассертов not-null в тысячу раз выше чем этот шлак. Но я прощаю маэстро Егору такой пустяк т.к мне этот поинт не интересен.

Это все равно что ругать мужчин за то что они воняют потом или стульчак за собой не поднимают. Такие они есть.
3 мар 20, 23:39    [22092058]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
asv79
лучше иметь один класс с константами,чем лазить по коментам

да, лучше, а ещё важно не засрать код одноразовыми константами ДО того, как оно реально нужно.
asv79
а во вторых сейчас 1 раз,завтра 500 раз и что весь код переписывать?

Тут надо бы понять и принять парадигму общую (она кстати может у разных прогеров различаться и поэтому разногласия )
Мы стараемся писать маленькие ф-и, каждая из которых решает одну свою маленькую задачу и живёт максимально автономно.
Минимум взаимодействий с внешним миром, максимум локальности. Если есть возможность всё держать внутри ф-и, надо там и держать.
А вытаскивать наружу, только когда иначе уже никак (масштабируемость конечно такой случай, но она должна уже случиться, а не "когда-нибудь").

Сообщение было отредактировано: 3 мар 20, 23:53
3 мар 20, 23:52    [22092065]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Мне кажется что если люди пишут final внутри метода то они - вые6щ_kи.
Если хотят чистой фунециональщины (pure) то пускай берут Clean/Miranda/Haskell и кодят на нем.
Там хотя-бы это возведено в ранг парадигмы и изменить значение переменной
действительно (!) нельзя после создания. Вообще нельзя. Будь то список или мапа.

Ключевое слово final собственно к константам не имеет отношения. Это скорее
финализация ссылки. Тоесть ссылку вы поменять не можете. Хотя если создатите
коллекцию

final Map map = new HashMap();


То спокойно поменяете ее элементы. Что говорит нам о неком противоречии. Вроде скоуп указан
но эффекта нет.

Если-бы это была настоящая (!) константа то такие фокусы были бы невозможны.

P.S. Кстати среди ключевых слов jls const реально существует. Или зарезервирован.
4 мар 20, 00:24    [22092074]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
забыл ник
Member

Откуда:
Сообщений: 3241
mayton
Мне кажется что если люди пишут final внутри метода то они - вые6щ_kи.


По большей части да. У final параметра есть только одно преимущество. Если ты ненароком попробуешь перезаписать значение(что и в том и в том случае очевидная кодерская ошибка, как = вместо ==) то в случае final это будет не скомпилировано. Я на джаве давно не пишу - но наверное это актуально если работаешь с замыканиями в анонимном классе
4 мар 20, 00:40    [22092077]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
забыл ник
Member

Откуда:
Сообщений: 3241
Надо признать упорство у Стасяна есть, как в принципе и тяга к знаниям, ну для джуна он уже даже иногда может что-то и в серьезный разговор вставить.
Немножко раздражают конечно попытки подняться по иерархии и макнуть по-сеньорски других в кучку дерьма, но надо делать скидку на возраст, все мы в молодости дартаньянили, а у него уже не так много времени чтобы залезть на олимп:) И не беда что при этих попытках он смачно тонет и булькает сам, через годик-два может и получится
4 мар 20, 00:43    [22092078]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
mayton
Вобщем предлагаю вам ознакомитсья с последним видосом и кинуть свои 5 копеек. Спасибо.

язык у него впереди головы.
"я там повыступал, я тут сплясал, я книжку написал, а вон там мой код... берите меня на работу, Я ахуенный!"
он какой крупный проект создал (накодил) и довёл до прибыли?
или чего мы тут обсуждаем, маркетинг? Ну чего он до миллиарда раскрутил тогда?

Сообщение было отредактировано: 4 мар 20, 01:08
4 мар 20, 01:08    [22092081]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Кстати для микросервисов отсутствие явного типа на ендпоинте - это тоже поблема.

Там всю типизация и прочее выносят на уровень ipc и любятся со всем этим уже там. Вопрос не в том, чтобы не иметь проблем, а в том где их иметь.
4 мар 20, 07:37    [22092162]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
asv79
что значит предал анафеме нулл?

Задал аксиому "null не нужен"
4 мар 20, 07:39    [22092164]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
lleming
Костыли если код написан в функциональном стиле или ООП.

Ящитаю, что ООП править дико сложно. Процедурщина простая и понятная, хоть и монструозная. Вот тебе команды, они идут одна за другой, что-то кто-то возвращает, что-то кто-то делает и т.п. В ооп сломают иерархию, изоляцию, ответственность, наделают 100500 манагеров и всё превратится в полную клоаку. Тут нужен какой-то компромисс в плане гибкости, потому что чем жестче структура, тем менее она ремонтопригодна.
ЗЫ. Не так давно выяснилось, что нужно сделать дочерние лицевые для отдельных услуг по ЖКХ. По бороде пошло всё, потому что все связи в БД задумывались, естественно, на единственный лицевой. Какой звиздец бывает в труъ крупных проектах я вообще боюсь думать. С другой стороны ставить диванБД и обрабатывать на нём какой-то огромный массив данных - процессор охренеет.
4 мар 20, 08:01    [22092169]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
crutchmaster,
Что то у тебя ООП править дико сложно. СУБД править дико сложно.
Может ты сегодня не с той ноги встал?
4 мар 20, 09:20    [22092197]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
PetroNotC Sharp
Может ты сегодня не с той ноги встал?

Нет, я по жизни всегда дико ленивый.
4 мар 20, 09:31    [22092202]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
ООП это то-же процедурное. Только появляется неявный параметр this в каждой гребаной процедуре.

Все остальное (наследование) можно рассматривать как сахар.
4 мар 20, 09:40    [22092210]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
Неинтересно обсуждать.
Нельзя критиковать ООП и ФП одновременно. Так как больше не на чем писать.
Так, пустой треп ПТ.
4 мар 20, 09:57    [22092226]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
PetroNotC Sharp
Так как больше не на чем писать.

Декларативщина + маленько ФП.
4 мар 20, 10:05    [22092231]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
Алексей Роза
asv79
лучше иметь один класс с константами,чем лазить по коментам

да, лучше, а ещё важно не засрать код одноразовыми константами ДО того, как оно реально нужно.
asv79
а во вторых сейчас 1 раз,завтра 500 раз и что весь код переписывать?

Тут надо бы понять и принять парадигму общую (она кстати может у разных прогеров различаться и поэтому разногласия )
Мы стараемся писать маленькие ф-и, каждая из которых решает одну свою маленькую задачу и живёт максимально автономно.
Минимум взаимодействий с внешним миром, максимум локальности. Если есть возможность всё держать внутри ф-и, надо там и держать.
А вытаскивать наружу, только когда иначе уже никак (масштабируемость конечно такой случай, но она должна уже случиться, а не "когда-нибудь").

я почему на это обратил внимание - мы сейчас расширяем микросервисы свои,и вот я как раз составляю эти классы с константами- и ты не представляешь как тяжело найти все эти литералы в коде.
вот у меня дано константа созаемщик-и я ищу везде где только можно теперь этот литерал "coborrower" потому что теперь у нас поменялось значение в справочнике и стал просто borrower
и если бы используя константы я сделал рефакторинг за 2 минуты ,то теперь это может растянуться на недели)-так как вместо ctrl + click я должен понять где может встетиться этот литерал -согласись для прогера не так уж и сложно изначально выносить констатны в какой то словарик ,чем потом джуны будут гореть над их кодом)
'
4 мар 20, 10:10    [22092236]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
mayton
Мне кажется что если люди пишут final внутри метода то они - вые6щ_kи.

вот и я к этому клоню-код должен быть максимально простым ,зачем его отягощать модификаторами,которые не несут никакой пользы и функциональности,а как верно ты тут заметил лишь раздувают эго писавшего этот код
4 мар 20, 10:14    [22092239]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
crutchmaster
Декларативщина
она завязана на платформу.
То есть, если это EE, то декларативщина это аннотации транзакций. Если это спринг бут, то это конфиги.
То есть намного ниже чем ООП.
Ну и ФП "немного" я не представляю.
4 мар 20, 10:26    [22092251]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
asv79
вот у меня дано константа созаемщик-и я ищу везде где только можно теперь этот литерал "coborrower" потому что теперь у нас поменялось значение в справочнике
ключевое слово ПОМЕНЯЛОСЬ.
Нужно быть архитектором, чтобы знать - что может поменятся, а что нет.
Ты же по одному конкретному случаю сделал Правило на все случаи жизни. Заглянув вскод через плечо соседу.
Если строка не будет менятся, то незачем ее выносить.

Сообщение было отредактировано: 4 мар 20, 10:31
4 мар 20, 10:31    [22092252]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
.

Сообщение было отредактировано: 4 мар 20, 10:32
4 мар 20, 10:33    [22092253]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
. Глюки)

Сообщение было отредактировано: 4 мар 20, 10:34
4 мар 20, 10:34    [22092254]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2991
PetroNotC Sharp
asv79
вот у меня дано константа созаемщик-и я ищу везде где только можно теперь этот литерал "coborrower" потому что теперь у нас поменялось значение в справочнике
ключевое слово ПОМЕНЯЛОСЬ.
Нужно быть архитектором, чтобы знать - что может поменятся, а что нет.
Ты же по одному конкретному случаю сделал Правило на все случаи жизни. Заглянув вскод через плечо соседу.
Если строка не будет менятся, то незачем ее выносить.

это не очень верное суждение-вынести литерал захардкоженый должно быть в крови)
ты не можешь знать требований бизнеса,сейчас одно,завтра другое
я тебе говорю вот я актуализировал валиладаторы по одним спекам- только пр выставил бизнес спускает новые спеки
и там половина из того что я делал противоречит новым спекам
и этого тебе ни один архитектор не сможет предугадать
а учитывая,что надо проектами зачастую работает сотни программистов из разных компаний и стран - то лучше таки выносить))
4 мар 20, 10:39    [22092255]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
asv79
должно быть в крови)

В крови должна быть Умеренность.
asv79
ты не можешь знать требований бизнеса,сейчас одно,завтра другое
почему не каждые 5 минут смена, а ровно через 24 часа? Логика есть у программиста?
asv79
половина из того что я делал противоречит новым спекам
ты не архитектор. Иначе бы таблу именем items не называл.
4 мар 20, 10:43    [22092260]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
PetroNotC Sharp
Неинтересно обсуждать.
Нельзя критиковать ООП и ФП одновременно. Так как больше не на чем писать.
Так, пустой треп ПТ.

Так тут не про ФП.

Тут речь идет о процедурном (Pascal/Basic/C) и его дальнейшим расширением в виде ООП.
4 мар 20, 11:01    [22092275]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
процедурном (Pascal/Basic/C)
а в каком году там был процедурный?
4 мар 20, 11:06    [22092283]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton,
Процедурное программирование вообще умерло.
Осталось только в базах данных.
4 мар 20, 11:07    [22092286]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Pascal архитектурно поддерживал объекты но пользовались этим мало. В эпоху MS-DOS.

Вот здесь Саша пишет в процедурном стиле Задачка про остров даже методы называются procedure. Все процедуры имеют глобальное
состояние в виде HexMap тоесть это лишний раз доказывает НЕ-функциональность подхода.

Basic. Можешь мне поверить я на нем пописал немного. Там даже оператор есть GOSUB <имя процедуры>

Язык "C" один из самых ранних языков. Возник в эпоху когда еще не было ООП. Что само по себе говорит нам.
4 мар 20, 11:13    [22092295]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Где-то читал что создатель Pascal/Oberon профессор Никлаус Вирт недолюбливал ООП.
Он на уровне терминологии избегал термин class и предпочитал использовать более
узкий термин type. Видимо этим хотел что-то сказать. Хотя строгость к разыменованию
и типизацию он очень уважал.
4 мар 20, 11:17    [22092299]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton,
Представь, в паскале вовсю ООП было, когда в java была версия 1.3.
Представил?
4 мар 20, 11:26    [22092307]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
Где-то читал что создатель Pascal/Oberon профессор Никлаус Вирт недолюбливал ООП.
Он на уровне терминологии избегал термин class и предпочитал использовать более
узкий термин type. Видимо этим хотел что-то сказать. Хотя строгость к разыменованию
и типизацию он очень уважал.
ну, мы же не историки).
Главное что умерли все))))
4 мар 20, 11:28    [22092310]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5183
mayton
Pascal архитектурно поддерживал объекты но пользовались этим мало. В эпоху MS-DOS.


В Turbo/Borland Pascal был Turbo Vision вполне нормальный ООП фреймворк для MS DOS приложений.
Я на нем даже писал.
Да и по миру вполне себе получил распространение.
4 мар 20, 11:41    [22092328]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
PetroNotC Sharp
То есть, если это EE, то декларативщина это аннотации транзакций. Если это спринг бут, то это конфиги.

Ну это не то, чтобы то. Был ООП, аннотации, рефлексия к этому приделали конфиг. То есть декларативщина тут сильно вторична. Я предлагаю кучу изолированных функций, с движком, который всё это конфигами собирает во что-то рабочее. Пример таких функций - middleware из express.js, насчёт сервера - не знаю, ничего не видел готового.
4 мар 20, 11:46    [22092343]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
crutchmaster,
Не очень понял. Если вы про свой собственный какой фреймворк, тогда сложно говорить и обсуждать что вы предлагаете - - >
crutchmaster
Я предлагаю

Думаю, что мы все тут о платформе java в целом и без самописных фреймворков.
4 мар 20, 11:52    [22092355]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
PetroNotC Sharp
mayton
Где-то читал что создатель Pascal/Oberon профессор Никлаус Вирт недолюбливал ООП.
Он на уровне терминологии избегал термин class и предпочитал использовать более
узкий термин type. Видимо этим хотел что-то сказать. Хотя строгость к разыменованию
и типизацию он очень уважал.
ну, мы же не историки).
Главное что умерли все))))

В вопросах идеологии или в вопросах технического дискурса на тему того ПОЧЕМУ мы пишем именно так
на Java я обращаюсь к смежным языкам и технологиям просто для примера или просто показать что
"и так тоже можно".

Например я часто вижу расширяющиеся от ужаса глаза джунов, когда я говорю что геттеры и сеттеры
не являются частью языка Java вообще. Их нет в спеке языка. И когда такой джун начинает разбирать
мою мысль он дальше спрашивает следующее - "так что мы это всё пишем зря?". Нет скорее всего не зря.
Но сомнение - это путь к познанию. А вот когда сомнений вообще-вообще нет - то это плохо. Это означает
что ему сказали "мальчик... вот пиши так и все будет гуд". И он - пишет. А потом говорят что в сообществе
Java сидят сектанты и любители карго-культа.

Вот недавно меня убеждали что SpringBoot конфигурации на Spring Boot Annotations - это круто. Но дорогие мои друзья.
Вы даже не заметили как просрали полимеры перестали писать на Java? У вас на выходе уже код
Java - несовместимый. У вас на выходе только SpringBoot-compatible. Или вас это уже полностью
устраивает? И вы не Java-разработчик. Да вы после этого ничем не лучше WordPress/PHP кодера.
4 мар 20, 12:12    [22092378]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
тут ещё походу каждый свой ООП имеет ввиду...
разве кто-то против того, чтобы сгруппировать переменные и раздавать им параметры в любой момент, а потом одним объектом их юзать где надо?
так вот, это ещё не ООП.
Это ещё C, а там не было ООП.
А вот когда в C++ добавили, что в тот же объект можно ещё и функций напихать, да ещё и наследовать, да виртуальные интерфейсы, да ctor/dtor, вот тогда то и случился ООП.

Сообщение было отредактировано: 4 мар 20, 12:14
4 мар 20, 12:14    [22092381]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
PetroNotC Sharp
mayton,
Представь, в паскале вовсю ООП было, когда в java была версия 1.3.
Представил?

% его использования был почти нулевой. Я думаю что если мы поднимем статистику самих приложений
по состоянию на Java 1.3 (2000 год) то скорее всего окажется что 80% из них ООП просто не используют.

Я имею в виду не Delphi а именно Pascal. При этом я не говорю что он был плох. Просто писали без ООП.

А комьютерные игры до 90х почти никогда не использовали ООП и я это доказывал уже.
4 мар 20, 12:17    [22092383]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
PetroNotC Sharp
Думаю, что мы все тут о платформе java в целом и без самописных фреймворков.

В смысле? Тут Егор пилит убийцу спринга на рассово чистом ооп. Мы, рядовые быдлокодеры, чем хуже?
4 мар 20, 12:24    [22092392]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
crutchmaster,
))) согласен
4 мар 20, 12:31    [22092402]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
А комьютерные игры до 90х почти никогда не использовали ООП и я это доказывал уже.
НУ ДАК УМЕР САМ ПОДХОД.
А история не идет вспять.
Процедурное умерло.
4 мар 20, 12:33    [22092405]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
crutchmaster
PetroNotC Sharp
Думаю, что мы все тут о платформе java в целом и без самописных фреймворков.

В смысле? Тут Егор пилит убийцу спринга на рассово чистом ооп. Мы, рядовые быдлокодеры, чем хуже?

Давайте хоть Хелло Ворлд напишем на этом убийце. А то мы
как ханжи судим Пастернака даже не прочитав.

Больше чем выкинуть Spring я-бы лично хотел выкинуть Хибернейт из стека Спринга.

Я надеюсь что Бугаенко это уже сделал. Если он осилил ORM конешно.
4 мар 20, 12:34    [22092407]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
Алексей Роза,
Потому что понадобилось поведение. Нафига данные без поведения?
4 мар 20, 12:35    [22092416]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
PetroNotC Sharp
mayton
А комьютерные игры до 90х почти никогда не использовали ООП и я это доказывал уже.
НУ ДАК УМЕР САМ ПОДХОД.
А история не идет вспять.
Процедурное умерло.

Сашка Шарахов с тобой не согласится. У него весь блог - процедурный http://guildalfa.ru/alsha/
4 мар 20, 12:35    [22092417]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
Давайте хоть Хелло Ворлд напишем на этом убийце.
пиццу на ФП уже писали)).
Гиблое дело.
4 мар 20, 12:36    [22092419]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
Сашка Шарахов
у него лайков мало. Пущай.
4 мар 20, 12:37    [22092421]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
Алексей Роза
тут ещё походу каждый свой ООП имеет ввиду...
да.
Есть анемичная модель (тупые классы и умные сервисы) и доменная модель ( наоборот).
Про это еще Фаулер спорил)
4 мар 20, 12:46    [22092438]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Алексей Роза
тут ещё походу каждый свой ООП имеет ввиду...
разве кто-то против того, чтобы сгруппировать переменные и раздавать им параметры в любой момент, а потом одним объектом их юзать где надо?
так вот, это ещё не ООП.
Это ещё C, а там не было ООП.
А вот когда в C++ добавили, что в тот же объект можно ещё и функций напихать, да ещё и наследовать, да виртуальные интерфейсы, да ctor/dtor, вот тогда то и случился ООП.

А потом когда поняли что возможностей всё равно не хватает - взяли пре-процессор. Усилили его в 100 крат
и сделали процессор шаблонов. В скобках замечу что он вообще никакого отношения к ООП не имеет.
Просто отдельная магия которая закрывает дыры в абстракциях. По сути - попытка мягко протащить идеи
функционального программирования хотя-бы в фазе компилляции.

Не хватает нам минералов... Не хватает.
4 мар 20, 12:50    [22092447]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Давайте хоть Хелло Ворлд напишем на этом убийце.

Что его писать? Вот он есть:
https://github.com/yegor256/takes#quick-start

Если включить фантазию и интерполировать это (или просто промотать там дальше вниз), то получатся прикольные портянки с кучей вложенных друг в друга конструкторов и анонимных классов, которые в свою очередь будут очень похожи на банальную функциональщину + куча синтаксического мусора.
В сухом остатке мы получаем иммутабельные структуры и кучу функций, которые их обрабатывают, всё это завернётся в какой-нибудь декларативный сборщик, а ООП будет выкинуто на помойку, потому что это не нужные ограничения, не нужный секас с иерархией наследования и непомерно раздутый код.
4 мар 20, 13:09    [22092475]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
mayton
Алексей Роза
тут ещё походу каждый свой ООП имеет ввиду...
разве кто-то против того, чтобы сгруппировать переменные и раздавать им параметры в любой момент, а потом одним объектом их юзать где надо?
так вот, это ещё не ООП.
Это ещё C, а там не было ООП.
А вот когда в C++ добавили, что в тот же объект можно ещё и функций напихать, да ещё и наследовать, да виртуальные интерфейсы, да ctor/dtor, вот тогда то и случился ООП.

А потом когда поняли что возможностей всё равно не хватает - взяли пре-процессор. Усилили его в 100 крат
и сделали процессор шаблонов. В скобках замечу что он вообще никакого отношения к ООП не имеет.
Просто отдельная магия которая закрывает дыры в абстракциях. По сути - попытка мягко протащить идеи
функционального программирования хотя-бы в фазе компилляции.

Не хватает нам минералов... Не хватает.

а накой препроцессор, и что там можно усилить, если это всё только на этапе компиляции? В конце то всё равно асм с голыми инструкциями...

Сообщение было отредактировано: 4 мар 20, 13:20
4 мар 20, 13:16    [22092483]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
crutchmaster
а ООП будет выкинуто на помойку, потому что это не нужные ограничения, не нужный секас с иерархией наследования и непомерно раздутый код.

по-моему тут взаимоисключающие параграфы...
"наследование" означает, что код не будет дублироваться
а "непомерно раздутым" он становится как раз из-за дублирования
4 мар 20, 13:19    [22092486]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Алексей Роза
В конце то всё равно асм с голыми инструкциями...

Эта фраза ставит точку в техническом споре. Но если тема топика - "что на выходе".

Но программисту по большему счету плевать какая бинарная колбаса на выходе. Вот скажите
кто из Java разработчиков смотрит в байткод? Кто смотрит как работает JIR и что на его выходе?

Программисту важно чтобы его код работал по законам и правилам ИСХОДНОГО материала.
Тоесть исходник сцуко важен. Он является предметом исследования когда проблемы.
По нему ходит дебаггер. Его анализируют статик-анализаторы.

Сообщение было отредактировано: 4 мар 20, 13:24
4 мар 20, 13:23    [22092494]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
lleming
Member

Откуда:
Сообщений: 1714
crutchmaster
mayton
Давайте хоть Хелло Ворлд напишем на этом убийце.

Что его писать? Вот он есть:
https://github.com/yegor256/takes#quick-start

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


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

PS. недавно где то уже такое слышал.
4 мар 20, 13:29    [22092511]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
crutchmaster
mayton
Давайте хоть Хелло Ворлд напишем на этом убийце.

Что его писать? Вот он есть:
https://github.com/yegor256/takes#quick-start

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

Мне кажется Егоро-кодинг выглядел-бы красиво не на языке Java. А на чем-то другом. Он в лекции хвастался
что знает Руби. Может он - рубист и этот стиль перенёс туда.

По существу - главный критерий КМК - что эта лестница - работает. Если она - работает - это успех.
Если она - лаконичнее чем SpringBoot configs - то это бОльший успех. И если она позволяет быстрее
и оперативнее вносить изменения и фиксить баги - это успех в квадрате.
4 мар 20, 13:32    [22092514]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
lleming

процедурное чтобы не бомбить heap кучей на каждый чих создаваемых чистых функциях объектах.

Насколько я понимаю... он не бомбит. Создает 1 раз на приложение. Это похоже на коробочное Jetty-Hello-World
или NodeJS-hello-world.
4 мар 20, 13:33    [22092516]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
mayton
Я имею в виду не Delphi а именно Pascal. При этом я не говорю что он был плох. Просто писали без ООП.
Вот только не надо рассказывать историю, который вы не знаете.
Borland Pascal 5.0/5.5/6.0 - везде было ООП и целый TurboVision. Целевые платформы - DOS/Windows 3.x.
Если правильно помню, то даже BP 6.0 мог комфортно работать на бесдисковой EC-1841 - интегрированная среда вполне умещалась килобайт в 300-400.
Це-компилятор тоже мог (не помню уже - Борланда или MS), но сильно неудобнее: вставьте дискету № и так по кругу. А дискет там было 12 штук.
4 мар 20, 14:20    [22092607]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Basil A. Sidorov
mayton
Я имею в виду не Delphi а именно Pascal. При этом я не говорю что он был плох. Просто писали без ООП.
Вот только не надо рассказывать историю, который вы не знаете.
Borland Pascal 5.0/5.5/6.0 - везде было ООП и целый TurboVision. Целевые платформы - DOS/Windows 3.x.
Если правильно помню, то даже BP 6.0 мог комфортно работать на бесдисковой EC-1841 - интегрированная среда вполне умещалась килобайт в 300-400.
Це-компилятор тоже мог (не помню уже - Борланда или MS), но сильно неудобнее: вставьте дискету № и так по кругу. А дискет там было 12 штук.

Хорошо. Я согласен с тем что я лично не писал на TurboVision. И возможно там действительно есть ООП. И оно
используется как ООП. А не как набор энтитей.
4 мар 20, 14:22    [22092608]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
Я тоже не писал на TurboVision. Но примеры - смотрел.
ООП с конструкторами, деструкторами, наследованием, инкапсуляцией и полиморфизмом появился у Borland-овского диалекта Pascal в конце 1980-х. Концепция-то была уже не новая, мягко говоря.
4 мар 20, 14:29    [22092612]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Технически.. ООП с наследованием даже есть в PL/SQL. Но практически он - не прижился. Я повидал
много ентерпрайза на оракле с хранимками но я не видел практически его (ООП) применения.

С JavaScript вообще интерсно. Там теоретики могут друг друга таскать за бороды и биться насмерть
но так и не договорятся о том есть ли в JS ООП или нет и вообще ЧТО считать объектом и классом.

Сообщение было отредактировано: 4 мар 20, 14:34
4 мар 20, 14:34    [22092619]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Alexander A. Sak
Member

Откуда: Омск
Сообщений: 1085
Я писал на TurboVision в 6 и 7 Турбо/Борланд Паскалях, и даже под его впечатлением с другом сделали свой TurboVision для графики 320х200х256.
Все там в синтаксисе было ООП-но. Доки по ООП читал в распечатанном виде, она была от Турбо Паскаля 5.5. То есть таки да, в паскалях ООП давным-давно.

Но писать же в ОО-стиле можно и без ООП-синтаксиса. Адисты, вроде, вообще только в этом веке дожили до синтаксиса с точкой. До этого просто передавали Self и не парились.
4 мар 20, 15:07    [22092657]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Беда в том что современная Java - не совсем строгая с точки зрения ООП.
Тоесть она конешно ООП. Но иногда позволяет делать действия которые идут вразрез с классикой.
Например вы создали приватное поле. И 3.14дец. Никто не имеет право его видеть. Просто такова
была ваша идея как создателя класса. Но не тут-то было. Школьники взяв рефлексию или Mockito
спокойно нарушают это правило и доступаются и модифицируют ваше приватное поле (!) как хотят
ибо надо им срочно затестить что-то.

Здесь я хочу сказать - стоп дорогие товарищи. Это - не ООП.

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

Или представте себе девятку с модулями? Кто-то пробовал порефлексировать девятку когда правила
доступа к внутренней части модуля уже декларированы? Как там? Exception? Или любители мокито
придумают еще более страшную магию чтобы и это сломать?
4 мар 20, 15:17    [22092670]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5183
Basil A. Sidorov
Я тоже не писал на TurboVision. Но примеры - смотрел.
ООП с конструкторами, деструкторами, наследованием, инкапсуляцией и полиморфизмом появился у Borland-овского диалекта Pascal в конце 1980-х. Концепция-то была уже не новая, мягко говоря.


Писал на Turbo Vision и даже за деньги, когда был студентом.
Вполне себе нормальный оконный фреймворк.
Правда, по удобству написания CRUD-приложений он уступал тому же FoxPro.

А так, вполне миленькие менюшки-окошечки.
Правда все были в одном стиле - Borland :-)

Все в ООП.
Правда ручное управление памятью и правильное написание деструкторов немного напрягало.
4 мар 20, 15:22    [22092678]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5183
mayton
Технически.. ООП с наследованием даже есть в PL/SQL. Но практически он - не прижился. Я повидал
много ентерпрайза на оракле с хранимками но я не видел практически его (ООП) применения.


Так правильно!
Зачем скриптовому языку ООП, строгая типизация и развитая система типов?
Гавное что-то быстро наговнокодить, чтобы как-то работало.
А кто и как эту кучу кода будет поддерживать, это не проблема пейсателя.
:-)
4 мар 20, 15:24    [22092683]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
mad_nazgul
mayton
Технически.. ООП с наследованием даже есть в PL/SQL. Но практически он - не прижился. Я повидал
много ентерпрайза на оракле с хранимками но я не видел практически его (ООП) применения.


Так правильно!
Зачем скриптовому языку ООП, строгая типизация и развитая система типов?
Гавное что-то быстро наговнокодить, чтобы как-то работало.
А кто и как эту кучу кода будет поддерживать, это не проблема пейсателя.
:-)

Нет. Технически PL/SQL имел опцию нативной компилляции. Поэтому он уже не скриптовый.

Беда была в том что тип существовал отдельно от таблицы. А в базах данных таблица - это королева.
Она - суть главная при дворе. От нее все танцуют. И идея была просто не развита. Можно было клепать
новые таблицы с типов как печенье из формочки. Но идея декларации типа по сути уничтожена.
Кому нужен бесполезный тип который не оказывает влияния на рантайм? Рантайм оказался важнее типов.
4 мар 20, 15:29    [22092687]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mad_nazgul,
mayton,
Странный у вас интерес - почему бд не нуждается в ООП)
4 мар 20, 15:34    [22092692]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
PetroNotC Sharp
mad_nazgul,
mayton,
Странный у вас интерес - почему бд не нуждается в ООП)

Это был вопрос?
4 мар 20, 15:36    [22092693]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
Алексей Роза
"наследование" означает, что код не будет дублироваться

Это догма, я так понимаю? Не может быть такой ситуации, что один и тот же метод будет нужен в разных местах иерархий?
inb4: пофиксить иерархию.
Удачи. Обделаешься 2 раза еще на стадии выбора названий классов своему ООП зоопарку.
4 мар 20, 16:28    [22092742]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
mayton
PetroNotC Sharp
mad_nazgul,
mayton,
Странный у вас интерес - почему бд не нуждается в ООП)

Это был вопрос?
Почему вопрос. Примите как данность. В бд не нужен ООП. Без выяснения почему.
4 мар 20, 16:33    [22092746]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
lleming
а потом будет слушать на конфах про то как очередной гений будет объяснять как сворачивать эту функциональщину назад в процедурное чтобы не бомбить heap кучей на каждый чих создаваемых чистых функциях объектах.

..убежал домой и не успел закончить мысль
Именно. Поэтому следом в помойку полетит иммутабельность с ритуальной чистотой, ибо любые идеи "сперва человек, а потом компутер" заканчиваются тормозами и пляской с оптимизациями.
4 мар 20, 16:34    [22092748]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 948
mayton
Насколько я понимаю... он не бомбит.

Просто ему нечем бобмить. Не дошел до таких проблем. Когда дойдет наделает сеттеров взад и предаст свои идеалы.
4 мар 20, 16:36    [22092753]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
PetroNotC Sharp
mayton
пропущено...

Это был вопрос?
Почему вопрос. Примите как данность. В бд не нужен ООП. Без выяснения почему.

Да я и не собирался спорить. Просто констатировал как ОНО есть сейчас.

Хотя вот создатели InterSystems Cache возможно и не так думают. Но у них наверное есть свои бока...
4 мар 20, 16:47    [22092763]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
crutchmaster
Алексей Роза
"наследование" означает, что код не будет дублироваться

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

это если вообще ВЕСЬ код хранить в классах (как в JAVA), тогда да - будут накладки и проблемы
А если делать как в C++, где весь код в обычных helper-функциях, а в классах только автоматическая обработка спец.данных, тогда не будет таких накладок.
Тогда каждый класс занимается своим уникальным делом, а ф-и находятся либо снаружи (и доступны всем), либо таки в наследуемом классе.

Сообщение было отредактировано: 4 мар 20, 17:05
4 мар 20, 17:05    [22092782]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 48
mayton
С JavaScript вообще интерсно. Там теоретики могут друг друга таскать за бороды и биться насмерть
но так и не договорятся о том есть ли в JS ООП или нет и вообще ЧТО считать объектом и классом.

Классы можно объявлять как в основном потоке кода, так и «инлайн», по аналогии с Function Declaration и Expression.
В объявлении классов можно использовать методы, геттеры/сеттеры и вычислимые названия методов.
При наследовании вызов конструктора родителя осуществляется через super(...args), вызов родительских методов – через super.method(...args).
Концепция классов, которая после долгих обсуждений получилась в стандарте ECMAScript, носит название «максимально минимальной». Т.е., в ней только те возможности, которые 100% необходимы.
В частности, не вошли «приватные» и «защищённые» свойства. То есть, все свойства и методы класса технически доступны снаружи. Возможно, они появятся в будущих редакциях стандарта.

я бы сказал, там классы уровня C (т.е. struct), но с наследованием и методами...

Сообщение было отредактировано: 4 мар 20, 17:10
4 мар 20, 17:09    [22092790]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
Алексей Роза
это если вообще ВЕСЬ код хранить в классах (как в JAVA),
где тэ это видел.
Наоборот, шутят, что в java процедурщики, так как весь код в сервисном слое. Статические классы это не ООП.
4 мар 20, 17:56    [22092825]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8475
Алексей Роза

это если вообще ВЕСЬ код хранить в классах

Что-то мне кажется. что с появлением DEP
https://ru.wikipedia.org/wiki/NX_bit

это становится все сложнее и сложнее )))
4 мар 20, 18:06    [22092830]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1185
Меня бесконечно восхищают бесконечные золивары на тему ООП и процедур.
Со своего нубского языка я бы сказал что все скрипты это тупо процедуры, и нужны для автоматизации рутинных ручных работ. Поверьте я знаю о чем говорю, так как до сиз на уровне чуть выше ассемблера копаюсь в половину времени.
ООП - нужен для работы с кем то уже созданным, или вами созданным виртуальным миром. Где всякое не надо помнить до последней мелочи. Объект мяч со скоростью/весом/пружинистостью.

Не надоело же вам в самом деле. Процедурный мертв - вы ничего просто о нем не знаете в текущем прикладном деле. ООП мертв - точно также, вам просто не хватает осведомленности.

PLC - чистой воды процедурное программирование, как бы вы не назвали.
DCS система - чистой воды ООП, вам не надо знать детали реализации, вам надо достать то или иное свойство и что-то с ним сделать.

До меня до сих пор не доходит суть холиваров, такое ощущение, что спор идет о разнице плоскогубцев и узкогубцев. Вроде похоже, а вот где и как применять, с этим у многих проблемы.
4 мар 20, 18:23    [22092846]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 8475
АСУ ТПшник

DCS система

Что есть DCS ?
Digital Combat Simulator ?

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

Чего спорить, гвозьди забивать надо !
4 мар 20, 18:28    [22092856]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10009
Leonid Kudryavtsev
Что-то мне кажется. что с появлением DEP
https://ru.wikipedia.org/wiki/NX_bit
это становится все сложнее и сложнее )))
Совсем про другое.
4 мар 20, 18:34    [22092866]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
АСУ ТПшник
ООП - нужен для работы с кем то уже созданным, или вами созданным виртуальным миром. Где всякое не надо помнить до последней мелочи. Объект мяч со скоростью/весом/пружинистостью.
Это называется моделирование.
На выходе Модель ИС.
И она присутствует во всех программах программиста.
Даже в Hello world.
4 мар 20, 18:35    [22092869]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1185
автор
Что есть DCS ?

Distributed control system. Та самая штука которая вам как производство бензина контролирует, так и подачу электроэнергии. Не сайтиками едиными жива промышленность. Такие дела.

автор
Чего спорить, гвозьди забивать надо !

Узкогубцами с холиварами , не иначе :)
4 мар 20, 19:14    [22092912]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1185
автор
Это называется моделирование.
На выходе Модель ИС.
И она присутствует во всех программах программиста.
Даже в Hello world.

Не не не. Ту много лет идут срачи по поводу процедурное лучше или ООП. Но вот чтобы тупо тонну перенести туда сюда и это проконотролировать - это никак.
Споры же не про моделирование, споры на уровне - пацаны из соседнего двора - лохи.

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

Я не про склру. Это тенденция. Люди вообще не понимают что и зачем и чем делается.

Сообщение было отредактировано: 4 мар 20, 19:21
4 мар 20, 19:15    [22092913]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
АСУ ТПшник, расслабся. Топик - не про твои системы.
4 мар 20, 19:19    [22092917]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1185
Они не мои. Вы кстати перевели вполне "прикладной" топик чистой процедурщины про острова в нескончаемую задачу со вновь появляющимися вариантами. Зачем? Где границы вашей задачи?
PS Вру. Не вы. Вы просто размазили задачу в надежде получить что-то более изящное, не понятное.

Чего ищи то хоть бы сформулировали.

Сообщение было отредактировано: 4 мар 20, 19:28
4 мар 20, 19:27    [22092924]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
забыл ник
Member

Откуда:
Сообщений: 3241
АСУ ТПшник

Не не не. Ту много лет идут срачи по поводу процедурное лучше или ООП.

Процедурное программирование вспыло тут только страницу назад, до этого оно давненько не обсуждалось. Если имеются другие топики то это скорее OOP vs FP, что как бы немного другое мягко говоря
4 мар 20, 19:34    [22092928]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1185
Погорячился. Не обращайте внимания. Но тема про ООП процедурщину зрела давно. У меня лет 10 :) Задрали.
4 мар 20, 19:49    [22092935]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Я полностью согласен с тем что надо закрыть процедурное. Оно тут не в втему.
4 мар 20, 19:51    [22092936]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
АСУ ТПшник
Они не мои. Вы кстати перевели вполне "прикладной" топик чистой процедурщины про острова в нескончаемую задачу со вновь появляющимися вариантами. Зачем? Где границы вашей задачи?
PS Вру. Не вы. Вы просто размазили задачу в надежде получить что-то более изящное, не понятное.

Чего ищи то хоть бы сформулировали.

Я свои цели описал здесь 22091467
и эта цель будет мной реализована. Но наберитесь терпенья мой друг.
4 мар 20, 19:53    [22092937]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
АСУ ТПшник
Member

Откуда:
Сообщений: 1185
mayton,

ооок. Будем посмотреть.
4 мар 20, 20:12    [22092946]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mad_nazgul
Member

Откуда:
Сообщений: 5183
mayton

Нет. Технически PL/SQL имел опцию нативной компилляции. Поэтому он уже не скриптовый.


От того, что скрипт можно компилировать, он не становиться не скриптом. ;-)
Помниться еще под WinNT был компилятор BAT файлов ;-)

mayton

Беда была в том что тип существовал отдельно от таблицы. А в базах данных таблица - это королева.
Она - суть главная при дворе. От нее все танцуют. И идея была просто не развита. Можно было клепать
новые таблицы с типов как печенье из формочки. Но идея декларации типа по сути уничтожена.
Кому нужен бесполезный тип который не оказывает влияния на рантайм? Рантайм оказался важнее типов.


В PostgreSQL таблицы как раз определяют типы, есть наследование (при чем это было с самого начала)
Только вот это нафиг никому не нужно.
Нужны "хинты" и не строгий скриптовый язык.
5 мар 20, 06:01    [22093071]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mirudom
Member

Откуда:
Сообщений: 1094
mayton
Предлагаю на ваш суд один из последних видосов на тему Силиконовой долины и Тайм-менеджмента
и Zerocracy.
Дядька интересный, но вот вложение собственных денег и не только в стартапы - улыбнуло.
автор
Потом были несколько конференций с темами "Объектно-ориентированное вранье",
Впечатление, что книги:
паттерны-анти паттерны никто не читает. :-)
8 мар 20, 11:50    [22095377]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
Большой Синий Кит
Member

Откуда: Синий Океан
Сообщений: 1065
[offtop]
Ребята, а скажите, пожалуйста, вы работаете вообще?
Мне иногда кажется, что на этом форуме присутствует как минимум некий клан "заводил", которые специализируются на теории в отрыве от практики. :) Это не так и плохо, в общем-то, но как-то иной раз удручает. О теории вдруг решают вставить свои пятикопеечные мнения всякие завуалированные (для непосвященного) новички в роде asv79... И с ними начинают полемику в серьезном тоне - причем, так сказать, аксакалы.
Я вот хочу понять. Форум российский (а в России в сфере программирования большие проблемы) - все это понимают. Но тут много, насколько я понимаю, программистов и из других государств. Почему тогда уровень падает?

Сообщение было отредактировано: 8 мар 20, 21:03
8 мар 20, 21:01    [22095471]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 4508
Большой Синий Кит,
Про падение уровня фишка раскрыта слабо. Раскрывай.
9 мар 20, 10:02    [22095559]     Ответить | Цитировать Сообщить модератору
 Re: Сеньтябрские тезисы Егора Бугаенко (+толстое видео)  [new]
mayton
Member

Откуда: loopback
Сообщений: 45514
Тема топика - Бугаенко. Вот и шутите про него.
9 мар 20, 12:44    [22095590]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7      [все]
Все форумы / Java Ответить