169 похожих чатов

Зачем мне менять время таймаута после того как я создал

и проинициализировал объект?

81 ответов

32 просмотра

Ну например у людей меняется возраст

vlad-mironoff Автор вопроса

incrementAge(); в классе прописать?)

то есть сет метод сделать? XD

vlad-mironoff Автор вопроса

vasya.incAge(); vs vasya.setAge(vasya.getAge() + 1); Есть разница по-моему)))

А теперь у него поменялся не возраст, а вес.

Ты мыслишь правильно, именнованные методы лучше чем анемичные геттеры и сеттеры, но в джаве так не принято. Обычно именнованные методы лежат отдельно в каких-нибудь “сервисах”, которые уже используют объект как структурку с геттерами и сеттерами

а смысловая разница в чем. Суть set метода, что ты устанавливашеь значение поля. Называться он может хоть pieceOfSheetMethod, но по соглашению называть их принято setFieldName()

У анемичной модели есть свои плюсы

Разве что только простота создания. Не надо думать

Инкремент метод может просто сделать новый объект с новым значением, вместо того, чтобы мутировать старый

vlad-mironoff Автор вопроса

Если я делаю приложение для контроля веса пользователя, там скорее всего будет decrease/increase? Однако даже если я решусь сделать сеттер , то в нём уже будет какая-никакая логика (нельзя поставить вес меньше 0, условно), что уже в целом ок У меня скорее вопрос про "классические гет/сет" которые генерируются той же IDE или библиотеками lombok

Локализация ответственности, отделение данных от логики.

vlad-mironoff Автор вопроса

А в чём тогда отличие от структурного программирования, кроме синтаксиса?)

Уточни что такое “Локализация ответственности”. отделение данных от логики - в чем преимущество?

Ни в чем. В джаве большинство структурно и прогают. А что такое ООП это холивар вообще

В том, что поддерживать это проще

vlad-mironoff Автор вопроса

А зачем я тогда перехожу с Си и читаю книжки по ООП?)))

Это точно, достаточно вспомнить жопоподрывающий видос с канала экстримкод, где основные парадигмы варьируются от 3 до бесконечности. Далеко ходить не надо, 10 лет назад все говорили только об инкапсуляции, наследовании и полиморфизме. А сейчас уже приплели абстракцию и прочее)

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

Лучше изучай Java SE и в сторону spring смотри)

Да холивар это про совсем дебри какие то , практикой набить основные шишки довольно просто и не задумываться об ИСТИННОМ ООП

Джава вообще сомнительный выбор в 2021

Котлин?

Потому что у джавы и жвм куча других преимуществ)

А черт тебя знает. Оставайся на C, он же велик и могуч

Да не только. Сейчас в моде смесь функционального подхода, с реализацией трейтов. Скала, TS, Rust вот это всё

Скала))

Ну это ж скорее экзотика , кроме ТС. А тут классика "нестареющая"

Про скала видел только отказ, Раст вообще в JIT не катируется

Смысл в том, что сейчас без многопоточки никуда. А многопоточку без боли можно писать только с иммутабельными объектами

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

Ну хз, Финтех на ней живет спокойно и очень здорово

Хотя ты и не говорил про обучение , так что с позиции выбора да

Да нифига не специфичный. У тебя в современном мире все машины многоядерные.

А на чём писать надо?

За что тебе готовы платить, очевидно

Стикер

Ну а часто ли рядовому кодеру приходится в потоки лезть?

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

Вопрос зависит от проекта, а не от "рядового кодера", мне кажется

За год коммерческого ни разу 😅

Да ну камон, сейчас не 2010. Многопоточка это не про страшные wait - notify

vlad-mironoff Автор вопроса

Асинхронность это больше про питоны/жсы всякие не?

А. Она вам реально нужна не для поиграться?

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

Ну тут да , мы за рпзные вещи начали. Если речь о проекте , согласен. Если об обучении , не знаю не знаю

Ну параллелят задачи часто

Например?

Реактивные стримы. Project reactor например

Ну я хочу запустить отдельно метод не блокируя программу, чтобы он в бесконечном цикле крутился сам с собой и что-то делал. await Task.Run(method()) и погнали. А в джаве как?

executorservice, обращайся

То же самое только без await

Ну ещё надо будет отнпслндоапться от Runnable разве что

ну хз

Какое наследование, лямбды кому завозили

Запишу пожалуй, спасибо

Ну или так

https://www.baeldung.com/java-future https://www.baeldung.com/java-completablefuture

А это подобие колбэков

В completable future не обязательно колбеки пихать, его ради этого и создавали

Все же хорошо бы уточнить: Выбор для изучения / Выбор для реализации (чего-либо)

Для обоих вещей. Для обучения самый простой вариант это пайтон и js

Да и кучу всего примешать можно - и решает человек в комплексе

да java тоже не сильно сложная

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

Ага, с багажом сомнительных архитектурных решений и поддержкой 20 летних версий

Да я тоже думаю, что haskell идеальный вариант

Ну если касаемо обучения я считаю что брать экзотику как первый язык конечно плохая идея, ну и первый язык так или иначе хард. А вот для проектов вполне нормально наверно , тут я не такой пробитый

))

У нас в школе был Бейсик, но я ничего не понял и забил. Просто копипейст. А в универе шарп показали и мне зашло, но не долго. Спустя 8 лет вспомнил что что-то писал и вот я в джаве 🌚

Я скорее подумал бы, например, о подмножестве Котлина, скалы, притом не привязываясь к рантайму

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

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

vlad-mironoff Автор вопроса

Динамическую типизацию новичку давать это бред имхо

Ну и что ты предложишь фронту? С тс начать?

vlad-mironoff Автор вопроса

Фронту предложу бекенд)))

+++

vlad-mironoff Автор вопроса

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

А почему нет?

Давайте свернем это в @flood

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта