Люди, я просто написал, что хочу найти команду. А вы тут дискуссию устроили.
Я конечно понимаю. Спорить интересно. Но делайте это не тут. Пожалуйста.
Salamandr
Привет! На самом деле, в java есть var начиная с 10 версии (из коробки, а не lombok).
Бесплатные свежие jdk без регистрации все еще можно скачать (тут, например).
Со всем остальным согласен
Java очень популярный язык до сих пор, хотя игры, наверное, не самое лучшее её применение (но тут я не владею достаточной информацией).
Alastor-X
Прости, что вставил свои пять копеек в этот спор! Надеюсь, найдешь команду!
Alastor-X
А какие игры ты хотел бы делать на Java? Или тебе неважно что, лишь бы Java?
Alastor-X
сложно передать, что я чувствую читая твои посты. С одной стороны человек знает крутой язык Java. Он хорош для финтеха и высоко нагруженных сайтов типа google. Ну игрулечки для Андроида ещё. И человек хочет делать игры на ЭТОМ...
Для души, потешить самолюбие и убить на это лет эдак 5.... А потом прозреть и... уйти в финтех, или взять наконец конкурентноспособный движок и лепить на нёми игры.
Не сочти за троллинг, но мой совет может спасти тебе несколько лет твоей жизни:
Геймдев - штука капризная. Геймеры не оценят твоего энтузиазма. Если хочешь делать конкурентноспособные игры - бери готовый движок, если хочешь кодить на Java - иди работать в банк.
так и не сформулировал сути выше.
ИМХО делать игры на Java сегодня - всё-равно что изучать галактики в электронный микроскоп. Никто не спорит, что электронный микроскоп крайне крут как инструмент, но для изучения галактик существуют телескопы...
pahaa
> > Это не позволяет превратить поле в свойство
> Ты, вроде, уже несколько лет программируешь, а перлами до сих пор сыпешь как из рога изобилия. Удивлён.
Salamandr
> если ты сам написал публичный доступ к внутренней переменной и написал публичный метод для её установки - это и есть инкапсуляция
Mephistopheles
> чиво? у тебя поле приватное куда уж инкапсулированнее.
Учитывая совершенное не понимание темы инкапсуляции вот этими товарищами, вынужден добавить.
1. От того, что поле приватное - это еще не значит, что есть инкапсуляция.
2. Salamandr подошел чуть ближе, но очень поверхностно.
У тебя было
public class A
{
public string Name;
}
сделай мне инкапсуляцию написав методы? Учитываем, что уже есть куча мест, где используется A.Name.
tac
> сделай мне инкапсуляцию написав методы? Учитываем, что уже есть куча мест, где используется A.Name.
это называется "рефакторинг", а не "инкапсуляция"
инкапсуляция это вроде когда методы вместе с данными в одной структуре, всякие приваты это сокрытие
правда в с++ методы наконец-то решили унифицировать со свободными функциями, что давно напрашивалось
tac
> сделай мне инкапсуляцию написав методы? Учитываем, что уже есть куча мест, где используется A.Name.
Тебе уже написали что это называется рефакторинг и делается это так:
делай раз
делай два
жди и получи
все вызовы замнятся на свойства
Подучи уже терминологию не ну самому не стыдно чушь то писать?
#!
> инкапсуляция это вроде когда методы вместе с данными в одной структуре, всякие приваты это сокрытие
tac в базовой терминологии путается, про такие тонкости ООП лучше вообще не поднимать разговор:)
Alastor-X
> Но делайте это не тут. Пожалуйста.
Извини, не мог удержаться когда мою любимую джаву обижают:) Больше не буду
pahaa
> это называется "рефакторинг", а не "инкапсуляция"
а может сам будешь внимательнее читать?
tac
> Это не позволяет превратить поле в свойство, т.е. отсутствие инкапсуляции для данных.
Превратить изначально было написано. И да, ниже Mephistopheles показал не прямую инкапсуляцию данных, а инкапсуляцию данных, через методы, т.е. левым пальцем правой ноги чесать левое ухо.
Mephistopheles
> Подучи уже терминологию не ну самому не стыдно чушь то писать?
Терминологию ты сам не знаешь, т.е. без современного IDE на Яве лучше не писать - понятно.
И то, что икапсуляция выполняется криво, с помощь дополнительных методов - а не при обращении к свойству, никого не волнует. Ну ок, с такой кашей в мозгах можно и на Си писать, хотя Ява вроде заявляла, что она чем то лучше :)
#!
> инкапсуляция это вроде когда методы вместе с данными в одной структуре, всякие приваты это сокрытие
Вам бы подучить мат. часть (методы вместе с данными это класс называется ;) )
tac
> И то, что икапсуляция выполняется криво, с помощь дополнительных методов - а не при обращении к свойству, никого не волнует.
тебе названия методов не нравятся? get\set можно убрать, на это настройка есть, попутно с чейнингом.
clc
> тебе названия методов не нравятся? get\set можно убрать, на это настройка есть, попутно с чейнингом.
мне не нравится, необходимость таких методов в принципе. Когда я присваиваю Name, я хочу писать нормально Name = "test", а не бред вида setName("test").
На самом деле одна из первых моих тестовых игр была написана на Яве для андроида. Но тогда, еще не было Unity (точнее он был недоступен), поэтому то я и считаю, что вы отстали так эдаг на лет 10 минимум?