Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук. Разбрах

Новини Системи и решения

Бъдещето е в програмирането, базирано на намерение

В момента потребителите искат твърде много от софтуера и настоящите подходи. Все повече се очаква всичко „просто да работи“ автоматично и всеки сам да контролира автоматизацията на своя дигитален живот и работа.

от , 21 ноември 2017 0 1216 прочитания,

Програмиране, базирано на намерение, разрешава въпроса със сложността на софтуерите

В момента потребителите искат твърде много от софтуера и настоящите подходи. Все повече се очаква всичко „просто да работи“ автоматично и всеки сам да контролира автоматизацията на своя дигитален живот и работа. В резултат на това разработчиците на софтуер губят битката със сложността на софтуера. Малките грешки се натрупват върху други малки грешки и в крайна сметка животът на потребителите и на бизнеса далеч не става по-лесен. Например, продуктите на Apple все по-често имат бъгове, пътуванията все още са кошмар, а работата с кол-центровете кара потребителите да се съмняват както в изкуствения, така и в човешкия интелект.

За да се справят с този проблем, разработчиците трябва да спрат да следят системите във всеки един момент с цел гарантиране на желаните резултати. Вместо това, докато системите стават все по-големи и сложни, разработчиците трябва да направят софтуера по-автономен чрез използването на слоеве, на алгоритми, базирани на намерение, и на изкуствен интелект (AI).

Прочетете още: Пет тенденции при софтуерните приложения през 2018 г., според Progress

Много е трудно обаче да се отговори на големите очаквания, когато проблемите са статични, и още по-трудно е, когато параметрите се променят в реално време. Тези фактори започват да налагат различен модел за програмиране: декларативен. При него се заявява намерение – желана цел или крайно състояние – и софтуерните системи автономно решават как да го изпълнят. Хората поставят границите, но е твърде много да се очаква те винаги да намират решение как да се стигне до целта. Поради тази причина навлизат компютрите и те се заемат с тази задача.

Добра аналогия от корпоративния свят е управлението по цели (MBO). При него на служителите се казва какви са целите, спрямо които те ще бъдат оценявани – например, брой продажби, приемане на продукт или ангажиране на клиентите. Но вече от самите служители зависи как ще изпълнят задачата. Често се изисква адаптиране, когато условията се променят неочаквано, и учене по време на самия процес. С други думи при алтернативния модел за програмиране софтуерът се управлява по цели.

Софтуерът трябва да се управлява от цели

Примерите за нуждата от това са навсякъде – ботовете или интерфейсите, които приемат гласови или текстови команди. Докато днешните ботове често са базирани на команди (например: намери Джейн Доу в LinkedIn), те трябва да станат базирани на намерение (например: намери ми идеален кандидат за работа).

Когато трябва да се наеме нов служител продажби, инженер или CIO, вместо работодателят да седи пред компютъра си и да претърсва мрежата за кандидати, може да използва интелигентен чатбот. Зад кулисите чатботът ще се свърже с API, който ще подбере кандидати от LinkedIn и Glassdoor; ще допълни информацията, използвайки GitHub и Meetup, и ще се свърже след това с тях, за да оцени техния интерес. След като подходящият кандидат е открит чатботът го насочва към работодателя. С времето чатботът ще се научи кои кандидати са по-подходящи и как да ги избира по-добре. Макар и да звучи футуристично, този модел за наемане е възможен и днес с правилната оркестрация на съществуващия софтуер.

Подходът, при който всеки слой отговаря само за една цел и при който целите стават все по-сложни с всяко ниво, позволява на софтуера да бъде базиран на намерение и да разрешава сложни сценарии. В света на машините слоевете са под формата на API, сложните услуги управляват данни от различни системи и изкуственият интелект взима умни решения на всеки слой.

Това е бъдещето на софтуера и то вече започна с модерните системи за облачен изчислителен модел като Kubernetes на Google; с автономните превозни средства и разбира се, с изкуствения интелект и машинното обучение, които проникват във всички нива на нашия все по-дигитален свят.

Промяната в парадигмата е неизбежна, тъй като взаимнозависимите системи, динамичните данни и нарастващите очаквания увеличават сложността. Чрез новия модел за програмиране компютрите сами ще разрешават своите собствени проблеми, свързани със сложността, а това ще позволи на хората да правят това, което умеят най-добре: да оркестрират резултатите.

КОМЕНТАРИ ОТ  

Полезни страници
    За нас | Аудитория | Реклама | Контакти | Общи условия | Декларация за поверителност | Политика за бисквитки |
    Действителни собственици на настоящото издание са Иво Георгиев Прокопиев и Теодор Иванов Захов