---
id: b512d90615e48e4767b79aba30ad4089
author: snowmerak
title: Политика и компютри
description: Политиката и компютърните науки, две на пръв поглед различни, но в известен смисъл сходни области, изследват как те могат да решават обществени проблеми и как разработчикът може да се превърне в нов законодател.
language: bg
date: 2025-08-29T16:17:11.199526621Z
path: /blog/posts/politics-and-computers-zc4a4a358
category: ai
---

## Философия

Какво мислите, че е философията? Според речниковото значение тя е `дейност, при която се размишлява върху основните въпроси за живота и света и се търсят отговори`. Може да се зададе и поведенческа дефиниция: тя не е решаване на задачи с предварително определен отговор, а разширяване на мисленето чрез същия въпрос или чрез непрекъсната верига от въпроси, както и споделяне на тези отговори.

В миналото, докато завършвах бакалавърската си степен, записах курс, свързан с политическа философия. Тогава, по време на самопредставянето ми, преподавателят каза нещо подобно на `политическата философия и компютърните науки са дисциплини, които стоят на върховете на различни философии`. Не помня точно тези думи и изречение, но смисълът беше приблизително такъв.

### Компютърни науки

Според мен компютърните науки са `фундаментално изследване за решаване на логически проблеми`. Затова хората, които мислят за даден проблем, могат да стигнат до различни отговори. Най-типичният пример е сортирането. За методите за подреждане на една и съща последователност от данни в ред съществуват множество подходи: мехурчеста, вмъкваща, избираща, сливаща, бърза, пирамидална, Тим сортиране и други. Именно чрез разделяне и сравняване на тези подходи възникват по-добри алгоритми.

Освен това, от локална гледна точка, може да се каже, че те `създават и доказват`. Дори горното сортиране непрекъснато се създава по начин, по който да бъде сортирано, и резултатът му се доказва. За хората, които са разработчици, по-близък пример е следният: когато възникне проектна идея, тя се реализира и се доказва, че работи безпроблемно.

### Политическа философия

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

От локална гледна точка, подобно на компютърните науки, може да се каже, че тя `задава въпроси и размишлява`. Тя непрекъснато поставя въпроси за възникналите проблеми: защо е станало така, какви са по-добрите посоки, и размишлява, за да даде отговори. И тук броят на отговорите е пропорционален на броя на мислещите хора.

## Защо трябва да познаваме политиката и компютрите

### Взаимно обуславяне

Двата свята изглеждат така, сякаш изследват различни области, но всъщност споделят доста сходства и мнogo от причините и последиците им се пораждат взаимно.

Ще дам един пример.

1. Ако личните здравни данни се съхраняват сигурно в облака, то при нужда всяка болница ще може бързо да получи достъп до тях ⇒ чрез програмиране функцията се реализира по безопасен и удобен за достъп начин, използвайки възможностите на всяка област.
2. Тогава чии са тези данни? Мои? На служителя, който ги е регистрирал? Или на оператора? На разработчика? На държавата? А до каква степен те могат да виждат моите данни? До каква степен и по какъв начин може да се гарантира, че личната ми информация е защитена? ⇒ Ще се водят политически дебати за интересите и различията в становищата на различните общности и на отделните хора.
3. След това понякога политическият дебат и програмното проектиране и реализиране ще се повтарят в непрекъсната верига.

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

## Приличат ли политиката и компютрите

### Това, което не изглежда така

Двата свята също са се развили в сходни форми. Но в основата им има разлика между неясно и точно изразяване, подобна на връзката между социалната и естествената философия. Политическата философия се основава на променливи и неясни дефиниции, формулирани на естествен език, докато компютърните науки се основават на неизменни и точни твърдения, изразени по-скоро с формули, отколкото с естествен език.

Също така посоката им се изразява по леко различен начин. Компютърните науки смятат, че може да съществува оптимално решение. А в политическата философия се говори за неясни понятия като по-убедителен аргумент, по-обоснован аргумент или по-етичен аргумент. Но според мен посоката на двете е почти еднаква: и в двете се стремим към `следващо по-добро`. Дори в компютърните науки има различни области, но най-типичният пример е компресията на медии, наречена кодек, където се полагат усилия за постигане на по-добра степен на компресия, по-добра производителност и по-ниски лицензионни разходи.

### Това, което може да изглежда сходно

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

- Език C (`разработчикът знае какво прави`): Бих го сравнил с републиканизма. Той е исторически подобен на републиканската държава, която е в основата на западната политическа система, а също така прилича на комунитаризма, който цени съзнанието на всеки гражданин и усилията на отделните хора да вървят към по-добър идеал. Освен това ми се струва, че правата са съпроводени със задължения.
- Java (`напиши веднъж, изпълнява се навсякъде`): Не знам. Има силен закон, спазва се и живее се в унифициран живот, но той е стабилен и в рамките му има свобода. А ако навлезете в Spring, там ви очакват различни социални облаги. Да кажем ли либерализъм?
- C# (`хармония между производителност на разработчика и принципите на софтуерното инженерство`): Под силната закрила на държавата всичко е добре проектирано и в рамките на планираното може да се постигне максимална производителност и ефективност. Подхожда ми планова икономика. Не е комунизъм, защото средствата за производство са освободени и производителите не са ограничени.
- Go (`отказ от сложността, избор на практичност и ефективност`): Няма нищо подобно. Раздава всичко, затова нека бъде социална държава.
- Rust (`безопасност без загуба на производителност`): Собствеността и живота на променливите в Rust се управляват от строг компилатор като управник. Смятам, че това е социализъм, защото за да се предотвратят неравенството и рисковете, породени от свободната икономическа дейност на индивидите, общността управлява и планира средствата за производство и гарантира стабилен живот, като ограничава отчасти личната свобода с цел безопасност и равенство на цялата система.
- JavaScript (`гъвкавост и толерантност, както и присъствие навсякъде`): Бих го сравнил с капитализма. Този език позволява на отделните хора да притежават средствата за производство, а дори и съоръженията са в достатъчни количества за отделните хора. Благодарение на това се появяват разнообразни промишлени продукти и чрез свободната конкуренция всеки може да се стреми към печалба. Но пазарът без регулация скоро изпадна в хаос.
- TypeScript (`разширеният JavaScript`): Разбира се, това е регулиран капитализъм. Вярата в капитализма се пропуква и за да се преодолее нестабилността на пазара, държавата се намесва в известна степен. Пълната свобода сравнително отстъпи, но все още всеки може свободно да навлезе на пазара и да се конкурира.

Освен това не са малко разработчиците, които, сякаш в реалния живот водят идеологическа война, често се карат чрез езиците. Самият език е познатата за разработчиците идеология и същевременно идеал, към който трябва да се стремят.

#### Държава и архитектура

- Монолитна архитектура и централизирана държава: Всичко се съдържа в една огромна кодова база и един бинарен файл. Това има структура, подобна на единната държава със силно централно правителство или на абсолютната монархия. Всички функции на държавата се контролират от една система на властта.
  - Предимството е, че държавата е най-лесна за изграждане и решенията се вземат бързо. Това е в същата логика като бързото излизане на целия софтуер. Тъй като всички ресурси и информация са съсредоточени на едно място, управлението е ясно.
  - Но колкото по-голяма е държавата, толкова по-трудно е да се реагира на промени; дори и за промяна на малък закон или институция трябва да се преразгледа и приложи цялата система. Съществува и опасност проблем в един сектор да парализира цялата държава. Монолитът също е трудно адаптивен поради голямата кодова база и преплетения код: дори за промяна на един ред трябва да се оцени обхватът на въздействие, а проблем в един модул лесно засяга цялата система.
- MSA и федеративна държава: Всяка функция на системата се отделя като независима услуга. Това има сходство с федеративна държава, в която отделните части се състоят от множество независими щати. Освен това всяка услуга и всеки щат имат собствена инфраструктура. Централното правителство се намесва слабо и не е известно кога може да настъпи отделяне или присъединяване, което също е сходно.
  - По принцип всеки независим щат и услуга могат самостоятелно да изменят законите или да пишат код. Поради това не е необходимо да се съгласуват темпата. Освен това проблем на едно място трудно парализира цялата федерация. Също така може да се избере подходяща институция (технология) според региона или областта.
  - Но постигането на взаимно съгласие и създаването на комуникационни канали е трудно. Трудно е да се води последователна политика, което може да породи хаос.
- EDA (Event Driven Architecture) и гражданско общество: Вместо централното правителство или негов представител да дава директни заповеди, отделните хора поемат инициативата и самостоятелно се заемат с решаването на възникналите обществени проблеми. Това прилича на характерната за EDA черта, при която при възникване на събитие някой от абонатите самостоятелно го поема и обработва.
  - Всеки може лесно да участва. И в EDA нова услуга лесно може да стане нов абонат и да се включи в процеса.
  - Но има недостатък, че не може да се види цялостният поток. Трудно е да се проследи кой и как е обработил нещо, и не може да се знае каква верига от реакции ще предизвика едно събитие.
- Layered Architecture и феодализъм: Феодализмът е структура, в която всеки изпълнява определените му роли и отговорности в своя слой и изпълнява задълженията си към по-висшия слой. Те се установяват като своеобразни договорни отношения и с това, че образуват строго вертикално управление, може да се намерят прилики с многослойната архитектура.

Както е видно, възможни са още много сравнения, но основната идея на този текст е не толкова самата структура, колкото процесът, по който тя се изгражда.

## Дали решаването на проблеми в разработката и политиката е едно и също?

Ако софтуерната архитектура и държавното устройство си приличат, то процесът на изграждането им също се развива паралелно по удивителен начин. Разработката на софтуер всъщност не се различава от политическа дейност, която създава и развива нов ред в цифровото пространство.

1. Обществен дебат и анализ на изискванията за решаване на обществени проблеми: Всичко започва с въпроса „Какъв е проблемът?“. Както болката и неудобството на гражданското общество се превръщат в политическа тема, така неудобствата и изискванията на потребителите, след анализ, стават първата веха в разработката, наречена „спецификация на изискванията“.
2. Проектиране на конституцията и архитектурен дизайн: Каква държава да създадем? Каква система да създадем? Както политиците полагат основите на конституцията и законите въз основа на идеологии и философии, така архитектът въз основа на техническите убеждения очертава чертежа на архитектурата, която ще бъде основа на системата. Решенията на този етап определят съдбата на системата.
3. Изпълнение на политиките и софтуерна имплементация: Когато проектът е завършен, разработчиците пишат реалния код, а служителите в администрацията изпълняват политиките съгласно законите. Това е процесът, при който абстрактният план се превръща в конкретна реалност, която работи в действителния свят.
4. Съдене чрез избори и тестване на софтуера: Политиките се съдят за легитимността си чрез избори и обществено мнение. Софтуерът доказва стойността си чрез тестовете на QA екипа и обратната връзка от потребителите. И двете в крайна сметка могат да оцелеят само ако получат съгласието на суверена (гражданите, потребителите).
5. Реформи на институциите и поддръжка на системата: Веднъж създадените закони и системи не са вечни. Както старите закони се изменят и институциите се реформират в съответствие с промените във времето, така и софтуерът, ако престане да се променя към околната среда и да подобрява вътрешните неефективности чрез „рефакторинг“, става мъртъв код.

По този начин целият процес, от дефиницията на проблема през проектирането, изпълнението и проверката до непрекъснатото подобряване, показва, че двата свята споделят един и същ ритъм на решаване на проблеми.

## Денят на новите законодатели

Информационното общество направи разстоянието между върховете на двете философии безсмислено. Кодът вече не е просто логическа схема, а се е превърнал в „закон (Code is Law)“, който определя връзките между хората, разпределя властта и реализира обществените ценности. Ако архитектурите, които проектираме, приличат на управленческата структура на държавата, а процесите на разработка, които следваме, са като политически консенсус, то кои сме ние, разработчиците? И какво трябва да прави политикът?
Затова разработчикът вече трябва да размишлява не само върху логиката на кода, но и върху обществото, което този код ще създаде, а политикът трябва да разбира не само логиката на гласовете, но и логиката на технологиите, които движат света. Защото огромната власт, която упражняваме във всеки от нашите светове, е свързана със същата степен на етична отговорност.
