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

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

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

81 ответов

36 просмотров

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта