metaclass: (Default)
[personal profile] metaclass
Всем, кто изобретает собственные говноязыки программирования, или собирается "упростить программу", встроив в нее скриптовый движок для бизнес-логики - читать следующее до полного просветления:

Корпоративный движок правил

Мягкое кодирование


Особенно, бля, это касается разработчиков всякого ненавидимого нами enterprise-говна. С вашими долбаными поделками потом десятки лет люди мучиться будут.

Date: 2007-06-14 09:38 am (UTC)
From: [identity profile] nvm.livejournal.com
так вроде бы есть стандарт на эти квадратики (функционально-блочные диаграммы то есть), не помню как называется.
И в принципе достаточно удобно -- наши разработчики были отделены от программистов, и занимались двумя вещами -- сборкой шкафов и как раз тасканием квадратиков со стрелочками. Контроллеры были разные.
То есть такие птичьи языки имеют смысл, когда надо делать много разных систем под заказ, да вот хотя бы у 1с такой язык.
В рамках же одной конторы это зло, конечно.

Date: 2007-06-14 09:44 am (UTC)
From: [identity profile] metaclass.livejournal.com
Язык 1С и его окружение адский ужас.
Много разных систем под заказ было бы делать гораздо проще если бы вместо встроенного языка к 1С сделали бы толковый API для написания расширений, а язык бы оставили только для генерации простых отчетов в стиле "входные параметры-запрос-печатная форма".
Просто разработчики 1С успели пройти по пути полного неадеквата до конца и сделать этот неадекват стандартом де-факто.
Надеюсь, их всех отправят в сибирь, пылесосить сугробы на урановых рудниках.

Date: 2007-06-14 09:53 am (UTC)
From: [identity profile] nvm.livejournal.com
я знаю чем бы кончилось. Накопилась бы критическая масса расширений, а потом кто-нибудь сделал бы своё ядро, совместимое по API, но лучше или дешевле, и разработчики 1с пошли бы по миру.

Date: 2007-06-14 09:55 am (UTC)
From: [identity profile] nvm.livejournal.com
то есть путь неадеквата -- это как раз путь, по которому надо идти до конца, или уж не вставать на него. Останавливаться на этом пути нельзя, иначе вылетишь с рынка :)

Date: 2007-06-14 09:58 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, что-то вроде этого :)

Date: 2007-06-14 09:58 am (UTC)
From: [identity profile] 1ceheart.livejournal.com
> И в принципе достаточно удобно

Это удобно, пока реализуемая логика не выходит за уровень "если сработал датчик 1, открыть клапан 2". Реализация чего-то чуть более сложного превращается в адскую пытку, а поддержка и внесение изменений - вообще невозможны в принципе, хотя бы потому, что квадратикам со стрелочками нельзя сделать diff.

А птичий язык для постпроцессинга G-кода для ЧПУ? Это же пиздец. Конфиг sendmail нервно курит в углу.

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

Date: 2007-06-14 10:44 am (UTC)
From: [identity profile] metaclass.livejournal.com
+1
Визуальные и прочие бинарные языки не пригодны для контроля версий. Совсем.

Я все таки очень надеюсь, что их всех отправят пылесосить цеха Железногорского ГХК от плутониевой пыли.

Date: 2007-06-14 11:54 am (UTC)
From: [identity profile] nvm.livejournal.com
так надо стрелочки с квадратиками хранить в xml!

Date: 2007-06-14 12:12 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Эээ, вы что?
Тогда же любой нормальный программист сможет разобраться и избавиться от необходимости в утилитах вендора, прохождения курсов у него же, ежегодной платы за право задать вопрос в техподдержке.

По-моему, все поставщики сложных систем производственного назначения поняли что "делать хорошо" - плохая бизнес-модель. Потому что нормально сделанная система гораздо меньше нуждается во внимании, чем сделанная плохо. А внимание - это деньги для вендора и его партнеров.

Date: 2007-06-14 12:00 pm (UTC)
From: [identity profile] nvm.livejournal.com
>>Это удобно, пока реализуемая логика не выходит за уровень "если сработал датчик 1, открыть клапан 2".
так в 95% случаев это и надо.
>>Реализация чего-то чуть более сложного превращается в адскую пытку
в основном это из-за убожества контроллерного железа, которое птичьи языки добросовестно и отражают.
>>квадратикам со стрелочками нельзя сделать diff
да, это проблема.

там основная идея в том, что человека, умеющего собирать шкафы и понимать техпроцессы найти ещё можно, а чтобы он ещё мог кодить на С -- уже гораздо тяжелее, и платить ему придётся дикие деньги. Причём в основном за "если сработал датчик 1, открыть клапан 2", только написанное на с.

Date: 2007-06-14 12:31 pm (UTC)
From: [identity profile] 1ceheart.livejournal.com
> так в 95% случаев это и надо.

В 95% случаев это надо на первом этапе. Потом приходит заказчик (технолог, инженер, не суть) и говорит - а вот мы тут подумали и решили сделать так, чтобы клапан 2 открывался не сразу после срабатывания датчика 1, а через 15 секунд и только если ручка 5 повернута в положение 4, а если за 30 секунд до этого была нажата кнопка 3, то бла-бла-бла. И люди начинают сношаться с квадратиками и стрелочками, воплощая на 20 страницах картинок то, что выражается пятью строками кода.

> а чтобы он ещё мог кодить на С -- уже гораздо тяжелее, и платить ему придётся дикие деньги

Во-первых, не обязательно C. Ничто не мешает птичьему языку быть просто C-style, и компилиться в тот же байт-код - а-ля PHP, кодеры на котором, кстати, стоят копейки.

А люди, которые когда-то нарисовали 20 страниц квадратиков со стрелочками и их теперь приходится держать в штате только потому, что они хотя бы частично помнят, как это работает, обходятся в итоге дороже.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 08:17 am
Powered by Dreamwidth Studios