Всё чаще и чаще возникает задача избавиться от громоздкости Java, а иногда бывает ну просто не выносимо смотреть на определение функции в 2+ строчки. Поэтому больше возникает желание посмотреть в сторону scala, clojure и других языков.
Но не так всё просто, потому что основное программирование ведется для андроида, и получается так, что opengl пример (куртящийся квадратик) на scala работает более менее быстро, тогда как hello-world (всего-то TextView) на clojure запускается порядка 17+ секунд. Первое решение мне нравится и скорее на него переключусь, но в данный момент это не моя самоцель (но хотелось бы второе решение).
Но прежде чем посмотреть на другие языки (в том числе scala) мне хотелось бы найти или понять какой-нибудь метод на примере annotations в Java.
Вот простой пример, который мне хочеться достичь для начала: как мне сделать, чтобы все методы в моих классах были public и мне не пришлось их явно указывать? Если это делается с помощью annotations, то какие у этого метода плюсы и минус? А если без annotations, то как?
Если можете подсказать также, куда смотреть чтобы понять как подправить язык Java под свои цели, будет очень здорово.
Спасибо
P.S. У меня большое желание самому расширять язык, нежели использовать готовое решение. Поэтому такой язык как xtend (из недавних новостей), мне не совсем подохдит, но возможно исходники его посмотрю.
Не понимаю вопроса, специально все подробно расписал. Ну если не нравится вариант с public, вот другая задача — если встречается в тексте Log.d(TAG, ...) и нигде нету TAG-a, то он береться по-умолчанию или из имя пакета или из конфигурационного файла. Когда проект разрастается (+5к строк кода), то таких примеров становится только больше, а сейчас ищу решение для будующих таких проблем, потому что сам этого четко не знаю.
Большое спасибо за наводку, смотрится очень интересно, возможно это то что мне и нужно (в будущем). Правда мне хотелось внести незначительные изменения в компилятор, но на досуге присмотрюсь к MPS поближе.