Previous Entry Edit Entry Edit Tags Add to Memories Share this! Track This Next Entry
Программистское
ruki
[info]tobotras
После 14-летнего перерыва поинтересовался Явой. Боже, какой верблюд! И это я только одним глазком заглянул пока.

Annotations do not directly affect program semantics, but they do affect the way programs are treated by tools and libraries, which can in turn affect the semantics of the running program.

Запретите им!

что тебе не нравится в аннотациях?

Чую бесовщину, но обосновать не могу. Почему это в коде — не понятно. Как плюсовая #pragma органично.

аннотации одновременно улучшают и код, и конфиги

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

с аннотациями гораздо лучше чем без них

Аннотации это просто метаданные, привязанные к кускам кода, на которые можно ориентироваться при препроцессинге в рантайме. В принципе, такое есть не только в Java -- в том же питоне есть docstrings, в clojure метаданные в явном виде, в ruby можно менять классы конкретных экземпляров объектов, дописывая туда всякую мету.

В Java просто базовый язык очень ущербный, поэтому дополнения к нему (которыми пытаются компенсировать недостатки) выглядят довольно уродливо.

В питоне есть еще декораторы, и __get__/__set__ с которыми можно такого наворотить ;)

То есть, это нормально, что код — это такой язык, которым я одновременно разговариваю с компилятором, документатором и рантаймом. И что всё равно синтаксически конструкции разные, одна радость, что рядом и легче синхронизировать…

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

Верблюд - это другой язык программирования ;-)

И уж поизящнее жабы, заметим.

Да уж, пояизящнее. Знаем-с, плавали.

а причем здесь перл?

Вот и вырослоо поколение, которое не понимает при чем здесь перл :)

Да какой смысл читать Camel Book, все равно не поможет. А верблюд это тотемное животное окамла, вообще-то.

Пруфпик:

Edited at 2010-07-02 11:34 am (local)

Что, кому? Кажется, кто-то не разобрался просто :)

Не, это скоро не мы маргиналы будем :)

Точно маргиналы! Бери окамель, довольный будешь!

когда он начал работать на jvm? ;-)

Не начал, и это ему ещё один плюс :-)

ну это местами спорный вопрос :-)

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

аннотации это круто.. мож самое крутое что они догадались вставить

Борь. Ява - это не язык. Точнее - это очень не только язык. Это называют термином "экосистема", хотя он и не вполне удачен.

На Яве делают а) много сложных (ДЕЙСТВИТЕЛЬНО сложных) вещей и б) много вещей, при разработке которых есть много автоматизации, в том числе автоматической генерации кода.

Всё это требует аннотаций.

Аннотации - способ связать в проекте собственно код с чем бы то ни было иным.

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

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

И так далее.

Ты сильно ошибаешься в оценках. Ява - как, в своё время и си - наилучший на сегодня компромисс в области инструментов для масштабной разработки софта. Непродуманных вещей в ней, пожалуй, нет. Всё, что есть - результат работы массы неглупых людей из Sun/Oracle/IBM/Intel.

А вообще если ты 14 лет не интересовался Явой, то, собственно, зачем начинать? Это не казуальный, в общем-то, я.п.

Ну, буду поглядеть и подумать.

Затем, собственно, что хочу понимать, как нынче программируют. По работе надо и самому интересно.

Бывает разное "программируют". Написать 200, 1000 и 100 000 строк - разные задачи. Аннотации актуальны больше в последнем случае. Поглядеть на это трудно.

Есть такая штука в Ява-мире - OSGI - http://ru.wikipedia.org/wiki/OSGi - чтобы ощущать в ней реальную потребность, нужно делать проект, который РЕАЛЬНО упирается в УПРАВЛЯЕМУЮ модульность. То есть - когда модуль имеет право на собственную жизнь. Один из примеров - проектная инфраструктура компании эйрбас, которую обеспечивает, в частности, система деплоймента, способная разбросать новую версию модуля по куче точек использования.

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


Это мне очевидно. Задачка среднего размера. Просто я реально тыщу лет не держал шашек в руках.

PS: если чем-то могу помочь - я с радостью.

Пока я на этапе осознавания вопросов, не получения ответов :)

у меня тоже появился новый сотрудник, который на яву одним глазком вот сейчас взглядывает. Очень интересно послушать поток бреда про яву, который он выдает за обедом ;) К реальности этот поток имеет такое же отношение, как жалобы серфингиста на новые горные лыжи ;)

Ну и пожалуйста :-D

новые впечатления - всегда хорошо. Неважно даже поначалу, верные они или нет ;)


Mass action on comments:
Userpic
[info]tobotras
Home   Post   Friends Page