Адский холивар
На тему "зачем нужен reflection и метаданные, если все можно писать вручную в коде".
Это пиздец, граждане. Я подозревал, что есть люди абстрагированные от мира реальной разработки и его проблем, но не подозревал, что настолько.
ссылко 1
ссылко 2
zabivator и второй персонаж оттуда усиленно убеждают, что ничего этого не нужно, а потом комментом ниже предлагают решения, которые являются ничем иным, как закатом солнца реализацией рефлекшена и метаданных вручную.
Я тут сижу, думаю, как бы это вообще всю эту метаданную жопу вынести на уровень модели и генерить из нее код, затем мержить с написанной вручную нетривиальностью и таким образом избавится от 1000-кратного писания одного и того же кода "база данных->sqlreader->поле объекта->веб-сервис->поле объекта на клиенте->элемент гуя->поле объекта->веб-сервис->поле объекта->sqlparameter->база данных". Потому что у меня за пару дней может база на 3-5 таблиц увеличится, в каждой по 10-20 полей, и это все надо выставить юзеру на редактирование, да еще красиво, с подписями на трех разных языках и чтобы работать можно было и с мыши и с клавиатуры и чтобы не тормозило, и чтобы неправильных данных при всем желании запилить нельзя было.
А народу пофег, как я посмотрю. Нужно конфиг руками читать - читают. Понадобится изменения сделать - будут дописывать case в switch или там if/else и молиться, что остальные команды разработчиков код сохранения не поломают, и что имена будут одинаковые.
Видимо, я что-то в современной софторазработке и принятой в ней эффективности работы отдельных разработчиков не понимаю.
Это пиздец, граждане. Я подозревал, что есть люди абстрагированные от мира реальной разработки и его проблем, но не подозревал, что настолько.
ссылко 1
ссылко 2
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Я тут сижу, думаю, как бы это вообще всю эту метаданную жопу вынести на уровень модели и генерить из нее код, затем мержить с написанной вручную нетривиальностью и таким образом избавится от 1000-кратного писания одного и того же кода "база данных->sqlreader->поле объекта->веб-сервис->поле объекта на клиенте->элемент гуя->поле объекта->веб-сервис->поле объекта->sqlparameter->база данных". Потому что у меня за пару дней может база на 3-5 таблиц увеличится, в каждой по 10-20 полей, и это все надо выставить юзеру на редактирование, да еще красиво, с подписями на трех разных языках и чтобы работать можно было и с мыши и с клавиатуры и чтобы не тормозило, и чтобы неправильных данных при всем желании запилить нельзя было.
А народу пофег, как я посмотрю. Нужно конфиг руками читать - читают. Понадобится изменения сделать - будут дописывать case в switch или там if/else и молиться, что остальные команды разработчиков код сохранения не поломают, и что имена будут одинаковые.
Видимо, я что-то в современной софторазработке и принятой в ней эффективности работы отдельных разработчиков не понимаю.
no subject
no subject
Для, скажем, скриптинга или сериализации, или вообще "конфигуратора" всё наоборот: сначала пишут код, а потом думают, как прикрутить фичи.
no subject
no subject
О! Найден Адепт Единственно Работающей Методологии!
Быстрее пишите книгу, все остальные 100500 ошибались!
> А уж по модели сделать метаинформацию, кодогенерацию, и автоматическое создание дескриптора веб-сервиса — это уже не задействующие мозг трансформации.
Но их надо писать, не так ли?
Если проделать в мозгу упражнение, поняв, что рефлекшен это как раз и есть кодогенерация на рантайме, причём уже сделанная -- в чём останется возражение?
Давайте теперь отвлечёмся от абстракций, и расскажите мне, как в уже работающую программу на Си мне добавить сервер мониторинга, удалённых вызовов и скриптинг. Желательно строк в 100-200.
no subject
Быстрее пишите книгу, все остальные 100500 ошибались!
Ты вот ёрничаешь, а книга будет к вечеру готова (в моём журнале).
Если проделать в мозгу упражнение, поняв, что рефлекшен это как раз и есть кодогенерация на рантайме, причём уже сделанная -- в чём останется возражение?
Where do I begin? Прочитаешь в книге.
Давайте теперь отвлечёмся от абстракций, и расскажите мне, как в уже работающую программу на Си мне добавить сервер мониторинга, удалённых вызовов и скриптинг. Желательно строк в 100-200.
Откуда Си взялся? Я вообще-то пропагандирую высокоуровневые решения, а не ассемблер переносимый.
no subject
Я даже предскажу её будущее с 95% вероятностью. Её прочтёт человек 20 программеров с лишним временем, который они забивают всяким окамлом-хаскелом без всякой практики, они скажут: о круто!, почерпнут пару идей уровня МИТ-2000, и будут дальше заниматься полунаучной туфтой.
> Откуда Си взялся? Я вообще-то пропагандирую высокоуровневые решения
Я вообще-то ценю собеседника, который может ответить на вопрос, невзирая на мелочи. Хорошо, пусть на паскакале-эйфеле-эрланге или чём там адепты с Серебряной Пулей пишут. Как мне добавить. В работающую. В смысле готовую, отлаженную, можно даже в не запущенную.
no subject
Нострадамус хренов.
Как мне добавить. В работающую.
На эрланге добавить RPC можно даже в работающую программу. Штатными средствами. За 20-30 строк, а не за 100-200.
Каким именно образом можно добавить, говорить не буду, потому что не ценю собеседника, который не ценит моё время.
no subject
- Как там со стандартами? CORBA? WS-I? DCOM?
- Как там с лоад-балансингом и мониторингом? Секурити? "Можно легко написать?"
no subject
— Как там со стандартами? CORBA? WS-I? DCOM?
CORBA умерла и без этого, но она есть. WS-I. Нет DCOM, дюже специфичная вещь.
— Как там с лоад-балансингом и мониторингом?
pool и snmp входят в поставку. Завести SNMP респондер - строк двадцать. ASN.1 компилятор в комплекте, написан на Erlang'е же.
— Секурити? "Можно легко написать?"
Вопроса не понял. Есть ли криптоалгоритмы, работа с PKCS контейнерами? Есть. Если что-то другое подразумевается под security, поясни, постараюсь рассказать.
no subject
no subject
Насколько понимаю, спокойная реакция на 40-летней давности идею "сначала давайте подумаем" -- зевок и плевок.
Заранее думать каждый дурак сможет. А ты попробуй 5 фич в день для бизнеса выдай. И чтобы всё работало.
no subject
Причём, не останавливая запущенный серверный код.
Иди, повтори, говноед.
no subject
Не стыдно оскорблять человека ни за что?
Видимо, спокойных аргументов нету. Понимаю.